애플리케이션 방화벽(Application Firewall)이란?
애플리케이션 방화벽은 네트워크, 웹, 로컬 시스템에서 애플리케이션이나 서비스로 오가는 접근과 작업을 검색·모니터링하고 제어하는 방화벽의 한 유형입니다. 이러한 방화벽은 IT 환경 외부에 있는 애플리케이션이나 서비스의 동작을 통제하고 관리할 수 있게 해줍니다.
애플리케이션 방화벽은 네트워크 방화벽이 네트워크 트래픽을 보호하듯이, 애플리케이션 간 통신을 보호합니다. 애플리케이션이 데이터를 주고받을 때 사용하는 언어(프로토콜)를 이해하기 때문에, 유효하지 않거나 의심스러운 활동을 차단하거나 수정하여 조직을 다양한 공격으로부터 지킬 수 있습니다.
일반적으로 애플리케이션 방화벽은 기존 표준 방화벽 프로그램을 보완하는 역할로 사용되며, 방화벽 서비스를 애플리케이션 계층까지 확장합니다. 애플리케이션 실행 제어, 데이터 처리 관리, 악성 코드 실행 차단 등이 대표적인 기능입니다.
프록시 방화벽(Proxy Firewall)의 원리
프록시 방화벽은 상태 기반 검사(Stateful Inspection)와 딥 패킷 검사(Deep Packet Inspection)를 수행하여, 데이터 패킷의 맥락과 내용을 사용자가 정의한 규칙 집합과 비교합니다. 그 결과에 따라 패킷을 허용하거나 폐기합니다. 또한 내부 시스템과 외부 네트워크 간의 직접 연결을 차단함으로써 중요 자원의 신원과 위치를 숨겨 보호합니다.
애플리케이션 게이트웨이(Application Gateway)
애플리케이션 게이트웨이는 두 네트워크 사이의 방화벽 시스템에서 실행되는 응용 프로그램입니다. '애플리케이션 프록시' 또는 '애플리케이션 수준 방화벽'이라고도 불립니다. 클라이언트 프로그램이 목적지 서비스에 접속하려 할 때, 실제로는 애플리케이션 게이트웨이(프록시)에 먼저 연결되며, 이후 프록시 서버와 협력하여 목적지 서비스와 통신하게 됩니다.
프록시는 방화벽 뒤에 있는 목적지와 연결을 설정하고 클라이언트를 대신해 요청을 처리하며, 방화벽 내부의 개별 컴퓨터들을 숨기고 보호합니다. 이 과정에서 두 개의 연결이 생성됩니다. 하나는 클라이언트와 프록시 서버 사이의 연결이고, 다른 하나는 프록시 서버와 목적지 사이의 연결입니다.
모든 통신이 프록시 서버를 경유하기 때문에, 패킷 전달 여부에 대한 모든 결정도 프록시가 내리게 되며 방화벽 뒤의 컴퓨터들은 안전하게 보호됩니다. 이 방식은 매우 안전한 방화벽 보호 기법으로 평가받지만, 상태 기반 검사 등 다른 방화벽 기술에 비해 더 많은 메모리와 프로세서 자원을 필요로 한다는 단점이 있습니다.
WAF(웹 애플리케이션 방화벽)란?
WAF(Web Application Firewall, 웹 애플리케이션 방화벽)는 웹 애플리케이션과 인터넷 사이에서 오가는 HTTP 트래픽을 필터링하고 모니터링하여 웹 애플리케이션을 보호합니다. 일반적으로 크로스 사이트 요청 위조(CSRF), 크로스 사이트 스크립팅(XSS), 파일 포함 공격(File Inclusion), SQL 인젝션(SQL Injection) 등의 공격으로부터 웹 애플리케이션을 방어합니다.
WAF는 OSI 모델의 7계층(애플리케이션 계층) 방어 수단으로, 모든 유형의 공격을 막도록 설계된 것은 아닙니다. 따라서 이러한 공격 완화 방식은 다양한 공격 벡터에 대한 통합적인 방어 체계를 구성하는 도구 모음의 일부로 활용되는 것이 일반적입니다.