1. WAF(웹 방화벽)이란?
웹 방화벽(WAF, Web Application Firewall)은 웹 애플리케이션을 대상으로 한 보안 취약점 공격을 방어하기 위해 설계된 전용 방화벽입니다. 이는 악성 HTTP/HTTPS 트래픽 유입을 필터링하여 공격을 탐지하고 차단하는 역할을 수행합니다.
이러한 직접적인 공격 방어 이외에도 다양한 솔루션으로서 사용 가능합니다.
정보 유출 방지
웹 게시판이나 파일 업로드/다운로드를 통해 개인정보가 유출될 가능성이 있는 경우, WAF를 활용하면 해당 트래픽을 모니터링하고 차단하여 민감 정보 노출을 방지할 수 있습니다.
부정 로그인 방지
반복적인 로그인 시도나 추측 가능한 비밀번호를 이용한 공격과 같은 비정상적인 접근을 탐지하고, WAF를 통해 접근을 차단함으로써 계정 탈취를 예방할 수 있습니다.
웹 사이트 위/변조 방지
해커가 사이트를 변조하거나 콘텐츠를 임의로 수정하는 공격 발생 시, WAF를 이용해 비정상적인 행위를 탐지하고 대응할 수 있습니다.
2. WAF의 동작 방식
WAF는 주로 Reverse Proxy 형태로 배치되며(배치 방식은 5에서 설명), 클라이언트 → WAF → 웹 서버 순서로 트래픽이 흐릅니다.
WAF는 대체로 Proxy 서버의 원리를 기반으로 동작합니다. 클라이언트는 WAF(Proxy)를 통해 서버와 통신하며, 실제 애플리케이션과 직접 통신하지 않습니다. 즉, 클라이언트와 서버 사이에서 요청과 응답을 중계하면서 트래픽을 검사하고, 악의적인 요청을 차단하는 역할을 수행합니다.

3. Firewall, IPS, WAF 차이
FW (Firewall, 방화벽), IPS (Intrusion Prevention System, 침입 방지 시스템), WAF (Web Application Firewall, 웹 방화벽)은 모두 네트워크 경계에서 트래픽을 검사하고, 비정상 요청은 차단하는 보안 게이트웨이 장치입니다.
다만, WAF는 기존 FW와 IPS에서 막지 못하는 악성 공격으로부터 웹 애플리케이션을 보호하는데 특화된 웹 전용 방화벽입니다.

기본적인 트래픽 흐름과 검사 순서는 FW, IPS, WAF로 진행됩니다.
FW는 네트워크 경계에서 들어오는 트래픽을 가장 먼저 검사합니다. IP, 포트, 프로토콜을 기준으로 허용 또는 차단 결정한 후, FW를 통과한 트래픽은 IPS에서 심층 분석을 받습니다. IPS는 시그니처나 비정상적인 행위를 탐지하고 차단하여 악성 공격을 방어합니다. 이후 IPS를 통과한 트래픽은 웹 서버 앞단의 WAF에서 애플리케이션 요청을 집중 분석하며, SQLi, XSS, CSRF와 같은 애플리케이션 레벨 공격을 차단합니다.
즉, FW는 네트워크 접근 제어, IPS는 네트워크 공격 차단, WAF는 웹 취약점 공격 차단의 기능을 수행합니다.
| 종류 | 네트워크 계층 | 역 |
| FW (Firewall, 방화벽) | 네트워크 계층(L3) 전송 계층(L4) |
IP, 포트, 프로토콜 등을중심으로 트래픽 허용/차단 - 패킷 기반 필터링 중심 - 보호 대상: 네트워크 전체 |
| IPS (Intrusion Prevention System, 침입 방지 시스템) |
네트워크 계층(L3/L4) + 일부 응용 계층(L7) |
패킷 내용과 행위 패턴을 분석해 공격 탐지/차단 - 알려진 시그니처, 비정상 행위 분석 - 보호 대상: 네트워크 장비·서버 |
| WAF (Web Application Firewall, 웹 방화벽) |
응용 계층(L7) | HTTP/HTTPS 요청을 분석해 웹 애플리케이션 공격 탐지/차단 → HTTP(80) / HTTPS(443) 포트 한정 - 보호 대상: 웹 애플리케이션 / 웹 서버 |
4. WAF 유형
WAF는 세 가지 방법 중 하나로 구현될 수 있으며, 각 방법에는 다음과 같은 각기 다른 장단점이 존재합니다.
1) 하드웨어형 WAF (Hardware / Network-based WAF)
전용 장비로 네트워크의 외부와 내부를 연결하는 경계 지점(예: 인터넷과 내부 LAN(Local Area NetWork) 사이)에 설치된다. 물리적으로 서버와 가깝기 때문에 (로컬에 설치되기 때문에) 웹 애플리케이션을 오가는 데이터 패킷을 빠르게 추적, 필터링 할 수 있다는 장점을 갖습니다. 다만, 별도의 하드웨어를 구입, 설치해야 한다는 것과 유지보수 등의 비용이 높다는 단점이 있습니다.
2) 소프트웨어형 WAF (Software WAF)
별도의 하드웨어 장비 없이 가상 머신(VM)이나 클라우드 서버에 설치됩니다. 소프트웨어형 WAF는 하드웨어형 WAF와 거의 동일한 기능을 제공하지만, 가상 머신 위에서 실행되므로 Hypervisor 환경이 필요하다는 것이 유일한 차이점입니다. 이는 애플리케이션의 소프트웨어에 완전히 통합 가능하며, 별도의 기기가 불필요하기 때문에 하드웨어형 WAF보다 저렴한 비용을 갖는다는 장점이 있습니다. 또한, 물리적 장비에 종속되지 않아 다양한 환경에 쉽게 설치할 수 있다는 점에서, 배포와 환경이 유리하고, 정책, 롤, 필터 등을 세부적으로 조정할 수 있어, 설정과 기능 측에서 유리합니다.
3) 클라우드형 WAF (Cloud WAF)
서비스 제공자가 운영하는 클라우드 환경에서 제공됩니다. 서비스 제공업자는 SaaS(Sofware-as-a-Service) 형태로 직접 제공, 관리하는 형태입니다. 때문에 사용자의 가입만으로 바로 사용할 수 있는 간편한 턴키 방식으로 제공됩니다. 별도의 설치나 서버 환경 구성 없이 사용 가능하며, 업데이트나 보안 패치도 제공자가 관리하므로, 사용자는 설치 및 유지보수 부담 없이 WAF를 이용하라 수 있다는 장점을 가집니다. 다만, 클라우드 WAF는 제공자가 설치와 운영을 전부 담당하기 때문에 공격이 발생하거나 WAF 설정에 문제가 있어도 사용자가 모든 과정을 직접 통제할 수는 없습니다. 또한, 사용자는 정책 설정과 로그 정도만 확인이 가능해, WAF가 내부적으로 어떤 방식으로 트래픽을 검사하고 차단하지는 알 수 없습니다. 즉, 필요할 때 세밀한 조정이나 문제 해결이 제한적일 수 있다는 단점을 가집니다.
| 항목\종류 | 하드웨어형 WAF (Hardware / Network-based WAF) |
소프트웨어형 WAF (Software WAF) |
클라우드형 WAF (Cloud WAF) |
| 설치 위치 | 전용 장비로 네트워크의 외부와 내부를 연결하는 경계 지점 (예: 인터넷과 내부 LAN 사이) |
가상 머신(VM)이나 클라우드 서버 | 클라우드 서비스 제공자가 운영하는 환경에서 제공 |
| 장점 | 빠른 속도와 성능 | 애플리케이션의 소프트웨어에 완전히 통합 될 수 있음 유연성(설치 및 배포, 설정과 기능) |
간편함 간단한 턴키 설치 방식 비용의 최소화 |
| 단점 | 하드웨어 구입/설치 유지보수 등의 비용 |
로컬 서버 자원의 소모 구현 복잡성 유지 보수 비용 |
운영 책임이 사용자에게 직접 있지 않음 내부 동작이 보이지 않음 |
4. WAF 배치 방식
WAF는 크게 Inline(인라인) 모드, Out-of-path 모드가 있습니다.
4.1 Inline(인라인) 모드
모든 트래픽이 반드시 보안 장비를 거치도록 네트워크를 구성하는 방식입니다. 가장 일반적으로 사용하는 네트워크 형태로, 보안 장비를 지나가는 모든 트래픽을 컨트롤 하기 때문에 실시간으로 탐지 및 차단이 가능해, 유해 트래픽을 탐지, 차단 및 제어하는데 용이합니다. 다만, 트래픽이 많으면 성능 저하의 위험이 있고 하드웨어 장애가 발생할 수 있습니다. WAF 장애가 발생할 경우 서비스가 전체 중단 (SPOF, Single Point of Failure 문제)가 발생할 수 있어 가용성을 보장하지 못한다는 단점을 가집니다.
이러한 장애 상황을 대비해 사전에 정확한 용량 산정, 대역폭 확인이 필요하며, 바이패스, 페일오버(Fail-Over) 기술 적용이 필수적이라는 특징을 가집니다.

Inline 모드 내에서도 트래픽을 어떻게 경유시킬지에 따라 세부 방식이 나뉩니다.
각 보안 장비는 WAF와 별도로 분리해 배치할 수도 있고, WAF 기능을 통합해 한 장치에서 사용할 수도 있습니다. 분리된 경우에는 장비가 WAF의 앞이나 뒤에 위치합니다.
1) Reverse Proxy
가장 전통적인 WAF 배치 방식으로, 클라이언트와 서버 사이에 배치하는 형태입니다.
클라이언트는 WAF의 IP를 목적지로 삼아 요청하며, WAF에서 요청을 검증한 후 안전한 요청만 서버로 전달됩니다.
이 방식은 서버 IP를 숨겨 직접적인 공격으로부터 백엔드 서버를 보호하고 자주 요청되는 정적 콘텐츠를 캐싱하여 서버 부하를 줄이고 응답 속도를 향상시킵니다.
또한, TLS 종료(TLS 암호화/복호화 오프로딩)을 수행해 서버가 평문 요청만 처리하도록 유도해 성능을 최적화할 수 있습니다.

TLS 종료(TLS 암호화/복호화 오프로딩)란?
TLS(Transport Layer Security)
클라이언트와 서버 간 통신을 암호화하여 데이터의 무결성을 보장하는 보안 프로토콜
HTTPS를 사용할 경우 브라우저 서버 간 모든 데이터가 암호화되어 전송됩니다.
이때 WAF가 TLS 종료를 수행하면, 서버로 전달되기 전에 중간장치(Reverse Proxy/WAF)에서 암호화된 HTTPS 요청을 복호화해 전달하면, 서버는 평문 HTTP 요청만 처리하므로 성능을 최적화할 수 있습니다.
즉, 암호화/복호화 작업을 서버 대신 프록시 장치에서 처리(오프로딩) 하는 것입니다.
이후 서버가 응답은 다시 중간 장치(Reverse Proxy/WAF)에서 HTTPS로 암호화하여 클라이언트에게 전달됩니다.

2) API Gateway
API Gateway는 주로 마이크로서비스 환경에서 사용되며, 클라이언트와 서버(특히 마이크로서비스) 사이에 위치합니다.
클라이언트의 요청을 분석한 후, 어떤 마이크로서비스나 서버로 전달할지 결정하는 요청 라우팅을 수행합니다.
또한, 요청이 합법적인지 확인하는 인증과 인가 기능을 수행합니다. 동시에 Rate Limiting(일정 시간 동안 허용되는 요청 횟수를 제한하는 기능)과 Throttlign(요청 처리 속도를 조절하는 기능)을 제공하여 서버 과부화를 예방합니다
모든 요청과 처리 과정을 로깅과 모니터링을 통해 기록되어 분석이 가능하며, 이를 통해 효율적이고 안전한 요청 처리가 가능합니다.

3) Load Balancer
로드 밸런서는 수신 트래픽을 여러 서버 또는 리소스에 효율적으로 분산하는 서비스로, 클라이언트와 서버 사이에 위치합니다.
클라이언트의 요청을 수신해 분산 알고리즘에 따라 트래픽을 공평하게 배분합니다. 서버 상태, 처리 능력 등을 고려해 트래픽을 분산해 서버의 과부하를 방지하고 고가용성을 보장합니다.

분산 알고리즘(Load Balacing Algorithm)이란?
분산 알고리즘(Load Balacing Algorithm)
로드 밸런서가 여러 서버 중 어느 서버로 요청을 보낼지 결정하는 규칙
- 서버 부하를 고르게 분산 → 성능을 최적화
- 서버 장애 시 자동 대체 → 가용성 확보
- 트래픽 패턴에 맞는 효율적인 배분
| 종류 | 설명 | 장점 | 단점 |
| Round Robin (라운드 로빈) |
서버 목록을 순서대로 반복하며 요청을 하나씩 할당 | 간단하고 균등함 | 서버 성능 차이 고려 X → 서버 별 처리 능력에 따른 부하 불균형 발생 위험 |
| Least Connections (최소 연결) | 현재 연결 수가 가장 적은서버에 요청 전달 | 서버 상태를 반영 → 부하가 많은 서버에 요청 집중 방지 |
연결 수가 동일하면 Round Robin처럼 순차 분배 |
| IP Hash | 클라이언트 IP 주소를 햐시 함수로 변환 → 특정 서버에 할당 |
동일 클라이언트가 항상 같은 서버로 연결 → 세션 유지 용이 |
서버 추가/제거 시 일부 클라이언트가 다른 서버로 이동 → 캐시/세션 불일치 발생가능 |
4.2 Out-of-path 모드
Out-of-path(OOP) 모드는 보안 장치가 트래픽 경로에 끼어 있지 않은 상태로 배치되는 방식으로, 복제된 트래픽을 받아 분석하는 역할을 수행합니다. 즉, 실제 클라이언트 요청과 서버 응답은 그대로 전달되며, WAF는 트래픽을 미러링 받아 검사만 수행합니다.
이 방식은 WAF에 장애가 발생하더라도 서비스에는 영향을 주지 않기 떄문에, 인라인 방식에서 발생할 수 있는 단일 장애점(SPOF)문제를 피할 수 있습니다.
다만, 단순히 트래픽을 관찰하는구조이기에 실시간 적극적인 차단이 필요한 환경에서는 한계를 가집니다. 공격이 탐지되면 관리자에게 알림을 주거나, 방화벽이나 라우터 같은 다른 네트워크 장비와 연동해 차단 정책을 적용하는 방식으로 대응합니다.

Out-of-path 모드에서 트래픽을 복사할 때 쓰는 장비에는 TAP(Test Access Point) 장비나 SPAN(Port Mirroring) 기능을 통해 생성됩니다.
TAP (Test Access Point)
하드웨어장비로, 네트워크 회선 사이에 물리적으로 연결해 트래픽을 복제하는 네트워크 장비
원본 트래픽에는 영향을 주지 않고, 동일한 트래픽을 WAF/IDS 등 보안 장비에 전달하는 역할을 수행합니다.
SPAN (Switched Port Analyzer, Port Mirroring)
스위치 기능 중 하나로, 특정 포트(혹은 VLAN)의 트래픽을 다른 포트로 복제해 보안 장비로 전달하는 장비
'Web > 웹해킹' 카테고리의 다른 글
| [WAF] OWASP ZAP 기반 웹 취약점 스캔 & 우회 및 보안 실습 (0) | 2025.10.23 |
|---|---|
| [Web] XSS를 이용한 웹 키로깅 공격 실습 (2) | 2025.07.21 |