Introduction
Contoso Retail の顧客向け e コマース アプリケーションは、Azure App Service上で実行され、パブリック インターネットに直接公開されます。 最近の侵入テストでは、現在のデプロイで修正されていない 3 つのセキュリティ ギャップが明らかになっています。 アプリケーションはプラットフォーム レベルで認証を適用しません。認証されていない要求はアプリケーション コードに到達します。 App Service は、任意の送信元 IP アドレスからの受信トラフィックを受け入れます。つまり、App Service ホスト名を検出した攻撃者は、その前に配置されたセキュリティ制御をバイパスできます。 アプリケーションを保護するWeb Application Firewallはなく、侵入テストでは製品検索エンドポイントに対する SQL インジェクション攻撃が成功したことが示されました。
これら 3 つのギャップは、階層化された問題を形成します。 1つだけを解消して他をそのままにしておくと、無視できないリスクが残ります。 プラットフォーム レベルの認証では、攻撃者が App Service を直接狙って Web Application Firewall (WAF) を迂回することを防ぐことはできません。 アプリケーションの前に配置された WAF は、アプリケーションがインターネットからの直接トラフィックを引き続き受け入れる場合、保護を提供しません。 各レイヤーは、効果を発揮するために他のレイヤーに依存します。
このモジュールでは、3 つのレイヤーをそれぞれ順番に操作します。 まず、App Service プラットフォーム自体をセキュリティで保護します。Microsoft Entra IDを使用した認証の構成、送信サービス呼び出し用のマネージド ID の割り当て、HTTPS の適用、受信トラフィックの発信元を制限するアクセス制限とネットワーク制御の適用です。 次に、Application Gateway でWeb Application Firewall ポリシーを構成します。 次に、マネージド ルール セットを選択し、WAF モードを設定し、除外とカスタム ルールを定義します。 最後に、App Service に到達する前にすべての受信トラフィックが WAF 検査を通過するように 2 つのコンポーネントを接続し、WAF ログを監視し、ポリシーを調整して誤検知を減らす方法を学習します。
学習の目的
このモジュールを終了すると、次のことができるようになります。
- Azure App Serviceの認証、マネージド ID、およびネットワーク制御を実装する
- マネージド ルール セットやカスタム ルールを含むWeb Application Firewall ポリシーを構成する
- Web Application Firewallを App Service と統合してエッジ層保護を適用する