[무선랜 보안③] 안전한 무선랜 구축 방안
상태바
[무선랜 보안③] 안전한 무선랜 구축 방안
  • 김기태 엑서스테크놀로지 기술이사
  • 승인 2004.03.16 00:00
  • 댓글 0
이 기사를 공유합니다

지난 호에서 IEEE 802.1x 규격을 이용한 무선랜의 보안 강화 방안과 이에 대한 취약점들을 알아보았다. 현재 WiFi에서는 WPA(WiFi Protected Access) 규격을 발표로 무선랜 보안에 관련한 새로운 표준을 제시하고 있으며, IEEE 802. 11 워킹그룹에서도 IEEE 802.11i라는 새로운 보안 표준안 제시로 취약한 무선랜의 보안성을 강화하고 있다. 그러나 아무리 좋은 규격이 있어도 제대로 활용하지 못하면 보안의 취약점들은 극복하기 힘들다. 이번 호에서는 앞서 설명한 내용들을 기반으로 안전한 무선랜의 구축 방안에 대해 살펴보도록 한다. <편집자>

현재 무선랜 보안과 관련해 필수적인 표준안은 IEEE 802.1x와 IEEE 802.11i이다. IEEE 802.1x는 앞선 회에서 설명한 바와 마찬가지로 포트 기반의 사용자 인증에 관련한 내용을 정의하고 있는 표준안이다. 현재 IEEE 802.1x 기반의 인증 구조에 EAP-TTLS 혹은 PEAP 등의 IETF 드래프트 규격을 통해 강화된 형태의 보안 규격을 정의해 나가고 있다.

무선랜 보안에 관련된 규격

IEEE 802.11i는 WPA의 근간이 되는 보안 표준안으로 현재 표준화 작업이 완료되지 않고 진행 중에 있다. WPA 2.0은 IEEE 802.11i 드래프트 3.0 기반의 서브셋(Subset)으로 볼 수 있다. IEEE 802.11i 표준은 기존 무선랜의 보안 취약점들을 모두 극복하기 위해 MAC 계층에서부터 보안 강화를 위한 수정이 이뤄지고 있다.

예를 들어 비콘 프레임(Beacon Frame)의 구조를 변경해 시큐리티 캐퍼빌리티 브로드캐스트(Security Capabilities Broadcast)라던지 기존 다이내믹 웹키(Dynamic WEP Key) 방식을 발전시킨 TKIP(Temporal Key Integrity Protocol), 그리고 미국 정부 표준 암호화 알고리즘인 AES(Advanced Encryption Standard) 알고리즘을 활용한 CCMP(Counter-mode CBC-MAC Protocol) 알고리즘을 적용해 기밀성을 강화하고 미첼(Michael) 알고리즘을 통해 무결성을 강화하는 등 새로운 형태의 보안 기술이 대폭 적용됐다.

또한 계층관리(Layer Management) 기능까지 추가돼 기존 IEEE 802.11 기반의 무선랜과 조금 다른 형태의 MAC 구조 및 보안 구조를 지니게 됐다. 물론 IEEE 802.11i 표준안은 아직 드래프트 상태이며 정식 표준은 아니지만 WPA 규격을 통해 이미 상당 부분이 실제로 구현되며 상품화돼 있다.

WPA의 경우 두 가지 모드로 동작을 하게 된다. 하나는 PSK(Pre-Shared Key)방식의 키 관리를 이용한 방법으로 AP와 클라이언트 사이에 기존 WEP 키를 등록하듯이 동일한 키를 등록하는 방법이 있으며 다른 하나는 IEEE 802.1x 기능을 이용해 인증 후 다이내믹 웹 혹은 TKIP를 이용해 암호화하는 모드다. 그러나 PSK 방식 역시 이미 디렉토리 어택(Dictionary Attack)에 취약한 것으로 밝혀져 사실상 IEEE 802.1x 인증 기능을 사용해야만 제대로 된 보안을 구축할 수 있다.

안전한 무선랜 구축을 위한 제안

다양한 형태의 공격으로부터 무선랜을 보호하고 네트워크를 지킬 수 있도록 하기 위해서는 무선랜을 구축하기 전에 보안 대책을 마련해야만 한다. 무선랜을 통해 발생할 수 있는 여러 가지 형태의 공격들을 막기 위해 네트워크 관리자들에게 다음의 사항들을 무선랜 구축 시 고려할 것을 제안한다.

1. IEEE 802.1x 인증 인프라 구축

안전한 무선랜을 구축하기 위해서는 IEEE 802.1x 인증 기반 구조를 구축해야 한다. 왜냐하면 IEEE 802.11 기반의 무선랜만 가지고서는 기존의 보안상의 취약점들을 극복할 수 없기 때문이다. IEEE 802.1x 인증 기반 구조의 적용은 실질적인 무선랜 액세스 포인트를 통한 내부 망에 대한 접근을 제어함으로써 인가 받지 않은 사용자의 접근을 차단해 줄 수 있을 뿐 아니라 데이터에 대한 동적 암호화를 통한 향상된 기밀성과 무선랜 사용자들에 대한 관리 기능까지 추가적으로 제공받을 수 있기 때문이다. 이러한 인증 기반 구조를 갖추기 위해서는 다음의 개체들이 필요하게 된다.

<<< IEEE 802.1x 인증 서버

우선 IEEE 802.1x가 지원되는 인증 서버가 필요하다. 일반적으로 대부분의 무선랜 AP는 IEEE 802.1x를 지원하면서 캐리어 프로토콜(Carrier Protocol)로서 래디우스 프로토콜을 사용한다. 따라서 IEEE 802.1x를 지원하는 래디우스 서버를 별도로 구축해 사용자 인증에 사용하도록 한다. 간혹 AP에서 제공하는 래디우스 MAC 인증 기능을 IEEE 802.1x 인증 기능과 혼돈하는 경우가 있는데 이는 완전히 다른 방식이므로 주의해야 한다.

일반적으로 AP에서 제공하는 래디우스를 이용한 MAC 인증은 별도의 클라이언트 프로그램 없이 AP에 사용자가 인증(Association)을 하게 되면 AP에서 래디우스 PAP 혹은 래디우스 CHAP 프로토콜을 통해서 인증을 요청하는 방법이다. 이러한 방법은 비록 래디우스를 사용하기는 하지만 사용자 관리가 안되고 MAC 스푸핑에 취약하며 동적 암호화 키를 제공하지 못함으로써 보안상 거의 무방비 상태와 유사한 보안 레벨을 제공한다. 또한 래디우스상의 속성(Attribute)들이 표준화돼 있지 않고 인증 프로토콜 역시 표준화돼 있지 않아서 호환성이나 자세한 세션 정보가 부족하여 관리 기능 및 권한 제어가 사실상 불가능해 진다.

IEEE 802.1x 인증 기능은 비록 래디우스를 사용하지만 무선 NIC과 AP 사이에서 수행되는 EAPoL 프로토콜을 래디우스의 EAP 속성으로 처리해 수행하므로 실제 시큐리티 어쏘시에이션(Security Association)은 사용자와 서버간 종단간(End-to-End) 보안을 제공한다. 또한 RFC3580에 따라 기존 래디우스에서 IEEE 802.1x를 적용하기 위해 변경한 여러 가지 속성들이 있으므로 이러한 부분들을 모두 지원해야만 한다.

또한 사용중인 AP들을 모두 등록해야 하며 AP에서도 IEEE 802.1x 인증 모드를 설정해야 한다. AP를 등록할 때에는 IP 주소와 쉐어드 시크릿(Shared Secret)을 반드시 서버에 등록된 값과 동일하게 등록해야 한다. 가능하면 각 AP별로 다른 쉐어드 시크릿을 선택하고 각각의 쉐어드 시크릿은 최소 12자리 이상으로 할 것을 권장한다.

<<< IEEE 802.1x 서플리컨트

서플리컨트(Supplicant)는 윈도 XP 혹은 윈도 2000에서 지원하는 기본 서플리컨트를 사용할 수도 있고 아니면 별도의 서드 파티 제품을 사용할 수도 있다. 일반적으로 서드 파티 제품의 경우 윈도 기본 서플리컨트보다 다양한 기능을 제공하는 경우가 많고 보다 편리한 사용자 인터페이스를 제공하므로 가능하면 서드 파티 제품을 사용하도록 한다.

<<< IEEE 802.1x Authenticator

무선랜에서 IEEE 802.1x을 적용할 경우 인증자(Authenticator)는 AP를 의미한다. 구축할 무선랜 제품 선정 시 반드시 IEEE 802.1x 규격을 지원하는 제품을 사용하도록 한다.

<<< 다이내믹 웹 키/WPA 지원이 가능한 인증 알고리즘 사용

IEEE 802.1x 인증 기반 구조를 갖췄다고 하더라도 실제로 적용되는 인증 알고리즘에 따라 보안성에 차이가 있음을 이미 지난 회에서 설명했다. 따라서 IEEE 802.1x를 적용하되 EAP-TLS나 EAP-TTLS 혹은 PEAP를 지원하는 인증 알고리즘을 사용해야만 한다. 이러한 인증 알고리즘을 적용하기 위해서는 AP에서 이러한 알고리즘을 지원해야만 하며 인증 서버와 서플리컨트 역시 이러한 알고리즘들을 지원해야만 한다.

또한 이러한 인증 알고리즘을 적용하면 당연히 다이내믹 웹 키 혹은 WPA상에서의 TKIP를 지원해야만 한다. 지난 회에서 설명한 대로 터널 인증 알고리즘은 반드시 양방향 인증을 하도록 설정해야 의인화(Impersonation) 공격을 막을 수 있다.

2. 보안 기능이 강화된 AP와 인증 서버 사용

IEEE 802.1x 혹은 WPA를 지원하는 것만으로 무선랜의 보안 취약점이 모두 해결되는 것은 아니다. AP는 항상 외부로 노출돼 있는 네트워크의 접근 포인트이므로 AP가 공격을 당하면 네트워크에 대한 침투가 가능할 수도 있다. 또한 AP를 통해 해당 AP에 접속돼 있는 사용자 PC 등을 공격할 수도 있다.

이러한 공격들을 방어하기 위해서는 AP 역시 향상된 보안 기능을 제공해야만 한다. 기업 네트워크의 관리자는 이러한 점을 염두에 두고 AP를 선택해야 한다. 또한 인증 서버 역시 어떠한 형태로든 공격을 당할 수 있으며 장애가 발생했을 경우 네트워크 상의 모든 무선랜 사용자들은 네트워크 서비스를 받을 수 없으므로 일반적인 서버들 보다 안정적이면서도 보안이 강화된 형태의 인증 서버를 선택해야 한다.

<<< AP의 보안 기능

기본적으로 IEEE 802.1x나 WPA 기능은 모든 AP가 지원한다고 가정하면 추가적으로 AP가 갖춰야 할 보안 기능들은 다음과 같다.

▶ 인트라-BSS 커뮤니케이션 블로킹
동일한 BSS에 접속되어 있는 클라이언트 간 통신을 차단하는 기능이다. 이 기능이 없으면 동일한 BSS에 접속되어 있는 클라이언트 간 통신은 AP에서만 이뤄지므로 만약에 공격자가 AP까지 접속할 권한을 획득하게 되면 사용중인 다른 사용자들의 PC를 네트워크를 이용하지 않고도 공격할 수 있다.

▶ 클러킹 ESSID
ESSID를 비콘 프레임에 포함하지 않도록 하는 기능으로 사실상 어쏘시에이션 메시지(Association Message)에서 ESSID를 알 수 있기 때문에 크게 보안을 강화한다고는 볼 수 없지만 초보적인 공격들은 막을 수가 있다. 또한 공격 의도가 없더라도 ESSID가 사이트 서베이(Site Survey) 시 검출되면 의도하지 않은 접속을 유발할 수 있다. 따라서 가능하면 ESSID를 클로킹(Cloaking)하면 이러한 의도하지 않은 접속은 막을 수 있다.

▶ 무선의 구간별 관리 접속
AP의 관리를 위한 웹 접속 혹은 텔넷/SNMP 접속 등을 유선 네트워크를 통해서만 가능하도록 하는 기능이다. 이 기능은 공격자가 AP의 관리자 권한을 획득했을 경우 무선을 통해서 AP를 제어하지 못하도록 한다. 관리자는 항상 유선 네트워크를 통해서만 AP를 제어해야만 하며 만약 구간 액세스를 할 수 있는 PC의 IP 주소 혹은 MAC 주소 등을 제한할 수 있으면 더욱 좋다.

▶ 구간 액세스 컨트롤
AP는 관리자가 관리 목적으로 접속하더라도 항상 해당 관리자에 대해 관리자 ID와 비밀번호를 확인해야 한다. AP는 반드시 관리자 ID와 비밀번호를 관리할 수 있는 기능이 있어야 하며 위에서 언급했듯이 관리 목적의 서비스 종류를 설정하고 접속 가능한 IP 주소 혹은 MAC 주소를 설정 가능해야 한다. 대부분의 AP들은 디폴트 ID와 패스워드를 제공하고 있는데 이러한 것들은 거의 대부분의 공격자들은 다 알고 있으며 또한 무선 스니핑을 통해 MAC 주소만 확인하면 AP의 벤더를 쉽게 확인할 수 있으므로 절대로 디폴트 패스워드를 사용해서는 안된다. 또한 관리자는 좀 귀찮더라도 가능하면 AP별로 관리자 ID와 비밀번호를 다르게 설정하는 것이 보안을 한층 강화하는 방법이다.

▶ 외부 로깅 능력
AP는 워크그룹 스위치 등과 마찬가지로 네트워크 에지를 구성하는 네트워크 장비의 일종이다. 당연히 로깅을 해야 하며 별도의 로깅 서버를 구축하여 AP에서 발생하는 모든 이벤트를 로깅해야 한다. 만약 AP가 장애가 발생하거나 공격을 당했을 경우 해당 로그를 분석해 원인 파악 및 공격 방지 대책을 강구할 수 있기 때문이다. 네트워크 장비를 운영함에 있어 로깅을 잘하는 것만큼 장애에 잘 대처할 수 있는 방법은 없다.


댓글삭제
삭제한 댓글은 다시 복구할 수 없습니다.
그래도 삭제하시겠습니까?
댓글 0
댓글쓰기
계정을 선택하시면 로그인·계정인증을 통해
댓글을 남기실 수 있습니다.