Log Analytics を使用して Application Gateway Web アプリケーション ファイアウォール (WAF) のログを調べる
Application Gateway の WAF が動作するようになったら、ログを有効にして、各要求で起きていることを調べることができます。 ファイアウォールのログでは、WAF で評価、照合、ブロックされていることについての分析情報が提供されます。 Log Analytics では、ファイアウォール ログ内のデータを調べて、さらに多くの分析情報を得ることができます。 ログ クエリについて詳しくは、「Azure Monitor のログ クエリの概要」をご覧ください。
前提条件
- アクティブなサブスクリプションが含まれる Azure アカウントが必要です。 アカウントをまだ持っていない場合は、無料でアカウントを作成することができます。
- ログが有効になっている Azure Web Application Firewall。 詳細については、「Azure Application Gateway 上の Azure Web Application Firewall」を参照してください。
- Log Analytics ワークスペース。 Log Analytics ワークスペースの作成について詳しくは、「Azure ポータルで Log Analytics ワークスペースを作成する」をご覧ください。
WAF のログをインポートする
ファイアウォールのログを Log Analytics にインポートするには、「Application Gateway のバックエンドの正常性、診断ログ、およびメトリック」を参照してください。 Log Analytics ワークスペース内にファイアウォールのログを取得したら、データの表示、クエリの記述、視覚エフェクトの作成、ポータルのダッシュボードへの追加を行うことができます。
例でデータを調べる
ファイアウォール ログの生のデータを表示するには、次のクエリを実行できます。
AzureDiagnostics
| where ResourceProvider == "MICROSOFT.NETWORK" and Category == "ApplicationGatewayFirewallLog"
これは次のクエリのようになります。
データにドリルダウンして、ここからグラフをプロットしたり、視覚エフェクトを作成したりできます。 出発点として、次のクエリをご覧ください。
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 つのクエリをサンプル ダッシュボードにピン留めすると、データをひとめで確認できるようになります。