WAF(Front Door)のカスタムルール設定内容、作成手順、カスタムエラー画面
Azure Front DoorではWeb Application Firewall(WAF)を利用出来ます。
マネージドのルールだけではなくユーザー自身がカスタムルールを作成して利用する事が出来ます。
Azure Front DoorでWeb Application Firewall(WAF)のカスタムルール作成手順や設定可能な内容について纏めました。
設定サンプルとして国別ブロックなどを設定しています。
※カスタムルールだけであればStandardでも利用可能です。Web Application Firewall(WAF)の機能自体はPremiumを利用する必要があります。
Web Application Firewall(WAF)のカスタムルールを作成
カスタムルールとは
アクセスを制御する為にユーザー自身が定義した条件の事です。
Web Application Firewall(WAF)ポリシーのサービス内で定義します。
Azure Front Door 上の Azure Web Application Firewall 用のカスタム ルール
指定したIPや国からのアクセスのみ許可するといった事が出来ます。
URLやHTTPメソッドをブロックと言った事も出来て柔軟に設定出来ます。
ルールに基づいてアクセスをブロックやアクセス許可設定が出来ます。
ブロック自体はせずにログにのみ残す設定やリダイレクト設定も出来ます。
一律にブロックするだけではなくレート制限も出来ます。
複数のルールを優先度をつけて設定出来ます。
※Azure Front Doorとアプリケーションゲートウェイ(Application Gateway)では設定出来る内容が異なる場合があります。
カスタムルールはAzure Front Door Standardでも利用可能
カスタムルールはAzure Front Door Standardでも利用可能です。
レベル間の機能の比較(Azure Front Door のレベルの比較)
セキュリティポリシーの追加でWAFポリシーを割り当てて利用します。
※Web Application Firewall(WAF)を利用する場合はPremiumにアップグレードする必要があります。
カスタムルールの上限
1つのフロントドアWAFポリシーの中で設定出来るカスタムルールには上限(100まで)があります。
その他にも1つのカスタムルール内の一致上限は10までと言った制限もあります。
フロンドアWAFポリシー作成
Azure Front DoorでのWeb Application Firewall(WAF)有効化からフロンドアWAFポリシー作成手順についてはこちらに纏めています。
エンドポイントへのセキュリティポリシーの追加もこちらに纏めています。
Geoフィルタリングを利用して特定の国からのアクセスをブロック
国別でアクセスを制限するカスタムルールを作成します。
日本からのアクセスをブロックするという設定にしています。
Azure Front Door のドメインに対する geo フィルタリングとは
フロントドアWAFポリシーのカスタムルールのメニューから作成します。
※公式サイトでAzure PowerShellを使った設定手順が公開されています。
Azure Front Door に使用する geo フィルタリング WAF ポリシーを設定する
ーーー広告ーーー
カスタムルールで設定出来る内容
レート制限設定
カスタムルールの適用条件として、アクセス数(一定期間内の要求数)をレート制限として設定出来ます。
レート制限の場合はレート制限の期間(1分か5分)以内にしきい値を超えたアクセス(要求数)の場合に適用されます。
レート制限はアクセス元のIP(ソケット IP アドレス、リモート アドレス)単位で適用されます。
レート制限を利用して普通のアクセスはOKだけど、一定数を超えた攻撃的なアクセスはブロックと言った事が出来ます。
レート制限 | |
ルールの種類でレート制限を選択します。 |
※レート制限に関しては別のフロントドアサーバに届く場合の注意点があります。
ルールの種類(一致の種類)
カスタムルールの種類は一致の種類で設定します。
Geoロケーション、IPアドレス、サイズ、文字列から選択できます。
一致の種類 | |
一致の種類でカスタムルールの種類を選択します。 |
アクションの種類(操作)(結果)
アクションの種類(操作)(結果)も4種類から選択できます。
許可、拒否だけではなくリダイレクトや許可(ログに記録)も設定可能です。
アクションの種類 | |
ルールに合致した場合のアクションを4種類から選択します。 |
※Azureポータルでは結果と表示されます。
IPアドレスのカスタムルール
一致の種類でIPアドレスを選択します。
Azure Front Door 用の WAF で IP 制限規則を構成する
一致変数はRemoteAddrかSocketAddrから選択します。
-
- RemoteAddr
- X-Forwarded-For 要求ヘッダーを介して送信される元のクライアントの IP
- SocketAddr
- WAF が認識するソース IP アドレス(プロキシの内側からアクセスされる場合はプロキシ サーバーのアドレス)
- RemoteAddr
条件設定 | |
一致の種類でIPアドレスを選択します。 含まれる(合致条件)か次の値を含まない(除外条件)から選択します。 IPアドレスの範囲を選択します。IPアドレスの範囲は複数設定出来ます。 |
Azure Front Doorからのみにアクセス制限する方法についてはこちらで紹介しています。
カスタムルールを利用してIPでFront Doorのアクセス制限する方法についても紹介しています。
サイズのカスタムルール
クエリ文字列、URI、要求本文など、要求の特定の部分の長さを規則の基準にすることができます。
一致変数はQueryString、RequestUri、RequestHeader、PostArgs、RequestBody、Cookiesから選択できます。
サイズのカスタムルール | |
一致の種類でサイズを選択します。
|
|
文字列のカスタムルール
クエリ文字列、URI、要求本文など、要求などに含まれる文字列を基準にすることができます。
一致変数はQueryString、RequestUri、RequestHeader、PostArgs、RequestBody、Cookiesから選択できます。
一致条件の指定には正規表現を利用する事が出来ます。
※このルールを利用すると特定のURLのパスへのアクセス
※利用出来る正規表現には制約があります。一致する値で利用出来る正規表現の数にも上限があります。
1つのカスタムルール内に複数条件
1つのカスタムルール内で複数の条件を設定する事が出来ます。
複数の一致の種類を組み合わせたカスタムルールも作成出来ます。
複数条件を指定 | |
条件の下にある+(プラス)を選択すると条件を追加できます。
|
|
—広告—
カスタムエラー画面やログ確認
カスタムエラー画面を表示
ポリシー設定でブロック時に表示するカスタムエラー画面(ブロック応答本文)を設定出来ます。
Web アプリケーション ファイアウォール用の Azure Front Door でのポリシー設定
リダイレクト先のURLや応答状態コード設定が出来ます。
ブラウザ表示するカスタムエラー画面(ブロック応答本文)の設定も可能です。
ポリシー設定 | |
フロントドアWAFポリシーの左側のメニューでポリシー設定を選択します。 |
|
ブロックされた場合の表示です。 |
ブロックされたログを確認
診断設定を使ってログを転送する事でFront Doorのアクセスログやを見る事が出来ます。
Azure Web アプリケーション ファイアウォールの監視とログ記録(WAF ログ)
合致したフロントドアWAFポリシー名やカスタムルール名を確認出来ます。
ログ確認 | |
合致したルール名や拒否(Block)されたアクセスログを確認出来ます。 |
Log AnalyticsワークスペースでのAzure Front Door(WAF)ログ確認についてはこちらに纏めています。
最後に
Azure Front Door(Premium)のフロンドアWAFポリシーを使ってカスタムルール作成手順や設定内容について確認してみました。
IPアドレスを使ったルールだけではなくGeoロケーションやリクエスト要求の文字列を使ったルール作成が出来ます。
ログを見る事が出来るので、ログを見て判断した上でブロックの有効化と言った事が出来ます。
複数の条件を組み合わせたりする事により細かい設定が出来るのも便利かと思います。
今後も色々試してみたいと思います。
Azure Front DoorでのWeb Application Firewall(WAF)有効化やフロンドアWAFポリシー作成手順についてはこちらに纏めています。
Azure Front Doorの概要やデプロイ手順についてはこちらに纏めています。