웹 애플리케이션 방화벽
웹 애플리케이션 방화벽(Web Application Firewall, WAF)은 HTTP와 HTTPS 요청의 내용을 분석하여 웹 애플리케이션과 웹 서버를 공격으로부터 보호하는 응용 계층 방어 시스템이다. 일반적인 네트워크 방화벽이 주로 주소와 포트, 연결 상태를 기준으로 트래픽을 제어한...
| 분류 | Web Application Firewall (WAF) |
|---|---|
| 핵심 기능 | HTTP 응용 계층 공격 탐지·차단 |
| 관련 기술 | World Wide Web, HTML, 웹 브라우저, 웹 서버 |
| 참고 자료 | OWASP: Web Application Firewall |
웹 애플리케이션 방화벽(Web Application Firewall, WAF)은 HTTP와 HTTPS 요청의 내용을 분석하여 웹 애플리케이션과 웹 서버를 공격으로부터 보호하는 응용 계층 방어 시스템이다. 일반적인 네트워크 방화벽이 주로 주소와 포트, 연결 상태를 기준으로 트래픽을 제어한다면 WAF는 웹 요청의 경로, 헤더와 매개변수, 본문을 해석해 규칙을 적용한다. 악성 입력을 감지하거나 의심스러운 요청을 차단하고 기록하는 기능이 중심이다.
WAF는 리버스 프록시, 웹 서버 플러그인, 별도의 네트워크 장비 또는 클라우드 서비스 형태로 배포될 수 있다. 프록시 방식에서는 외부 요청을 먼저 받아 검사한 뒤 내부 서버로 전달하고, 플러그인 방식에서는 웹 서버의 요청 처리 단계에 규칙을 적용한다. 시스템이 실제로 요청 내용을 검사할 수 있도록 TLS 종료 지점과 트래픽 경로를 올바르게 구성해야 한다.
검사 규칙은 SQL 인젝션과 XSS 같은 알려진 공격 패턴, 비정상적인 요청 형식과 과도한 요청 빈도를 대상으로 할 수 있다. 시그니처 기반 규칙과 이상 징후 탐지, 사용자 정의 정책을 결합하는 경우도 있다. 규칙이 지나치게 엄격하면 정상적인 사용자 입력을 차단하는 오탐이 생기므로 서비스의 입력 구조에 맞춘 튜닝이 필요하다.
WAF는 취약한 애플리케이션을 근본적으로 수정하는 수단이 아니라 공격 가능성을 제한하는 보조 방어 계층이다. 업무 로직 오류와 서버 내부 권한 상승, 정상 기능을 악용한 공격은 일반적인 요청 패턴 검사만으로 발견하기 어려울 수 있다. 안전한 쿼리 처리, 입력 검증과 권한 부여, CSP 및 세션 보호는 별도로 설계해야 한다.
운영자는 차단·관찰 정책을 구분하고 로그에 남는 개인정보와 인증 값을 적절히 제한해야 한다. 새 규칙을 적용하기 전에 탐지 전용 모드로 정상 요청의 영향을 검토할 수 있으며 서비스 변경 이후에도 규칙을 갱신해야 한다. WAF의 방어 효과는 배치 위치, 복호화 범위, 규칙의 정확성 및 운영 절차에 따라 달라진다.[1]