Azure CDNにWAF機能が追加できるようになりました。ただし、2021年5月現在パブリック プレビュー段階ですので導入には注意が必要です!
ここでは、Azure CDN WAFのログを出力する仕組みを説明します。
ログの種類
Azure CDN WAFのログは2種類用意されています。
- WebApplicationFirewallLogs:WAFポリシーから出力されるログ
- AllMetrics:通信メトリック(通信量)
ログの出力先
Azure CDN WAFのログは、WAFポリシーをデプロイしても見ることができません。ログを閲覧するには、出力先を設定する必要があります。ログ出力先は3種類用意されています。
- Log Analytics ワークスペースへの送信
- ストレージ アカウントへのアーカイブ
- イベント ハブへのストリーム
Log Analytics ワークスペース
Log Analyticsワークスペースとは、「Azure Monitor」でアラート通知を実施するときなどにも利用しますが、Kusto クエリ言語 (KQL)でログを参照可能な作業場所です。各リージョンに配置することが可能で「Azure Monitor」の料金体系で課金されます。
ログ出力の概念図

WAFポリシーの「監視」>「診断設定」でWebApplicationFirewallLogsを「Log Analytics ワークスペース」へ出力したときは、上記のような概念図で表せます。
「診断設定」を行うことで、「監視」>「ログ」からクエリ言語によるログ閲覧が可能になります。
アクセス拒否したログの閲覧クエリ
アクセスが拒否されたログのみを閲覧するクエリは以下のようにします。
AzureDiagnostics
| where Category == "WebApplicationFirewallLogs"
| where action_s == "Block"
WAFを導入した後は、ログ出力を行って攻撃動向をチェックしてみましょう。