Azure Front Doorからのみにアクセスを制限する方法
Azure Front DoorのWebアクセス制限方法について確認してみました。
-
-
- インターネットからのWebアクセスをAzure Front Door経由のみに制限
- ネットワークセキュリティグループ(NSG)で制限
- App Servicesのネットワーク設定でアクセス制限
- Azure Front Door経由のWebアクセスをアクセス元IPで制限
- フロンドアWAFポリシーのカスタムルールで制限
- インターネットからのWebアクセスをAzure Front Door経由のみに制限
-
※Azure Front DoorのPrivate Linkは利用していません。
配信元(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 Services等のWebサービスのアクセスをAzure Front Door経由のみに制限したい場合に利用
- AzureFrontDoor.Frontend
- Azure Front DoorへのアクセスIPを指定するサービスタグ
- 対象リソースからのWebアクセスをAzure Front Door経由のみに制限
- 仮想マシン(Azure VM)からWEBアクセスする際にAzure Front Door経由のみに制限する場合に利用
- AzureFrontDoor.FirstParty
- Azure 内で内部的に使用される
- AzureFrontDoor.Backend
ネットワークセキュリティグループ(NSG)を使った場合
ネットワークセキュリティグループ(NSG)の受信セキュリティ規則でAzureFrontDoor.Backendのサービスタグを使います。
-
- ネットワークセキュリティグループ(NSG)設定内容
- ソース:Service Tag
- ソースサービスタグ:AzureFrontDoor.Backend
- 宛先:Service Tag
- 宛先サービスタグ:VirtualNetwork(もしくはAny)
- サービス、宛先ポート:HTTP(80番ポート)(もしくはCustomで80番ポートを指定)
- アクション:許可
- ネットワークセキュリティグループ(NSG)設定内容
※HTTPSを許可する場合はサービスにHTTPS(443番ポート)も指定するようにします。
※Webサービスが動作している仮想マシン(Azure VM)のネットワークセキュリティグループ(NSG)に適用しています。
NSG設定 | |
仮想マシン(Azure VM)のNSGで受信セキュリティ規則を設定します。 |
|
受信セキュリティ規則が作成されます。 |
アクセス確認
Azure Front DoorのエンドポイントとWebサーバ(仮想マシン(Azure VM))へアクセス確認します。
Azure Front Door経由以外のアクセスが拒否されている事が確認出来ます。
アクセス確認 | |
Azure Front Doorのエンドポイントへアクセスした場合です。 Webサーバのコンテンツが表示されます。 |
|
Webサーバ(仮想マシン(Azure VM))のパブリックIPアドレスへアクセスした場合です。 タイムアウトになっている事が確認出来ます。 |
App Servicesの場合
App ServicesでAzure Front Door経由のみのアクセスに制限します。
App Servicesの場合はネットワーク制限で行います。
※App Servicesの通信閉域化(Vnet統合やPrivate Link)は利用していません。Azure Front Doorから直接アクセスされる場合です。
アクセス確認結果
Azure Front DoorのエンドポイントとApp Servicesへアクセスして確認します。
Azure Front Door経由以外のアクセスが拒否されている事が確認出来ます。
アクセス確認 | |
Azure Front Doorのエンドポイントへアクセスした場合です。 Webサーバのコンテンツが表示されます。 |
|
App Servicesへ直接アクセスした場合です。 アクセスがブロックされている事が確認出来ます。 |
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のエンドポイントへ許可されたIPとそれ以外のIPからアクセスして確認します。
許可されたIP以外のアクセスにはポリシー設定した画面が表示されます。
アクセス確認 | |
許可されたIP以外からアクセスします。 ポリシー設定したエラー画面が表示されます。 |
|
許可されたIPからアクセスします。 Webサーバのコンテンツが表示されます。 |
最後に
外部Webアクセスする際にAzure Front Door経由のみにアクセス制限する方法について確認してみました。
Azure Front Doorのサービスタグが準備されており簡単に設定出来ました。
Azure Front DoorでのIP制限もフロンドアWAFポリシーを利用する事で出来る事が分かりました。
フロンドアWAFポリシーのカスタムルールを使うと柔軟にアクセス制限出来てとても便利かと思いました。
今後も色々試してみたいと思います。
Azure Front Doorの概要やデプロイ手順についてはこちらに纏めています。
Azure Front Doorでのアクセスログ確認方法についてはこちらに纏めています。