WAF(Web Application Firewall, 웹 애플리케이션 방화벽)는 웹 서비스를 보호하기 위해 HTTP 트래픽을 필터링, 모니터링, 차단하는 애플리케이션 방화벽의 한 형태이다. 웹 애플리케이션과 클라이언트 사이에 위치하여 양방향으로 오가는 웹 기반 트래픽을 검사하고, 악성 콘텐츠를 탐지하여 차단하는 역할을 한다.
WAF의 주요 기능은 SQL 삽입(SQL Injection), 사이트 간 스크립팅(XSS), 파일 포함 취약점, 교차 사이트 요청 위조(CSRF) 등 웹 애플리케이션의 알려진 취약점을 악용하는 공격을 방지하는 것이다. 또한 봇, 애플리케이션 계층 서비스 거부(DoS) 공격 등으로부터도 보호 기능을 제공한다.
WAF는 규칙 기반 로직, 구문 분석, 시그니처 조합을 사용하여 공격을 감지하며, 긍정적 보안 모델(Positive Security Model), 부정적 보안 모델(Negative Security Model), 또는 이 둘의 조합 방식으로 동작한다.
역사: 전용 WAF는 웹 서버 공격이 증가하던 1990년대 후반 시장에 처음 등장하였다. 2002년에는 오픈 소스 WAF 엔진인 ModSecurity(모드시큐리티)가 설립되었고, OWASP(Open Web Application Security Project)의 Top 10 취약점 목록을 기반으로 규칙이 표준화되었다. 이후 PCI DSS(지불 카드 산업 데이터 보안 표준) 규제와 함께 시장이 더욱 성장하였다.
배포 방식: WAF는 주로 세 가지 방식으로 배포된다. 투명 브리지(Transparent Bridge) 방식은 WAF가 클라이언트와 서버 사이에 투명하게 위치하며, 투명 리버스 프록시와 리버스 프록시 방식은 WAF가 프록시 역할을 수행하여 트래픽을 중계한다. 리버스 프록시 방식은 IP 마스킹 같은 추가 이점이 있는 반면 성능 지연이 발생할 수 있다.
WAF는 궁극적인 보안 솔루션이 아니라 네트워크 방화벽, 침입 방지 시스템(IPS) 등 다른 네트워크 경계 보안 솔루션과 함께 사용하여 전체적인 방어 전략을 구성하는 요소로 활용된다.