Windows Server 2012 R2 웹 응용 프로그램 프록시(Web Application Proxy, WAP)을 통한 안전하고 편리한 내부 인프라 게시

image

Windows Server 2012 R2의 원격 액세스 기술내 새로운 가족이 하나 추가되었습니다. 이미 발표된 바와 같이 외부로 웹 서버를 게시(Publishing) 역할을 하던 Forefront TMG의 추가적인 릴리즈가 없을 것이다라는 소식 이후, 해당 게시 기술에 대해서 어디서 책임질 것인지에 대해서 관심이 많았었죠.

해당 기술이 이제 Windows Server 2012 R2내 웹 응용 프로그램 프록시(WAP)로 추가되었습니다.

image

WAP의 경우에는 DMZ 레벨에서 사내의 웹 기반의 인프라를 외부로 게시할 수 있으며, 인증에 대한 부분을 위임받아서 처리할 수도 있습니다. Windows Server 2012 R2에서는 Identity에 대한 상당수의 기술을 Federation Service(ADFS)를 통해서 제공받을 수 있게 됩니다. 이러한 페더레이션 기반의 인증 방식은 다수의 디바이스가 존재하는 트렌드에 적절한 SSO 방안을 제시할 수 있게 됩니다.

image

WAP가 사용자의 접속을 일차로 처리하여, 인증에 대한 부분을 직접 백엔드의 서버가 할 것인지, 아니면 ADFS 인증을 통해서 처리한 후, 클레임 기반 혹은 토큰 기반의 변환을 통한 전송을 사용할 것인지를 설정할 수 있습니다.

image

앞서 언급한 바와 같이 ADFS를 사용하게 되면, 사전에 클레임 기반의 인증을 처리하여 전송하는 기본 형태를 취하게 되지만, 클레임을 인지하지 못하는 일반 웹 응용 프로그램(대표적으로 Exchange Server OWA나 ECP같은)의 경우에는 ADFS에서 클레임 비인식으로 설정한 후, WAP가 해당 응용 프로그램을 대신하여, Kerberos 인증을 위임해줄 수 있습니다.

image

ADFS를 사용한 SSO 형태를 취하면서 Client Access Filtering(특정 사용자별 접근 제어)가 가능합니다.

image

이렇게 인증 방식에 대한 결정 이후에는 외부로 노출될 URL, 내부로 사용될 URL을 입력합니다. HTTPS 형태만을 지원하고 있습니다.

image

외부 URL의 경우 SSL Listener에 연결되는 형태이기에 URL 별로 동일한 443 포트로 접근이 가능하며, URL 별로 별도의 처리를 진행하게 됩니다. NETSH HTTP SHOW SSLCERT 명령어로 확인 가능합니다.

당연히 이를 위해서는 WAP가 도메인에 가입되어져 있어야 하며(클레임 처리만을 할 경우에는 도메인 가입없이 ADFS 프록시의 역할을 하게 됩니다.), 해당 WAP 서버가 백엔드 웹 서비스에 대해 KCD(Kerberos Constrained Delegation) 되어야 합니다.

image

Windows Server 2012 R2 Preview를 통해 WAP과 ADFS를 구성하게 되면, 해당 기술을 바로 테스트할 수 있습니다. 살짝 테스트해보니, 매우 훌륭하게 내부 인프라를 외부로 게시할 수 있다는 것을 확인하였습니다.

관련된 TechNet 문서는 Web Application Proxy Overview에서 살펴보실 수 있으며, 구성 가이드도 https://technet.microsoft.com/en-us/library/dn280943.aspx 에서 찾을 수 있습니다.

설정에 주의할 사항은 하나정도로 생각됩니다. ADFS를 외부로 노출해서 서비스를 하고 있던 경우, WAP이 추가되게 되면, ADFS Proxy의 역할도 같이하게 됩니다. 이에 외부로 노출된 ADFS 주소도 WAP 주소로 제공해야 문제없이 처리할 수 있습니다.