Azure Front DoorのカスタムWAFルールを使ってアクセス元IPを制限する
Azure Front DoorのWAFを使って試してみました。
Azure Front Door経由のWEBアクセスはすべてAzureFrontDoor.BackendでプールされるIPになります。
その為Application GatewayやWeb Apps等のバックエンド側ではアクセス元IPがわからない為NSGでのアクセス制御が出来ません。
またAzure Front Doorのアクセス制限はNSGの設定で出来ません。
そこで今回実施した内容は以下の2つになります。
-
-
- バックエンド(今回はApplication Gateway)側のNSG受信規則でFront Doorからのみに制限する
- Front DoorのWeb Application Firewallポリシーのカスタム規則でIP制限を行う
-
Azure Front DoorでのカスタムWAF適用についてはこちらで試しております。併せて見て頂ければと。
Application Gatewayサブネットのネットワークセキュリティグループ(NSG)でFront Doorからのアクセスのみに制限
最初にApplication GatewayへのアクセスをFront Doorからのみ制限します。
Application Gatewayのサブネットに適用しているNSGの受信規則でService TagがAzureFrontDoor.Backendの許可設定を追加します。
-
-
- ソース:Service Tag
- ソースサービスタグ:AzureFrontDoor.Backend
- ソースポート範囲;*(Any)
- 宛先:VirtualNetwork
- 宛先ポート範囲:80、443
- プロトコル:TCP
- アクション:許可
-
次にFrontDoorからのアクセス許可より優先順位が下に、InterNetからのアクセス拒否ポリシーを設定します。
- ソース:Service Tag
- ソースサービスタグ:InterNet
- ソースポート範囲;*(Any)
- 宛先:VirtualNetwork
- 宛先ポート範囲:80、443
- プロトコル:TCP
- アクション:拒否
この2つのルールにより、Application GatewayではInternetから来るWEBアクセスが拒否されFront Door経由のアクセスのみが許可されます。
Application Gatewayのドメインへのアクセスを実施すると、このサイトにアクセスできませんというメッセージが表示されます。
Web Application Firewallポリシーのカスタム規則でIP制限を行う
Front Door側でアクセス元IPを制限する場合NSGではできません。
Azure Fornt Doorに適用したWAFのカスタム規則を利用します。
今回は特定のIPからのアクセスのみを許可します。
-
- Web Application Firewallのポリシーを防止にする
- 特定のIPを含まない場合はトラフィックを拒否する設定をする
※防止にすると必要なアクセスがブロックされる場合もありますので注意して下さい。
Web アプリケーション ファイアウォールのポリシーのメニューで設定の中にあるポリシー設定を選択すると下記画面が表示されます。
モードで防止を選択し保存します。
次に設定にあるカスタム規則を選択します。
カスタムルースの追加を選択すると条件設定の画面が表示されますので、以下の通り設定します。
-
-
- 一致の種類:IPアドレス
- 一致変数 RemoteAddr
- 操作:次の値を含まない
- IPアドレスまたは範囲:許可するIP
- 結果 トラフィックを拒否する
-
最後にカスタム規則の保存を行えば、作業が完了です。
これで特定のIPからのみアクセスが許可され、それ以外のアクセスはブロックされます。