본문 바로가기

Secure UC

[연재] VoIP 장비의 방화벽/NAT 투과하기 - 2. ALG를 이용하기

                                                                             글싣는 순서
                                                                       1. 왜 문제를 일으키는 가?  
                                                                    
  2. ALG를 이용하기 
                                                                                        3. H.460을 이용하기


시작하며..
지금까지 왜 VoIP와 NAT/방화벽 간에 문제를 일으키는 지 알아보았습니다. 최대한 쉽게 설명하기 위해 자세한 그림을 첨부하였습니다. 간단하게 정리하면, 기존의 방화벽은 Layer 3 헤더와 Layer 4 헤더에 대해서만 관여하기에 Layer 5 이상에 대한 제어를 수행하지 않기 때문이며, VoIP 어플리케이션은 Layer 5 이상의 헤더 정보 정보를 이용하기 때문에 문제가 발생합니다. 이를 해결하기 위한 방법은 NAT/Firewall이 Layer 5 이상의 헤더에 대한 제어가 가능해야합니다.  이런 기능을 수행할 수 있도록 하는 것이 Application Layer Gateway 또는 Voip-aware Firewall이라고 합니다.

요즘 출시되는 방화벽은 Application Layer Gateway (ALG) 기능이 기본으로 들어가 있거나, 소프트웨어 업그레이드로 기능을 수행할 수 있도록 되어 있습니다. 제가 가장 복잡한 H.323만을 가지고 이야기를 전개하고 있으나, SIP 및 MGCP에도 마찬가지로 적용됩니다. SIP및 MGCP는 더욱 간단하기에 H.323만을 이해하면 나머지는 쉽게 이해할 수 있습니다.

NAT/방화벽 해결을 위한 ALG(Application Layer Gateway)

가장 간단한 해결책은 방화벽이 VoIP 세션을 인지하고, IP Header의 IP 정보를 변경할 때 H.323헤더의 정보를 변경하는 것입니다. IP address에 대한 불일치를 쉽게 해결할 수 있습니다. 이러한 ALG를 통해 다음과 같은 기능을 수행합니다.

  • NAT  Traversal
    NAT로 인해 Public address 및 Private address 를 해결할 수 있습니다.
  • SPI (State Paket Inspection)
    RTP 전송을 위해서는 일반적으로 16,000개의 UDP Port (16384 ~32767)를 방화벽에서 개방해야 합니다. RTP는 이 중에 Port 번호를 랜덤하게 사용하여 패킷을 전송함으로 항상 개방해야 되는 문제가 있습니다. 따라서, SPI를 이용하면, Firewall은 호마다 설정되는 RTP의 Port Number를 확인한 후 일시적으로 개방하여 연결합니다. 통화가 끝나면 자동으로 Port 가 닫히므로, 보다 완벽한 보안을 구성할 수 있습니다. 따라서, 음성이 통과하는 Firewall에서는 이러한 기능이 기본적으로 지원되어야 합니다.
  • Topology Hiding
    NAT를 통해 사설망 내부의 IP address 체계가 외부에 노출되지 않으므로, 망 내 VoIP 장비를 안전하게 보호할 수 있습니다. 외부에서는 단순하게 노출된 하나의 IP address만을 통해 접근합니다.

ALG는 일반적으로 독립된 장비로 존재하지 않고, 기존의 Firewall에 포함되는 형식을 취합니다.

--------------
라인하트
CCIEV #18487
linecard@naver.com