Azure Front DoorやWeb Application Firewallのログを取得してLog Analyticsで確認してみた

 

Azure Froot Doorのアクセスログ取得設定およびLog AnalyticsでアクセスログやWeb Application Firewall(Froot Doorに設定した場合)のログ確認をしてみました。

設定にあたっては、マイクロソフト様サイトを参考に進めました。

https://docs.microsoft.com/ja-jp/azure/frontdoor/front-door-diagnostics

1.Azure Froot DoorやWeb Application Firewallのログを取得するのは診断設定

Azure Froot Doorのアクセスログは、診断設定を利用します。これはApplication Gatewayと同じ方法になります。

診断設定を選択すると下記画面が表示されますので、logとmetricにチェックを入れます。今回はLog Analyticsで確認するので、Log Analytics への送信にチェックを入れて、送信先のワークスペース名を指定します。

選択が終わったら、診断設定の名前を付けて保存します。

なお、FrontdoorWebApplicationFirewallLogはFroot DoorでWeb Application Firewallの設定を行っている場合のみ出力されます。

2.Log Analyticsでログの検索を行う。

Froot Doorのメニューの中に、ログという項目があります。この項目を選択すると、診断設定で選択したLog Analyticsのワークスペースが開かれます。

FrontdoorAccessLogがアクセスログになります。以下のようなクエリを利用する事でアクセスログが表示されます。

#アクセスログを表示する

AzureDiagnostics
| where Category == “FrontdoorAccessLog”
 
#アクセスログをアクセス元のIPでカウントする。(アクセス数順で並び変える。)

AzureDiagnostics
| where Category == “FrontdoorAccessLog”
| summarize total_hits = count() by clientIp_s
| sort by total_hits desc
 

Web Application Firewallのログは、FrontdoorWebApplicationFirewallLogになります。

#Web Application Firewallのログを表示する

AzureDiagnostics
| where Category == “FrontdoorWebApplicationFirewallLog”
 

上記検索だとAllowされたLogも表示される為、許可された通信を含むすべてのアクセスログが表示されます。Allow以外のログについては以下のようなクエリで検索可能です。

#Allow以外のアクセスログを表示する

AzureDiagnostics
| where Category == “FrontdoorWebApplicationFirewallLog”
| where action_s != “Allow”
 

また、Web Application FirewallでBlockされたログについては以下のようなクエリで検索可能です。

#Web Application FirewallでBlockされたアクセスログを表示する

AzureDiagnostics
| where Category == “FrontdoorWebApplicationFirewallLog”
| where action_s == “Block”
 

上記クエリを実行すると、どのルールでBlockされたのかもわかります。

3.Froot Doorのバックエンドプール側のアクセスログについては注意が必要

Froot Doorを使う場合ですが、バックエンドプール側のアクセスログに表示されるclientIP_sがFroot DoorのBackend poolのIPアドレスになります。

その為、バックエンドプール側(Virtual Machine等)でアクセス元IPを確認する場合は、x-forwarded-forを確認する必要があります。

また、マイクロソフト様のサイトにも記載がありますが、Froot Doorからのヘルスチェックアクセスが結構な数のアクセスが来るので、アクセスログが大量になる事にも注意が必要です。

【参考】Web Application Firewallの作成は下記に記載しています。

 https://www.tama-negi.com/2020/05/10/azure-web-application-firewall/ ‎