[Dongclee의 2015년 첫 번째 포스팅] TMG 및 UAG가 없어지면, Windows Server 2012 R2의 Web Application Proxy 를 사용하여 OWA 를 외부 네트워크에 안전하게 공개해 봅시다….
안녕하세요…..
진짜로 오래 간만에 블로그를 통해 인사 드립니다. 그 동안 잘들 지내고 계셨는지요?
지금 대한민국이 MERS로 공포에 떨고 있는 상황입니다. 여러분 모두 MERS를 모두 잘 견뎌내시길 기원합니다.
제가 이렇게 오래 간만에 블로그에 글을 남기게 된 이유는 따로 있습니다. 제가 나름 TMG 및 UAG에 대해서 조예가 깊다고 자만하고 있었습니다 ^-^. 그런데, 불행히도 두 제품이 모두 단종되는 상황이 발생했습니다. 이러한 상황에서 “내부 어플리케이션의 안전한 외부 공개를 위한 TMG 및 UAG 기능 (Reverse Proxy)”을 대체할 수 있는 방법에 대해서 많은 분들이 저에게 문의를 했습니다. 사실 저도 처음에는 TMG 및 UAG의 Reverse Proxy 기능을 대체할 수 있는 방법이 마땅치 않아서, 고객 및 많은 파트너 분들에게 기존의 하드웨어 기반의 엔터프라이즈 방화벽에서 NAT 기능을 활성화 해서 사용하도록 말씀 드렸습니다. 그러나, 기존 TMG 및 UAG 서버에서 인증을 대신 수행해 주는 Pre-Authentication 같은 주요 기능을 엔터프라이즈 방법이 대신할 수는 없습니다. 그래서, 결국 Technet 문서 상으로만 접했던 AD FS & Web Application Proxy 기능을 사용한 Reverse Proxy 를 제가 직접 구축해 보기로 했습니다.
결론적으로 AD FS & Web Application Proxy 를 사용하면, TMG 및 UAG 기반의 Reverse Proxy의 모든 기능을 대신할 수는 없지만, 적어도 URL Translate 및 Pre-Authentication 기능을 정확하게 대체할 수 있습니다. Pre-Authentication 기능은 보안 상 중요한 의미를 가지고 있습니다. 예를 들어, 외부 클라이언트가 내부의 OWA를 접근할 때, AD FS & Web Application Proxy의 Pre-Authentication 기능이 구현되어 있다면, 외부 클라이언트의 요청이 Web Application Proxy 서버에만 전달되고, 실제 인증은 Web Application Proxy 서버가 내부의 Exchange 서버와 통신을 하여 인증을 처리하고 그 결과를 다시 외부 클라이언트에 전달합니다. 즉, 외부 클라이언트는 직접적으로 Exchange 서버까지의 통신이 원천적으로 차단되어 있어서, 보안 상 한층 안전할 수 있습니다. 즉, 엔터프라이즈 기반의 방화벽은 대부분 이러한 Pre-Authentication 기능을 제공하지 못 하기 때문에, 외부 클라이언트의 트래픽이 바로 내부의 어플리케이션 서버까지 직접 도달함으로써, 보안적으로 취약할 수 있습니다.
그러나, Web Application Proxy 서버의 Pre-Authentication 기능을 사용하기 위해서는, 외부에 공개할 내부 어플리케이션 서버가 Claim 기반의 인증을 지원해야 합니다. Claim 기반의 인증을 지원하기 위해서는 반드시 “보안 토큰(Security Token)”을 발급할 수 있는, Trusted Issuer 가 존재해야 합니다. Microsoft 사는 이미 오래 전부터 Claim 기반의 인증을 위한 Trusted Issuer를 AD FS 라는 기능으로 제공하고 있었습니다. 본 문서의 데모 환경에서는 Windows Server 2012 R2 기반의 AD FS 및 Web Application Proxy 을 사용하여, 내부의 Exchange 2013 SP1을 공개합니다.
참고로, Exchange 2013 RTM 버전은 Claim 기반의 인증을 지원하지 않으므로, 반드시 Exchange 2013 SP1 버전을 사용해야 합니다.
여러분들께서, AD FS 및 Claim 기반 인증을 포함하여, 너무 많은 복잡한 요소로 인해 Web Application Proxy 서버를 사용한 Reverse Proxy 방법을 포기할 수도 있을 것으로 예상됩니다. 그러나, AD FS는 향후 많은 요소에서 활용도가 높으므로, Active Directory를 구성할 때 필수적으로 같이 구성을 미리 해 놓으면 수고를 약간은 덜 수 있으리라 생각됩니다. AD FS의 활용 예제는 아래와 같이 다양합니다.
- O365와 On-Premise Exchange 와의 연동
- iOS 및 Android 및 Windows Phone과 같은 다양한 모바일 디바이스에 Domain 죠인된 것과 같은 기능을 제공하는 Workplace 구성
그러므로, AD FS와 Claim 기반 인증 등에 대한 두려움을 떨치시고, 본 문서를 통해 쉽고 빠르게 이해하시기를 기원합니다. 참고로, Windows Server 10 에서의 Web Application Proxy 기능을 TMG와 UAG 에서 지원했던 기능의 상당 부분을 지원합니다(https://blogs.technet.com/b/dongclee/archive/2014/10/12/dongclee-2014-windows-server-10-technical-preview.aspx#comments). 그리고, 추가적으로 Claim에 대한 설명도 본 첨부 문서의 Appendix 에 있으므로, 여러분 들께서 쉽게 Claim에 대해서 이해할 수 있을 것으로 예상됩니다.
본 첨부 문서의 데모 환경은 아래와 같습니다.
제가 간만에 블로그에 글을 올리고, 문서를 만들다 보니 많은 오류가 있을 수 있습니다. 오류에 대해서 여러분들의 활발한 의견 개진 바랍니다.
MERS 조심하시고, 조만간에 Windows Server 10의 다양한 기능을 소개하도록 하겠습니다.
감사합니다.
Windows Server 2012 R2 AD FS & OWA Publishing.pdf
Comments
- Anonymous
June 11, 2015
자료가 방대하네요. 감사합니다~ - Anonymous
June 12, 2015
김준범 님,,, 자료가 너무 방대해서 역간 보시기 불편한 점도 없지 않을 겁니다. 이점 죄송스럽게 생각합니다. ^-^ 이해해 주세요