App Service 用の Azure セキュリティ ベースライン
このセキュリティ ベースラインは、Microsoft クラウド セキュリティ ベンチマーク バージョン 1.0 のガイダンスをApp Serviceに適用します。 Microsoft クラウド セキュリティ ベンチマークでは、Azure 上のクラウド ソリューションをセキュリティで保護する方法に関する推奨事項が提供されます。 コンテンツは、Microsoft クラウド セキュリティ ベンチマークと、App Serviceに適用できる関連ガイダンスによって定義されたセキュリティ制御によってグループ化されます。
このセキュリティ ベースラインとその推奨事項は、Microsoft Defender for Cloud を使用して監視できます。 Azure Policy定義は、[クラウド ポータルのMicrosoft Defender] ページの [規制コンプライアンス] セクションに一覧表示されます。
機能に関連するAzure Policy定義がある場合は、Microsoft クラウド セキュリティ ベンチマークの制御と推奨事項への準拠を測定するのに役立つ、このベースラインに一覧表示されます。 一部の推奨事項では、特定のセキュリティ シナリオを有効にするために有料Microsoft Defenderプランが必要になる場合があります。
注意
App Serviceに適用されない機能は除外されています。 App Serviceが Microsoft クラウド セキュリティ ベンチマークに完全にマップされる方法については、完全なApp Serviceセキュリティ ベースライン マッピング ファイルを参照してください。
セキュリティ プロファイル
セキュリティ プロファイルは、App Serviceの影響の大きい動作をまとめたものです。これにより、セキュリティに関する考慮事項が高まる可能性があります。
サービス動作属性 | 値 |
---|---|
製品カテゴリ | コンピューティング、Web |
お客様は HOST/OS にアクセスできます | アクセス権なし |
サービスは顧客の仮想ネットワークにデプロイできます | True |
顧客のコンテンツを保存する | True |
ネットワークのセキュリティ
詳細については、「 Microsoft クラウド セキュリティ ベンチマーク: ネットワーク セキュリティ」を参照してください。
NS-1: ネットワーク セグメント化の境界を確立する
機能
Virtual Network 統合
説明: サービスは、顧客のプライベート Virtual Network (VNet) へのデプロイをサポートします。 詳細については、こちらを参照してください。
サポートされています | 既定で有効 | 構成の責任 |
---|---|---|
True | False | Customer |
機能ノート: Virtual Network統合は、App Service環境を使用する場合は既定で構成されますが、パブリック マルチテナント オファリングを使用する場合は手動で構成する必要があります。
構成ガイダンス: インターネット アドレスへの送信通信の安定した IP を確保する: Virtual Network統合機能を使用して安定した送信 IP を提供できます。 これにより、受信側は必要に応じて IP に基づいて許可リストを作成できます。
分離価格レベル (App Service Environment (ASE) とも呼ばれる) でApp Serviceを使用する場合は、Azure Virtual Network内のサブネットに直接デプロイできます。 ネットワーク セキュリティ グループを使用して、Azure App Service Environmen を保護 (仮想ネットワーク内のリソースに対する受信トラフィックと送信トラフィックをブロック) したり、App Service Environment 内のアプリへのアクセスを制限したりします。
マルチテナント App Service (Isolated レベルではないアプリ) で、アプリが Virtual Network 統合機能を使用してVirtual Network内または経由でリソースにアクセスできるようにします。 その後、ネットワーク セキュリティ グループを使用して、アプリからの送信トラフィックを制御できます。 Virtual Network統合を使用する場合は、"すべてルーティング" 構成を有効にして、すべての送信トラフィックを統合サブネット上のネットワーク セキュリティ グループとユーザー定義ルートの対象にすることができます。 この機能を使用して、アプリからパブリック アドレスへの送信トラフィックをブロックすることもできます。 仮想ネットワーク統合を使用して、アプリへの受信アクセスを提供することはできません。
Azure サービスに対する通信では、多くの場合、代わりにサービス エンドポイントを使用する必要があるような IP アドレスとメカニズムに依存する必要はありません。
注: App Service環境の場合、既定では、ネットワーク セキュリティ グループには、優先順位が最も低い暗黙的な拒否規則が含まれており、明示的な許可規則を追加する必要があります。 最小特権のネットワーク アプローチに基づいて、ネットワーク セキュリティ グループの許可規則を追加します。 App Service Environment をホストするために使用される基になる仮想マシンは、Microsoft が管理するサブスクリプション内にあるため、直接アクセスできません。
同じリージョンの仮想ネットワークで仮想ネットワーク統合機能を使用する場合は、ネットワーク セキュリティ グループとユーザー定義のルートが含まれるルート テーブルを使用します。 ユーザー定義のルートを統合サブネットに配置して、意図したとおりに送信トラフィックを送信できます。
リファレンス: アプリを Azure 仮想ネットワークと統合する
ネットワーク セキュリティ グループのサポート
説明: サービス ネットワーク トラフィックは、サブネット上のネットワーク セキュリティ グループルールの割り当てを尊重します。 詳細については、こちらを参照してください。
サポートされています | 既定で有効 | 構成の責任 |
---|---|---|
True | True | Microsoft |
機能に関するメモ: ネットワーク セキュリティ グループのサポートは、App Service環境を使用しているすべてのお客様が利用できますが、パブリック マルチテナント オファリングを使用しているお客様向けの VNet 統合アプリでのみ利用できます。
構成ガイダンス: 既定のデプロイでこれが有効になっているので、追加の構成は必要ありません。
リファレンス: App Service Environment ネットワーク
NS-2: ネットワーク制御を使用してクラウド サービスをセキュリティで保護する
機能
Azure Private Link
説明: ネットワーク トラフィックをフィルター処理するためのサービス ネイティブ IP フィルタリング機能 (NSG やAzure Firewallと混同しないように)。 詳細については、こちらを参照してください。
サポートされています | 既定で有効 | 構成の責任 |
---|---|---|
True | False | Customer |
構成ガイダンス: Azure Web Appsのプライベート エンドポイントを使用して、プライベート ネットワーク内にあるクライアントがPrivate Link経由でアプリに安全にアクセスできるようにします。 プライベート エンドポイントでは、Azure VNet アドレス空間の IP アドレスが使用されます。 プライベート ネットワーク上のクライアントと Web アプリ間のネットワーク トラフィックは、VNet および Microsoft バックボーン ネットワーク上の Private Link を経由することで、パブリック インターネットにさらされないようにします。
注: プライベート エンドポイントは、Web アプリへの受信フローにのみ使用されます。 送信フローではこのプライベート エンドポイントは使用されません。 VNet 統合機能を使用して、別のサブネット内のネットワークに送信フローを挿入できます。 App Service トラフィックの受信側でサービスにプライベート エンドポイントを使用すると、SNAT が発生するのを回避し、安定した送信 IP 範囲を提供します。
追加のガイダンス: Azure Container Registry (ACR) に格納されているApp Serviceでコンテナーを実行する場合は、それらのイメージがプライベート ネットワーク経由でプルされていることを確認します。 これを行うには、ACR でプライベート エンドポイントを構成し、それらのイメージを Web アプリケーションで "WEBSITE_PULL_IMAGE_OVER_VNET" アプリケーション設定と組み合わせて格納します。
リファレンス: Azure Web アプリのプライベート エンドポイントの使用
パブリック ネットワーク アクセスの無効化
説明: サービスでは、サービス レベルの IP ACL フィルター規則 (NSG またはAzure Firewallではなく) または [パブリック ネットワーク アクセスの無効化] トグル スイッチを使用して、パブリック ネットワーク アクセスを無効にできます。 詳細については、こちらを参照してください。
サポートされています | 既定で有効 | 構成の責任 |
---|---|---|
True | False | Customer |
構成ガイダンス: サービス レベルの IP ACL フィルター規則またはプライベート エンドポイントを使用するか、ARM で プロパティを disabled に設定 publicNetworkAccess
して、パブリック ネットワーク アクセスを無効にします。
リファレンス: Azure App Serviceアクセス制限を設定する
NS-5: DDoS 保護をデプロイする
NS-5 のその他のガイダンス
App Service の Web Application Firewall をホストする仮想ネットワークで DDoS Protection Standard を有効にします。 Azure はネットワーク上で DDoS Basic 保護を提供します。これは、通常のトラフィック パターンについて学習し、異常な動作を検出できるインテリジェントな DDoS Standard 機能を使用して改善できます。 DDoS Standard はVirtual Networkに適用されるため、Application Gatewayや NVA など、アプリの前にあるネットワーク リソース用に構成する必要があります。
NS-6: Web アプリケーション ファイアウォールをデプロイする
NS-6 のその他のガイダンス
アプリケーションで WAF がバイパスされないようにします。 WAF のみにアクセスをロックダウンして WAF をバイパスできないようにします。 アクセス制限、サービス エンドポイント、プライベート エンドポイントを組み合わせて使います。
さらに、Web Application Firewall (WAF) が有効なAzure Application Gatewayまたは Azure Front Door を介してトラフィックをルーティングすることで、App Service Environmentを保護します。
マルチテナント オファリングの場合は、次の方法でアプリへの受信トラフィックをセキュリティで保護します。
- アクセス制限: 受信アクセスを制御する一連の許可または拒否規則
- サービス エンドポイント: 指定された仮想ネットワークまたはサブネットの外部からの受信トラフィックを拒否できます
- プライベート エンドポイント: プライベート IP アドレスを使用してアプリをVirtual Networkに公開します。 アプリでプライベート エンドポイントが有効になっていると、そのアプリにはインターネットからアクセスできません。
サブスクリプションと仮想ネットワーク全体でアプリケーションとネットワークの接続ポリシーを一元的に作成、適用、および記録するために、Azure Firewall を実装することを検討してください。 Azure Firewall では、仮想ネットワーク リソースに静的パブリック IP アドレスが使用されます。これにより、外部ファイアウォールは、仮想ネットワークからのトラフィックを識別できます。
ID 管理
詳細については、「 Microsoft クラウド セキュリティ ベンチマーク: ID 管理」を参照してください。
IM-1: 一元的な ID および認証システムを使用する
機能
データ プレーン アクセスに必要な Azure AD Authentication
説明: サービスでは、データ プレーン アクセスに Azure AD 認証を使用できます。 詳細については、こちらを参照してください。
サポートされています | 既定で有効 | 構成の責任 |
---|---|---|
True | False | Customer |
構成ガイダンス: 認証された Web アプリケーションの場合は、既知の確立された ID プロバイダーのみを使用して、ユーザー アクセスを認証および承認します。 独自のorganizationのユーザーのみがアプリにアクセスする必要がある場合、またはそれ以外の場合は、ユーザーがすべて Azure Active Directory (Azure AD) を使用している場合は、データ プレーンアクセスを制御するための既定の認証方法として Azure AD を構成します。
リファレンス: Azure App ServiceとAzure Functionsでの認証と承認
データ プレーン アクセスのローカル認証方法
説明: ローカルユーザー名やパスワードなど、データ プレーンアクセスでサポートされるローカル認証方法。 詳細については、こちらを参照してください。
サポートされています | 既定で有効 | 構成の責任 |
---|---|---|
True | False | Customer |
機能に関するメモ: ローカル認証方法またはアカウントの使用は避けてください。これらは可能な限り無効にする必要があります。 代わりに、可能な場合は Azure AD を使用して認証します。
構成ガイダンス: データ プレーン へのアクセスに対するローカル認証方法の使用を制限します。 代わりに、データ プレーン アクセスを制御するための既定の認証方法として、Azure Active Directory (Azure AD) を使います。
リファレンス: Azure App ServiceとAzure Functionsでの認証と承認
IM-3: アプリケーション ID を安全かつ自動的に管理する
機能
マネージド ID
説明: データ プレーン アクションでは、マネージド ID を使用した認証がサポートされます。 詳細については、こちらを参照してください。
サポートされています | 既定で有効 | 構成の責任 |
---|---|---|
True | False | Customer |
構成ガイダンス: 可能な場合は、サービス プリンシパルの代わりに Azure マネージド ID を使用します。これにより、Azure Active Directory (Azure AD) 認証をサポートする Azure サービスとリソースに対して認証できます。 マネージド ID の資格情報は、プラットフォームによって完全に管理、ローテーション、保護されており、ソース コードまたは構成ファイル内でハードコーディングされた資格情報を使用せずに済みます。
App Service でマネージド ID を使用する一般的なシナリオは、Azure SQL Database、Azure Storage、Key Vaultなどの他の Azure PaaS サービスにアクセスすることです。
リファレンス: App ServiceとAzure Functionsにマネージド ID を使用する方法
サービス プリンシパル
説明: データ プレーンでは、サービス プリンシパルを使用した認証がサポートされています。 詳細については、こちらを参照してください。
サポートされています | 既定で有効 | 構成の責任 |
---|---|---|
True | False | Customer |
追加のガイダンス: サービス プリンシパルは認証のパターンとしてサービスでサポートされていますが、可能な場合はマネージド ID を使用することをお勧めします。
Microsoft Defender for Cloud による監視
Azure Policy 組み込み定義 - Microsoft.Web:
名前 (Azure portal) |
説明 | 効果 | Version (GitHub) |
---|---|---|---|
App Service アプリではマネージド ID を使用する必要がある | マネージド ID を使用して認証セキュリティを強化します | AuditIfNotExists、Disabled | 3.0.0 |
IM-7: 条件に基づいてリソースへのアクセスを制限する
機能
データ プレーンへの条件付きアクセス
説明: データ プレーンアクセスは、Azure AD 条件付きアクセス ポリシーを使用して制御できます。 詳細については、こちらを参照してください。
サポートされています | 既定で有効 | 構成の責任 |
---|---|---|
True | False | Customer |
構成ガイダンス: ワークロード内の Azure Active Directory (Azure AD) 条件付きアクセスに適用できる条件と条件を定義します。 特定の場所からのアクセスのブロックや許可、危険なサインイン動作のブロック、特定のアプリケーションに対するorganizationマネージド デバイスの要求など、一般的なユース ケースを検討してください。
IM-8: 資格情報とシークレットの公開を制限する
機能
Azure Key Vault での、サービス資格情報とシークレットの統合とストレージのサポート
説明: データ プレーンでは、資格情報とシークレット ストアに対する Azure Key Vaultのネイティブな使用がサポートされています。 詳細については、こちらを参照してください。
サポートされています | 既定で有効 | 構成の責任 |
---|---|---|
True | False | Customer |
構成ガイダンス: アプリ シークレットと資格情報が、コードや構成ファイルに埋め込むのではなく、Azure Key Vault などのセキュリティで保護された場所に格納されていることを確認します。 アプリでマネージド ID を使って、Key Vault に格納された資格情報やシークレットに安全な方法でアクセスします。
リファレンス: App ServiceとAzure FunctionsにKey Vault参照を使用する
特権アクセス
詳細については、「 Microsoft クラウド セキュリティ ベンチマーク: 特権アクセス」を参照してください。
PA-7: Just Enough Administration (最小限の特権の原則) に従う
機能
データ プレーン用の Azure RBAC
説明: Azure Role-Based Access Control (Azure RBAC) を使用して、サービスのデータ プレーン アクションへのアクセスを管理できます。 詳細については、こちらを参照してください。
サポートされています | 既定で有効 | 構成の責任 |
---|---|---|
False | 適用しない | 適用しない |
構成ガイダンス: この機能は、このサービスをセキュリティで保護するためにサポートされていません。
PA-8: クラウド プロバイダー サポートのアクセス プロセスを決定する
機能
カスタマー ロックボックス
説明: カスタマー ロックボックスは、Microsoft サポート へのアクセスに使用できます。 詳細については、こちらを参照してください。
サポートされています | 既定で有効 | 構成の責任 |
---|---|---|
True | False | Customer |
構成ガイダンス: Microsoft がデータにアクセスする必要があるサポート シナリオでは、カスタマー ロックボックスを使用して確認し、各 Microsoft のデータ アクセス要求を承認または拒否します。
データの保護
詳細については、「 Microsoft クラウド セキュリティ ベンチマーク: データ保護」を参照してください。
DP-1:機密データを検出、分類、ラベル付けする
機能
機密データの検出と分類
説明: ツール (Azure Purview や Azure Information Protection など) は、サービスでのデータの検出と分類に使用できます。 詳細については、こちらを参照してください。
サポートされています | 既定で有効 | 構成の責任 |
---|---|---|
False | 適用しない | 適用しない |
機能ノート: コード内の資格情報を識別するために、ビルド パイプラインに資格情報スキャナーを実装します。 また、資格情報スキャナーを使うと、検出された資格情報を、Azure Key Vault などのより安全な場所に移動しやすくなります。
構成ガイダンス: この機能は、このサービスをセキュリティで保護するためにサポートされていません。
DP-2: 機密データをターゲットにした異常と脅威を監視する
機能
データ漏えい/損失防止
説明: サービスでは、(顧客のコンテンツ内の) 機密データの移動を監視するための DLP ソリューションがサポートされています。 詳細については、こちらを参照してください。
サポートされています | 既定で有効 | 構成の責任 |
---|---|---|
False | 適用しない | 適用しない |
特徴メモ: データ識別、分類、および損失防止機能は、App Serviceではまだ使用できませんが、宛先がインターネットまたは Azure サービスに "タグ" を使用するすべてのルールを削除することで、仮想ネットワークからのデータ流出リスクを軽減できます。
Microsoft では、App Service 用の基になるインフラストラクチャを管理し、データの損失や漏洩を防ぐための厳格な管理を実施してきました。
タグを使用して、機密情報を格納または処理するリソースApp Service追跡するのに役立ちます。
構成ガイダンス: この機能は、このサービスをセキュリティで保護するためにサポートされていません。
DP-3: 転送中の機密データの暗号化
機能
転送中データの暗号化
説明: サービスでは、データ プレーンの転送中のデータ暗号化がサポートされています。 詳細については、こちらを参照してください。
サポートされています | 既定で有効 | 構成の責任 |
---|---|---|
True | False | Customer |
構成ガイダンス: 転送中のすべての情報を暗号化するために、TLS/SSL 設定で構成されている TLS v1.2 の既定の最小バージョンを使用して適用します。 また、すべての HTTP 接続要求が HTTPS にリダイレクトされるようにします。
リファレンス: Azure App Serviceに TLS/SSL 証明書を追加する
Microsoft Defender for Cloud による監視
Azure Policy 組み込み定義 - Microsoft.Web:
名前 (Azure portal) |
説明 | 効果 | Version (GitHub) |
---|---|---|---|
App Service アプリに HTTPS を介してのみアクセスできるようにする | HTTPS を使用すると、サーバー/サービスの認証が確実に実行され、転送中のデータがネットワーク層の傍受攻撃から保護されるようになります。 | Audit, Disabled, Deny | 4.0.0 |
DP-4: 保存データ暗号化を既定で有効にする
機能
プラットフォーム キーを使用した保存データの暗号化
説明: プラットフォーム キーを使用した保存データの暗号化がサポートされており、保存中のすべての顧客コンテンツは、これらの Microsoft マネージド キーで暗号化されます。 詳細については、こちらを参照してください。
サポートされています | 既定で有効 | 構成の責任 |
---|---|---|
True | True | Microsoft |
機能に関するメモ: ファイルなどのApp Service アプリの Web サイト コンテンツは、保存中のコンテンツを自動的に暗号化する Azure Storage に格納されます。 アプリケーション シークレットを Key Vault に格納し、それらを実行時に取得することを選択します。
お客様提供のシークレットは、App Service 構成データベースに保存され、保存時に暗号化されます。
ローカルに接続されたディスクは、必要に応じて Web サイトで一時ストレージとして使用できますが (D:\local や %TMP%)、それらは、Pv3 SKU を使用できるパブリック マルチテナント App Service オファリングでのみ保存時に暗号化されます。 Pv3 SKU が使用できない古いパブリック マルチテナント スケール ユニットの場合、顧客は新しいリソース グループを作成し、そこでリソースを再デプロイする必要があります。
さらに、お客様には、ZIP パッケージから直接App Serviceでアプリケーションを実行するオプションがあります。 詳細については、「zip パッケージから直接Azure App Serviceでアプリを実行する」を参照してください。
構成ガイダンス: 既定のデプロイでこれが有効になっているので、追加の構成は必要ありません。
DP-5: 必要に応じて保存データ暗号化でカスタマー マネージド キー オプションを使用する
機能
CMK を使用した保存データの暗号化
説明: カスタマー マネージド キーを使用した保存データの暗号化は、サービスによって格納される顧客コンテンツでサポートされています。 詳細については、こちらを参照してください。
サポートされています | 既定で有効 | 構成の責任 |
---|---|---|
True | False | Customer |
構成ガイダンス: 規制コンプライアンスに必要な場合は、カスタマー マネージド キーを使用した暗号化が必要なユース ケースとサービス スコープを定義します。 それらのサービスでカスタマー マネージド キーを使って、保存データ暗号化を有効にして実装します。
注: ファイルなどのApp Service アプリの Web サイト コンテンツは Azure Storage に格納され、保存時のコンテンツが自動的に暗号化されます。 アプリケーション シークレットを Key Vault に格納し、それらを実行時に取得することを選択します。
お客様提供のシークレットは、App Service 構成データベースに保存され、保存時に暗号化されます。
ローカルに接続されたディスクは、必要に応じて Web サイトの一時ストレージ (たとえば、D:\local や %TMP%) として使用できますが、これらのディスクは保存時に暗号化されないので注意してください。
リファレンス: カスタマー マネージド キーを使用した保存時の暗号化
DP-6: セキュア キー管理プロセスの使用
機能
Azure Key Vault でのキー管理
説明: このサービスでは、カスタマー キー、シークレット、または証明書に対する Azure Key Vault統合がサポートされています。 詳細については、こちらを参照してください。
サポートされています | 既定で有効 | 構成の責任 |
---|---|---|
True | False | Customer |
構成ガイダンス: Azure Key Vaultを使用して、キーの生成、配布、ストレージなど、暗号化キーのライフ サイクルを作成および制御します。 定義されたスケジュールに基づいて、またはキーの廃止や侵害が発生した場合に、Azure Key Vault とサービスのキーをローテーションして取り消します。 ワークロード、サービス、またはアプリケーション レベルでカスタマー マネージド キー (CMK) を使用する必要がある場合は、キー管理のベスト プラクティスに従ってください。キー階層を使用して、キー コンテナーにキー暗号化キー (KEK) を使用して別のデータ暗号化キー (DEK) を生成します。 キーが Azure Key Vaultに登録され、サービスまたはアプリケーションのキー ID を介して参照されていることを確認します。 独自のキー (BYOK) をサービスに持ち込む必要がある場合 (オンプレミスの HSM から Azure Key Vaultに HSM で保護されたキーをインポートする場合など)、初期キーの生成とキー転送を実行するための推奨ガイドラインに従ってください。
リファレンス: App ServiceとAzure FunctionsにKey Vault参照を使用する
DP-7: セキュリティで保護された証明書管理プロセスを使用する
機能
Azure Key Vault での証明書管理
説明: このサービスでは、顧客証明書に対する Azure Key Vault統合がサポートされます。 詳細については、こちらを参照してください。
サポートされています | 既定で有効 | 構成の責任 |
---|---|---|
True | False | Customer |
構成ガイダンス: App Serviceは SSL/TLS やその他の証明書を使用して構成できます。この証明書は、App Serviceで直接構成することも、Key Vaultから参照することもできます。 すべての証明書とシークレットを一元管理するために、App Service で使う証明書は、App Service のローカルに直接デプロイするのではなく、Key Vault に保存します。 これを構成するとApp Service Azure Key Vaultから最新の証明書が自動的にダウンロードされます。 キー サイズが不十分、有効期間が長い、安全でない暗号化など、セキュリティで保護されていないプロパティを使用せずに、証明書の生成が定義された標準に従っていることを確認します。 定義されたスケジュールまたは証明書の有効期限に基づいて、Azure Key Vaultで証明書の自動ローテーションを設定します。
リファレンス: Azure App Serviceに TLS/SSL 証明書を追加する
アセット管理
詳細については、「 Microsoft クラウド セキュリティ ベンチマーク: 資産管理」を参照してください。
AM-2: 承認済みのサービスのみを使用する
機能
Azure Policy のサポート
説明: サービス構成は、Azure Policy経由で監視および適用できます。 詳細については、こちらを参照してください。
サポートされています | 既定で有効 | 構成の責任 |
---|---|---|
True | False | Customer |
構成ガイダンス: Microsoft Defender for Cloud を使用して、Azure リソースの構成を監査および適用するAzure Policyを構成します。 Azure Monitor を使用し、リソースで構成の逸脱が検出されたときにアラートを作成します。 [deny] と [deploy if not exists] 効果Azure Policy使用して、Azure リソース全体でセキュリティで保護された構成を適用します。
注: Azure Policyを使用してデプロイされたApp Serviceアプリの標準セキュリティ構成を定義して実装します。 "Microsoft.Web" 名前空間の組み込みのAzure Policy定義とAzure Policyエイリアスを使用して、システム構成のアラート、監査、適用を行うカスタム ポリシーを作成します。 ポリシー例外を管理するためのプロセスとパイプラインを作成します。
リファレンス: Azure App ServiceのAzure Policy規制コンプライアンスコントロール
AM-4: アセット管理へのアクセスを制限する
AM-4 のその他のガイダンス
機密情報を処理するシステムを分離します。 そのためには、App Service プランまたは App Service Environment を別々に使い、異なるサブスクリプションまたは管理グループの使用を検討します。
ログと脅威検出
詳細については、「 Microsoft クラウド セキュリティ ベンチマーク: ログ記録と脅威検出」を参照してください。
LT-1: 脅威検出機能を有効にする
機能
サービス/製品のオファリングのための Microsoft Defender
説明: サービスには、セキュリティの問題を監視およびアラートするためのオファリング固有のMicrosoft Defender ソリューションがあります。 詳細については、こちらを参照してください。
サポートされています | 既定で有効 | 構成の責任 |
---|---|---|
True | False | Customer |
構成ガイダンス: App ServiceのMicrosoft Defenderを使用して、App Service経由で実行されているアプリケーションを対象とする攻撃を特定します。 Microsoft Defender for App Service を有効にすると、この Defender プランで提供される次のサービスの利点をすぐに活用できます。
セキュリティ保護: Defender for App Serviceは、App Service計画の対象となるリソースを評価し、その結果に基づいてセキュリティに関する推奨事項を生成します。 それらの推奨事項に記載された詳しい手順に従って、App Service リソースのセキュリティを強化することができます。
検出: Defender for App Serviceは、App Serviceが実行されている VM インスタンスとその管理インターフェイス、App Service アプリとの間で送受信された要求と応答、基になるサンドボックスと VM、およびを監視することで、App Service リソースに対する多数の脅威を検出します。内部ログをApp Serviceします。
リファレンス: Web アプリと API を保護する
LT-4: セキュリティ調査のためのログを有効にする
機能
Azure リソース ログ
説明: サービスは、サービス固有のメトリックとログ記録を強化できるリソース ログを生成します。 お客様はこれらのリソース ログを構成し、ストレージ アカウントやログ分析ワークスペースなどの独自のデータ シンクに送信できます。 詳細については、こちらを参照してください。
サポートされています | 既定で有効 | 構成の責任 |
---|---|---|
True | False | Customer |
構成ガイダンス: App Serviceで Web アプリのリソース ログを有効にします。
リファレンス: Azure App Service でアプリの診断ログ記録を有効にする
体制と脆弱性の管理
詳細については、「 Microsoft クラウド セキュリティ ベンチマーク: 態勢と脆弱性管理」を参照してください。
PV-2: セキュリティで保護された構成を監査して適用する
PV-2 のその他のガイダンス
リモート デバッグをオフにします。運用環境のワークロードではリモート デバッグを有効にしないでください。これにより、サービス上の追加のポートが開き、攻撃対象領域が増加します。
Microsoft Defender for Cloud による監視
Azure Policy 組み込み定義 - Microsoft.Web:
名前 (Azure portal) |
説明 | 効果 | Version (GitHub) |
---|---|---|---|
[非推奨]: 関数アプリで 'クライアント証明書 (受信クライアント証明書)' が有効になっている必要がある | クライアント証明書を使用すると、アプリは受信要求に対して証明書を要求できます。 有効な証明書を持つクライアントのみが、そのアプリにアクセスできるようになります。 Http 2.0 ではクライアント証明書がサポートされていないため、このポリシーは同じ名前の新しいポリシーに置き換えられました。 | Audit、Disabled | 3.1.0-非推奨 |
PV-7: 定期的なレッド チーム操作を実施する
PV-7 のその他のガイダンス
エンゲージメントの侵入テスト ルールに従って、Web アプリケーションで定期的 な侵入テストを実施します。
バックアップと回復
詳細については、「 Microsoft クラウド セキュリティ ベンチマーク: バックアップと回復」を参照してください。
BR-1:定期的な自動バックアップを保証する
機能
Azure Backup
説明: サービスは、Azure Backup サービスによってバックアップできます。 詳細については、こちらを参照してください。
サポートされています | 既定で有効 | 構成の責任 |
---|---|---|
True | False | Customer |
構成ガイダンス: 可能な場合は、ステートレス アプリケーション設計を実装して、App Serviceを使用して復旧とバックアップのシナリオを簡略化します。
ステートフル アプリケーションを本当に維持する必要がある場合は、App Serviceでバックアップと復元機能を有効にして、手動またはスケジュールに従ってアプリのバックアップを簡単に作成できます。 バックアップが無期限に保持されるように構成できます。 以前の状態のスナップショットにアプリを復元するには、既存のアプリを上書きするか、別のアプリに対して復元を行います。 組織のポリシーで定義されている頻度で、定期的なバックアップと自動バックアップが行われるようにします。
注: App Serviceは、使用するようにアプリを構成した Azure ストレージ アカウントとコンテナーに次の情報をバックアップできます。
- アプリの構成
- ファイルのコンテンツ
- アプリに接続されているデータベース
リファレンス: Azure でアプリをバックアップする
サービス ネイティブ バックアップ機能
説明: サービスでは、独自のネイティブ バックアップ機能がサポートされます (Azure Backupを使用していない場合)。 詳細については、こちらを参照してください。
サポートされています | 既定で有効 | 構成の責任 |
---|---|---|
False | 適用しない | 適用しない |
構成ガイダンス: この機能は、このサービスをセキュリティで保護するためにサポートされていません。
DevOps セキュリティ
詳細については、「 Microsoft クラウド セキュリティ ベンチマーク: DevOps セキュリティ」を参照してください。
DS-6: DevOps ライフサイクル全体を通してワークロードのセキュリティを確保する
DS-6 のその他のガイダンス
App Service へのコードのデプロイは、適切に管理されセキュリティで保護された DevOps のデプロイ パイプラインのような、管理された信頼できる環境から行います。 これにより、バージョン管理されておらず、悪意のあるホストからデプロイされることを確認したコードが回避されます。
次の手順
- Microsoft クラウド セキュリティ ベンチマークの概要を参照してください
- Azure セキュリティ ベースラインの詳細について学習する