앞 강좌에서는 VPN의 역사에서부터 왜 SSL VPN이 새롭게 선보이게 되었는지 간략하게 살펴 보았다. 이 번 강좌에서는 IAG에 대해서 설명을 시작하려고 한다. IAG 2007은 앞에서도 언급한 바와 같이 ISA 2006 스탠다드 에디션 방화벽에 탑재되어 판매되고 있다. 방금 박스를 풀은 상태에서 제공하는 기능에 대해 살펴 보고, 조직에서 안전한 원격 액세스를 제공하기 위해 어떤 조치를 취해야 하는지 알아 본다.

 앞 강좌에서는 VPN의 역사에서부터 왜 SSL VPN이 새롭게 선보이게 되었는지 간략하게 살펴 보았다. 이 번 강좌에서는 IAG에 대해서 설명을 시작하려고 한다. IAG 2007은 앞에서도 언급한 바와 같이 ISA 2006 스탠다드 에디션 방화벽에 탑재되어 판매되고 있다. 방금 박스를 풀은 상태에서 제공하는 기능에 대해 살펴 보고, 조직에서 안전한 원격 액세스를 제공하기 위해 어떤 조치를 취해야 하는지 알아 본다.

이 강좌에서 주로 살펴 볼 부분은 다음과 같다.

  • 연결 방식
    • 고급 애플리케이션 수준의 검사(inspection) 리버스 프록시
    • 포트 및 소켓 포워더
    • 네트워크 커넥터

연결 방식
다 른 많은 SSL VPN 솔루션은 단일 연결 방식만을 사용하도록 제한하고 있지만, IAG 2007에서 클라이언트는 IAG 2007 VPN 게이트웨이에 다양한 연결 방식을 사용할 수 있다. IAG 2007은 액세스가 필요한 애플리케이션의 유형에 맞는 연결 방식을 제공하기 위해 다양한 옵션을 제공한다.

IAG 2007에서는 주로 다음과 같이 3 가지 연결 방식을 제공하고 있다.

  1. 고급 애플리케이션 수준의 검사(inspection) 리버스 프록시
  2. 포트 및 소켓 포워더
  3. 네트워크 커넥터


1. 고급 애플리케이션 수준의 검사 리버스 프록시
IAG 2007에서 제공하는 고급 애플리케이션 수준의 검사 리버스 프록시는 ISA 방화벽에서 제공하는 웹 게시 규칙 기능과 아주 유사하다. 하지만, ISA 웹 게시 규칙과 IAG 2007 고급 애플리케이션 수준의 리버스 프록시와는 중요한 몇가지 차이점을 가지고 있다. 차이점은 다음과 같다.

훌륭한 성능을 제공하는 애플리케이션 수준의 검사 기능
ISA 방화벽에서는 제품 출하시 HTTP 보안 필터가 내장되어 있다. 하지만, HTTP 보안 필터는 특정한 메쏘드를 차단/허용하거나 차단 서명을 생성하도록 구성하지 않는 한 최소한의 보호 기능을 제공한다.

ISA 방화벽에서 제공하는 HTTP 보안 필터의 중요한 2가지 제한 사항은 다음과 같다.

  • 서명을 거부하도록 설정할 수 있지만, 화이트 리스트 즉, 허용하는 서명은 설정할 수 없다.
  • 서명은 그냥 문자열을 기반으로 작성하게 되며, URL이나 데이터를 좀더 명확히 정의하는 정규 표현식을 사용할 수 없다.

참고로, IAG 2007에서는 정규 표현식(RegEx)를 지원하며 차단/허용 규칙에서 사용할 수 있다. 아마도 리눅스에서 프로그래밍을 해보신 분이라면 정규 표현식에 대해 익히 알고 있을 것이라고 생각된다.

ISA 방화벽에서 제공하는 HTTP 보안 필터는 게시한 웹 서버와 인터넷 사용자간의 적절한 통신이 이루어지는지 확인하기 위해 엄청난 양의 작업량을 필요로 한다. 게시된 웹 서버에서 적절한 통신이 무엇인지 확인한 후에도, 여러분은 인터넷에서 공격하는 다양한 알려진 익스플로잇으로부터 게시된 서버를 보호하기 위해 어떤 통신을 차단할 지 검토해야 한다.

한편, IAGE 2007에서는 여러분이 게시하려는 업무상의 애플리케이션을 위해 충분한 애플리케이션 수준의 지식을 보유하고 있다. IAG 2007에서는 이를 위한 전문적인 팀이 운영되고 있으며, 업무에서 사용되는 애플리케이션에 필요한 적절한 통신이 무엇인지 그리고 어떤 통신을 차단해야 하는지 종합적인 정보를 제공하고 있다. 즉, 팀이 여러분이 해야 할 일을 대신해 주고 있으므로 업무에 대한 부담이 줄 수 있다.

IAG 2007에서는 포지티브 로직(게시된 웹 서버로 적절한 통신만을 허용함)뿐만 아니라 네거티브 로직 필터도 제공한다. 네거티브 로직 필터는 인터넷에서 이미 알려져 통용되고 있는 익스플로잇으로 파생되는 통신을 차단한다. 즉, 네거티브 로직 필터는 주로 알려져 있으며 해를 미칠 수 있는 통신을 차단한다. 그리고 포지티브 로직 필터는 제로데이 공격과 같은 통신을 차단한다.

IAG 2007에서는 마이크로소프트가 제공하는 다양한 애플리케이션(예를 들면, Exchange 웹 서비스(OWA, OMA, 액티브 싱크, RPC/HTTP), SharePoint 서비스, 마이크로소프트 CRM)뿐만 아니라 유명한 다른 애플리케이션(예를 들면, SAP 엔터프라이즈 포탈, Webtop Documentum, 도미노 웹액세스, SecureView 등등)을 게시할 수 있도록 제공한다. IAG 2007은 다양한 OS가 혼재되어 있는 이기종(heterogeneous) 환경에서도 충분한 원격 액세스 연결을 안전하게 지원하도록 설계되었다.

아래 그림은 SharePoint 서버를 게시하는데 사용하는 애플리케이션 지식 및 필터링의 예이다.

사용자 삽입 이미지

 

포탈을 자동으로 만드는 기능
마 이크로소프트가 개발하는 제품들에는 마법사라는 편리한 기능이 포함되어 있다. ISA 방화벽이외에 다른 회사의 SSL VPN 제품에는 여러분이 게시한 애플리케이션을 사용자가 연결할 수 있게 해주는 포탈 사이트를 자동으로 만들어 주지 않는다. ISA 방화벽의 웹 게시 규칙을 통해 사용자는 게시된 웹서버에 연결할 URL을 기억해야 할 필요가 있다. 하지만, 많은 수의 애플리케이션을 게시하는 경우라면 사용자는 각기 URL을 모두 기억해야 하는 큰 불편함을 겪을 수 밖에 없다. 사용자는 프로그래머이거나 웹코딩에 익숙하지 않다는 점을 기억해야 할 것이다.

아래 그림은 IAG 2007이 자동으로 만들어 주는 포탈의 예를 보여 주고 있다. 포탈을 생성하고, 포탈에 애플리케이션을 할당하여 게시하면, 포탈 페이지에 이 정보를 볼 수 있다. 여기에서는 IAG 2007의 리버스 프록시 기능을 예로 들어 설명하기 때문에 포탈에는 웹 애플리케이션만 볼 수 있지만, 실제로는 다양한 게시 서버를 이용할 수 있다. 물론, 이 포탈은 사용자가 로그온한 이후에 나타난다.
 

사용자 삽입 이미지



인증과 권한 부여를 통한 포탈 커스터마이징
포 탈을 생성하고 난 이후에는 포탈에 로그인하는 사용자 계정에 따라 포탈에 연결할 수 화면을 다르게 보여 주도록 커스터마이징할 수 있다. 사용자 계정과 보고된 보안 상태(IAG 2007의 종단 감시 기능의 결과)를 통해 사용자가 볼 수 있는 포탈을 결정할 수 있다. 여러 개의 포탈을 만들지 않고 하나의 포탈을 통해 사용자 계정 또는 로그온하는 컴퓨터에 따라 접속 환경이 바뀐다.
 

사용자 삽입 이미지


다양한 인증 프로토콜 지원
ISA 방화벽에서는 마이크로소프트 AD 인증 방식 이외의 다양한 인증 방식을 지원한다. IAG 2007은 ISA 방화벽이 지원하는 인증 프로토콜을 동일하게 지원한다. 예를 들면, IAG 2007은 액티브 디렉터리, LDAP, 노츠, 넷스케이프, 노벨을 지원하며, 심지어 TACAC+도 지원한다. 또한 관리자가 필요로 하는 애플리케이션 프로토콜과 프로바이더를 지원하도록 커스터마징할 수 있다.

2. 포트 및 소켓 포워더
IAG 2007을 통해 웹 서버가 아닌 다른 애플리케이션 서버를 게시할 수 있다. ISA 방화벽에서 웹 서버 이외의 다른 서버를 게시할 경우에는 서버 게시 규칙을 사용해 왔다. IAG 2007은 이러한 애플리케이션과의 통신을 위해 SSL로 암호화된 원격 액세스를 지원한다. ISA 서버 게시 규칙과 비교할 때 IAG 2007이 가지는 장점은 다음과 같다.

암호화되지 않는 애플리케이션 프로토콜을 암호화함
ISA 방화벽을 사용하여 암호화되지 않은 프로토콜에 대한 서버 게시 규칙을 생성할 때, 클라이언트와 서버간의 통신은 암호화되지 않은 평문 상태로 전송되고, 네트워크 스니퍼 등으로 손쉽게 이러한 정보를 낚아 챌 수 있다. 가장 대표적인 경우가 POP3 통신으로, 사용자가 POP3에 접속하여 계정/비밀번호를 전송할 때에 평문으로 전송되므로 손쉽게 알아 낼 수 있다.

한 편, POP3를 게시하기 위해 IAG 2007 VPN 게이트웨이를 사용하는 경우에는 클라이언트와 IAG 2007 장비 사이에는 SSL 터널로 연결된다. IAG 2007 장비 밖에서 서버와 클라이언트 간의 트래픽을 제 3자가 채집하더라도 계정/비밀번호를 알아 낼 수 없으며 메일도 읽을 수 없다. POP3 이외에 SMTP, IMAP4, RPC/MAPI, RDP, NNTP 등 대부분의 암호화 통신을 하지 않는 프로토콜도 마찬가지이다. IAG 2007 SSL VPN은 ISA 방화벽이 없는 네트워크 환경에서도 보안 및 기밀을 유지할 수 있게 해준다.

웹 이외의 프로토콜에 대한 사전 인증 지원
ISA 의 서버 게시 규칙은 웹 프로토콜 이외의 다른 프로토콜에 대해서는 사전 인증을 지원하지 않는다. 이는 ISA 방화벽뿐만 아니라, 웹 프로토콜 이외 다른 프로토콜에 대해 포트포워딩이나 리버스 NAT 기능을 지원하는 대부분의 방화벽에서도 마찬가지이다. 이는 방화벽 자체의 한계가 아니라 프로토콜이 한계 때문으로, 방화벽의 프록시 구성요소가 인증 요청을 가로채서 대신 처리해야 한다.

IAG 2007은 이러한 문제를 웹 프록시(SSL VPN 게이트웨이가 위치한)를 통해 해결했다. 웹 프로토콜 이외의 프로토콜을 액세스하기 위해 사용자는 먼저 IAG 2007 SSL VPN 게이트웨이와 인증을 거쳐야 한다. 인증이 완료되면, 사용자는 포탈에 사용이 허용된 것들만 나타나게 된다. 이를 통해 사전 인증을 지원한다.

Split DNS 문제 해결
ISA 방화벽을 관리할 때 가장 애로사항이 바로 DNS의 분할(split)이다. Split DNS을 통해 사용자는 위치에 구애받지 않고 편리하게 네트워크 자원을 액세스할 때 동일한 객체(도메인) 이름을 사용할 수 있다. 즉, 사내 인트라넷에서 사용할 때 그대로 외부 즉 인터넷에서도 동일하게 사용할 수 있는 장점을 가지고 있다. 하지만, 네트워크 관리자는 DNS를 나눠 관리하기 때문에 관리 부담이 늘어나게 되고, 정확한 이해없이는 정확한 구성을 할 수 없게 된다.

IAG 2007에서는 split DNS이 필요없다. 사용자는 포탈의 이름만 기억하면 되고, 물론 계정 정보도 기억해야겠지만. 사용자가 일단 포탈에 로그온하면 그 이후에는 IAG 2007이 모든 이름풀이 과정을 처리해 준다. 따라서, 사용자는 포탈의 이름을 모두 기억할 필요가 없으며, 관리자도 DNS를 편하게 관리할 수 있다.

소켓 액세스를 통한 애플리케이션 제어
소 켓 포워딩 기능을 통해 클라이언트에서 애플리케이션이 IAG 2007 SSL VPN 게이트웨이로 어느 포트로 허용할지 결정할 수 있을 뿐만 아니라 그 포트를 사용할 애플리케이션도 결정할 수 있다. 이 기능은 ISA 방화벽의 방화벽 클라이언트 프로그램이 제공하는 기능과 유사한데, 바로 이미지 이름(실행 파일 이름)을 통해 액세스를 제어할 수 잇다. ISA 방화벽 클라이언트 프로그램의 단점이라면 일반 사용자도 이미지 이름을 손쉽게 바꿔서 실행할 수 있다.

2007은 ISA 방화벽 클라이언트 프로그램이 제공하는 애플리케이션 제어 방법보다 한층 발전된 방법으로 애플리케이션의 해시 값을 기준으로 제어한다. 예를 들어, SSL VPN 게이트웨이를 통해 아웃룩 클라이언트 프로그램을 위해 RPC를 허용하려고 한다고 가정하면, 이 게이트웨이로 다른 애플리케이션이 RPC를 사용하지 않게 할 것이다. IAG 2007에서는 SSL VPN 게이트웨이에서 RPC에 대한 트래픽을 허용하고, 또한 RPC종점 매퍼 포트로 호출하는 애플리케이션의 해시캆을 기준으로 아웃룩 2003만 허용하도록 제어한다. 이는 ISA 방화벽 클라이언트 프로그램보다 훨씬 보안성이 강화된 것으로 사용자가 악성코드가 파일이름을 outlook.exe로 바꿔서 실행됨으로 인해 발생할 수 있는 위험성을 줄일 수 있다.

아래 그림은 포트와 포켓 포워더로 연결된 사용자 컴퓨터릐 연결을 보여준다.

사용자 삽입 이미지



IAG 2007 VPN 게이트웨이에서 웹 애플리케이션 이외의 애플리케이션을 지원하는 방법은 다음과 같다.

포트 포워더
포 트 포워더는 SSL VPN 구성요소 중 하나로, 게시한 애플리케이션마다 특정한 로컬 주소/포트로 청취하여 실제 애플리케이션 서버 주소가 아닌 이 주소로 트래픽이 보내지게 한다. SSL VPN 포트 포워더 클라이언트는 트래픽을 SSL로 암호화 터널을 수립하고, SSL VPN 게이트웨이로 전송한다. 포트 포워더는 암호화되지 않은 애플리케이션 프로토콜을 포함하는 터널을 수립하여 SSL VPN으로 암호화하므로 훨씬 안전하다. 포트 포워더는 FTP 프로토콜과 같이 2차 연결이 필요한 프로토콜을 제외한 일반적인 애플리케이션에서만 지원한다

소켓 포워더
소 켓 포워더 SSL VPN 클라이언트는 MS Winsock 서비스 프로바이더 인터페이스를 가로채 채서, 저수준 0-레벨 핸들링을 지원하기 위해 Windows LSP/NSP(Layered Service Provider/Name Space Provider)를 사용한다. NSP는 내부 서버 이름이 터널로 수립되고 인터넷으로 전송되지 않도록 보장하기 위해 내부 서버 이름을 풀이하는데 사용한다. 소켓 포워딩의 보안상 가장 중요한 장점은 사용자를 식별할 수 있고, 트래픽을 생성하여 그 통신에 특정한 보안 매개변수를 설정할 수 있다는 점이다.

3. 네트워크 커넥터
리 버스 프록시와 포트/소켓 포워더는 반대로, 네트워크 커넥터는 진정한 SSL VPN 연결성을 제공한다. 리버스 프록시와 포트/소켓 포워딩에서는 가상의 네트워크 연결이 없다. 네트워크 커넥터를 사용하여 여러분은 원격 액세스 VPN 클라이언트에 할당된 IP 주소 내에 실제로 터널링된 IP로 연결을 한다. 즉, 회사 네트워크로 PPTP나 L2TP/IPSec VPN 네트워크 연결을 지원한다.

네 트워크 커넥터는 클라이언트 컴퓨터의 장치 관리자에서 네트워크 장치로 구현된다. 포탈에서 네트워크 커넥터를 사용할 수 있는 경우에는 클라이언트 컴퓨터에 네트워크 커넥터 애플리케이션이 자동으로 설치된다. 물론, 어떤 컴퓨터에서 네트워크 커넥터가 실행될지 제어할 수 있다. 또한, IAGE 2007 종점 감지 기능을 사용하여 네트워크 커넥터를 어떤 종점 컴퓨터에 허용할지 액세스 정책을 제어할 수 있다.

네트워크 커넥터는 다음과 같은 특징이 있다.

  • WINS, DNS, DNS 접미사와 같은 회사 네트워크 매개변수의 자동 감지 및 변경
  • 고정 IP 주소 영역 또는 DHCP를 사용하여 IP 주소 반영
  • Split 터널링 제어
  • TCP, UDP, ICMP 프로토콜 마스크 필터
  • Windows 2000, XP, Windows 2003 서버 클라이언트 지원
  • IAG 2007 네트워크 커넥터 프로그램을 설치 후 재부팅할 필요가 없음
  • 통계 및 연결종료 옵션을 제공하는 세션 아이콘
  • IP 유니캐스트 기능

네 트워크 커넥터는 네트워크 수준의 액세스를 완벽하게 제어할 수 있게 해주며, 다중 1차 연결과 2차 연결이 필요한 프로토콜까지도 지원한다. VoIP와 같은 복잡한 프로토콜일 경우에는 포트/소켓 포워더에서 지원하지 않을 수도 있는데 이럴 때에는 네트워크 커넥터를 사용한다. 하지만, ISA 방화벽의 강력한 사용자/그룹 액세스 제어 기능과는 달리 네트워크 커넥터에서는 자세한 제어가 힘들다. 네트워크 커넥터는 대표적인 ‘하드웨어’ VPN 게이트웨이로 동작하며 보통 링크를 통해 이루어진다. 원격 액세스 VPN 연결에 대해 좀더 강력한 상태 패킷 검사와 애플리케이션 수준의 검사가 필요한 경우에는 ISA 방화벽의 PPTP 또는 L2TP/IPSec VPN 원격 액세스 VPN 서버의 사용을 고려해야 한다.

4.마무리
이 번 강좌에서는 IAG 2007에서 지원하는 네트워크 연결 방식에 대해 살펴 보았다. IAG 2007 SSL VPN 게이트웨이에서는 애플리케이션의 요구사항에 따라 다음과 같이 3가지 연결 방식을 지원한다.

  • 리버스 웹 프록시
  • 포트/소켓 포워딩
  • 네트워크 커넥터

다음 강좌에서는 파일 액세스 및 보안 기능에 대해 알아 볼 예정이니 기대하기 바란다.

자료출처 : The Microsoft Intelligent Application Gateway 2007 (IAG 2007) Part 2: IAG Connectivity Options

reTweet
Posted by 문스랩닷컴
blog comments powered by Disqus

    댓글을 달아 주세요



    Web Analytics Blogs Directory