📚 네트워크 · 패킷 분석 › 06. 방화벽 · IDS 기초 — 255편
이전 글: 254. Stateful Firewall · 다음 글: 256. Firewall Rule
Application Firewall(응용 계층 방화벽) 은 IP·포트뿐 아니라 응용 계층의 내용(HTTP 메서드·URL·파라미터, DNS 질의, 애플리케이션 종류 등)을 해석해 허용·차단을 결정하는 방화벽입니다. Stateful 방화벽(254. Stateful Firewall)이 "443 포트로 가는 TCP 연결"까지만 안다면, 응용 계층 방화벽은 "그 연결 안에서 어떤 요청이 오가는가"를 봅니다.
형태에 따라 다음처럼 나눌 수 있습니다.
| 형태 | 동작 방식 | 주 용도 | 판단 예 |
|---|---|---|---|
| 프록시 방화벽 | 클라이언트 연결을 종료하고 대신 서버에 새 연결 | 사용자 웹 접속 통제 | 특정 URL 분류 차단 |
| WAF | 웹 서버 앞에서 HTTP 요청·응답 검사 | 웹 서비스 보호 | SQL Injection 패턴 차단 |
| NGFW 애플리케이션 식별 | 트래픽 특성으로 앱 종류 식별 | 포트와 무관한 앱 통제 | "443이지만 원격제어 앱" 차단 |
WAF를 예로 들면 요청 한 건은 다음 단계를 거칩니다.
클라이언트 HTTPS 요청
↓
[TLS 종료 지점: 로드밸런서 또는 WAF] ← 여기서 복호화되어야 내용 검사 가능
↓ 평문 HTTP 요청
[요청 파싱: 메서드, URI, 헤더, 쿠키, 본문]
↓
[규칙 비교 → 일치 시 점수 누적 또는 즉시 판단]
↓
[임계치 초과?] ─ 예 → 차단 모드: 403 응답 / 탐지 모드: 기록만
↓ 아니오
웹 서버로 전달 → 응답도 검사(설정 시)
핵심 조건은 복호화입니다. TLS로 암호화된 트래픽은 복호화 지점 이전에서는 내용이 보이지 않으므로, 응용 계층 판단은 인증서를 가진 지점(서버 앞 WAF, 또는 사용자 측 SSL 검사 프록시)에서만 가능합니다. HTTPS 트래픽의 특성은 138. HTTPS Traffic 이해를 참고합니다.
| 운영 모드 | 동작 | 장점 | 주의 |
|---|---|---|---|
| 탐지(모니터링) 모드 | 규칙 일치를 기록만 함 | 서비스 영향 없이 오탐 파악 | 공격이 서버에 도달 |
| 차단 모드 | 일치 시 요청 거부 | 공격 차단 | 오탐 시 정상 사용자 차단 |
SecRuleEngine 값으로 모드를 정합니다(DetectionOnly는 탐지만, On은 차단 포함).WAF 이벤트는 대체로 다음 정보를 담습니다. 형식 예시(값은 환경마다 다름)이며 특정 제품의 실제 출력이 아닙니다.
# 형식 예시 — WAF 차단 이벤트
time=2026-09-30T11:02:17 client=198.51.100.44 host=shop.example.com
method=GET uri="/item/view?no=1%27%20OR%20%271%27%3D%271"
rule_id=942100 msg="SQL Injection Attack Detected" anomaly_score=5
action=block status=403 server=10.20.0.10
같은 요청이 방화벽 로그에는 dst=10.20.0.10 dport=443 action=allow 한 줄로만 남습니다. 방화벽은 443 연결을 허용했고, 차단은 응용 계층에서 일어났기 때문입니다.
분석 방법 — 위 이벤트를 볼 때는 URL 인코딩을 먼저 해석합니다. %27은 작은따옴표, %20은 공백, %3D는 등호이므로 파라미터 값은 1' OR '1'='1입니다. 전형적인 SQL Injection 조건식 패턴입니다.
관제자가 확인할 질문
| 확인 자료 | 확인 내용 |
|---|---|
| WAF 이벤트 | 규칙 ID, 일치 위치(URI·본문·헤더), 조치 |
| 웹 서버 access log | 요청 도달 여부, 응답 코드, 응답 크기 |
| 방화벽 로그 | 해당 출발지의 연결 수·시간대 |
오탐 주의: 게시판 본문의 SQL 예제, 개발자 도구의 JSON 데이터, 특수문자가 많은 검색어는 WAF 오탐의 흔한 원인입니다. 오탐 판단은 285. False Positive, 웹 공격 탐지는 293. Web Attack 탐지에서 다룹니다.