1. Application Gateway WAF
WAF 정책은 Azure Application Gateway(이하 AGW)로 연결할때 세 가지 연결 타입이 있습니다.
1) Application Gateway
- 단일 정책을 모든 사이트에 적용하기 위해서는 개별 HTTP 수신기에 연결하지 않고 AGW에 직접적으로 연결하여 WAF 단일 정책이 한번에 적용 될 수 있도록 합니다.

2) HTTP 수신기
- 여러 사이트가 다른 정책에 의해 보호될 수 있습니다.
- HTTP 수신기에 WAF 정책을 연결하게 되면, HTTP 수신기에 해당하는 백엔드 풀의 애플리케이션에만 WAF 정책을 적용할 수 있습니다.
- 사용자 지정 규칙, 관리 규칙 집합을 사용자 지정할 수 있습니다.

3) 경로
- HTTP 수신기보다 더 집약적으로 WAF 정책을 적용할 수 있습니다.
- 경로 기반은 URL 경로 패턴을 기준으로 특정 경로에만 WAF 규칙을 적용합니다.
- 예) /api/* , /admin/* 등

2. Application Gateway 변경 및 WAF 적용
여기서는 AGW 표준 V2를 WAF V2로 계층을 변경하면서 HTTP 수신기에만 WAF 단일 정책을 적용하여 정상적으로 WAF 정책이 적용되는지 확인하는 과정을 진행하도록 하겠습니다.
1) AGW >> 구성
- AGW의 계층을 표준 V2에서 WAF V2로 변경합니다.
- AGW 네비게이션바에 '웹 애플리케이션 방화벽' 탭을 통해 WAF V2로 변경하게 되면 AGW에 연결되어야 하는 하나의 WAF 정책이 기본적으로 생성이 필요합니다. 하지만, '구성' 탭에서 WAF V2로 계층을 변경하게 되면 WAF 정책을 수동으로 생성하여 연결해야하기 때문에 AGW에 연결해야하는 WAF 정책을 만들지 않아도 됩니다. 여기서는 AGW에 연결하지 않고 HTTP 수신기에만 WAF 정책을 연결할 예정입니다.

2) WAF 정책 구성
- WAF 정책을 기본적으로 생성 후 '연결된 애플리케이션 게이트웨이'에서 HTTP 수신기로 연결을 진행합니다.


3) WAF 정책 테스트
- WAF 정책을 HTTP 수신기에 적용 완료하였습니다. SQL Injection 테스트를 통해서 WAF 정책이 정상적으로 동작하는지 확인합니다.
- WAF 정책 동작을 확인하기 위해서 AGW의 진단 설정을 활성화 합니다.
- 진단 설정을 활성화하고 Log Analtics 작업 영역(LA)을 생성하면 해당 LA로 WAF에 대한 로그가 저장됩니다.

- SQL Injection 에러가 발생할 수 있도록 아래 그림과 같이 테스트를 진행 합니다.

- AGW 네비게이션 바의 '로그'로 접근하여 아래 쿼리를 입력하여 모니터링을 진행합니다.
AGWFirewallLogs

'Azure' 카테고리의 다른 글
| Exposing AKS Apps Using Front Door And Private Link Service (1) | 2025.03.20 |
|---|---|
| Azure CDN 응답 속도 이슈 (1) | 2025.02.19 |
| Content-type & Azure CDN 규칙 엔진 (1) | 2025.02.04 |
| Azure Kubernetes Service 가용성 & Taint (0) | 2025.01.31 |
| WebSocket 통신과 Azure Front Door (0) | 2025.01.15 |