Azure Front DoorでWEBアクセスの送信元IP制限

 

Azure Front DoorのバックエンドプールにApplication Gatewayを使用した場合の送信元IPアクセス制限を試してみました。

Front Door経由のWEBアクセスはすべてAzureFrontDoor.BackendでプールされるIPになります。

その為Application GatewayやWeb Apps等のバックエンド側ではアクセス元IPがわからない為NSGでのアクセス制御が出来ません。Front Doorでのアクセス制御が必要になります。

今回実施した内容は以下の2つになります。

      • NSGでFront DoorからのApplication GatewayへのアクセスをFront Doorのみに制限する
      • Front DoorのWeb Application Firewallポリシーのカスタム規則でIP制限を行う

Azure Front Doorのアクセス制限はNSGの設定で出来ない為、Web Application Firewallポリシーのカスタム規則で実施しています。

WAFの構築についてはこちらで試しております。併せて見て頂ければと。

Azure Web アプリケーションファイアウォールを作ってみた

1.Application GatewayサブネットのNSGでFront Doorからのアクセスのみに制限する

最初にApplication GatewayへのアクセスをFront Doorからのみ制限します。

Application Gatewayのサブネットに適用しているNetwork Security Groupの受信規則で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のドメインへのアクセスを実施すると、このサイトにアクセスできませんというメッセージが表示されます。

2.Web Application Firewallポリシーのカスタム規則でIP制限を行う

Front Door側でアクセス元IPを制限する場合、NSGではできず、WAFのカスタム規則を利用します。

今回は、特定のIPからのアクセスのみを許可します。

    • Web Application Firewallのポリシーを防止にする
    • 特定のIPを含まない場合はトラフィックを拒否する設定をする

※防止にすると必要なアクセスがブロックされる場合もありますので注意して下さい。

Web アプリケーション ファイアウォールのポリシーのメニューで設定の中にあるポリシー設定を選択すると下記画面が表示されます。

モードで防止を選択し保存します。

次に設定にあるカスタム規則を選択します。

カスタムルースの追加を選択すると条件設定の画面が表示されますので、以下の通り設定します。

      • 一致の種類:IPアドレス
      • 一致変数 RemoteAddr
      • 操作:次の値を含まない
      • IPアドレスまたは範囲:許可するIP
      • 結果 トラフィックを拒否する

最後にカスタム規則の保存を行えば、作業が完了です。

これで特定のIPからのみアクセスが許可され、それ以外のアクセスはブロックされます。