Log Analytics를 사용하여 Application Gateway WAF(웹 애플리케이션 방화벽) 로그 검사

Application Gateway WAF가 작동하고 나면 로그를 사용하여 각 요청에서 발생하는 상황을 검사할 수 있습니다. 방화벽 로그는 WAF가 평가, 일치 및 차단하는 항목에 대한 인사이트를 제공합니다. Log Analytics를 사용하면 방화벽 로그 내의 데이터를 검사하여 훨씬 더 많은 인사이트를 제공할 수 있습니다. 로그 쿼리에 대한 자세한 내용은 Azure Monitor의 로그 쿼리 개요를 참조하세요.

필수 조건

WAF 로그 가져오기

Log Analytics로 방화벽 로그를 가져오려면 백 엔드 상태, 진단 로그 및 Application Gateway에 대한 메트릭을 참조하세요. Log Analytics 작업 영역에 방화벽 로그가 있으면 데이터를 보고, 쿼리를 작성하고, 시각화를 만들어 포털 대시보드에 추가할 수 있습니다.

예제를 사용하여 데이터 검색하기

방화벽 로그에서 원시 데이터를 보려면 다음 쿼리를 실행하면 됩니다.

AzureDiagnostics 
| where ResourceProvider == "MICROSOFT.NETWORK" and Category == "ApplicationGatewayFirewallLog"

다음 쿼리와 비슷합니다.

Screenshot of Log Analytics query.

여기에서 데이터를 드릴다운하고 그래프를 그리거나 시각화를 만들 수 있습니다. 다음 쿼리를 시작점으로 참조하세요.

IP별 일치/차단된 요청

AzureDiagnostics
| where ResourceProvider == "MICROSOFT.NETWORK" and Category == "ApplicationGatewayFirewallLog"
| summarize count() by clientIp_s, bin(TimeGenerated, 1m)
| render timechart

URI별 일치/차단된 요청

AzureDiagnostics
| where ResourceProvider == "MICROSOFT.NETWORK" and Category == "ApplicationGatewayFirewallLog"
| summarize count() by requestUri_s, bin(TimeGenerated, 1m)
| render timechart

상위 일치 규칙

AzureDiagnostics
| where ResourceProvider == "MICROSOFT.NETWORK" and Category == "ApplicationGatewayFirewallLog"
| summarize count() by ruleId_s, bin(TimeGenerated, 1m)
| where count_ > 10
| render timechart

상위 5개 일치 규칙 그룹

AzureDiagnostics
| where ResourceProvider == "MICROSOFT.NETWORK" and Category == "ApplicationGatewayFirewallLog"
| summarize Count=count() by details_file_s, action_s
| top 5 by Count desc
| render piechart

대시보드에 추가

쿼리를 만든 후 대시보드에 추가할 수 있습니다. Log Analytics 작업 영역의 오른쪽 위에서 대시보드에 고정을 선택합니다. 예제 대시보드에 고정된 이전 4개의 쿼리를 사용하여 해당 데이터를 한눈에 볼 수 있습니다.

Screenshot shows an Azure dashboard where you can add your query.

다음 단계

Application Gateway에 대한 백 엔드 상태, 진단 로그 및 메트릭