Windows Server 2008이 나오면... (32) - HRA in NAP

image

몇일 사이, NAP(Network Access Protection)에 대한 세미나나 클래스가 많았습니다. 7월 12일에 아직 공지가 되진 않았지만, Microsoft Security 통합 방안 중, NAP과 FCS(Forefront Client Security)에 대한 세미나가 있을 것입니다.

NAP의 여러 사용 시나리오 중, NAP과 IPSEC에 대한 결합을 통해, 네트워크를 논리적으로 구분하고, 이를 통한 네트워크 보안을 가능하게 하는 시나리오가 있습니다. 오늘 포스팅은 NAP with IPSEC 시나리오의 구성 요소중 HRA(Health Registration Authority - 상태 등록 기관으로 한글 명칭이 결정되었군요..)에 대해서 언급해볼까 합니다.

다른 NAP 시나리오인 RRAS, DHCP의 경우에는 클라이언트의 NAP Agent가 실제 NPS와 교신하여, 네트워크에 대한 전체 억세스 허가 또는 접근 제한을 처리받게 됩니다만, NAP with IPSEC의 경우에는 인증서를 기반으로 고립모델을 처리하게 됩니다. 네트워크 보안 요구 조건을 모두 만족할 경우, 인증서를 발급받게 됩니다. 물론 만족하지 못할 경우나, 만족에서 불만족으로 변경되었을 경우, 인증서에 대한 거부 또는 폐기 처리가 되겠죠.

IPSEC에서 이용할 수 있는 인증 모델이, 액티브 디렉터리, 인증서, 공유된 키가 있는데, 이 중 인증서를 사용하여 IPSEC 인증을 처리하는 것입니다. 인증서가 거부 또는 폐기되었을 경우, 인증이 안되니.. 당연히 자동적으로 고립이 되게 됩니다.

image

Windows XP, Windows Server 2000, 2003에서는 IPSEC에 대한 구성이 다소 까다로웠으나,

image

Windows Vista, Windows Server 2008에서는 Windows 방화벽과 결합하여, 더욱 편리하고 빠르게 구성하실 수 있습니다.

그렇다면.. 앞선 RRAS, DHCP의 모델과 다른 점은.. NPS에서 인증서에 대한 발급과 폐기 명령을 할 수가 없다는 것입니다. 이에 대한 판단을 담당하는 역할이 바로 HRA가 되게 됩니다.

클라이언트는 자신의 상태 정보(SoH - Status of Health)를 HRA에게 전달합니다.(이경우 사용 포트는 443(HTTPS), 또는 80(HTTP)를 사용할 수 있습니다만, HTTPS를 권장합니다.) DHCP 시나리오에선 DHCP 서버로, RRAS 시나리오에선 RAS 서버로 전송하게 됩니다. 상태 정보엔 자신의 방화벽, 안티 바이러스, 안티 스파이웨어등... 여러 보안 상태 정보가 담겨 있게 됩니다. 이에 대해서는 당연히 서버에서 설정을 해놓겠죠.

이를 전달받은 HRA는 NPS로 이를 전달합니다. NPS를 이를 판단하여, 클라이언트가 모든 권한을 가질지, 격리할지를 판단하여, HRA로 전달합니다. 이를 받은 HRA는 NPS에서 모든 권한을 주라고 요청받은 경우, CA에 이를 요청하여 인증서를 발급받아, 클라이언트에게 전송하게 됩니다. 반대의 경우에는 폐기 또는 거부를 클라이언트로 전송합니다.

image

NAP Agent 입장에선 누가 HRA 서버인지를 알아야 합니다. 이는 NAP 클라이언트 설정을 통해 넣어줄 수 있습니다. 위의 그림과 같이 신뢰할 수 있는 새 서버 그룹에서 HRA 서버 정보를 입력해주면 됩니다. 액티브 디렉터리 그룹 정책을 통해서도 설정이 가능하겠죠? 그렇다면... 모든 클라이언트에 대한 설정을 직접 또는 액티브 디렉터리로 해야 한다면.. NAP 환경내에 방문하는 손님 또는 상주 파트너등이 전부 액티브 디렉터리 도메인에 가입을 해야 할까요? 아님.. 전부 관리자가 수동으로 등록해줘야 할까요?

https://angel-nps.angel.com/domainhra/hcsrvext.dll과 같은 주소를 일일히 입력해줘야 한다... 조금은 골치아픈 일이겠죠?

바로 이때 또하나의 해결방법은 바로 DNS의 SRV 레코드를 이용하는 것입니다. DHCP에서 IP를 받는 경우에 Domain Name에 대해 등록이 가능하므로... NAP Agent의 경우...

<도메인 이름>\_Sites\Default-First-Site-Name\_TCP내 _HRA 서비스 레코드를 검색하고.. 이가 없는 경우...

<도메인 이름>\_TCP에서 _HRA 서비스 레코드를 검색합니다. 구지 그룹 정책 설정이나 수동 설정 없이도 클라이언트에게 HRA의 위치 정보를 제공할 수 있습니다.

클라이언트에서는 하나의 레지스트리 키가 필요합니다.

HKLM\System\CCS\Services\napagent\LocalConfig\Enroll\hcsgroups 트리 내, EnableDiscovery REG_DWORD 값이 1로 되어져 있어야 합니다.

NAP과 IPSEC을 이용하는 보안 모델은 NAP의 시나리오중 가장 보안이 높은 시나리오입니다. DHCP, 802.1X 시나리오와 병행하여 사용이 간으하므로, NAP을 통해 IPSEC 시나리오를 사용하는 인프라를 Windows Server 2008이 나오면.. 찾을 수 있지 않을까요?