웹 방화벽(WAF, Web Application Firewall)

웹 방화벽(WAF, Web Application Firewall)웹 애플리케이션을 직접 보호하기 위해 HTTP/HTTPS 트래픽을 분석·차단하는 보안 장비 또는 솔루션이다. 핵심은 네트워크가 아니라 ‘웹 요청 내용’을 이해하고 판단한다는 점이다.

일반 방화벽이나 IDS/IPS는 주로 IP, 포트, 프로토콜 같은 네트워크 계층 정보를 기준으로 동작한다. 반면 웹 방화벽은 HTTP 요청과 응답의 구조와 내용을 분석한다. 즉, URL, 파라미터, 쿠키, 헤더, 본문 데이터까지 확인해서 공격 여부를 판단한다. 그래서 웹 애플리케이션을 노리는 공격에 특화되어 있다.

웹 방화벽이 막는 대표적인 공격은 SQL Injection, XSS(Cross-Site Scripting), CSRF, 파일 업로드 공격, 디렉터리 트래버설 같은 웹 취약점 공격이다. 또한 HTTP GET Flooding, Slow HTTP GET/POST 공격처럼 애플리케이션 계층에서 발생하는 DoS 공격 대응에도 자주 사용된다.

동작 방식 측면에서 웹 방화벽은 보통 세 가지 접근 방식을 사용한다.
하나는 시그니처 기반으로, 이미 알려진 공격 패턴과 일치하는 요청을 차단한다.
두 번째는 정책(화이트리스트) 기반으로, 허용된 요청 형식만 통과시키고 나머지는 차단한다.
세 번째는 행위 기반으로, 요청 빈도나 비정상적인 접근 패턴을 분석해 공격을 탐지한다.

웹 방화벽은 보통 웹 서버 앞단에 위치해, 외부에서 들어오는 HTTP/HTTPS 요청이 웹 서버에 도달하기 전에 검사한다. 네트워크 장비 형태로 설치할 수도 있고, 서버 내부에 소프트웨어 방식으로 설치할 수도 있으며, 클라우드 서비스 형태로 제공되기도 한다.

정리하면, 웹 방화벽의 핵심 포인트는 다음과 같다.
HTTP/HTTPS 기반 웹 공격을 방어한다.
애플리케이션 계층(L7) 보안 장비다.
웹 취약점 공격과 HTTP 기반 DoS 공격에 효과적이다.
일반 방화벽이나 IDS/IPS의 한계를 보완한다.