送信元IPアクセス制限をAzure Front Door+Azure Application Gatewayでやってみた

 

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

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

    • Application GatewayサブネットのNetwork Security GroupでFront Doorからのアクセスのみに制限する
    • Front DoorのWeb Application Firewallポリシーのカスタム規則でIP制限を行う

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

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

まず、Application Gatewayのサブネットに適用しているNetwork Security Groupの受信規則に、Service TagがAzureFrontDoor.Backendの許可設定を追加します。

実際の設定画面は下記のようになります。

その次に、上記許可ポリシーより優先順位が下に、Service TagがInternetからポート80,443のアクセス拒否するポリシーを入れます。

これにより、直接Internetから来るアクセスが拒否され、Front Door経由のアクセスのみが許可されます。

直接、Application Gatewayのドメインへのアクセスを実施すると、このサイトにアクセスできませんというメッセージが表示されます。また、Front Door経由のアクセスをすれば正常にサイトアクセスできます。

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

Front Door経由のアクセスはすべてAzureFrontDoor.BackendでプールされるIPになります。したがって、Application Gateway側ではアクセス元IPがわからない為、Network Security Groupでの設定が出来ません。

Front Door側で同様の制限を行う必要がありますが、Front Doorのアクセス制限はNetwork Security Groupの設定での制限ができません。

結果、Front Doorに設定されているWeb Application Firewallポリシーのカスタム規則でIP制限を行う事になりました。

特定のIPからのアクセスのみを許可する場合は、以下の設定になります。

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

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

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

設定で防止を選択し保存します。

次に、設定にあるカスタム規則を選択します。カスタムルースの追加を選択するとカスタムルールの追加が表示されます。

 

カスタムルール名、優先度を適時設定した後に、条件を下記設定とします。

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

これで許可するIPアドレス以外のアクセスをすべて拒否する設定が出来ました。

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