NAT Slipstreaming 공부중 내가 네트워크 머저리였음을 깨달았다.
Application Level Gateway 조차도 제대로 설명하지 못해 정리해보았다.
Application Level Gateway란 말 그대로 Application Level에서 패킷을 처리하는 Gateway라는 말이다.
여러분들 모두가 아는 OSI 7 Layer다.
Application Level Gateway는 여기서 7계층 Application Layer에서 동작한다고 말할 수 있다.
여기서 Gateway는 스위치나 뭐 방화벽이나 될 수 있다.
방화벽에서 처리한다면 Application Level Firewall 이라고 표현하면 된다.
이름이 중요한게 아니다.
일반적인 Packet Filtering 방식의 경우 3 4 계층에서 TCP/UDP 패킷에 대해 IP와 PORT 기반 필터링만을 수행한다.
지극이 기본적이며, 많은 트래픽이 들어와도 큰 무리없이 처리할 수 있다는 장점이있지만...
정말 극히 제한적으로 처리가 가능하다.
그도 그럴것이 필터링 규칙이 그저 IP와 PORT 뿐이니... 뭔가 세부적인 정책을 넣을 수 없다.
Application Level Gateway는 7계층에서 HTTP, FTP, SIP 등등의 Protocol들을 처리한다.
기존처럼 IP, Port를 보는게 아니라, 패킷 내용을 보고 정책에 대조하는 방식이라고 생각하면 된다.
여기서 차이가 있다면 아무래도 세부적인 내용을 볼 수 있어 탐지율이나 보안성에서는 좋지만...
반대로 보는게 너무많아, 많은 트래픽을 받게되면 뻗을 확률이 높다.
그.래.서
보통은 Packet Filtering 방식의 방화벽을 1차 벽으로 세우고, 그 뒤에 2차벽으로 Application Level Gateway 기능을 가진 방화벽을 넣는다. (사실 요즘 방화벽들은 대부분 두가지 기능을 모두 수행할 수 있다)
또한 Application Level Gateway는 Proxy Server 형태로 동작한다.
장점이라면 일반적인 방화벽이 Deny, Allow만을 할 수 있다면, Application Level Gateway 기능을 사용할 시, 패킷에 대한 변조도 가능해 진다는 것이다.
(Proxy server처럼 동작하기에 신뢰할 수 없는 데이터를 삭제한다던가... 필터링 한다던가...가 가능하다)
하지만 단점도 있다.
만약 FTP를 처리하고 싶다면 FTP Proxy Server기능을 지원해야하며, HTTP를 처리하고 싶다면 HTTP Proxy Server를 지원해야한다.
즉 네트워크 통신 시 필터링 할 프로토콜을 지원해야만, 필터링을 수행할 수 있다.
만약 지원하지 않는다면? Proxy Server는 당연히 relay를 시키지 못하고 패킷은 자동으로 DROP 되고, 통신이 불가하게 된다.
UTM장비나 NGFW 장비들도 Application Level Gateway 를 지원하며, 요즘엔 Application Level Gateway의 단점인 성능을 보완하기 위해, 하드웨어를 많이 업그레이드 시킨다고 한다.
정리를 이렇게 해봤는데...
아직 몇가지 의문이 든다.
- WAF는 그러면... HTTP에 특화된 Application Level Gateway 기능을 수행하는 Firewall이라고 보면 되는가..?
- Application Level Gateway 기능을 가진 방화벽 제품을 쓰는 이유는 무엇인가...? IPS와의 차이는...?
뭐 요런 잡다한 의문이 드는데...
네트워크 장비를 다뤄보지않았고, 지식도 매우 적어 하나씩 풀어나가며 포스트를 업그레이드 하도록 하겠다.