Silverlight를 설치하려면 여기를 클릭합니다.*
Korea 대한민국변경|Microsoft 전체 사이트
Microsoft
|프로필 관리|문의처|사이트 맵

TechNet Home > 외부기고

Security admin

인증서를 사용해 무선랜을 보호하자

AD와 그룹 정책을 사용하자

Randy Franklin Smith


802.1x를 사용하지 않고 무선 랜(WLAN)을 안전하게 설치하고 유지 관리하는 것은 쉬운 일이 아니다. WEP(Wired Equivalent Privacy) 표준의 취약점 때문이다. WEP 표준은 수동으로 키를 배포해야 하는 불편함이 있다. 802.1x가 WEP의 주요한 취약점을 해결해준다고는 하지만 여전히 802.1x를 사용하려면 워크스테이션, 무선 AP(Access Points), RADIUS(Remote Authentication Dial-In User Service) 서버와 같은 구성요소들을 구성해주어야 한다. 또한 무선 클라이언트가 RADIUS 서버로부터 액세스 허가를 받도록 하기 위해 인증 기관(Certificate Authority (CA))을 설치해주어야 한다.

AD(Active Directory)와 그룹 정책을 사용하면 802.1x 구현 프로세스를 보다 쉽게 진행시킬 수 있다. 무선랜과 클라이언트를 정상적으로 설정했다면 무선랜 영역의 인증받은 워크스테이션들은 사용자의 별다른 작업을 요구하지 않고 자동으로 인증된 후 연결된다. 인증받지 못한 워크스테이션은 무선랜에 연결되지 않는다. 802.1x를 사용하면 AP와 워크스테이션에 수동으로 WEP 키를 배포할 필요가 없다. 그리고 각각의 AP상에 인증된 워크스테이션의 MAC 주소 리스트를 유지할 필요도 없다. 802.1x 무선랜은 무선 클라이언트들이 AP를 통해 RADIUS 서버에 인증을 받도록 요구한다. 따라서 대부분의 WEP 네트워크에서 AP와 무선 클라이언트는 정적 키를 사용하지 않고 협상 프로세스를 통해 암호화 키를 동적으로 결정한다.

마이크로소프트가 윈도우 환경에 802.1x를 통합시키겠다는 발표에 필자는 큰 기대를 걸고 있다. 필자는 이 기사에서 802.1x를 구현하는 가장 간단한 방법과 윈도우 XP, 윈도우 2000 컴퓨터들과 윈도우 2000 AD 도메인에서 인증서-기반 인증 방법에 대해 설명하도록 하겠다. WLAN 인증에 패스워드 인증 방법을 사용할 수도 있다. 이 경우에는 워크스테이션들이 무선랜 영역에 들어왔을 때 워크스테이션에 로그온하는 사용자들의 사용자 이름과 패스워드를 사용하거나 수동으로 새로운 자격 증명 정보를 제시하도록 워크스테이션을 구성해야 한다. 패스워드-기반 인증은 인증서를 사용하는 것보다 구현하기가 쉽다. 인증서를 만들 필요가 없기 때문이다. 그러나 패스워드 인증은 사용자들이 네트워크에 액세스할 때 사용자 이름과 패스워드를 제공해야 하며 보안성이 떨어진다는 단점이 있다. 패스워드-기반 인증은 인증된 사용자의 패스워드를 공격자들이 추측 공격할 수 있다는 네트워크 취약점을 가지고 있다. 인증서-기반 인증은 인증된 인증서와 개인 키를 가진 컴퓨터의 사용자의 액세스만을 허용한다.

윈도우가 가장 최근의 무선 보안 표준인 WPA(Wi-Fi Protected Access)를 지원한다고 하더라도 802.1x을 사용해 WEP의 보안 취약점을 해결해야 한다. 필자는 이 기사에서 WPA에 대해서는 다루지 않겠다. 몇 가지 이유가 있어서 그렇다. 첫째, 이 기사를 쓰고 있는 시점에는 네트워크에 연결되어 있는 모든 워크스테이션에 자동으로 WPA를 적용시킬 수 있는 그룹 정책이 제공되고 있기 않기 때문이다. 둘째, WPA는 공식적인 802.11i가 승인되기 전까지만 사용할 중간 단계의 표준이기 때문이다. 셋째, WPA를 사용하려면 수많은 무선 NIC의 디바이스 드라이버와 AP의 펌웨어를 업데이트시켜야 한다. 즉 WPA를 구현하기 위해 들어가는 노고에 비해 WPA는 그다지 많은 장점을 제공하지 않는다. 만일 802.11i가 모습을 드러내는 시점에 마이크로소프트가 시스템과 NIC를 자동으로 업데이트해주는 기능을 제공한다면, 현시점에 WPA를 선택하는 것 보다 나중에 802.11i를 선택하는 것이 현명하다고 할 수 있다.

X 추가하기

무선 랜 환경에서 802.1x를 설정하려면, 네트워크가 802.1x를 지원하는 지 확인작업을 거쳐야 한다. 윈도우 Server 2003은 802.1x을 디폴트로 제공한다. 윈도우 XP에서 802.1x를 사용하려면 Service Pack 1 (SP1)을 설치해야 한다. 그리고 Win2K에서 802.1x를 사용하려면 Microsoft 802.1x Authentication Client를 http://www.microsoft.com/windows2000/server/evaluation/news/bulletins/8021xclient.asp  에서 다운로드 받아 사용한다. (윈도우 NT와 윈도우 9x용 마이크로소프트 802.1x Authentication Client를 구하려면 Premier 계약이나 Alliance support 계약이 맺어져 있어야 한다. 단 그룹 정책을 이용할 수 없다는 불편은 감수해야 한다.)

다음, 현재 사용중인 AP가 802.1x를 지원하는 지 확인해야 한다. 물론 AP를 새로 구매할 예정이라면 802.1x를 지원하는지 확인한다. 802.1x 규약을 따르는 AP들은 802.1x 구성 웹 페이지를 제공한다.

마지막으로 윈도우 2003 서버에 IAS(Internet Authentication Service) 서비스를 설치한다. IAS는 802.1x WLAN에 필요한 RADIUS 서비스를 제공한다. 무선 클라이언트가 AP에 연결을 시도할 때 AP는 RADIUS 서버에 연결하여 인증시도를 하고 클라이언트에게 권한을 부여하려고 한다. RADIUS 서버는 AD에서 클라이언트의 인증서를 체크하고 AP에게 클라이언트의 무선 연결을 허용할지를 알려준다. 윈도우 2000 서버의 IAS 보다는 윈도우 서버 2003의 IAS를 사용하는 것이 좋다. 윈도우 2003의 IAS만 802.1x 인증 서비스를 지원하기 때문이다. IAS 서버로서 서비스되고 있는 윈도우 2003 컴퓨터가 도메인의 멤버 서버인지를 확인한다. 도메인 컨트롤러가 되어서는 안 된다. Control Panel의 Add/Remove Programs 애플릿을 열고, Add/Remove Components를 선택한다. IAS(Internet Authentication Service)를 설치한다.

인증서 서비스

IAS 서버는 무선 클라이언트를 인증하기 위해 인증서를 요구한다. 따라서 윈도우 2003이나 윈도우 2000의 인증서 서비스를 수행하는 CA 서버가 필요하다. CA 서버는 IAS 서버 인증이 필요한 무선 클라이언트들에게 인증서를 제공하게 된다. 만일 AD 도메인이 윈도우 2000 도메인 컨트롤러로 구성되어 있고 엔터프라이즈 CA를 가지고 있지 않다면 윈도우 2003 IAS 서버에 인증서 서비스를 설치하는 것보다 기존 윈도우 2000 서버에 인증서 서비스를 설치하는 것이 좋다. 윈도우 2003 인증서 서비스와 윈도우 2000 인증서 서비스에 대한 정보가 필요하다면 "윈도우 서버 2003 인증서 서비스" 섹션을 참고하기 바란다.

인증서 서비스를 설치할 때, 기본적으로 PKI를 설정할 필요가 있다. 엔터프라이즈 급 PKI가 필요하다면 하나의 루트 CA와 하위 CA 여러 개를 준비한다. 루트 CA는 보안 문제를 고려하여 오프라인으로 유지하는 것을 권장한다. 인증서는 하위 CA에서 발급하도록 한다. 만일 하위 CA가 손상되면 루트 인증 기관에서 문제를 일으킨 하위 CA의 인증서만을 폐기시키고 CRL(Certficate Revocation List)를 만들어 게시하면 된다. 다층 CA 계층 구조를 사용하면 하나의 CA가 손상되었을 때 PKI를 재구성해야 되는 문제를 해결할 수 있다. 그러나 소형 네트워크에서 다층 CA 구조를 사용한다는 것은 바보스러운 일이 될 수 있다. 문제를 간단하게 하려면, 하나의 엔터프라이즈 루트 CA를 기존 윈도우 2000 서버에 설치하고 직접 인증서를 발급하도록 한다.

Add/Remove Programs 애플릿을 열고, Add/Remove Components를 선택한다. Certificate Services를 설치하기 전에 마이크로소프트 IIS를 먼저 설치해야 한다. IIS를 이용해 Certificate Services를 관리하고 인증서 요청을 받아들이도록 하기 위해서이다. Control Panel에서 IIS를 설치할 때 Certificate Services 페이지가 동작하도록 Active Server Pages (ASP)를 활성화시켜야 한다. 설치할 CA 종류를 요구하면 Enterprise Root CA를 선택한다. "Enterprise" 라는 용어는 인증서 서비스가 자동으로 AD와 통합된다는 것을 의미한다. 따라서, 사용자와 컴퓨터는 자동으로 인증서를 발급받게 된다. 다음, CA의 식별 정보를 입력한다. 필자는 예를 들기위해 STO CA라는 이름을 사용하였다. Enterprise Root CA의 설정을 마친 후 도메인 내의 모든 컴퓨터들은 CA에서 발급되는 인증서를 자동으로 신뢰하게 된다. 왜 그럴까? AD에 새롭게 게시된 엔터프라이즈 CA의 인증서를 컴퓨터들이 확인한 후 자동으로 trusted Root Certification Authorities 저장소에 엔터프라이즈 CA의 인증서를 추가시키기 때문이다. 확인하려면 MMC(Microsoft Management Console) Certificates 스냅인을 이용한다.

인증서 얻기

CA를 설정을 마치면 IAS 서버가 인증서를 CA로부터 얻도록 구성해야 한다. IAS 서버에서 Certificates 스냅인을 연다. 사용자, 서비스, 컴퓨터 계정 선택 페이지가 나타나면 컴퓨터를 선택한다. 리모트 컴퓨터, 로컬 컴퓨터 선택 페이지가 나타나면 로컬 컴퓨터를 선택한다. Certificates 스냅인 창에서 Personal\Certificates 폴더를 클릭하고 [All Tasks], [Request New Certificate]을 차례로 선택한다. Certificate Request Wizard의 첫 페이지에서 [Next]를 클릭한다. 다음 페이지에서 인증서 템플릿 타입으로 [Computer]를 선택하고 [Next]를 클릭한다. Friendly name에 WLAN Authentication을 입력하고 [Next]를 클릭한다. [Finish]를 클릭한다. 인증서 요청이 성공적으로 처리되었다는 대화상자가 나타난다. Personal\Certificates 폴더에 새로운 인증서가 설치되었는지 확인한다.

이제 모든 무선 클라이언트 컴퓨터가 인증서를 발급받도록 해야 한다. 이 작업을 수행하는 가장 손쉬운 방법은 그룹 정책을 이용하여 WLAN 액세스가 필요한 모든 컴퓨터가 그룹 정책을 적용받아 인증서 요청을 하도록 만드는 것이다. 적당한 OU에 링크되는 새로운 GPO를 만들거나 Default Domain Policy GPO를 편집한다 (대부분의 경우 도메인내의 컴퓨터들이 필요없는 컴퓨터 인증서를 발급받더라도 별다른 문제를 일으키지 않는다). Group Policy Object Editor에서 그룹 정책 개체의 Computer Configuration\Windows Settings\Security Settings\Public Key Policies\Automatic Certificate Request Settings 노드를 선택한다. 오른쪽 창에서 마우스 오른쪽 버튼을 클릭하고 [New], [Automatic Certificate Request]를 선택한다. 마법사가 시작되면 [Next]를 클릭한다. 다음 페이지에서 [Computer] 템플릿을 선택하고 [Next]를 클릭한다. [Finish]를 클릭한다. Automatic Certificate Request Settings 폴더에 Computer 인증서에 대한 요청이 있을 것이다. 각각의 컴퓨터들이 GPO의 적용을 받게 되는 시점에 컴퓨터는 CA에게 Computer 인증서를 요청하게 되고 발급받은 인증서를 컴퓨터의 Personal 인증서 저장소에 저장한다.

무선 클라이언트 네트워크 설정

다음 단계는 무선 클라이언트 컴퓨터에 무선 네트워크 설정 단계이다. 프로세스를 자동화하기 위해 그룹 정책을 사용한다. 앞에서 사용했던 같은 GPO의 Computer Configuration\Windows Settings\Security Settings\Wireless Network (IEEE 802.1x) 정책을 사용한다. 오른쪽 창을 마우스의 오른쪽 버튼을 클릭한 후 Create Wireless Network Policy를 만든다. Wireless Network Policy Wizard의 첫번째 페이지에서 [Next]를 클릭한다. 정책의 이름은 802.1x Computer Certificate WLAN Policy로 설정한다. [Next]를 클릭한다. [Edit policy]를 선택하고 [Finish]를 클릭한다.

802.1x Computer Certificate WLAN Policy Properties 대화상자에서 [Preferred Networks] 탭을 클릭한다. WLAN의 SSID(Service Set Identifier)를 입력하고 인증 설정 정보를 구성한다. [Add]를 클릭한다. 네트워크 이름(SSID)을 AcmeSecureWLAN로 설정한다. IEEE 802.1x 탭으로 이동한다. Extensible Autentication Protocol(EAP) 종류를 Smart Card or other certificate 로 설정하고 컴퓨터 인증 종류를 Computer only 로 선택한다. 다음, 인증서 설정을 구현할 필요가 있다. [Settings]를 클릭한다.

Smart Card or other Certificate Properties 대화상자에서, Use a certificate on this computer 와 Use simple certificate selection (Recommended)을 클릭한다. [그림 1]을 참조하기 바란다. 이 두 설정을 사용하면 무선 클라이언트가 IAS 서버로부터 인증을 받을 때 자신의 개인 저장소에 저장되어있는 인증서에서 하나를 선택할 수 있게 된다. 클라이언트들이 공격자가 설치해 둔 가짜 WLAN에서 인증 프로세스를 진행시키지 못하도록 같은 대화상자의 Validate server certificate를 선택한다. 이 옵션을 사용하지 않으면 무선 클라이언트들이 AcmeScureWLAN을 사칭하는 모든 WLAN을 신뢰하게 된다. 다음, IAS 서버에게 인증서를 발급한 CA(이 기사의 예에서는 STO CA)를 선택한다. OK를 3번 클릭하여 모든 대화상자를 닫는다. 이제 각각의 컴퓨터들이 GPO의 영향을 받는 시점에서 각 컴퓨터들은 우리가 지정한 대로 무선 네트워크 설정을 갖고 운영될 것이다.

IAS와 AP 구성하기

무선 클라이언트가 구성되었다면 IAS 서버와 AP들을 구성해야 한다. IAS 서버에서 원격 액세스 정책을 정의할 필요가 있다. 이 원격 액세스 정책에서 인증서-기반 802.1x 인증을 요구하는 WLAN 인증을 설정한다. WLAN상의 각 AP에 RADIUS 클라이언트 레코드를 만들 필요가 있다. 원격 액세스 정책을 만들려면 [MMC Internet Authentication Service] 스냅인 프로그램을 열고 [Remote Access Policies] 폴더를 선택한다. 오른쪽 창에서 마우스 오른쪽 버튼을 클릭하고 [New Remote Access Policy]를 클릭한다. [New Remote Access Policy Wizard]의 첫번째 페이지에서 [다음]을 클릭한다. 다음 페이지에서 Use the wizard to set up a typical policy for a common scenario를 클릭한다. 원격 액세스 정책의 이름으로 WLAN Access for Domain Computers를 입력한다. [Next]를 클릭한다. Access Method 페이지에서 원격 액세스 정책을 설정할 [Wireless]를 선택하고 WLAN 인증 요청을 식별하도록 필요한 RADIUS 기준을 설정한다. 그리고 이 요청에 이 정책을 적용시킨다. [Next]를 클릭한다.

User or Group Access 페이지에서 WLAN에 연결할 수 있는 컴퓨터를 지정한다. [Group]을 선택하고 STO\Domain Computers 그룹을 추가한다. STO\Domain Computers에는 도메인 내의 모든 컴퓨터들이 포함된다. STO\Domain Computers와 IAS 서버에서 신뢰받는 인증서를 가진 컴퓨터들만 연결할 수 있게 된다. [Next]를 클릭한다. Authentication Methods 페이지에서 PEAP(Protected EAP)나Smart Card or other certificate를 선택할 수 있다. 후자를 선택했을 경우에는 [Configure]를 클릭한다. Smart Card or other Certificate Properties 대화상자에서 IAS 서버가 클라이언트 인증에 사용할 인증서를 선택할 수 있다. CA가 IAS 서버에 발급한 인증서를 선택하고 [OK]를 클릭한다. [Next]를 클릭한다. 원격 액세스 정책의 요약 정보 페이지가 나타난다. [그림 2 ]를 참조한다. [Finish]를 클릭한다.

다음, AP의 RADIUS 클라이언트 레코드를 구성할 필요가 있다. Internet Authentication Service 스냅인 프로그램에서 RADIUS Clients를 마우스 오른쪽 버튼으로 클릭하고 [New], [RADIUS Client]를 선택한다. New RADIUS Client 마법사에서 AP의 friendly name, IP 주소, DNS 주소를 입력한다. 예를 들어 필자는 이름에 AP First Floor East, IP 주소에 192.168.100.3를 입력했다. [Next]를 클릭한다. Additional Information 페이지에서 RADIUS Standard으로 [Client-Vendor]를 선택한다. 이 페이지에 입력할 필요가 있는 기타 정보는 IAS 서버와 AP가 공유할 Secret이다. Secret을 사용하면 두 시스템은 서로 인증 작업을 거친 후 주고 받는 데이터들을 모두 암호화한다. 가능하다면 길고 복잡한 스트링 값을 Shared secret과 Confirm shared secret 필드에 입력하고 잘 기억해둔다. 이 스트링 값들은 AP를 구성할 때도 사용되어야 하기 때문이다. Request must contain the Message Authenticator attribute을 선택한다. 이 옵션을 사용하면 IAS 서버가 AP들이 Shared Secret을 사용하도록 요구한다. [Finish]를 클릭한다. 이 프로세스를 다른 AP들에서도 반복한다. 물론 friendly name과 주소 정보는 달라야 한다.

IAS를 통해 AP들이 RADIUS와 통신하도록 구성하고 무선 클라이언트가 802.1x 인증 방법을 사용하도록 하는 작업이 마지막 단계이다. 대부분의 AP 제조사들은 AP에 소형 웹 서버 기능을 탑재시켜 놓았다. 따라서 웹 브라우저를 이용해 AP에 연결해 구성작업을 수행할 수 있다. 각각의 AP 구성 페이지들이 다르게 보일 수 있지만 802.1x를 활성화시키는 옵션은 모두 같다. AP에서, 802.1x 인증을 활성화시킨다. 다음, IAS 서버의 IP 주소와 Shared secret을 입력한다. AP가 포트 번호를 요청하면 1812를 입력한다. 마지막으로 적당한 SSID를 갖도록 AP를 구성한다.

테스트 케이스

이제 모든 설정이 끝났다. 이제 테스트 작업을 진행해야 한다. 첫째, 합법적인 클라이언트를 사용해 테스트 WLAN 연결을 테스트한다. 합법적인 클라이언트란 적절한 무선 네트워크 정책과 CA로부터 발급받은 컴퓨터 인증서를 가진 컴퓨터를 말한다. 컴퓨터가 자동으로 WLAN에 자동으로 연결되면 데스크톱 오른쪽 하단에 무선 연결이 되었다는 풍선이 나타난다. 다음에, 권한 없는 클라이언트로 WLAN에 연결을 시도한다. WLAN이 이 연결을 받아주어서는 않된다. WLAN 스니퍼 프로그램을 이용하면 WLAN 트래픽이 암호화되어 처리되는 지 확인할 수 있다.

만일 문제가 발생한다면 무선 클라이언트, AP, IAS 서버의 진단 작업을 수행한다. 클라이언트에서 인증서와 관련된 오류 메시지를 System, Security 로그에서 확인한다. 대부분의 AP들은 클라이언트와 IAS 사이에서 발생할 수 있는 인증 문제, AP와 IAS 서버 사이에서 발생할 수 있는 RADIUS 문제를 해결할 수 있는 로깅 기능을 제공하고 있다. IAS 서버에서는 System 로그와 IAS 로그를 함께 사용할 수 있다. IAS 로그의 기본 위치는 C:\windows\system32\logfiles이다. IAS 로그는 해석하기가 매우 어렵다. Lasparse가 IAS 로그를 보다 읽기 쉽게 도움을 줄 것이다.

그림 1

그림 2

윈도우 서버 2003 인증서 서비스

윈도우 2000 도메인에서는 윈도우 2000 서버 CA(Certificate Authority)를 사용하는 것이 좋다. 윈도우 서버 2003 CA를 설치하기 전에, 윈도우 2000 AD 스키마를 업그레이드해야 하는 불편이 따르기 때문이다. 이 프로세스에 대한 보다 자세한 정보는 http://www.microsoft.com/resources/documentation/windowsserv/2003/standard/proddocs/en-us  를 참고하기 바란다.

만일, 윈도우 2003 도메인을 가지고 있다면, 윈도우 2003 엔터프라이즈 에디션으로의 업그레이드를 권장한다. IAS(Internet Authentication Service)는 윈도우 2003 스탠다드 에디션에서도 잘 동작하지만 윈도우 2003 엔터프라이즈를 사용하면 무선 LAN 인증서 뿐만 아니라 다른 목적으로 인증서를 발급하는 CA를 만들어 사용할 수 있는 장점이 있기 때문이다. 윈도우 2003 스탠다드와 Win2K의 CA는 원하는 것보다 더 많은 사용권한을 가진 2가지 목적의 인증서를 제공한다는 문제가 있다. WLAN 액세스에서, 클라이언트 컴퓨터들은 클라이언트 인증 목적을 가진 인증서를 요구한다. 불행하게도 윈도우 2003 스탠다드와 윈도우 2000 CA는 Computer 템플릿이나 Domain Controller 템플릿을 기초하여 인증서를 발급한다. 이 템플릿들은 클라이언트 인증, 서버 인증 모두에 사용할 수 있다. 서버 인증 목적의 인증서를 무선 클라이언트 워크스테이션에서 사용한다고 해서 문제가 되지는 않지만, 클라이언트에게 최소한의 특권을 준다는 기본 보안 원칙이 무너지게 되기 때문에 권장하지 않는다.

윈도우 2003 엔터프라이즈는 몇 가지 새로운 인증서 템플릿을 제공한다. 우리가 필요한 것이 바로 Workstation 템플릿이다. 이 템플릿는 클라이언트 인증 목적으로만 사용할 수 있다. 윈도우 2003 엔터프라이즈는 인증서 자동 등록이라는 새로운 기능도 제공한다. 이 기능을 사용하면 인증서를 사용자와 컴퓨터에게 보다 쉽게 배포할 수 있게 된다. 만일 엔터프라이즈 급 PKI를 디자인하고 다양한 목적으로 인증서를 발급하고 싶다면 윈도우 2003 엔터프라이즈에 투자할 만한 가치가 있다.


   최종 수정일 : 2005년 3월 16일


Microsoft