前回の記事では、App Service から Application Insights へプライベートネットワーク経由でテレメトリを送信する構成に変更しました。
gooner.hateblo.jp
今回は、Azure Front Door を利用して App Service を外部からの攻撃から保護する構成に変更します。
システム構成
Azure Front Door を経由して App Service へアクセスさせることで、DDoS Protection と WAF (Web Application Firewall) によってアプリケーションを保護する構成を題材に説明していきます。

App Service では、Service Tag を使用して Azure Front Door からのアクセスのみを許可します。これは、ネットワークレベルで完全に閉域化する構成ではなく、L7(アプリケーションレイヤー)レベルで App Service へのアクセスを制御する構成となります。
learn.microsoft.com
Azure Front Door を作成する
インターネット上に公開される Web アプリケーションには、クロスサイト スクリプティングや SQL インジェクションなど、さまざまな脅威が存在します。Azure Front Door には WAF の機能が備わっており、これらの脅威を検出・防御することができます。
learn.microsoft.com
配信元の種類には App Service、配信元のホスト名には 接続したい App Service 名 を指定します。

Azure Front Door の作成が完了したら、Front Door の URL でアプリケーションに接続できることを確認します。

バックエンドの設定が反映するまでに最大20分かかりますので注意してください。
App Service で Service Tag を設定する
Azure Front Door を経由せずに App Service へ直接アクセスできないよう、Service Tag を設定します。
AzureFrontDoor.Backend を指定することで、Front Door からバックエンド サービスへ接続する際に使用される IP アドレスのみを許可するアクセス規則を追加できます。
App Service の Settings - Networking から、インバウンドの Public network access を制限します。選択した仮想ネットワークと IP アドレスから有効にする項目を選択して、Service Tag には AzureFrontDoor.Backend、X-Azure-FDID には Front Door の ID を設定します。

この設定により、App Service の URL(https://xxx.azurewebsites.net) にアクセスできないようになりました。

なお、 App Service の Advanced Tools(https://xxx.scm.yyy.azurewebsites.net)には接続できる状態のため、必要に応じて規則を追加することを検討してください。
WAF を導入する
WAF ポリシーを作成して、Azure Front Door のエンドポイントに割り当てます。

Microsoft_DefaultRuleSet などの既定のルールセットが用意されていますが、カスタム ルールを使用することで、Web アプリケーションの要件に合わせた柔軟な設定も可能です。
learn.microsoft.com
まとめ
Azure Front Door を経由して App Service へアクセスさせることで、DDoS Protection と WAF によりアプリケーションを保護する構成に変更しました。
App Service をプライベートネットワークで構成するシリーズとして4本の記事を書きましたが、いったんこの記事で終了としたいと思います。