Azure Front Door 上の Azure Web Application Firewall のベスト プラクティス
この記事では、Azure Front Door 上で Azure Web Application Firewall を使用するためのベスト プラクティスをまとめています。
全般的なベスト プラクティス
このセクションでは、一般的なベスト プラクティスについて説明します。
WAF を有効にする
インターネットに接続するアプリケーションの場合は、Web アプリケーション ファイアウォール (WAF) を有効にして、マネージド ルールを使用するように構成することをお勧めします。 WAF と Microsoft マネージド ルールを使用すると、お使いのアプリケーションがさまざまな攻撃から保護されます。
WAF を調整する
WAF のルールは、実際のワークロードに合わせて調整する必要があります。 WAF を調整しないと、許可されるべき要求が誤ってブロックされる可能性があります。 調整には、誤検出を減らすためのルール除外の作成が含まれる場合があります。
WAF を調整するときは、 検出モードの使用を検討してください。 このモードは、WAF が通常実行する要求とアクションがログに記録されますが、実際にトラフィックがブロックされることはありません。
詳細については、「Azure Front Door 用に Azure Web Application Firewall (WAF) を調整する」を参照してください。
防止モードを使う
WAF を調整したら、それを防止モードで実行するように構成します。 防止モードで実行すると、WAF によって検出された悪意のある要求をブロックすることが保証されます。 検出モードで実行すると、WAF を調整および構成する際に役立ちますが、保護は提供されません。
WAF 構成をコードとして定義する
アプリケーション ワークロードに合わせて WAF を調整するときは、通常、誤検出を減らすために一連のルール除外を作成します。 Azure portal を使用してこれらの除外を手動で構成する場合、WAF をアップグレードして新しいルールセット バージョンを使用するときに、新しいルールセット バージョンに対して同じ例外を再構成する必要があります。 この処理には時間がかかり、エラーが発生する可能性があります。
代わりに、Azure CLI、Azure PowerShell、Bicep、Terraform などを使用して、WAF ルールの除外やその他の構成をコードとして定義することを検討してください。 WAF ルールセットのバージョンを更新する必要がある場合に、同じ除外を簡単に再利用できます。
マネージド ルールセットのベスト プラクティス
ここでは、ルール セットに関するベスト プラクティスについて説明します。
既定のルール セットを有効にする
Microsoft の既定のルール セットは、一般的な攻撃を検出してブロックして、アプリケーションを保護するように設計されています。 このルールは、OWASP の上位 10 種類の攻撃や Microsoft 脅威インテリジェンスからの情報など、さまざまなソースに基づいています。
詳細については、「Azure で管理される規則セット」を参照してください。
ボット管理ルールを有効にする
ボットは、Web アプリケーションへのトラフィックのかなりの部分を占めています。 WAF のボット保護ルール セットは、ボットが良性、悪性、不明のいずれであるかに基づいて分類されます。 その後、悪性ボットはブロックできますが、検索エンジン クローラーなどの良性ボットはアプリケーションへの侵入を許可されます。
詳細については、「ボット保護規則セット」を参照してください。
最新のルール セット バージョンを使用する
Microsoft は、現在の脅威の状況を考慮して、マネージド ルールを定期的に更新しています。 Azure マネージド ルール セットの更新を定期的に確認してください。
詳細については、「Azure Web Application Firewall DRS の規則グループと規則」を参照してください。
レート制限のベスト プラクティス
ここでは、レート制限に関するベスト プラクティスについて説明します。
レート制限を追加する
Azure Front Door の WAF を使うと、一定期間に各クライアントの IP アドレスから許可される要求数を制御することができます。 再試行ストーム の発生時など、誤って、または意図的にクライアントからサービスに大量のトラフィックが送信された場合の影響を軽減するために、レート制限を追加することをお勧めします。
詳細については、次のリソースを参照してください。
- Azure Front Door のレート制限とは。
- Azure PowerShell を使用して Azure Web Application Firewall のレート制限ルールを構成します。
- レート制限のルールに構成されているしきい値を超えた追加の要求が、バックエンド サーバーに渡されるのはなぜですか?
レート制限に高いしきい値を使用する
通常は、レート制限のしきい値を高く設定することをお勧めします。 たとえば、1 つのクライアント IP アドレスが 1 分あたり約 10 件の要求をサーバーに送信する可能性があることがわかっている場合は、1 分あたり 20 件の要求のしきい値を指定することを検討してください。
レート制限のしきい値を高くすることで、正当なトラフィックのブロックを回避できます。 これらのしきい値では引き続き、インフラストラクチャで対応できない可能性のある非常に多くの要求に対する保護が提供されます。
ジオフィルタリングのベスト プラクティス
ここでは、ジオフィルタリングに関するベスト プラクティスについて説明します。
ジオフィルター トラフィック
多くの Web アプリケーションは、特定の地理的リージョン内のユーザー向けに設計されています。 この状況がアプリケーションに当てはまる場合は、ジオフィルタリングを実装して、想定しているトラフィック送信元の国/リージョン以外からの要求をブロックすることを検討してください。
詳細については、「Azure Front Door のドメインに対するジオフィルタリングの概要」を参照してください。
不明な (ZZ) 場所を指定する
一部の IP アドレスは、Microsoft のデータセット内の場所にマップされていません。 IP アドレスを場所にマップできない場合、WAF により、トラフィックは不明な (ZZ) 国またはリージョンに割り当てられます。 このような IP アドレスからの有効な要求がブロックされないようにするには、ジオフィルターを使って不明な (ZZ) 国またはリージョンを許可することを検討してください。
詳細については、「Azure Front Door のドメインに対するジオフィルタリングの概要」を参照してください。
ログ記録
このセクションでは、ログについて説明します。
診断設定を追加して WAF のログを保存する
Azure Front Door の WAF は Azure Monitor と統合されています。 WAF ログを Log Analytics などの宛先に保存することが重要です。 WAF ログは定期的に確認する必要があります。 ログを確認すると、WAF ポリシーを調整して誤検出を減らし、アプリケーションが攻撃の対象になっているかどうかを理解するのに役立ちます。
詳細については、「Azure Web Application Firewall の監視とログ記録」を参照してください。
ログを Microsoft Sentinel に送信する
Microsoft Sentinel は、セキュリティ情報イベント管理 (SIEM) システムであり、複数のソースからログとデータをインポートして、ご使用の Web アプリケーションと Azure 環境全体の脅威の状況を把握します。 インターネットに接続するプロパティが分析に含まれるように、Azure Front Door の WAF ログを Microsoft Sentinel または別の SIEM にインポートする必要があります。 Microsoft Sentinel の場合、Azure WAF コネクタを使用して WAF ログを簡単にインポートできます。
詳細については、「Azure Web Application Firewall で Microsoft Sentinel を使用する」を参照してください。
次の手順
Azure Front Door WAF を作成する方法について学習します。