概要
Application Gateway が実行されている場合は、ログを有効にして、リソースに対して発生したイベントを検査できます。 たとえば、Application Gateway Firewall ログでは、Web アプリケーション ファイアウォール (WAF) が評価、照合、ブロックしている内容に関する分析情報が得られます。 Log Analytics を使用すると、ファイアウォール ログ内のデータを調べて、さらに多くの分析情報を得ることができます。 ログ クエリの詳細については、「
この記事では、Web アプリケーション ファイアウォール (WAF) ログについて説明します。 他の Application Gateway ログも同様の方法で設定できます。
[前提条件]
- アクティブなサブスクリプションを持つ Azure アカウント。 アカウントをまだお持ちでない場合は、 無料でアカウントを作成できます。
- Azure Application Gateway WAF SKUです。 詳細については、Azure Application Gateway の Azure Web Application Firewall を参照してください。
- Log Analytics ワークスペース。 Log Analytics ワークスペースの作成の詳細については、「Azure ポータルでLog Analytics ワークスペースを作成するを参照してください。
ログの送信
ファイアウォール ログをLog Analyticsにエクスポートするには、Application Gateway の Diagnostic ログを参照してください。 Log Analytics ワークスペースにファイアウォール ログがある場合は、データの表示、クエリの記述、視覚化の作成、ポータル ダッシュボードへの追加を行うことができます。
例でデータを調べる
AzureDiagnostics テーブルを使用する場合は、次のクエリを実行して、ファイアウォール ログの生データを表示します。
AzureDiagnostics
| where ResourceProvider == "MICROSOFT.NETWORK" and Category == "ApplicationGatewayFirewallLog"
| limit 10
このクエリは、次のクエリのようになります。
リソース固有のテーブルを使用する場合は、次のクエリを実行して、ファイアウォール ログ内の生データを表示します。 リソース固有のテーブルの詳細については、 監視データのリファレンスを参照してください。
AGWFirewallLogs
| limit 10
データにドリルダウンして、ここからグラフをプロットしたり、視覚エフェクトを作成したりできます。 次の例は、使用できる AzureDiagnostics クエリを示しています。
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
ダッシュボードに追加する
クエリを作成したら、ダッシュボードに追加します。 ログ分析ワークスペースで [ダッシュボードにピン留めする] を選択します。 前の 4 つのクエリをダッシュボードの例にピン留めすると、次のデータが一目でわかります。