언제, 어디서나, 편하게 조직내 네트워크에… Windows 7… DirectAccess 2편 – Windows Server 2008 R2와 만났을 때 (3)

Windows7_h_rgb WS08-R2_h_rgb

DirectAccess 1편에서는 전반적인 DirectAccess 기술의 등장 배경 및 사상, 간단한 아키텍쳐를 살펴보았습니다. 오늘 포스팅에서는 좀 더 자세한 사항을 알아보고자 합니다.

DirectAccess 기술을 조직내에서 사용하려면 DirectAccess(DA) Management 기능이 조직내에 설치되어야 합니다. 감이 딱 오시겠지만, DA Server의 경우에는 NIC이 최소 2개가 부여(하나는 외부용, 하나는 내부용)되어져 있어야 하며, 6to4 기술의 적용을 위해 외부용 NIC에는 2개의 공인 IP가 부여되어져 있어야 합니다. 마지막으론 네트워크 프로필이 외부용은 공개, 내부용은 도메인 프로필로 적용되어져 있어야 하죠.

image

제 데모 환경에는 내부 IP 대역은 88.1.1.0/24, 외부 IP 대역은 2.1.1.0/24로 구성을 해놓았습니다. 도메인은 Windows7.Com을 사용합니다.

Windows Server 2008 R2의 기능에서 DA Management를 DA 서버에 설치하시는 것으로 구성이 시작됩니다. DA 서버는 DA 설정을 구성한 후, 그룹 정책을 이용하여, 대상 클라이언트에게 설정을 내려보내므로, 그룹 정책 관리 콘솔(GPMC)가 DA 설치시 같이 설치됩니다.

image

DA를 구성할 때, 1차적으로 선택하셔야할 모드가 있습니다. 1편에서 언급드렸던 데로, DA는 IPSec을 이용하여, 인증과 암호화를 처리한다고 했는데요. 암호화에 대해서 End-to-End 암호화(상호 종단간)를 할 것인지, 아니면 DA에서 클라이언트와의 연결을 1차적으로 하게 되고, DA가 내부와 교신을 해주는 모드가 있습니다.

image

End-to-End 암호화 기술을 사용하는 모드를 Selected Network Access라고 하며, DA에서 1차적으로 연결을 하는 모드를 Full Enterprise Network Access 모드라고 합니다. 당연히 보안상에서는 Select Network Access 모드가 높지만, Select Network Access 모드를 사용하려면, 대상 서버가 IPv6를 사용할 수 있어야 할뿐만 아니라, Windows Server 2008 또는 Windows Server 2008 R2를 사용해야 합니다. (위 그림의 녹색 선의 의미는 IPSec 연결이 되어져 있음을 의미합니다.)

image

Full Enterprise Network Access의 경우에는 DA가 IPSec 게이트웨이 서버가 되는 것이죠. IPSec 연결은 DA 서버에서 일차적으로 종단되고, DA 서버가 내부와 Non-IPSec 연결을 처리해줍니다. 이 경우에는 내부적으로 IPSec을 구현하지 않아도되므로, 하위 버전과의 호환성을 유지하면서, 연결이 가능합니다. 어떻게 보면 VPN 연결 구조와 비슷하죠. :)

image

설치 완료 후, DA 관리 도구를 열어보면, 총 4단계로 진행되게 되어져 있습니다. 간단히 단계별로 설명을 해드리면, 1단계에서는 DA 설정을 받을 클라이언트의 그룹을 선택합니다.(차후, 해당 그룹을 대상으로 보안 필터링된 그룹 정책이 내려가게 됩니다.) 2단계에서는 DA 서버에서 외부와 내부 네트워크를 구분해주는 작업, IPSec에 사용될 인증 기관, 인증시 추가적으로 스마트카드를 사용할지 여부에 대해 결정을 하게 됩니다. 3단계에서는 클라이언트가 내부인지, 외부인지를 판단하기 위해 접속을 시도해보는 Network Location Server에 대한 지정, 내부 DC, DNS에 대한 지정이 진행되고요, 4단계서는 앞서 언급한 IPSec 연결을 종단간 가능한 모드(Select Network Access)를 사용할 것인지, DA가 IPSec 게이트웨이를 해주는 모드인 Full Enterprise Network Access를 사용할지를 결정하고, 이에 대한 처리를 진행합니다.

자.. 그렇다고 한다면, 클라이언트가 내부냐 외부냐에 대한 판단과 어떤 서버가 내부 서버인지에 대해서 판단을 어떻게 할까요? 내부냐 외부냐에 대한 네트워크 위치 파악은 3단계에서 지정해놓은 Network Location Server에 웹 연결이 되느냐? 되지 않느냐를 놓고 판단합니다. 해당 서버는 고가용성 처리가 되어져 있어야 하겠죠. 해당 서버가 연결되지 않을 경우엔, 클라이언트는 DA를 통해 내부 네트워크를 접속하려고 시도하게 됩니다.

image

해당 서버가 외부 서버인지, 내부 서버인지에 대한 판단은 DA 구성시 지정한 TCP/IP 도메인 접미사를 이용하게 됩니다.

image

클라이언트에 요청된 접속이 해당 접미사를 가지고 있고, DA를 통해 내부 DNS에 조회가 가능하면, 이를 내부라고 판단하고, DA를 통해 연결을 처리하게 됩니다. 즉 6to4, ISATAP, Teredo를 이용하여 접근을 시도하게 되고, 중단 라우터나, 방화벽에서 해당 포트가 막혀있을 경우, IPHTTPS 기술을 통해 HTTPS 포트(443)을 이용하여 접근하게 되죠. VPN의 경우에는, 연결후, 모든 네트워크 트래픽(내부던, 인터넷으로 가던)이 조직으로 들어와서, 인터넷으로 처리되었지만, DA의 경우에는, 라우팅 구조를 유연하게 가져가서, 인터넷으로 가는 트래픽은 직접 접속, 내부로 들어오는 트래픽은 DA를 통해 연결되게 할 수 있습니다.

image

물론 고급 설정을 이용하는 Windows 방화벽을 통해, 모든 트래픽이 내부를 거쳐가게도 설정할 수 있습니다. 이러한 DA의 기본 설정은 성능을 최적화 하면서, 조직의 보안 요구 사항에 적절히 부합될 수 있도록 네트워크를 구성할 수 있게 해줍니다.

자 여기까지 이야기를 한번 요약해보겠습니다.

  • Windows 7을 사용하는 DA 클라이언트는 네트워크가 내부인지 외부인지, Network Location 서버에 접속을 시도하여 파악합니다.
  • 내부인 경우, 클라이언트는 DA 프로세스를 중단합니다. 만약 해당 서버가 연결되지 않는 경우, DA는 이후 프로세스를 진행합니다.
  • DA 클라이언트가 DA 서버에 IPv6와 IPSec을 이용하여, 접근합니다. 대부분의 인터넷 환경에서는 IPv6가 원활히 처리되지 않을 것이므로, 6to4 또는 ISATAP을 이용하여, 접근을 시도합니다.
  • 방화벽이나, 프록시 서버의 문제로 연결이 되지 않을 경우, IPHTTPS 프로토콜을 사용하여 다시 6to4, ISATAP 처리를 시도합니다.
  • IPSec 연결시, DA 클라이언트와 서버는 상호간의 인증을 하게 됩니다.
  • DA 서버 구성시, 1단계에서 지정한 DA 대상 클라이언트인지를 확인하기 위해, DA 서버는 액티브 디렉터리에 조회를 하게 됩니다.

image

  • NAP이 적용되어져 있는 경우(DA와 NAP 기술을 연동할 수 있습니다.), DA는 NPS 서버에 질의를 하여, 클라이언트의 보안 상태를 확인합니다.
  • 문제가 없는 경우, DA 서버는 클라이언트의 트래픽을 내부로 전달하기 시작합니다.

이러한 모든 단계는 사용자의 개입없이 Windows 7이 DA가 구성되어져 있을 경우, 내부적으로 처리해주는 프로세스입니다. VPN은 긴 단계를 사용자가 직접 개입해야 했었지만요.

DA를 구성하기 위해서는 IPv6가 필수적입니다만, 대부분의 조직이 IPv4 환경이므로, IPv4와의 연동과 IPv6로의 유연한 확장이 필요하겠죠. 이러한 기술을 적용할 때, 조직 네트워크를 크게 변경해야 한다면, 이는 도입이 어려워질 수 있고, 관리자에게는 또다른 부담으로 작용되게 됩니다. DA 서버는 이러한 IPv4와 IPv6를 완벽하게 연동해주는 역할을 하고 있습니다. 또한 IPv4 환경에서 IPv6를 사용할 수 있도록 해주는 전환 기술, 6to4, Teredo, ISATAP, 또한 IPv6를 지원하지 않는 NAT(Network Address Translation) 환경에서도 DA 클라이언트가 DA 기술을 사용할 수 있게 해주는 NAT-PT(Protocol Translation) 기술까지.. 많은 기술이 IPv6를 IPv4 환경에서 사용할 수 있게 해주며, 이를 Windows 7부터 DirectAccess라는 멋진 기술로 탄생시킨 것입니다.

정리해보죠~!

DA를 구성하시려면, 아래의 요구사항이 필요합니다.

  1. Windows Server 2008 R2를 사용하는 DA 서버, 그리고 DA 서버내에는 최소 2개의 NIC이 필요(내부, 외부용)
  2. DC와 DNS 서버는 Windows Server 2008이상이 되어야 하며, 인증시, 사용자 인증 뿐만 아니라, 멀티 팩터 인증(스마트 카드등)을 사용하려면, DC가 Windows Server 2008 R2가 되어야 합니다.
  3. IPSec은 인증서 기반의 암호화, 인증을 처리하므로, PKI 환경, 다시 말해 인증 기관의 설치 및 인증서 배포 전략이 필요합니다.
  4. IPSec 정책, IPSec을 사용하여, DA는 인증과 암호화를 처리한다는 것 많이 말씀드렸고요.
  5. DA 서버 접근시 사용하는 IPv6 전환 기술, 대표적으로 ISATAP에 대한 DNS 조회 여부 가능이 필요합니다.
  6. 클라이언트는 당연히 Windows 7이겠죠?

image 

DA를 구성하고 나서 나타나는 클라이언트 상태는 아래와 같습니다. (실제 제대로 되는지에 대해 궁금해하시는 분들이 많으셔서 :) ) WIN7-CLI-02는 외부에 있는 클라이언트며 IP 주소는 2.1.1.21을 가지고 있습니다. IP 주소 2.1.1.1의 DA 서버를 통해 내부로 연결되게 됩니다. (아래 왼쪽의 그림은 외부 IP에 대한 NIC의 설정입니다. 오른쪽의 그림은 ISATAP, 6to4가 구성된 그림이죠.

image image

Teredo도 구성되어져 있습니다. 만약 정상적으로 네트워크가 연결되지 않았다면, 미디어 연결 끊김이라는 메시지가 나타나야 합니다. 아래의 그림 iphttps처럼요. 포트가 막혀있지 않기 때문에, 6to4, ISATAP, Teredo를 직접 연결한 것입니다.

image

그럼 내부로 연결이 되는지 살펴볼까요? 외부 클라이언트인 WIN7-CLI-02의 모습입니다.

image

내부에서 외부 클라이언트로는 연결이 어떻게 될까요? 내부 클라이언트 WIN7-CLI-01에서 외부에 있는 WIN7-CLI-02로 연결을 시도하는 것입니다.

image

DirectAccess는 사용자에게는 손쉬운 조직 네트워크 연결이라는 장점을 제공하며, IT 관리자는 클라이언트가 외부에 있던 내부에 있던 상관없이 원격 관리를 할 수 있습니다. 이러한 원격 관리는 그룹 정책의 적용과 같은 것이 대표적이겠죠. 연결성을 높혀주면, 떨어질 것이라 예상하시는, 보안은 IPSec을 이용하여, 인증 및 암호화, 멀티 팩터 인증(스마트 카드), 그리고 NAP과의 연동을 통한, 보안 상태 확인까지 제공하여, 보안을 더욱 강화시킵니다.

2편에 걸쳐 DA에 대한 이야기를 포스팅해보았습니다. 그림도 많이 필요하고 기술적으로 새로운 이야기이기에 길어졌던 것 같습니다.

Windows 7의 엔터프라이즈 시나리오에서 현재 가장 강조되고 있는 기술이며, Windows Server 2008 R2와 함께, IT 관리자가 오랫동안 고민해오던 사항을 말끔히 해결해주면서, 사용자에겐 편의성을 제공하는 매우 뛰어난 가치를 제공합니다.