Azure Front Doorに関連したアクセス制限設定方法

2020-05-06Azure,Front Door,Network Security Groups,Web Application Firewall

Azure Front Door の Web アクセス制限方法です。
配信元(Origin)(バックエンドの Web サーバー)のアクセス元を Azure Front Doorのみに限定する方法や、Azure Front Door でのアクセス制限方法について確認しています。

      • インターネットからの Web アクセスを Azure Front Door 経由のみに制限
        • NSG(ネットワーク セキュリティ グループ)で制限
        • App Service のネットワーク設定でアクセス制限
      • Azure Front Door 経由の Web アクセスをアクセス元 IP で制限
        • フロントドア WAF ポリシーのカスタムルールで制限

※本記事では、Azure Front Door の Private Link を利用した手順は紹介していません。
※本記事では、Azure Network Security Groups(ネットワークセキュリティグループ)をNSGとして表記しています。
※本記事では、Azure Virtual Machines(Azure VM)を仮想マシンとして表記しています。

スポンサーリンク

配信元(Origin)のWebアクセスをAzure Front Doorのみに制限

配信元 (Origin) となるバックエンドの Web サーバーへのアクセス元を Azure Front Door のみに限定する方法です。

AzureFrontDoor.Backendのサービスタグを使う

Azure Front Door に関するサービスタグが 3 つ用意されています。
AzureFrontDoor.Backend、AzureFrontDoor.Frontend、AzureFrontDoor.FirstParty の 3 種類です。
これらのサービスタグは、NSGなどで利用できます。

Front Door でサポートされているネットワーク サービス タグはどれですか?

3 つのうち、最も利用されるのは AzureFrontDoor.Backend かと思います。

    • AzureFrontDoor.Backend
      • Azure Front Door からのアクセス IP を指定するサービスタグ
      • アクセス制限したい対象リソースで Azure Front Door 経由からのみアクセスを許可したい場合に利用
      • App Service などの Web サービスのアクセスを Azure Front Door 経由のみに制限したい場合に利用
    • AzureFrontDoor.Frontend
      • Azure Front Door へのアクセス IP を指定するサービスタグ
      • 対象リソースからのアウトバンドでのWeb アクセスを Azure Front Door 経由のみに制限する場合に利用
      • 仮想マシンから Web アクセスする際に Azure Front Door 経由のみに制限したい場合に利用
    • AzureFrontDoor.FirstParty
      • Azure 内で内部的に使用

NSGの受信セキュリティ規則でAzureFrontDoor.Backendのサービスタグを使った場合

NSG の受信セキュリティ規則で AzureFrontDoor.Backend のサービスタグを使用します。

    • NSG設定内容
      • ソース: Service Tag
      • ソース サービスタグ: AzureFrontDoor.Backend
      • 宛先: Service Tag
      • 宛先 サービスタグ: VirtualNetwork(もしくはAny)
      • サービス/宛先ポート: HTTP(80 番ポート)(もしくはCustomで 80 番ポートを指定)
      • アクション:許可

※HTTPSを許可する場合は、サービスにHTTPS(443 番ポート)を指定します。
※Web サービスが動作している仮想マシン(接続しているサブネットもしくはネットワークインターフェース)の NSG に適用します。

NSG設定
NSGで受信セキュリティ規則を追加設定します。
追加した受信セキュリティ規則です。

※今回は、受信セキュリティ規則名をデフォルト値のままとしています。

エンドポイントや配信元(Origin)のWebサーバーへアクセスしてアクセス確認

Azure Front Door のエンドポイントと配信元(Origin)のWeb サーバーへのアクセスを確認します。
Azure Front Door 経由以外のアクセスが拒否されていることが確認できます。

アクセス確認
Azure Front Door のエンドポイントへアクセスした場合、Web サーバーのコンテンツが表示されます。
配信元(Origin)であるWeb サーバーのパブリック IP アドレスへアクセスした場合、タイムアウトになっていることが確認できます。

配信元(Origin)にAzure App Serviceを利用する場合

App Service で Azure Front Door 経由のみのアクセスに制限します。
App Service の場合は、受信トラフィックの構成の公衆ネットワーク アクセスの設定で対応します。

※App Service の通信閉域化(VNet 統合や Private Link)を利用していない場合の設定です。

ネットワーク設定
左側のメニューでネットワークを選択します。
受信トラフィックの構成で公衆ネットワークアクセスを選択します。

アクセス制限を設定します。
サイトのアクセスとルールで追加を選択します。
規則(ルール)を追加します。
ソースの種類でサービスタグのAzureFrontDoor.Backendを選択します。

アクセス制限の設定を保存します。

※パブリックアクセスは許可、一致しないルールのアクションは拒否に設定します。

Azure Front Door からのアクセスを許可するルールが追加されます。

サイトのアクセスとルールには、高度なツールサイト(マネージメント)へのアクセス設定も含まれています。
メインサイトルールを使用すると、高度なツールサイト(マネージメント)にも同じルールが適用されます。
必要に応じてチェックを外しておきます。

 

エンドポイントや配信元(Origin)のApp Serviceへアクセスしてアクセス確認

Azure Front Door のエンドポイントと App Service へアクセスして確認します。
Azure Front Door 経由以外のアクセスが拒否されていることが確認できます。

アクセス確認
Azure Front Door のエンドポイントへアクセスした場合、App Serviceのコンテンツが表示されます。
配信元(Origin)であるApp Serviceへアクセスした場合、タイムアウトになっていることが確認できます。

—広告—

Azure Front Doorのアクセス制限設定方法

アクセス制限する場合はフロンドアWAFポリシーを使う

Azure Front Door でアクセス制限を行う場合は、フロントドア WAF ポリシーを利用してアクセス制限を設定します。
Azure Front Door でのカスタムルールの設定方法や詳細については、こちらで紹介しています。

Web Application FirewallのカスタムルールでIP制限

フロントドア WAF ポリシーで、IP アドレスによるアクセス制限のカスタムルールを作成します。
特定の IP からのアクセスのみを許可します。

    • カスタムルール設定内容
      • 条件
        • 一致の種類:IPアドレス
        • 一致変数:RemoteAddr
        • 演算:次の値を含まない
        • IPアドレスまたは範囲:許可するIPアドレスを設定
      • 結果
        • トラフィックを拒否する

※フロントドア WAF ポリシーのポリシーモードは、防止に設定しておく必要があります。

カスタムルール作成
フロントドア WAF ポリシーの左側のメニューで、カスタムルールを選択します。
カスタムルールの追加を選択します。
カスタムルールの設定を追加し、保存します。
保存を選択します。

ポリシー設定を使ってアクセスブロック時の画面をカスタマイズ

ポリシー設定を利用して、アクセスブロック時に表示される画面をカスタマイズできます。

ポリシー設定

フロントドア WAF ポリシーのポリシー設定を選択します。
ブロックの応答本文を設定します。

フロンドアWAFポリシーをドメインに関連付け

フロントドア WAF ポリシーを Azure Front Door のドメイン (エンドポイント) に関連付けておく必要があります。

関連付け
フロントドア WAF ポリシーで、関連付けのメニューを選択します。
フロントドアプロファイルを関連付けるを選択します。
Azure Front Door のリソース名とドメイン名 (エンドポイント名) を選択します。

Azure Front Door のセキュリティポリシーでも設定できます。
設定方法の詳細はこちらで紹介しています。

Azure Front Doorのエンドポイントへアクセスして確認

Azure Front Door のエンドポイントへ、許可された IP とそれ以外の IP からアクセスして確認します。
許可された IP 以外からのアクセスには、ポリシー設定したブロックの応答本文が表示されます。

アクセス確認
許可されたIP以外からアクセスします。
ポリシーで設定しブロックの応答本文が表示されます。
許可されたIPからアクセスします。
配信元(Origin)のコンテンツが表示されます。

—広告—

最後に

Azure Front Door の関連するアクセス制限方法について確認してみました。
Azure Front Door のサービスタグが用意されており、簡単に設定できました。
Azure Front Door での IP 制限も、フロントドア WAF ポリシーを利用することで可能であることが分かりました。
フロントドア WAF ポリシーのカスタムルールを使うと、柔軟にアクセス制限ができてとても便利だと思いました。

引き続き、いろいろ試してみたいと思います。

Azure Front Doorの概要やデプロイ手順については、こちらで紹介しています。

Azure Front Doorでのアクセスログ確認方法については、こちらで紹介しています。

スポンサーリンク