データ セキュリティに関する推奨事項
この記事では、Microsoft Defender for Cloud に表示されるすべてのデータ セキュリティに関する推奨事項を示します。
環境に表示される推奨事項は、保護するリソースとカスタマイズした構成に基づいています。
これらの推奨事項に応じて実行できるアクションについては、「Defender for Cloud で推奨事項を 修復するを参照してください。
ヒント
推奨事項の説明に 関連ポリシーがない、通常は、その推奨事項が別の推奨事項に依存しているためです。
たとえば、推奨事項 エンドポイント保護の正常性エラーを修復する必要があります は、エンドポイント保護ソリューションがインストールされているかどうかを確認する推奨事項に依存します (エンドポイント保護ソリューションをインストールする必要があります)。 基になる推奨事項にはポリシーが存在します。 ポリシーを基本的な推奨事項のみに制限すると、ポリシー管理が簡略化されます。
Azure データに関する推奨事項
Azure Cosmos DB で公衆ネットワーク アクセスを無効にする必要がある
説明: パブリック ネットワーク アクセスを無効にすると、Cosmos DB アカウントがパブリック インターネットで公開されないようにすることで、セキュリティが向上します。 プライベート エンドポイントを作成すると、Cosmos DB アカウントの露出を制限できます。 詳細情報。 (関連ポリシー: Azure Cosmos DB で公衆ネットワーク アクセスを無効にする必要がある)。
重大度: 中
(必要に応じて有効にする)Azure Cosmos DB アカウントでは、保存データを暗号化するためにカスタマー マネージド キーを使用する必要があります
説明: 保存データの暗号化にカスタマー マネージド キーを使用するための推奨事項は、既定では評価されませんが、該当するシナリオに対して有効にすることができます。 データはプラットフォーム マネージド キーを使用して自動的に暗号化されるため、カスタマー マネージド キーの使用は、コンプライアンスまたは制限の厳しいポリシーの要件によって義務付けられる場合にのみ適用する必要があります。 この推奨事項を有効にするには、該当するスコープのセキュリティ ポリシーに移動し、対応するポリシーの [効果] パラメーターを更新して、カスタマー マネージド キーの使用を監査または適用します。 詳細については、「セキュリティ ポリシーの管理」を参照してください。 カスタマー マネージド キーを使用して、Azure Cosmos DB の保存時の暗号化を管理します。 既定では、データはサービス マネージド キーを使用して保存時に暗号化されますが、規制コンプライアンス標準を満たすためには一般に、カスタマー マネージド キー (CMK) が必要です。 CMK を使用すると、自分が作成して所有する Azure Key Vault キーを使用してデータを暗号化できます。 ローテーションや管理など、キーのライフサイクルを完全に制御し、責任を負うことになります。 CMK 暗号化の詳細については、https://aka.ms/cosmosdb-cmk を参照してください。 (関連ポリシー: Azure Cosmos DB アカウントでは、カスタマー マネージド キーを使用して保存データを暗号化する必要があります)。
重大度: 低
(必要に応じて有効にする)Azure Machine Learning ワークスペースは、カスタマー マネージド キー (CMK) を使用して暗号化する必要があります
説明: 保存データの暗号化にカスタマー マネージド キーを使用するための推奨事項は、既定では評価されませんが、該当するシナリオに対して有効にすることができます。 データはプラットフォーム マネージド キーを使用して自動的に暗号化されるため、カスタマー マネージド キーの使用は、コンプライアンスまたは制限の厳しいポリシーの要件によって義務付けられる場合にのみ適用する必要があります。 この推奨事項を有効にするには、該当するスコープのセキュリティ ポリシーに移動し、対応するポリシーの [効果] パラメーターを更新して、カスタマー マネージド キーの使用を監査または適用します。 詳細については、「セキュリティ ポリシーの管理」を参照してください。 カスタマー マネージド キー (CMK) を使用して、Azure Machine Learning ワークスペース データの保存時の暗号化を管理します。 既定では、顧客データはサービス マネージド キーを使用して暗号化されますが、規制コンプライアンス標準を満たすためには一般に、CMK が必要です。 CMK を使用すると、自分が作成して所有する Azure Key Vault キーを使用してデータを暗号化できます。 ローテーションや管理など、キーのライフサイクルを完全に制御し、責任を負うことになります。 CMK 暗号化の詳細については、https://aka.ms/azureml-workspaces-cmk を参照してください。 (関連ポリシー: Azure Machine Learning ワークスペースは、カスタマー マネージド キー (CMK)) で暗号化する必要があります。
重大度: 低
Azure SQL Database は TLS バージョン 1.2 以降を実行している必要があります
説明: TLS バージョンを 1.2 以降に設定すると、TLS 1.2 以降を使用するクライアントからのみ Azure SQL Database にアクセスできるようにすることで、セキュリティが向上します。 1\.2 より前のバージョンの TLS は、セキュリティの脆弱性が詳しく文書化されているため、使用をお勧めしません。 (関連ポリシー: Azure SQL Database で TLS バージョン 1.2 以降が実行されている必要がある)。
重大度: 中
Azure SQL Managed Instance でパブリック ネットワーク アクセスを無効にする必要がある
説明: Azure SQL Managed Instances でパブリック ネットワーク アクセス (パブリック エンドポイント) を無効にすると、仮想ネットワーク内またはプライベート エンドポイント経由でのみアクセスできるようにすることで、セキュリティが向上します。 公衆ネットワーク アクセスの詳細をご覧ください。 (関連ポリシー: Azure SQL Managed Instance で公衆ネットワーク アクセスを無効にする必要がある)。
重大度: 中
Cosmos DB アカウントでプライベート リンクを使用する必要がある
説明: Azure Private Link を使用すると、ソースまたは宛先にパブリック IP アドレスを指定せずに、仮想ネットワークを Azure サービスに接続できます。 Private Link プラットフォームでは、Azure のバックボーン ネットワークを介してコンシューマーとサービスの間の接続が処理されます。 プライベート エンドポイントが Cosmos DB アカウントにマップされると、データ漏えいのリスクが軽減されます。 プライベート リンクの詳細をご覧ください。 (関連ポリシー: Cosmos DB アカウントでプライベート リンクを使用する必要がある)。
重大度: 中
(必要に応じて有効にする)MySQL サーバーでは、保存データを暗号化するためにカスタマー マネージド キーを使用する必要がある
説明: 保存データの暗号化にカスタマー マネージド キーを使用するための推奨事項は、既定では評価されませんが、該当するシナリオに対して有効にすることができます。 データはプラットフォーム マネージド キーを使用して自動的に暗号化されるため、カスタマー マネージド キーの使用は、コンプライアンスまたは制限の厳しいポリシーの要件によって義務付けられる場合にのみ適用する必要があります。 この推奨事項を有効にするには、該当するスコープのセキュリティ ポリシーに移動し、対応するポリシーの [効果] パラメーターを更新して、カスタマー マネージド キーの使用を監査または適用します。 詳細については、「セキュリティ ポリシーの管理」を参照してください。 カスタマー マネージド キーを使用して、MySQL サーバーの保存時の暗号化を管理します。 既定では、データはサービス マネージド キーを使用して保存時に暗号化されますが、規制コンプライアンス標準を満たすためには一般に、カスタマー マネージド キー (CMK) が必要です。 CMK を使用すると、自分が作成して所有する Azure Key Vault キーを使用してデータを暗号化できます。 ローテーションや管理など、キーのライフサイクルを完全に制御し、責任を負うことになります。 (関連ポリシー: MySQL サーバーに対して独自のキー データ保護を有効にする必要があります)。
重大度: 低
(必要に応じて有効にする)PostgreSQL サーバーでは、保存データを暗号化するためにカスタマー マネージド キーを使用する必要がある
説明: 保存データの暗号化にカスタマー マネージド キーを使用するための推奨事項は、既定では評価されませんが、該当するシナリオに対して有効にすることができます。 データはプラットフォーム マネージド キーを使用して自動的に暗号化されるため、カスタマー マネージド キーの使用は、コンプライアンスまたは制限の厳しいポリシーの要件によって義務付けられる場合にのみ適用する必要があります。 この推奨事項を有効にするには、該当するスコープのセキュリティ ポリシーに移動し、対応するポリシーの [効果] パラメーターを更新して、カスタマー マネージド キーの使用を監査または適用します。 詳細については、「セキュリティ ポリシーの管理」を参照してください。 カスタマー マネージド キーを使用して、PostgreSQL サーバーの保存時の暗号化を管理します。 既定では、データはサービス マネージド キーを使用して保存時に暗号化されますが、規制コンプライアンス標準を満たすためには一般に、カスタマー マネージド キー (CMK) が必要です。 CMK を使用すると、自分が作成して所有する Azure Key Vault キーを使用してデータを暗号化できます。 ローテーションや管理など、キーのライフサイクルを完全に制御し、責任を負うことになります。 (関連ポリシー: 独自のキー データ保護を PostgreSQL サーバーに対して有効にする必要があります)。
重大度: 低
(必要に応じて有効にする)SQL マネージド インスタンスでは、保存データを暗号化するためにカスタマー マネージド キーを使用する必要があります
説明: 保存データの暗号化にカスタマー マネージド キーを使用するための推奨事項は、既定では評価されませんが、該当するシナリオに対して有効にすることができます。 データはプラットフォーム マネージド キーを使用して自動的に暗号化されるため、カスタマー マネージド キーの使用は、コンプライアンスまたは制限の厳しいポリシーの要件によって義務付けられる場合にのみ適用する必要があります。 この推奨事項を有効にするには、該当するスコープのセキュリティ ポリシーに移動し、対応するポリシーの [効果] パラメーターを更新して、カスタマー マネージド キーの使用を監査または適用します。 詳細については、「セキュリティ ポリシーの管理」を参照してください。 独自キーを使用して Transparent Data Encryption (TDE) を実装すると、TDE 保護機能の透明性および制御が強化され、HSM で保護された外部サービスによるセキュリティが向上し、職務の分離が促進されます。 この推奨事項は、関連するコンプライアンス要件を持つ組織に適用されます。 (関連ポリシー: SQL マネージド インスタンスでは、カスタマー マネージド キーを使用して保存データを暗号化する必要があります)。
重大度: 低
(必要に応じて有効にする)SQL サーバーでは、保存データを暗号化するためにカスタマー マネージド キーを使用する必要がある
説明: 保存データの暗号化にカスタマー マネージド キーを使用するための推奨事項は、既定では評価されませんが、該当するシナリオに対して有効にすることができます。 データはプラットフォーム マネージド キーを使用して自動的に暗号化されるため、カスタマー マネージド キーの使用は、コンプライアンスまたは制限の厳しいポリシーの要件によって義務付けられる場合にのみ適用する必要があります。 この推奨事項を有効にするには、該当するスコープのセキュリティ ポリシーに移動し、対応するポリシーの [効果] パラメーターを更新して、カスタマー マネージド キーの使用を監査または適用します。 詳細については、「セキュリティ ポリシーの管理」を参照してください。 独自キーを使用して Transparent Data Encryption (TDE) を実装すると、TDE 保護機能の透明性および制御が強化され、HSM で保護された外部サービスによるセキュリティが向上し、職務の分離が促進されます。 この推奨事項は、関連するコンプライアンス要件を持つ組織に適用されます。 (関連ポリシー: SQL サーバーでは、カスタマー マネージド キーを使用して保存データを暗号化する必要があります)。
重大度: 低
(必要に応じて有効にする)ストレージ アカウントでは、暗号化にカスタマー マネージド キー (CMK) を使用する必要がある
説明: 保存データの暗号化にカスタマー マネージド キーを使用するための推奨事項は、既定では評価されませんが、該当するシナリオに対して有効にすることができます。 データはプラットフォーム マネージド キーを使用して自動的に暗号化されるため、カスタマー マネージド キーの使用は、コンプライアンスまたは制限の厳しいポリシーの要件によって義務付けられる場合にのみ適用する必要があります。 この推奨事項を有効にするには、該当するスコープのセキュリティ ポリシーに移動し、対応するポリシーの [効果] パラメーターを更新して、カスタマー マネージド キーの使用を監査または適用します。 詳細については、「セキュリティ ポリシーの管理」を参照してください。 カスタマー マネージド キー (CMK) を使用して、より柔軟にストレージ アカウントを保護します。 CMK を指定すると、データを暗号化するキーへのアクセスを保護および制御するために、そのキーが使用されます。 CMK を使用することで、主要な暗号化キーのローテーションを制御するか、暗号的にデータを消去することができます。 (関連ポリシー: ストレージ アカウントでは、暗号化にカスタマー マネージド キー (CMK) を使用する必要があります)。
重大度: 低
ストレージ アカウントのパブリック アクセスを禁止する必要がある
説明: Azure Storage のコンテナーと BLOB への匿名パブリック読み取りアクセスは、データを共有する便利な方法ですが、セキュリティ上のリスクが発生する可能性があります。 好ましくない匿名アクセスによるデータ侵害を防ぐために、Microsoft では、シナリオで必要でない限り、ストレージ アカウントへのパブリック アクセスを禁止することをお勧めします。
関連ポリシー: アカウントのパブリック アクセスを禁止する必要がある
重大度: 中
SQL マネージド インスタンスの Advanced Data Security 設定で、Advanced Threat Protection のすべての種類を有効にする必要がある
説明: SQL マネージド インスタンスで、すべての種類の Advanced Threat Protection を有効にすることをお勧めします。 すべての種類を有効にすると、SQL インジェクション、データベースの脆弱性、その他の異常なアクティビティから保護されます。 (関連ポリシーはありません)
重大度: 中
SQL Server の Advanced Data Security 設定では、Advanced Threat Protection のすべての種類を有効にする必要があります
説明: SQL サーバーで、すべての種類の Advanced Threat Protection を有効にすることをお勧めします。 すべての種類を有効にすると、SQL インジェクション、データベースの脆弱性、その他の異常なアクティビティから保護されます。 (関連ポリシーはありません)
重大度: 中
API Management サービスには仮想ネットワークが使用されている必要がある
説明: Azure Virtual Network のデプロイにより、セキュリティと分離が強化され、アクセスを制御するインターネットにルーティングできないネットワークに API Management サービスを配置できます。 これらのネットワークは、さまざまな VPN テクノロジを使用してオンプレミス ネットワークに接続できます。これにより、ネットワークやオンプレミス内のバックエンド サービスにアクセスできるようになります。 開発者ポータルと API ゲートウェイは、インターネットから、または仮想ネットワーク内でのみアクセスできるように構成可能です。 (関連ポリシー: API Management サービスでは、仮想ネットワーク) を使用する必要があります。
重大度: 中
App Configuration ではプライベート リンクを使用する必要がある
説明: Azure Private Link を使用すると、ソースまたは宛先にパブリック IP アドレスを指定せずに、仮想ネットワークを Azure サービスに接続できます。 プライベート リンク プラットフォームでは、Azure のバックボーン ネットワークを介してコンシューマーとサービスの間の接続が処理されます。 サービス全体ではなく、アプリ構成インスタンスにプライベート エンドポイントをマッピングすることで、データ漏えいのリスクからも保護されます。 詳細については、https://aka.ms/appconfig/private-endpoint を参照してください。 (関連ポリシー: App Configuration ではプライベート リンク) を使用する必要があります。
重大度: 中
SQL サーバーの監査のリテンション期間は少なくとも 90 日に設定する必要がある
説明: 監査保持期間が 90 日未満で構成された SQL サーバーを監査します。 (関連ポリシー:SQL サーバーでは、90 日以上の監査リテンション期間を構成する必要がある。)
重大度: 低
SQL Server の監査を有効にする必要があります
説明: SQL Server の監査を有効にして、サーバー上のすべてのデータベースのデータベース アクティビティを追跡し、監査ログに保存します。 (関連ポリシー: SQL Server での監査を有効にする必要があります)。
重大度: 低
自分のサブスクリプションで Log Analytics エージェントの自動プロビジョニングを有効にする必要がある
説明: セキュリティの脆弱性と脅威を監視するために、Microsoft Defender for Cloud は Azure 仮想マシンからデータを収集します。 データは、以前は Microsoft Monitoring Agent (MMA) と呼ばれていた Log Analytics エージェントによって収集されます。これがセキュリティ関連のさまざまな構成とイベント ログをマシンから読み取り、分析のためにデータを Log Analytics ワークスペースにコピーします。 自動プロビジョニングを有効にして、サポートされているすべての Azure VM と新しく作成された VM にこのエージェントを自動的にデプロイすることをお勧めします。 (関連ポリシー: サブスクリプションで Log Analytics エージェントの自動プロビジョニングを有効にする必要があります)。
重大度: 低
Azure Cache for Redis は仮想ネットワーク内に存在しなければならない
説明: Azure Virtual Network (VNet) のデプロイにより、Azure Cache for Redis のセキュリティと分離が強化され、サブネット、アクセス制御ポリシー、その他の機能が提供され、アクセスがさらに制限されます。 VNet を使用して Azure Cache for Redis インスタンスを構成する場合、パブリックにアドレスを指定することはできないため、VNet 内の仮想マシンとアプリケーションからしかアクセスできません。 (関連ポリシー: Azure Cache for Redis は、仮想ネットワーク内に存在する必要があります)。
重大度: 中
Azure Database for MySQL に対して Azure Active Directory の管理者をプロビジョニングする必要がある
説明: Azure AD 認証を有効にするために、Azure Database for MySQL の Azure AD 管理者をプロビジョニングします。 Azure AD 認証を使用すると、データベース ユーザーやその他のMicrosoft サービスのアクセス許可管理と一元化された ID 管理が可能になります (関連ポリシー: MySQL サーバー用に Azure Active Directory 管理者をプロビジョニングする必要があります)。
重大度: 中
Microsoft Azure Active Directory 管理者がプロビジョニングされている必要があるAzure Database for PostgreSQL
説明: Azure AD 認証を有効にするために、Azure Database for PostgreSQL の Azure AD 管理者をプロビジョニングします。 Azure AD 認証を使用して、アクセス許可の管理を簡単にし、データベース ユーザーとその他の Microsoft サービスの ID を一元管理できます
(関連ポリシー: Azure Active Directory 管理者は、PostgreSQL サーバー) にプロビジョニングする必要があります。
重大度: 中
Azure Database for PostgreSQL フレキシブル サーバーでは、Microsoft Entra 認証のみを有効化します
説明: ローカル認証方法を無効にし、Microsoft Entra 認証を要求すると、Azure Database for PostgreSQL フレキシブル サーバーに Microsoft Entra ID のみがアクセスできるようにすることでセキュリティが向上します (関連ポリシー: Azure PostgreSQL フレキシブル サーバーでは、Microsoft Entra Only Authentication が有効になっている必要があります)。
重大度: 中
Azure Cosmos DB のアカウントにはファイアウォール規則を含める必要がある
説明: 承認されていないソースからのトラフィックを防ぐために、Azure Cosmos DB アカウントにファイアウォール規則を定義する必要があります。 仮想ネットワーク フィルターを有効にして定義されている IP 規則が少なくとも 1 つあるアカウントは、準拠していると見なされます。 パブリック アクセスを無効にしているアカウントも、準拠していると見なされます。 (関連ポリシー: Azure Cosmos DB アカウントにはファイアウォール規則) が必要です。
重大度: 中
Azure Event Grid ドメインではプライベート リンクを使用する必要がある
説明: Azure Private Link を使用すると、ソースまたは宛先にパブリック IP アドレスを指定せずに、仮想ネットワークを Azure サービスに接続できます。 プライベート リンク プラットフォームでは、Azure のバックボーン ネットワークを介してコンシューマーとサービスの間の接続が処理されます。 サービス全体ではなく、Event Grid ドメインにプライベート エンドポイントをマッピングすることで、データ漏えいのリスクからも保護されます。 詳細については、https://aka.ms/privateendpoints を参照してください。 (関連ポリシー: Azure Event Grid ドメインでは、プライベート リンク) を使用する必要があります。
重大度: 中
Azure Event Grid トピックではプライベート リンクを使用する必要がある
説明: Azure Private Link を使用すると、ソースまたは宛先にパブリック IP アドレスを指定せずに、仮想ネットワークを Azure サービスに接続できます。 プライベート リンク プラットフォームでは、Azure のバックボーン ネットワークを介してコンシューマーとサービスの間の接続が処理されます。 サービス全体ではなく、トピックにプライベート エンドポイントをマッピングすることで、データ漏えいのリスクからも保護されます。 詳細については、https://aka.ms/privateendpoints を参照してください。 (関連ポリシー: Azure Event Grid のトピックでは、プライベート リンク) を使用する必要があります。
重大度: 中
Azure Machine Learning ワークスペースではプライベート リンクを使用する必要がある
説明: Azure Private Link を使用すると、ソースまたは宛先にパブリック IP アドレスを指定せずに、仮想ネットワークを Azure サービスに接続できます。 プライベート リンク プラットフォームでは、Azure のバックボーン ネットワークを介してコンシューマーとサービスの間の接続が処理されます。 サービス全体ではなく、Azure Machine Learning ワークスペースにプライベート エンドポイントをマッピングすることで、データ漏えいのリスクからも保護されます。 詳細については、https://aka.ms/azureml-workspaces-privatelink を参照してください。 (関連ポリシー: Azure Machine Learning ワークスペースでは、プライベート リンク) を使用する必要があります。
重大度: 中
Azure SignalR Service ではプライベート リンクを使用する必要がある
説明: Azure Private Link を使用すると、ソースまたは宛先にパブリック IP アドレスを指定せずに、仮想ネットワークを Azure サービスに接続できます。 プライベート リンク プラットフォームでは、Azure のバックボーン ネットワークを介してコンシューマーとサービスの間の接続が処理されます。 サービス全体ではなく、SignalR リソースにプライベート エンドポイントをマッピングすると、データ漏えいのリスクからも保護されます。 詳細については、https://aka.ms/asrs/privatelink を参照してください。 (関連ポリシー: Azure SignalR Service ではプライベート リンク) を使用する必要があります。
重大度: 中
Azure Spring Cloud でネットワークの挿入を使用する必要がある
説明: Azure Spring Cloud インスタンスでは、次の目的で仮想ネットワークインジェクションを使用する必要があります: 1。 Azure Spring Cloud をインターネットから分離する。 2. オンプレミスのデータ センター内のシステム、または他の仮想ネットワーク内の Azure サービスとの Azure Spring Cloud のやりとりを有効化する。 3. Azure Spring Cloud の送受信ネットワーク通信を制御するための権限を顧客に付与する。 (関連ポリシー: Azure Spring Cloud では、ネットワーク インジェクション) を使用する必要があります。
重大度: 中
SQL サーバーに対して Azure Active Directory の管理者をプロビジョニングする必要がある
説明: Azure AD 認証を有効にするために、SQL サーバーの Azure AD 管理者をプロビジョニングします。 Azure AD 認証を使用して、アクセス許可の管理を簡単にし、データベース ユーザーとその他の Microsoft サービスの ID を一元管理できます。 (関連ポリシー: Azure Active Directory 管理者は、SQL サーバー) にプロビジョニングする必要があります。
重大度: 高
Azure Synapse Analytics ワークスペースで Azure Active Directory 専用認証を有効にする必要がある
説明: Azure Synapse Workspace 認証モードは Azure Active Directory のみである必要があります。Azure Active Directory のみの認証方法では、Synapse ワークスペースで認証に Azure AD ID のみが必要であることが保証され、セキュリティが向上します。 詳細情報。 (関連ポリシー: Synapse ワークスペースでは、認証に Azure Active Directory ID のみを使用する必要があります)。
重大度: 中
コード リポジトリでコード スキャンの検出結果を解決する必要がある
説明: Defender for DevOps でコード リポジトリに脆弱性が見つかりました。 リポジトリのセキュリティ態勢を改善するために、これらの脆弱性を修復することを強くお勧めします。 (関連ポリシーはありません)
重大度: 中
コード リポジトリで Dependabot スキャンの検出結果を解決する必要がある
説明: Defender for DevOps でコード リポジトリに脆弱性が見つかりました。 リポジトリのセキュリティ態勢を改善するために、これらの脆弱性を修復することを強くお勧めします。 (関連ポリシーはありません)
重大度: 中
コード リポジトリでコードとしてのインフラストラクチャ スキャンの検出結果を解決する必要がある
説明: Defender for DevOps は、リポジトリのコード セキュリティ構成の問題としてインフラストラクチャを検出しました。 次に示す問題が、テンプレート ファイルで検出されました。 関連するクラウド リソースのセキュリティ態勢を改善するために、これらの問題を修復することを強くお勧めします。 (関連ポリシーはありません)
重大度: 中
コード リポジトリでシークレット スキャンの検出結果を解決する必要がある
説明: Defender for DevOps でコード リポジトリにシークレットが見つかりました。 セキュリティ侵害を防ぐために、ただちにこれを修復する必要があります。 リポジトリで検出されたシークレットは、漏洩する可能性や、敵対者が見つける可能性があり、それによってアプリケーションやサービスが侵害される可能性があります。 Azure DevOps では、Microsoft Security DevOps CredScan ツールによって、このツールが実行されるように構成されているビルドのみがスキャンされます。 そのため、リポジトリ内のシークレットの完全な状態が結果に反映されていない場合があります。 (関連ポリシーはありません)
重大度: 高
Cognitive Services アカウントでデータ暗号化を有効にする必要がある
説明: このポリシーは、データ暗号化を使用していない Cognitive Services アカウントを監査します。 ストレージを使用するアカウントごとに、カスタマー マネージド キーまたは Microsoft マネージド キーを使用したデータ暗号化を有効にする必要があります。 (関連ポリシー: Cognitive Services アカウントでは、データ暗号化) を有効にする必要があります。
重大度: 低
Cognitive Services アカウントで、顧客所有のストレージを使用するか、データ暗号化を有効にする必要がある
説明: このポリシーは、顧客所有のストレージやデータ暗号化を使用していない Cognitive Services アカウントを監査します。 ストレージがある Cognitive Services アカウントについてはそれぞれ、顧客所有のストレージを使用するか、データ暗号化を有効にします。 Microsoft クラウド セキュリティ ベンチマークに準拠します。 (関連ポリシー: Cognitive Services アカウントで、顧客所有のストレージを使用するか、データ暗号化を有効にする必要がある)
重大度: 低
Azure Data Lake Store の診断ログを有効にする必要があります
説明: ログを有効にし、最大 1 年間保持します。 これにより、セキュリティ インシデントが発生した場合やネットワークが侵害された場合に、調査目的でアクティビティ証跡を再作成できます。 (関連ポリシー: Azure Data Lake Store の診断ログを有効にする必要があります)。
重大度: 低
Data Lake Analytics の診断ログを有効にする必要があります
説明: ログを有効にし、最大 1 年間保持します。 これにより、セキュリティ インシデントが発生した場合やネットワークが侵害された場合に、調査目的でアクティビティ証跡を再作成できます。 (関連ポリシー: Data Lake Analytics の診断ログを有効にする必要があります)。
重大度: 低
重要度 - 高のアラートの電子メール通知を有効にする必要がある
説明: いずれかのサブスクリプションで潜在的なセキュリティ侵害が発生したときに組織内の関連するユーザーに通知されるようにするには、Defender for Cloud で重大度の高いアラートの電子メール通知を有効にします。 (関連ポリシー: 重大度の高いアラートの電子メール通知を有効にする必要があります)。
重大度: 低
サブスクリプション所有者に対する重要度 - 高のアラートの電子メール通知を有効にする必要がある
説明: サブスクリプションにセキュリティ侵害が発生した可能性がある場合にサブスクリプション所有者に通知されるようにするには、Defender for Cloud で重大度の高いアラートの電子メール通知をサブスクリプション所有者に設定します。 (関連ポリシー: 重大度の高いアラートのサブスクリプション所有者への電子メール通知を有効にする必要があります)。
重大度: 中
MySQL データベース サーバーでは [SSL 接続を強制する] が有効でなければならない
説明: Azure Database for MySQL では、Secure Sockets Layer (SSL) を使用したクライアント アプリケーションへの Azure Database for MySQL サーバーの接続がサポートされています。 お使いのデータベース サーバーとクライアント アプリケーション間に SSL 接続を強制すると、サーバーとお使いのアプリケーション間のデータ ストリームを暗号化することにより、中間者 (man in the middle) 攻撃から保護するのに役立ちます。 この構成では、データベース サーバーへのアクセスに対して SSL が常に有効にされます。 (関連ポリシー: MySQL データベース サーバーに対して SSL 接続を強制する必要があります)。
重大度: 中
PostgreSQL データベース サーバーでは [SSL 接続を強制する] が有効でなければならない
説明: Azure Database for PostgreSQL では、Secure Sockets Layer (SSL) を使用したクライアント アプリケーションへの Azure Database for PostgreSQL サーバーの接続がサポートされています。 お使いのデータベース サーバーとクライアント アプリケーション間に SSL 接続を強制すると、サーバーとお使いのアプリケーション間のデータ ストリームを暗号化することにより、中間者 (man in the middle) 攻撃から保護するのに役立ちます。 この構成では、データベース サーバーへのアクセスに対して SSL が常に有効にされます。 (関連ポリシー: PostgreSQL データベース サーバーに対して SSL 接続を強制する必要があります)。
重大度: 中
関数アプリでは、脆弱性の検出結果が解決されている必要がある
説明: 関数のランタイム脆弱性スキャンは、関数アプリでセキュリティの脆弱性をスキャンし、詳細な結果を公開します。 この脆弱性を解決することで、サーバーレス アプリケーションのセキュリティ体制が大幅に向上し、それらを攻撃から保護できます。 (関連ポリシーはありません)
重大度: 高
Azure Database for MariaDB の geo 冗長バックアップを有効にする必要がある
説明: Azure Database for MariaDB を使用すると、データベース サーバーの冗長性オプションを選択できます。 これを、geo 冗長バックアップ ストレージに設定できます。これに設定すると、データはサーバーがホストされているリージョン内に格納されるだけでなく、リージョンの障害が発生した場合に復旧オプションを提供するために、ペア リージョンにもレプリケートされます。 バックアップに対して geo 冗長ストレージを構成できるのは、サーバーの作成時だけです。 (関連ポリシー: Azure Database for MariaDB の geo 冗長バックアップ) を有効にする必要があります。
重大度: 低
Azure Database for MySQL の geo 冗長バックアップを有効にする必要がある
説明: Azure Database for MySQL を使用すると、データベース サーバーの冗長性オプションを選択できます。 これを、geo 冗長バックアップ ストレージに設定できます。これに設定すると、データはサーバーがホストされているリージョン内に格納されるだけでなく、リージョンの障害が発生した場合に復旧オプションを提供するために、ペア リージョンにもレプリケートされます。 バックアップに対して geo 冗長ストレージを構成できるのは、サーバーの作成時だけです。 (関連ポリシー: Azure Database for MySQL) に対して geo 冗長バックアップを有効にする必要があります。
重大度: 低
Azure Database for PostgreSQL の geo 冗長バックアップを有効にする必要がある
説明: Azure Database for PostgreSQL では、データベース サーバーの冗長性オプションを選択できます。 これを、geo 冗長バックアップ ストレージに設定できます。これに設定すると、データはサーバーがホストされているリージョン内に格納されるだけでなく、リージョンの障害が発生した場合に復旧オプションを提供するために、ペア リージョンにもレプリケートされます。 バックアップに対して geo 冗長ストレージを構成できるのは、サーバーの作成時だけです。 (関連ポリシー: Geo 冗長バックアップは、Azure Database for PostgreSQL) に対して有効にする必要があります。
重大度: 低
GitHub リポジトリでコード スキャンを有効にする必要がある
説明: GitHub では、コード スキャンを使用してコードを分析し、コード内のセキュリティの脆弱性とエラーを見つけます。 コード スキャンを使用すると、コード内の既存の問題を検出、トリアージして、その修正に優先度を付けることができます。 また、コード スキャンによって、開発者が新しい問題を混入するのを防ぐことができます。 特定の日時にスキャンを実行するようにスケジュールすることや、リポジトリで特定のイベント (プッシュなど) が発生した場合にスキャンをトリガーすることができます。 コード スキャンによって、コード内で潜在的な脆弱性やエラーが検出された場合、GitHub では、リポジトリにアラートが表示されます。 脆弱性とは、プロジェクトの秘密性、一貫性、または可用性を損なうために悪用される可能性のある、プロジェクトのコードの問題です。 (関連ポリシーはありません)
重大度: 中
GitHub リポジトリで Dependabot スキャンを有効にする必要がある
説明: GitHub は、リポジトリに影響するコード依存関係の脆弱性を検出すると、Dependabot アラートを送信します。 脆弱性とは、プロジェクトあるいはそのコードを利用する他のプロジェクトにおいて、秘密性、一貫性、可用性を損なうために悪用されうる、プロジェクトコードの問題です。 脆弱性の種類、重要度、攻撃の方法は様々です。 セキュリティの脆弱性があるパッケージにコードが依存している場合、この脆弱性のある依存関係が原因で、さまざまな問題が発生する可能性があります。 (関連ポリシーはありません)
重大度: 中
GitHub リポジトリでシークレット スキャンを有効にする必要がある
説明: GitHub は、リポジトリに誤ってコミットされたシークレットの不正使用を防ぐために、既知の種類のシークレットについてリポジトリをスキャンします。 シークレット スキャンでは、GitHub リポジトリ内に存在するすべてのブランチで Git 履歴全体がスキャンされ、シークレットが探されます。 シークレットの例として、サービス プロバイダーが認証のために発行する場合があるトークンと秘密キーがあります。 シークレットがリポジトリにチェックインされると、リポジトリへの読み取りアクセス権を持つすべてのユーザーは、そのシークレットを使用して、それらの権限で外部サービスにアクセスできます。 シークレットは、プロジェクトのリポジトリの外部にある専用の安全な場所に保存する必要があります。 (関連ポリシーはありません)
重大度: 高
Microsoft Defender for Azure SQL Database サーバーを有効にする必要があります
説明: Microsoft Defender for SQL は、高度な SQL セキュリティ機能を提供する統合パッケージです。 データベースの潜在的な脆弱性の検出と軽減、データベースへの脅威を示す可能性がある異常なアクティビティの検出、機密データの検出と分類を行う機能が含まれています。
このプランからの保護は、 Defender プラン ページに示されているように課金されます。 このサブスクリプションに Azure SQL Database サーバーがない場合、課金されることはありません。 後でこのサブスクリプションに Azure SQL Database サーバーを作成した場合は、自動的に保護され、課金が開始されます。 詳細については、リージョン別の価格の詳細を参照してください。
詳細については、「Microsoft Defender for SQL の概要」を参照してください。 (関連ポリシー: Azure Defender for Azure SQL Database サーバーを有効にする必要があります)。
重大度: 高
Microsoft Defender for DNSを有効にする必要があります
説明: Microsoft Defender for DNS は、Azure リソースからのすべての DNS クエリを継続的に監視することで、クラウド リソースに対する保護の追加レイヤーを提供します。 Defender for DNS では、DNS 層での不審なアクティビティについて警告します。 詳細については、「Microsoft Defender for DNS の概要」を参照してください。 この Defender プランを有効にすると、料金が発生します。 Defender for Cloud の価格に関するページで、リージョンごとの価格の詳細について説明します:クラウド価格の Defender。 (関連ポリシーはありません)
重大度: 高
Microsoft Defender for open-source relational databases を有効にする必要がある
説明: Microsoft Defender for オープンソース リレーショナル データベースは、データベースにアクセスしたりデータベースを悪用したりしようとする、通常とは異なる、害を及ぼす可能性のある試行を示す異常なアクティビティを検出します。 詳細については、「Microsoft Defender for open-source relational databases の概要」を参照してください。
このプランを有効にすると、オープンソースのリレーショナル データベースを保護するための料金が発生します。 このサブスクリプションにオープンソース リレーショナル データベースがない場合、料金は発生しません。 今後このサブスクリプションにオープンソース リレーショナル データベースを作成すると、それらは自動的に保護され、その時点で料金が発生します。 (関連ポリシーはありません)
重大度: 高
Microsoft Defender for Resource Managerを有効にする必要があります
説明: Microsoft Defender for Resource Manager は、組織内のリソース管理操作を自動的に監視します。 Defender for Cloud では、脅威を検出し、疑わしいアクティビティについて警告します。 詳細については、「Microsoft Defender for Resource Manager の概要」を参照してください。 この Defender プランを有効にすると、料金が発生します。 Defender for Cloud の価格に関するページで、リージョンごとの価格の詳細について説明します:クラウド価格の Defender。 (関連ポリシーはありません)
重大度: 高
Microsoft Defender for SQL on machines をワークスペース上で有効にする必要がある
説明: Microsoft Defender for servers は、Windows および Linux マシンの脅威検出と高度な防御を実現します。 ワークスペースではなくサブスクリプションでこの Defender プランを有効にすると、Microsoft Defender for servers の全機能に対する料金がかかりますが、一部のメリットが得られません。 ワークスペースで Microsoft Defender for servers を有効にすると、そのワークスペースに対して報告を行うすべてのマシンに対して Microsoft Defender for servers の料金が発生します (Defender プランを有効にしていないサブスクリプションであっても同様です)。 サブスクリプションで Microsoft Defender for servers も有効にしない限り、それらのマシンでは、Just-In-Time VM アクセス、適応型アプリケーション制御、Azure リソースのネットワーク検出を利用することができません。 詳細については、「Microsoft Defender for servers の概要」を参照してください。 (関連ポリシーはありません)
重大度: 中
マシン上の Microsoft Defender for SQL サーバーを有効にする必要があります
説明: Microsoft Defender for SQL は、高度な SQL セキュリティ機能を提供する統合パッケージです。 データベースの潜在的な脆弱性の検出と軽減、データベースへの脅威を示す可能性がある異常なアクティビティの検出、機密データの検出と分類を行う機能が含まれています。
この推奨事項の修復によって、マシン上の SQL サーバーを保護するための料金が発生します。 このサブスクリプションにマシン上の SQL サーバーがない場合、料金は発生しません。 今後このサブスクリプションにマシン上の SQL サーバーを作成すると、それらは自動的に保護され、その時点で料金が発生します。 詳細については、マシン上の Microsoft Defender for SQL サーバーに関する記事を参照してください。 (関連ポリシー: マシン上の Azure Defender for SQL サーバーを有効にする必要があります)。
重大度: 高
保護されていない Azure SQL サーバーに対して Microsoft Defender for SQLを有効にする必要があります
説明: Microsoft Defender for SQL は、高度な SQL セキュリティ機能を提供する統合パッケージです。 潜在的なデータベースの脆弱性を発見して軽減し、データベースに対する脅威となりうる異常なアクティビティを検出します。 Microsoft Defender for SQL は、リージョンごとの価格の詳細に記載されているとおりに請求されます。 (関連ポリシー: SQL サーバーで高度なデータ セキュリティを有効にする必要があります)。
重大度: 高
保護されていない SQL マネージド インスタンスに対して Microsoft Defender for SQL を有効にする必要がある
説明: Microsoft Defender for SQL は、高度な SQL セキュリティ機能を提供する統合パッケージです。 潜在的なデータベースの脆弱性を発見して軽減し、データベースに対する脅威となりうる異常なアクティビティを検出します。 Microsoft Defender for SQL は、リージョンごとの価格の詳細に記載されているとおりに請求されます。 (関連ポリシー: SQL Managed Instance ) で高度なデータ セキュリティを有効にする必要があります。
重大度: 高
Microsoft Defender for Storageを有効にする必要があります
説明: Microsoft Defender for Storage は、ストレージ アカウントにアクセスしたり、ストレージ アカウントを悪用したりしようとする、通常とは異なる害を及ぼす可能性のある試行を検出します。
このプランからの保護は、 Defender プラン ページに示されているように課金されます。 このサブスクリプションに Azure Storage アカウントがない場合、課金されることはありません。 後でこのサブスクリプションに Azure Storage アカウントを作成した場合は、自動的に保護され、課金が開始されます。 詳細については、リージョン別の価格の詳細を参照してください。 詳細については、「Microsoft Defender for Storage の概要」を参照してください。 (関連ポリシー: Azure Defender for Storage を有効にする必要があります)。
重大度: 高
Network Watcher を有効にする必要がある
説明: Network Watcher は、Azure との間のネットワーク シナリオ レベルで条件を監視および診断できるリージョン サービスです。 シナリオ レベルの監視により、エンドツーエンドのネットワーク レベル ビューで問題を診断できます。 Network Watcher に搭載されているネットワークの診断および監視ツールを使用して、Azure 内のネットワークを把握および診断し、洞察を得ることができます。 (関連ポリシー: Network Watcher を有効にする必要があります)。
重大度: 低
Azure SQL Database のプライベート エンドポイント接続を有効にする必要がある
説明: プライベート エンドポイント接続では、Azure SQL Database へのプライベート接続を有効にすることで、セキュリティで保護された通信が適用されます。 (関連ポリシー: Azure SQL Database でプライベート エンドポイント接続を有効にする必要があります)。
重大度: 中
MariaDB サーバーに対してプライベート エンドポイントを有効にする必要がある
説明: プライベート エンドポイント接続では、Azure Database for MariaDB へのプライベート接続を有効にすることで、セキュリティで保護された通信が適用されます。 既知のネットワークからのトラフィックへのアクセスを有効にし、Azure 内の IP アドレスも含めて他のすべての IP アドレスからのアクセスを防ぐために、プライベート エンドポイント接続を構成します。 (関連ポリシー: MariaDB サーバー) に対してプライベート エンドポイントを有効にする必要があります。
重大度: 中
MySQL サーバーに対してプライベート エンドポイントを有効にする必要がある
説明: プライベート エンドポイント接続では、Azure Database for MySQL へのプライベート接続を有効にすることで、セキュリティで保護された通信が適用されます。 既知のネットワークからのトラフィックへのアクセスを有効にし、Azure 内の IP アドレスも含めて他のすべての IP アドレスからのアクセスを防ぐために、プライベート エンドポイント接続を構成します。 (関連ポリシー: MySQL サーバー) に対してプライベート エンドポイントを有効にする必要があります。
重大度: 中
PostgreSQL サーバーに対してプライベート エンドポイントを有効にする必要がある
説明: プライベート エンドポイント接続では、Azure Database for PostgreSQL へのプライベート接続を有効にすることで、セキュリティで保護された通信が適用されます。 既知のネットワークからのトラフィックへのアクセスを有効にし、Azure 内の IP アドレスも含めて他のすべての IP アドレスからのアクセスを防ぐために、プライベート エンドポイント接続を構成します。 (関連ポリシー: PostgreSQL サーバー) に対してプライベート エンドポイントを有効にする必要があります。
重大度: 中
Azure SQL Database のパブリック ネットワーク アクセスを無効にする必要がある
説明: パブリック ネットワーク アクセス プロパティを無効にすると、Azure SQL Database にプライベート エンドポイントからのみアクセスできるようにすることで、セキュリティが向上します。 この構成により、IP または仮想ネットワーク ベースのファイアウォール規則に一致するすべてのログインが拒否されます。 (関連ポリシー: Azure SQL Database でのパブリック ネットワーク アクセスは無効にする必要があります)。
重大度: 中
Cognitive Services アカウントでは公衆ネットワーク アクセスを無効にする必要がある
説明: このポリシーは、パブリック ネットワーク アクセスが有効になっている環境内のすべての Cognitive Services アカウントを監査します。 プライベート エンドポイントからの接続のみが許可されるように、公衆ネットワーク アクセスを無効にする必要があります。 (関連ポリシー: Cognitive Services アカウントではパブリック ネットワーク アクセスを無効にする必要があります)。
重大度: 中
MariaDB サーバーでは、公衆ネットワーク アクセスを無効にする必要がある
説明: パブリック ネットワーク アクセス プロパティを無効にしてセキュリティを強化し、Azure Database for MariaDB にプライベート エンドポイントからのみアクセスできるようにします。 この構成は、Azure IP 範囲外のパブリック アドレス空間からのアクセスを厳密に無効にし、IP または仮想ネットワークベースのファイアウォール規則に一致するすべてのログインを拒否します。 (関連ポリシー: MariaDB サーバーではパブリック ネットワーク アクセスを無効にする必要があります)。
重大度: 中
MySQL サーバーでは、公衆ネットワーク アクセスを無効にする必要がある
説明: パブリック ネットワーク アクセス プロパティを無効にしてセキュリティを強化し、Azure Database for MySQL にプライベート エンドポイントからのみアクセスできるようにします。 この構成は、Azure IP 範囲外のパブリック アドレス空間からのアクセスを厳密に無効にし、IP または仮想ネットワークベースのファイアウォール規則に一致するすべてのログインを拒否します。 (関連ポリシー: MySQL サーバーではパブリック ネットワーク アクセスを無効にする必要があります)。
重大度: 中
PostgreSQL サーバーでは、公衆ネットワーク アクセスを無効にする必要がある
説明: パブリック ネットワーク アクセス プロパティを無効にしてセキュリティを強化し、Azure Database for PostgreSQL にプライベート エンドポイントからのみアクセスできるようにします。 この構成では、Azure IP 範囲外のパブリック アドレス空間からのアクセスが無効になり、IP または仮想ネットワークベースのファイアウォール規則に一致するすべてのログインが拒否されます。 (関連ポリシー: PostgreSQL サーバーではパブリック ネットワーク アクセスを無効にする必要があります)。
重大度: 中
Redis Cache で SSL 経由のアクセスのみを許可する必要がある
説明: SSL 経由の Redis Cache への接続のみを有効にします。 セキュリティで保護された接続を使用することにより、サーバーとサービス間の認証が確実に行われ、転送中のデータをネットワーク層の攻撃 (man-in-the-middle、傍受、セッション ハイジャックなど) から保護します。 (関連ポリシー: Azure Cache for Redis へのセキュリティで保護された接続のみを有効にする必要があります)。
重大度: 高
SQL データベースでは脆弱性の検出結果を解決する必要がある
説明: SQL 脆弱性評価では、データベースでセキュリティの脆弱性がスキャンされ、構成ミス、過剰なアクセス許可、保護されていない機密データなどのベスト プラクティスからの逸脱が公開されます。 見つかった脆弱性を解決すると、データベースのセキュリティ態勢が大幅に向上する可能性があります。 詳細情報 (関連ポリシー: SQL データベースの Vulnerabilities を修復する必要があります)。
重大度: 高
SQL マネージド インスタンスでは脆弱性評価を構成する必要がある
説明: 脆弱性評価は、データベースの潜在的な脆弱性を検出、追跡、修復するのに役立ちます。 (関連ポリシー: SQL Managed Instance) で脆弱性評価を有効にする必要があります。
重大度: 高
マシン上の SQL サーバーでは脆弱性の検出結果を解決する必要がある
説明: SQL 脆弱性評価では、データベースでセキュリティの脆弱性がスキャンされ、構成ミス、過剰なアクセス許可、保護されていない機密データなどのベスト プラクティスからの逸脱が公開されます。 見つかった脆弱性を解決すると、データベースのセキュリティ態勢が大幅に向上する可能性があります。 詳細情報 (関連ポリシー: コンピューター上の SQL サーバー上の Vlnerabilities を修復する必要があります)。
重大度: 高
SQL サーバーに対して Azure Active Directory の管理者をプロビジョニングする必要がある
説明: Azure AD 認証を有効にするために、SQL サーバーの Azure AD 管理者をプロビジョニングします。 Azure AD 認証を使用して、アクセス許可の管理を簡単にし、データベース ユーザーとその他の Microsoft サービスの ID を一元管理できます。 (関連ポリシー: Azure Active Directory 管理者は、SQL サーバー) にプロビジョニングする必要があります。
重大度: 高
SQL サーバーに脆弱性評価を構成する必要がある
説明: 脆弱性評価は、データベースの潜在的な脆弱性を検出、追跡、修復するのに役立ちます。 (関連ポリシー: SQL サーバーで脆弱性評価を有効にする必要があります)。
重大度: 高
ストレージ アカウントではプライベート リンク接続を使用する必要がある
説明: プライベート リンクは、ストレージ アカウントへのプライベート接続を提供することで、セキュリティで保護された通信を強制します (関連ポリシー: Storage アカウントではプライベート リンク接続を使用する必要があります)。
重大度: 中
ストレージ アカウントを新しい Azure Resource Manager リソースに移行する必要がある
説明: Azure Resource Manager の新機能を利用するために、クラシック デプロイ モデルから既存のデプロイを移行できます。 Resource Manager では、アクセス制御 (RBAC) の強化、監査の向上、ARM ベースのデプロイとガバナンス、マネージド ID へのアクセス、シークレットのキー コンテナーへのアクセス、Azure AD ベースの認証、セキュリティ管理を容易にするタグとリソース グループのサポートなどのセキュリティ強化が可能になります。 詳細情報 (関連ポリシー: Storage アカウントを新しい Azure Resource Manager リソースに移行する必要があります)。
重大度: 低
ストレージ アカウントでは、共有キーのアクセスを禁止する必要がある
説明: ストレージ アカウントの要求を承認するための Azure Active Directory (Azure AD) の監査要件。 既定では、Azure Active Directory の資格情報、または共有キーによる承認用のアカウント アクセス キーを使用して、要求を承認することができます。 これら 2 種類の承認のうち、Azure AD の方が共有キーよりもセキュリテに優れ、使いやすいため、Microsoft ではそちらをお勧めします。 (関連ポリシー: ポリシー)
重大度: 中
ストレージ アカウントは、仮想ネットワーク ルールを使用してネットワーク アクセスを制限する必要がある
説明: IP ベースのフィルター処理ではなく、推奨される方法として仮想ネットワーク ルールを使用して、ストレージ アカウントを潜在的な脅威から保護します。 IP ベースのフィルター処理を無効にすると、パブリック IP がストレージ アカウントにアクセスできなくなります。 (関連ポリシー: ストレージ アカウントでは、仮想ネットワーク 規則) を使用してネットワーク アクセスを制限する必要があります。
重大度: 中
サブスクリプションには、セキュリティの問題に備えて連絡先メール アドレスが用意されている必要がある
説明: いずれかのサブスクリプションで潜在的なセキュリティ侵害が発生したときに組織内の関連するユーザーに通知されるようにするには、Defender for Cloud から電子メール通知を受信するようにセキュリティ連絡先を設定します。 (関連ポリシー:サブスクリプションには、セキュリティの問題に備えて連絡先メール アドレスが用意されている必要がある)
重大度: 低
Transparent Data Encryption を SQL データベース上で有効にする必要がある
説明: 透過的なデータ暗号化を有効にして保存データを保護し、コンプライアンス要件を満たします (関連ポリシー: SQL データベースの Transparent Data Encryption を有効にする必要があります)。
重大度: 低
VM Image Builder テンプレートでは、プライベート リンクを使用する必要がある
説明: 仮想ネットワークが構成されていない VM イメージ ビルダー テンプレートを監査します。 仮想ネットワークが構成されていない場合は、代わりにパブリック IP が作成され、使用されます。これは、リソースをインターネットに直接公開し、潜在的な攻撃対象領域を増やす可能性があります。 (関連ポリシー: VM Image Builder テンプレートでは、プライベート リンク) を使用する必要があります。
重大度: 中
Application Gateway に対して Web アプリケーション ファイアウォール (WAF) を有効にする必要がある
説明: 一般向け Web アプリケーションの前に Azure Web アプリケーション ファイアウォール (WAF) をデプロイし、受信トラフィックの追加検査を行います。 Web Application Firewall (WAF) を使用すると、SQL インジェクション、クロスサイト スクリプティング、ローカルおよびリモートのファイル実行などの一般的な悪用や脆弱性から Web アプリケーションが一元的に保護されます。 また、カスタム ルールを使用して、国/リージョン、IP アドレス範囲、およびその他の HTTP(S) パラメーターによって Web アプリケーションへのアクセスを制限することもできます。 (関連ポリシー: Application Gateway) に対して Web アプリケーション ファイアウォール (WAF) を有効にする必要があります。
重大度: 低
Azure Front Door Service サービスに対して Web Application Firewall (WAF) を有効にする必要がある
説明: 一般向け Web アプリケーションの前に Azure Web アプリケーション ファイアウォール (WAF) をデプロイし、受信トラフィックの追加検査を行います。 Web Application Firewall (WAF) を使用すると、SQL インジェクション、クロスサイト スクリプティング、ローカルおよびリモートのファイル実行などの一般的な悪用や脆弱性から Web アプリケーションが一元的に保護されます。 また、カスタム ルールを使用して、国/リージョン、IP アドレス範囲、およびその他の HTTP(S) パラメーターによって Web アプリケーションへのアクセスを制限することもできます。 (関連ポリシー:Azure Front Door Service? サービスに対して Web Application Firewall (WAF) を有効にする必要がある)
重大度: 低
AWS データに関する推奨事項
Amazon Aurora クラスターでは、バックトラックを有効にする必要がある
説明: このコントロールは、Amazon Aurora クラスターでバックトラッキングが有効になっているかどうかを確認します。 バックアップを使用すると、セキュリティ インシデントからの迅速な復旧が可能になります。 また、システムの回復性も強化されます。 バックトラックにより、ある時点までのデータベースの復旧にかかる時間が短縮されます。 これを行うために、データベースを復元する必要はありません。 Aurora でのバックトラックの詳細については、Amazon Aurora ユーザー ガイドの「Backtracking an Aurora DB cluster」 (Aurora DB クラスターのバックトラック) を参照してください。
重大度: 中
Amazon EBS スナップショットは、パブリックに復元しないようにする必要がある
説明: Amazon EBS スナップショットは、データが偶発的に公開されないように、明示的に許可されていない限り、すべてのユーザーがパブリックに復元することはできません。 さらに、Amazon EBS 構成を変更するためのアクセス許可は、承認された AWS アカウントのみへの付与に制限される必要があります。
重大度: 高
Amazon ECS のタスク定義には、セキュリティで保護されたネットワーク モードとユーザー定義が必要である
説明: このコントロールは、ホストネットワークモードを持つアクティブな Amazon ECS タスク定義にも特権またはユーザーコンテナ定義があるかどうかをチェックします。 このコントロールは、タスク定義にホスト ネットワーク モードが指定されており、コンテナー定義で privileged が false または空で、user が root または空である場合に失敗します。 タスク定義に昇格された特権がある場合は、お客様がその構成を明示的にオプトインしたためです。 このコントロールは、タスク定義でホスト ネットワークが有効になっていても、お客様が昇格された特権を選択しなかった場合に、予期しない特権のエスカレーションをチェックします。
重大度: 高
Amazon Elasticsearch Service ドメインでは、ノード間で送信されるデータを暗号化する必要がある
説明: このコントロールは、Amazon ES ドメインでノード間暗号化が有効になっているかどうかを確認します。 HTTPS (TLS) を使用すると、潜在的な攻撃者が中間者または同様の攻撃を使用してネットワーク トラフィックを盗聴または操作しないように防ぐことができます。 HTTPS (TLS) 経由の暗号化された接続のみが許可されるようにする必要があります。 Amazon ES ドメインに対してノード間の暗号化を有効にすると、クラスター内通信が転送中に暗号化されます。 この構成に関連付けられるパフォーマンス低下が発生する可能性があります。 このオプションを有効にする前に、パフォーマンスのトレードオフについて認識したうえで、テストを行う必要があります。
重大度: 中
Amazon Elasticsearch Service ドメインでは、保存時の暗号化を有効にする必要がある
説明: Amazon ES ドメインの残りの部分の暗号化を有効にして機密データを保護することが重要です
重大度: 中
Amazon RDS データベースはカスタマー マネージド キーを使って暗号化する必要がある
説明: このチェックでは、カスタマー マネージド キーではなく、既定の KMS キーで暗号化された RDS データベースが識別されます。 主要なプラクティスとして、カスタマー マネージド キーを使って RDS データベースのデータを暗号化し、キーと機密性の高いワークロードのデータの制御を維持してください。
重大度: 中
自動バックアップ設定を使って Amazon RDS インスタンスを構成する必要がある
説明: このチェックでは、自動バックアップ設定では設定されていない RDS インスタンスが識別されます。 自動バックアップが設定されている場合、RDS により、DB インスタンスのストレージ ボリュームのスナップショットを作成し、個々のデータベースだけでなく DB インスタンス全体をバックアップすることができます。これにより、特定の時点に復旧できます。 自動バックアップは、指定されたバックアップ期間中に行われ、保有期間に定義されている限られた期間、バックアップが保持されます。 データ復元プロセスに役立つ重要な RDS サーバーの自動バックアップを設定することをお勧めします。
重大度: 中
Amazon Redshift クラスターでは、監査ログを有効にする必要がある
説明: このコントロールは、Amazon Redshift クラスターで監査ログが有効になっているかどうかを確認します。 Amazon Redshift の監査ログによって、クラスター内の接続およびユーザー アクティビティに関する追加情報が提供されます。 このデータは、Amazon S3 に格納してセキュリティで保護することができるとともに、セキュリティ監査と調査にも役立ちます。 詳細については、"Amazon Redshift クラスター管理ガイド" の「Database audit logging」 (データベース監査ログ作成) を参照してください。
重大度: 中
Amazon Redshift クラスターでは、自動スナップショットを有効にする必要がある
説明: このコントロールは、Amazon Redshift クラスターで自動スナップショットが有効になっているかどうかを確認します。 また、スナップショットのリテンション期間が 7 日間以上あるかどうかについてもチェックできます。 バックアップを使用すると、セキュリティ インシデントからの迅速な復旧が可能になります。 また、システムの回復性が強化されます。 Amazon Redshift によって、定期的なスナップショットの取得が既定で行われます。 このコントロールを使用すると、自動スナップショットが有効となっており、7 日間以上保持されているかどうかをチェックできます。 Amazon Redshift の自動スナップショットの詳細については、「 Amazon Redshift クラスター管理ガイドAutomated スナップショットを参照してください。
重大度: 中
Amazon Redshift クラスターでは、パブリック アクセスを禁止する必要がある
説明: クラスター構成項目の 'publicAccessible' フィールドを評価して、パブリック アクセシビリティを回避するために Amazon Redshift クラスターをお勧めします。
重大度: 高
Amazon Redshift では、メジャー バージョンへの自動アップグレードを有効にする必要がある
説明: このコントロールは、Amazon Redshift クラスターでメジャー バージョンの自動アップグレードが有効になっているかどうかを確認します。 メジャー バージョンの自動アップグレードを有効にすると、Amazon Redshift クラスターのメジャー バージョンの最新の更新プログラムが、メンテナンス期間中にインストールされます。 これらの更新プログラムには、セキュリティ パッチやバグ修正が含まれている場合があります。 パッチをインストールして、最新の状態を維持することは、システムをセキュリティで保護するための重要な手順です。
重大度: 中
Amazon SQS のキューは、保存時に暗号化する必要がある
説明: このコントロールは、Amazon SQS キューが保存時に暗号化されているかどうかを確認します。 サーバー側暗号化 (SSE) を使用すると、暗号化されたキューに機密データを送信できます。 キュー内のメッセージの内容を保護するには、AWS KMS で管理されているキーを SSE で使用します。 詳細については、Amazon Simple Queue Service 開発者ガイドの「Encryption at rest」 (保管時の暗号化) を参照してください。
重大度: 中
RDS イベント通知サブスクリプションは、重要なクラスター イベントに対して構成する必要がある
説明: このコントロールは、次のソースの種類に対して通知が有効になっている Amazon RDS イベント サブスクリプションが存在するかどうかを確認します: イベント カテゴリのキーと値のペア。 DBCluster: [メンテナンスと障害]。 RDS イベント通知では、Amazon SNS を使用して、RDS リソースの可用性または構成の変更をユーザーに知らせます。 これらの通知により、迅速な応答が可能になります。 RDS イベント通知の詳細については、Amazon RDS ユーザー ガイドの「Using Amazon RDS event notification」 (Amazon RDS イベント通知の使用) を参照してください。
重大度: 低
RDS イベント通知サブスクリプションは、重要なデータベース インスタンス イベントに対して構成する必要がある
説明: このコントロールは、次のソースタイプの通知が有効になっている Amazon RDS イベントサブスクリプションが存在するかどうかをチェックします: イベントカテゴリのキーと値のペア。 DBInstance
: [メンテナンス、構成の変更、および失敗]。
RDS イベント通知では、Amazon SNS を使用して、RDS リソースの可用性または構成の変更をユーザーに知らせます。 これらの通知により、迅速な応答が可能になります。
RDS イベント通知の詳細については、Amazon RDS ユーザー ガイドの「Using Amazon RDS event notification」 (Amazon RDS イベント通知の使用) を参照してください。
重大度: 低
RDS イベント通知サブスクリプションは、重要なデータベース パラメーター グループ イベントに対して構成する必要がある
説明: このコントロールは、次のソースタイプの通知が有効になっている Amazon RDS イベントサブスクリプションが存在するかどうかをチェックします: イベントカテゴリのキーと値のペア。 DBParameterGroup: ["configuration","change"]。 RDS イベント通知では、Amazon SNS を使用して、RDS リソースの可用性または構成の変更をユーザーに知らせます。 これらの通知により、迅速な応答が可能になります。 RDS イベント通知の詳細については、Amazon RDS ユーザー ガイドの「Using Amazon RDS event notification」 (Amazon RDS イベント通知の使用) を参照してください。
重大度: 低
RDS イベント通知サブスクリプションは、重要なデータベース セキュリティ グループ イベントに対して構成する必要がある
説明: このコントロールは、次のソースタイプの通知が有効になっている Amazon RDS イベントサブスクリプションが存在するかどうかをチェックします: イベントカテゴリのキーと値のペア。DBSecurityGroup: [構成、変更、失敗]。 RDS イベント通知では、Amazon SNS を使用して、RDS リソースの可用性または構成の変更をユーザーに知らせます。 これらの通知により、迅速な応答が可能になります。 RDS イベント通知の詳細については、Amazon RDS ユーザー ガイドの「Using Amazon RDS event notification」 (Amazon RDS イベント通知の使用) を参照してください。
重大度: 低
API Gateway REST および WebSocket API では、ログ記録を有効にする必要がある
説明: このコントロールは、Amazon API Gateway REST または WebSocket API のすべてのステージでログ記録が有効になっているかどうかを確認します。 このコントロールは、ログ記録がステージのすべてのメソッドに対して有効になっていない場合、またはログ レベルが ERROR または INFO のどちらでもない場合に失敗します。 API Gateway REST または WebSocket API ステージでは、関連するログを有効にする必要があります。 API Gateway REST および WebSocket API の実行ログによって、API Gateway REST および WebSocket API ステージに対して行われた要求が詳細に記録されます。 これらのステージには、API 統合バックエンドの応答、Lambda 承認者の応答、AWS 統合エンドポイントの requestId が含まれます。
重大度: 中
API Gateway REST API のキャッシュ データは、保存時に暗号化する必要がある
説明: このコントロールは、キャッシュが有効になっている API Gateway REST API ステージ内のすべてのメソッドが暗号化されているかどうかを確認します。 このコントロールは、API Gateway REST API ステージ内のいずれかのメソッドが、キャッシュするように構成されており、キャッシュが暗号化されていない場合に失敗します。 保存データを暗号化すると、AWS で認証されていないユーザーがアクセスしているディスクにデータが格納されるリスクが軽減されます。 これにより、アクセス制御がさらに追加され、未承認ユーザーによるデータへのアクセスが制限されます。 たとえば、データの暗号化を解除して読み取り可能にするには、API のアクセス許可が必要となります。 セキュリティ層を追加するには、API Gateway REST API による保存時の暗号化が必要です。
重大度: 中
バックエンド認証に SSL 証明書を使用するように API Gateway REST API ステージを構成する必要がある
説明: このコントロールは、Amazon API Gateway REST API ステージに SSL 証明書が構成されているかどうかを確認します。 受信要求が API Gateway からのものであることを認証するために、バックエンド システムによって、これらの証明書が使用されます。 要求が API Gateway から送信されていることをバックエンド システムを使用して認証するには、API Gateway REST API ステージに SSL 証明書を構成する必要があります。
重大度: 中
API Gateway REST API ステージでは、AWS X-Ray トレースを有効にする必要がある
説明: このコントロールは、Amazon API Gateway REST API ステージで AWS X-Ray アクティブ トレースが有効になっているかどうかを確認します。 X-Ray アクティブ トレースにより、基になるインフラストラクチャでのパフォーマンスの変化に迅速に対応できます。 パフォーマンスの変化は、API の可用性を低下させる可能性があります。 X-Ray アクティブ トレースによって、API Gateway REST API 操作と接続済みサービスを経由して送信されるユーザー要求のリアルタイム メトリクスが指定されます。
重大度: 低
API Gateway は、AWS WAF ウェブ ACL に関連付けられる必要がある
説明: このコントロールは、API Gateway ステージが AWS WAF Web アクセス制御リスト (ACL) を使用しているかどうかを確認します。 このコントロールは、AWS WAF ウェブ ACL が REST API Gateway ステージにアタッチされていない場合に失敗します。 AWS WAF は、Web アプリケーションと API を攻撃から保護するのに役立つ Web アプリケーションです。 これにより、カスタマイズ可能な Web セキュリティ規則および定義する条件に基づき、Web 要求を許可、ブロック、またはカウントする一連の規則である ACL を構成することができます。 悪意のある攻撃から保護するために、API Gateway ステージが AWS WAF ウェブ ACL に関連付けられていることを確認します。
重大度: 中
Application Load Balancer と Classic Load Balancer では、ログ記録を有効にする必要がある
説明: このコントロールは、アプリケーション ロード バランサーとクラシック ロード バランサーでログ記録が有効になっているかどうかを確認します。 access_logs.s3.enabled
が false の場合、コントロールは失敗します。
Elastic Load Balancing によって、ロード バランサーに送信された要求に関する詳細情報をキャプチャするアクセス ログが提供されます。 各ログには、要求を受信した時間、クライアントの IP アドレス、待機時間、要求パス、サーバー応答などの情報が含まれます。 アクセス ログを使用して、トラフィック パターンを分析し、問題のトラブルシューティングを行うことができます。
詳細については、Classic Load Balancer のユーザー ガイドの「Access logs for your Classic Load Balancer」 (Classic Load Balancer のアクセス ログ) を参照してください。
重大度: 中
アタッチされた EBS ボリュームは、保存時に暗号化する必要がある
説明: このコントロールは、アタッチされた状態の EBS ボリュームが暗号化されているかどうかを確認します。 このチェックに合格するには、EBS ボリュームは使用中かつ暗号化済みである必要があります。 EBS ボリュームがアタッチされていない場合は、このチェックの対象とはなりません。 EBS ボリューム内の機密データに追加されたセキュリティ層に対しては、保存時の EBS 暗号化を有効にする必要があります。 Amazon EBS 暗号化は、独自のキー管理インフラストラクチャの構築、保守、セキュリティ保護を必要としない EBS リソースに対して、単純な暗号化ソリューションを提供します。 ここでは、暗号化されたボリュームやスナップショットを作成するときに、AWS KMS のカスタマー マスター キー (CMK) が使用されます。 Amazon EBS 暗号化の詳細については、Linux インスタンス用 Amazon EC2 ユーザー ガイドの「Amazon EBS encryption」 (Amazon EBS 暗号化) を参照してください。
重大度: 中
AWS Database Migration Service レプリケーション インスタンスは、パブリックにしないようにする必要がある
説明: レプリケートされたインスタンスを脅威から保護するため。 プライベート レプリケーション インスタンスには、レプリケーション ネットワークの外部からはアクセスできないプライベート IP アドレスが必要です。 ソース データベースとターゲット データベースが同じネットワーク内に存在しており、ネットワークが VPN、AWS Direct Connect、または VPC ピアリングを使用してレプリケーション インスタンスの VPC に接続されている場合、レプリケーション インスタンスにはプライベート IP アドレスが必要です。 また、AWS DMS インスタンスの構成へのアクセスを、承認されたユーザーに限定する必要があります。 これを行うには、ユーザーの IAM アクセス許可を制限して、AWS DMS の設定とリソースを変更します。
重大度: 高
Classic Load Balancer リスナーには、HTTPS または TLS 終端が構成されている必要がある
説明: このコントロールは、クラシック ロード バランサー リスナーがフロントエンド (クライアントからロード バランサー) への接続用に HTTPS または TLS プロトコルで構成されているかどうかを確認します。 このコントロールは、Classic Load Balancer にリスナーが存在する場合に適用可能です。 Classic Load Balancer にリスナーが構成されていない場合は、このコントロールによって結果が報告されることはありません。 このコントロールは、フロントエンド接続に対して、Classic Load Balancer リスナーに TLS または HTTPS が構成されている場合に合格します。 このコントロールは、フロントエンド接続に対して、リスナーに TLS または HTTPS が構成されていない場合に失敗します。 ロード バランサーの使用を開始する前に、1 つ以上のリスナーを追加しておく必要があります。 リスナーは、構成されたプロトコルとポートを使用して接続要求をチェックするプロセスです。 リスナーは、HTTP プロトコルと HTTPS/TLS プロトコルのどちらもサポートできます。 ロード バランサーによって、転送中の暗号化と暗号化解除の処理が実行されるようにするには、HTTPS または TLS リスナーを常に使用する必要があります。
重大度: 中
Classic Load Balancers では、接続ドレインを有効にする必要がある
説明: このコントロールは、クラシック ロード バランサーで接続ドレインが有効になっているかどうかを確認します。 クラシック ロード バランサーで接続ドレインを有効にすると、登録解除または異常なインスタンスへの要求の送信がロード バランサーによって停止されます。 これにより、既存の接続は開いたままとなります。 自動スケーリング グループのインスタンスの場合、接続が突然切断されないようにするには、これが便利です。
重大度: 中
CloudFront ディストリビューションでは、AWS WAF を有効にする必要がある
説明: このコントロールは、CloudFront ディストリビューションが AWS WAF または AWS WAFv2 Web ACL に関連付けられているかどうかを確認します。 このコントロールは、ディストリビューションがウェブ ACL に関連付けられていない場合に失敗します。 AWS WAF は、Web アプリケーションと API を攻撃から保護するのに役立つ Web アプリケーションです。 これにより、カスタマイズ可能な Web セキュリティ規則および定義する条件に基づき、Web 要求を許可、ブロック、またはカウントする、ウェブ アクセス コントロール リスト (ウェブ ACL) と呼ばれる一連の規則を構成することができます。 悪意のある攻撃から保護するために、CloudFront ディストリビューションが AWS WAF ウェブ ACL に関連付けられていることを確認します。
重大度: 中
CloudFront ディストリビューションでは、ログ記録を有効にする必要がある
説明: このコントロールは、CloudFront ディストリビューションでサーバー アクセス ログが有効になっているかどうかを確認します。 このコントロールは、ディストリビューションに対してアクセス ログ記録が有効になっていない場合に失敗します。 CloudFront アクセス ログは、CloudFront が受け取るすべてのユーザー要求に関する詳細情報を提供します。 各ログには、閲覧者からの要求の受信日時、要求を行った閲覧者の IP アドレス、要求のソース、要求のポート番号などの情報が含まれます。 これらのログは、セキュリティやアクセスの監査や、分析調査などの適用に役立ちます。 アクセス ログを分析する方法の詳細については、Amazon Athena ユーザー ガイドの Amazon CloudFront ログのクエリを参照してください。
重大度: 中
CloudFront ディストリビューションでは、転送中の暗号化が必要である
説明: このコントロールは、Amazon CloudFront ディストリビューションでビューアーが HTTPS を直接使用する必要があるかどうか、またはリダイレクトを使用しているかどうかを確認します。 このコントロールは、ViewerProtocolPolicy が defaultCacheBehavior または cacheBehaviors に対して allow-all に設定されている場合に失敗します。 HTTPS (TLS) を使用すると、潜在的な攻撃者が中間者または同様の攻撃を使用してネットワーク トラフィックを盗聴または操作しないように防ぐことができます。 HTTPS (TLS) 経由の暗号化された接続のみが許可されるようにする必要があります。 転送中のデータを暗号化すると、パフォーマンスに影響する可能性があります。 パフォーマンス プロファイルと TLS の影響を把握するには、この機能を使用して、アプリケーションをテストする必要があります。
重大度: 中
CloudTrail ログは、KMS CMK を使用して、保存時に暗号化する必要がある
説明: SSE-KMS を使用するように CloudTrail を構成することをお勧めします。 SSE-KMS を使用するように CloudTrail を構成すると、特定のユーザーが、対応するログ バケットに対する S3 読み取りアクセス許可を持ち、CMK ポリシーから暗号化解除アクセス許可が付与される必要がある場合に、ログ データの機密性がさらに制御されます。
重大度: 中
Amazon Redshift クラスターへの接続は、転送中に暗号化する必要がある
説明: このコントロールは、転送中に暗号化を使用するために Amazon Redshift クラスターへの接続が必要かどうかを確認します。 Amazon Redshift クラスターパラメーター require_SSLが 1 に設定されていない場合、チェックは失敗します。 TLS を使用すると、潜在的な攻撃者が中間者または同様の攻撃を使用してネットワーク トラフィックを盗聴または操作しないように防ぐことができます。 TLS 経由の暗号化された接続のみが許可されるようにする必要があります。 転送中のデータを暗号化すると、パフォーマンスに影響する可能性があります。 パフォーマンス プロファイルと TLS の影響を把握するには、この機能を使用して、アプリケーションをテストする必要があります。
重大度: 中
Elasticsearch ドメインへの接続は、TLS 1.2 を使用して暗号化する必要がある
説明: このコントロールは、TLS 1.2 を使用するために Elasticsearch ドメインへの接続が必要かどうかを確認します。 このコントロールは、Elasticsearch ドメイン TLSSecurityPolicy が Policy-Min-TLS-1-2-2019-07 ではない場合に失敗します。 HTTPS (TLS) を使用すると、潜在的な攻撃者が中間者または同様の攻撃を使用してネットワーク トラフィックを盗聴または操作しないように防ぐことができます。 HTTPS (TLS) 経由の暗号化された接続のみが許可されるようにする必要があります。 転送中のデータを暗号化すると、パフォーマンスに影響する可能性があります。 パフォーマンス プロファイルと TLS の影響を把握するには、この機能を使用して、アプリケーションをテストする必要があります。 TLS 1.2 では、以前のバージョンの TLS に対して、いくつかのセキュリティ強化が実施されています。
重大度: 中
DynamoDB テーブルでは、ポイントインタイム リカバリを有効にする必要がある
説明: このコントロールは、Amazon DynamoDB テーブルに対してポイントインタイム リカバリー (PITR) が有効になっているかどうかを確認します。 バックアップを使用すると、セキュリティ インシデントからの迅速な復旧が可能になります。 また、システムの回復性も強化されます。 DynamoDB のポイントインタイム リカバリによって、DynamoDB テーブルのバックアップが自動化されます。 これにより、誤って削除や書き込みの操作を行ってしまった場合の復旧時間が短縮されます。 PITR が有効になっている DynamoDB テーブルは、過去 35 日間の任意の時点に復元できます。
重大度: 中
EBS の既定の暗号化は、有効にする必要がある
説明: このコントロールは、Amazon Elastic Block Store (Amazon EBS) に対してアカウントレベルの暗号化が既定で有効になっているかどうかを確認します。 このコントロールは、アカウント レベルの暗号化が有効になっていない場合に失敗します。 アカウントに対して暗号化が有効になっている場合、Amazon EBS ボリュームとスナップショットのコピーは、保存時に暗号化されます。 これにより、データの保護レイヤーが追加されます。 詳細については、Linux インスタンス用 Amazon EC2 ユーザー ガイドの「Encryption by default」 (デフォルトでの暗号化) を参照してください。
次のインスタンスの種類は、暗号化をサポートしていません: R1、C1、および M1。
重大度: 中
Elastic Beanstalk 環境では、拡張ヘルス レポートを有効にする必要がある
説明: このコントロールは、AWS Elastic Beanstalk 環境で拡張正常性レポートが有効になっているかどうかを確認します。 Elastic Beantalk の拡張ヘルス レポートを使用すると、基になるインフラストラクチャの正常性の変化に対して、より迅速に対応することができます。 これらの変化は、アプリケーションの可用性を低下させる可能性があります。 Elastic Beantalk の拡張ヘルス レポートによって、特定された問題の重大度が測定され、可能性のある原因を特定して調査するための状態記述子が特定されます。 サポートされている Amazon Machine Images (AMIs) に含まれる Elastic Beantalk ヘルス エージェントによって、環境 EC2 インスタンスのログとメトリクスが評価されます。
重大度: 低
Elastic Beanstalk マネージド プラットフォームの更新プログラムは、有効にする必要がある
説明: このコントロールは、Elastic Beanstalk 環境でマネージド プラットフォームの更新が有効になっているかどうかを確認します。 マネージド プラットフォームの更新プログラムを有効にすると、その環境で利用可能な最新のプラットフォーム修正プログラム、更新プログラム、および機能が確実にインストールされます。 パッチをインストールして、最新の状態を維持することは、システムをセキュリティで保護するための重要な手順です。
重大度: 高
Elastic Load Balancer に有効期限が切れた、または 90 日以内に有効期限が切れる ACM 証明書があってはならない。
説明: このチェックでは、ACM 証明書を使用している Elastic Load Balancer (ELB) が 90 日以内に期限切れまたは期限切れであることを示します。 AWS Certificate Manager (ACM) は、サーバー証明書のプロビジョニング、管理、デプロイに適したツールです。 ACM を使用します。 証明書を要求するか、既存の ACM または外部証明書を AWS リソースにデプロイできます。 ベスト プラクティスとして、元の証明書の ELB の関連付けを維持しながら、期限切れになる、または期限切れになった証明書を再インポートすることをお勧めします。
重大度: 高
Elasticsearch ドメイン エラーの CloudWatch Logs へのログ記録は、有効にする必要がある
説明: このコントロールは、エラー ログを CloudWatch ログに送信するように Elasticsearch ドメインが構成されているかどうかを確認します。 Elasticsearch ドメインのエラー ログを有効にし、保持と応答を目的に、それらのログを CloudWatch Logs に送信する必要があります。 ドメイン エラー ログは、セキュリティとアクセスの監査に役立ち、可用性の問題を診断するのに便利です。
重大度: 中
Elasticsearch ドメインには、3 つ以上の専用マスター ノードが構成されている必要がある
説明: このコントロールは、Elasticsearch ドメインが少なくとも 3 つの専用マスター ノードで構成されているかどうかを確認します。 このコントロールは、ドメインに専用マスター ノードが使用されていない場合に失敗します。 このコントロールは、Elasticsearch ドメインに 5 つの専用マスター ノードがある場合に成功します。 ただし、可用性リスクを軽減するために 3 つを超えるマスター ノードを使用する必要はなく、使用する場合には追加コストが発生します。 高可用性とフォールト トレランスを実現するには、Elasticsearch ドメインに 3 つ以上の専用マスター ノードが必要です。 管理対象となるノードが増えるため、データ ノードの Blue/Green デプロイ中は、専用マスター ノード リソースに負荷がかかる可能性があります。 3 つ以上の専用マスター ノードを含む Elasticsearch ドメインをデプロイすると、ノードで障害が発生した場合に、十分なマスター ノード リソース容量とクラスター操作が保証されます。
重大度: 中
Elasticsearch ドメインには、3 つ以上のデータ ノードが必要である
説明: このコントロールは、Elasticsearch ドメインが少なくとも 3 つのデータ ノードで構成され、zoneAwarenessEnabled が true であるかどうかを確認します。 高可用性とフォールト トレランスを実現するには、Elasticsearch ドメインに 3 つ以上のデータ ノードが必要です。 3 つ以上のデータ ノードを含む Elasticsearch ドメインをデプロイすると、ノードで障害が発生した場合に、クラスター操作が保証されます。
重大度: 中
Elasticsearch ドメインでは、監査ログ記録を有効にする必要がある
説明: このコントロールは、Elasticsearch ドメインで監査ログが有効になっているかどうかを確認します。 このコントロールは、Elasticsearch ドメインで監査ログ記録が有効になっていない場合に失敗します。 監査ログは、高度なカスタマイズが可能です。 これにより、認証の成功と失敗、OpenSearch への要求、インデックスの変更、受信した検索クエリなど、Elasticsearch クラスターでのユーザー アクティビティを追跡できます。
重大度: 中
拡張モニタリングは、RDS DB インスタンスとクラスターに対して構成する必要がある
説明: このコントロールは、RDS DB インスタンスに対して拡張監視が有効になっているかどうかを確認します。 Amazon RDS では、拡張モニタリングを使用すると、基になるインフラストラクチャの正常性の変化に対して、より迅速に対応することができます。 これらのパフォーマンスの変化は、データの可用性を低下させる可能性があります。 拡張モニタリングによって、RDS DB インスタンスが実行されているオペレーティング システムのリアル タイム メトリクスが指定されます。 エージェントがインスタンスにインストールされます。 そのエージェントを使用すると、ハイパーバイザー層から取得するよりも、より正確にメトリクスを取得できます。 拡張モニタリングのメトリクスは、DB インスタンス上のさまざまなプロセスまたはスレッドでどのように CPU が使用されているかを確認する場合に便利です。 詳細については、"Amazon RDS ユーザー ガイド" の拡張モニタリングに関するページを参照してください。
重大度: 低
顧客が作成した CMK のローテーションが有効になっていることを確認する
説明: AWS キー管理サービス (KMS) を使用すると、顧客はバッキング キーをローテーションできます。これは、カスタマー作成カスタマー マスター キー (CMK) のキー ID に関連付けられた KMS 内に格納されているキー マテリアルです。 バッキング キーは、暗号化や暗号化解除などの暗号操作を実行するために使用されます。 現在、自動キー ローテーションには、暗号化されたデータの暗号化解除が透過的に実行されるよう、以前のすべてのバッキング キーが保持されます。 CMK キーのローテーションを有効にすることをお勧めします。 暗号化キーをローテーションすると、新しいキーで暗号化されたデータに、公開されている可能性のある以前のキーでアクセスできないため、侵害されたキーの潜在的な影響を軽減できます。
重大度: 中
CloudTrail S3 バケットで S3 バケット アクセスのログ記録が有効になっていることを確認する
説明: S3 バケット アクセス ログは、アクセス レコードを含むログを生成します。S3 バケットに対して行われた要求ごとに、CloudTrail S3 バケットで S3 バケットアクセスログが有効になっていることを確認します。 アクセス ログ レコードには、要求の種類、行われた要求に指定されているリソース、要求の処理日時など、要求に関する詳細が含まれます。 CloudTrail S3 バケットでバケット アクセス ログ記録を有効にすることをお勧めします。 ターゲット S3 バケットで S3 バケットのログ記録を有効にすると、ターゲット バケット内のオブジェクトに影響を与える可能性のあるすべてのイベントをキャプチャできます。 別のバケットに配置するログを構成すると、セキュリティとインシデント対応のワークフローに役立つログ情報にアクセスできます。
重大度: 低
CloudTrail ログを格納するために使用する S3 バケットがパブリックにアクセス可能ではないことを確認する
説明: CloudTrail は、AWS アカウントで行われたすべての API 呼び出しのレコードを記録します。 これらのログ ファイルは、S3 バケットに格納されます。 CloudTrail ログへのパブリック アクセスを防ぐために、CloudTrail がログに記録する S3 バケットにバケット ポリシーまたはアクセス制御リスト (ACL) を適用することをお勧めします。 CloudTrail ログ コンテンツへのパブリック アクセスを許可すると、敵対者が影響を受けるアカウントの使用または構成の弱点を特定するのに役立つ場合があります。
重大度: 高
IAM に期限切れの SSL/TLS 証明書があってはならない
説明: このチェックでは、期限切れの SSL/TLS 証明書が識別されます。 AWS で Web サイトまたはアプリケーションへの HTTPS 接続を有効にするには、SSL/TLS サーバー証明書が必要です。 ACM または IAM を使って、サーバー証明書を格納およびデプロイすることができます。 期限が切れた SSL/TLS 証明書を削除することで、AWS Elastic Load Balancer (ELB) などのリソースに誤って無効な証明書がデプロイされ、ELB の背後にあるアプリケーションまたは Web サイトの信頼性が損なわれるようなリスクはなくなります。 このチェックにより、AWS IAM に格納されている期限切れの SSL/TLS 証明書がある場合にアラートが生成されます。 ベスト プラクティスとして、期限切れの証明書を削除することをお勧めします。
重大度: 高
インポートされた ACM 証明書は、指定された期間が経過した後で更新する必要がある
説明: このコントロールは、アカウント内の ACM 証明書が 30 日以内に有効期限としてマークされているかどうかを確認します。 これにより、インポートされた証明書と AWS Certificate Manager によって提供された証明書の両方をチェックできます。 ACM では、DNS 検証が使用されている証明書を自動的に更新できます。 電子メール検証が使用されている証明書の場合は、ドメイン検証メールに応答する必要があります。 また、ACM では、インポートした証明書の自動更新は行われません。 インポートした証明書は、手動で更新する必要があります。 ACM 証明書のマネージド更新の詳細については、AWS Certificate Manager ユーザー ガイドの「Managed renewal for ACM certificates」 (ACM 証明書のマネージド更新) を参照してください。
重大度: 中
アカウント内の過剰にプロビジョニングされた ID を調査して、Permission Creep Index (PCI) を減らす必要がある
説明: アカウント内の過剰にプロビジョニングされた ID を調査して、アクセス許可のクリープ インデックス (PCI) を減らし、インフラストラクチャを保護する必要があります。 未使用の危険度の高いアクセス許可の割り当てを削除して、PCI を削減します。 高 PCI は、通常の使用または必要な使用を超えるアクセス許可を持つ ID に関連するリスクを反映します。
重大度: 中
RDS 自動マイナー バージョン アップグレードは、有効にする必要がある
説明: このコントロールは、RDS データベース インスタンスに対してマイナー バージョンの自動アップグレードが有効になっているかどうかを確認します。 マイナー バージョンの自動アップグレードを有効にすると、マイナー バージョンの最新の更新プログラムがリレーショナル データベース管理システム (RDBMS) に確実にインストールされるようになります。 これらのアップグレードには、セキュリティ パッチやバグ修正が含まれている場合があります。 パッチをインストールして、最新の状態を維持することは、システムをセキュリティで保護するための重要な手順です。
重大度: 高
RDS クラスター スナップショットとデータベース スナップショットは、保存時に暗号化する必要がある
説明: このコントロールは、RDS DB スナップショットが暗号化されているかどうかを確認します。 このコントロールは、RDS DB インスタンスを対象としています。 ただし、Amazon DB インスタンス、Neptune DB インスタンス、Amazon DocumentDB クラスターのスナップショットの結果を生成することもできます。 これらの結果を使用しない場合は、非表示にすることができます。 保存データを暗号化することにより、認証されていないユーザーがディスクに保存されているデータにアクセスするリスクを軽減できます。 セキュリティ層を追加するには、RDS スナップショットのデータは、保存時に暗号化する必要があります。
重大度: 中
RDS クラスターでは、削除保護を有効にする必要がある
説明: このコントロールは、RDS クラスターで削除保護が有効になっているかどうかを確認します。 このコントロールは、RDS DB インスタンスを対象としています。 ただし、Amazon DB インスタンス、Neptune DB インスタンス、Amazon DocumentDB クラスターの結果を生成することもできます。 これらの結果を使用しない場合は、非表示にすることができます。 クラスター削除保護を有効にすることは、承認されていないエンティティによる誤ったデータベースの削除または削除に対する保護のもう 1 つの層です。 削除保護が有効になっている場合は、RDS クラスターを削除することができません。 削除要求を正常に完了するには、削除保護を無効にする必要があります。
重大度: 低
RDS DB クラスターは、複数の可用性ゾーンに対して構成する必要がある
説明: RDS DB クラスターは、格納されている複数のデータに対して構成する必要があります。 可用性ゾーンに可用性の問題が発生した場合や、通常の RDS メンテナンス イベント中には、複数の可用性ゾーンへのデプロイによって、可用性ゾーンが自動化され、ED フェールオーバーの可用性が保証されます。
重大度: 中
RDS DB クラスターは、タグをスナップショットにコピーするように構成する必要がある
説明: IT 資産の識別とインベントリは、ガバナンスとセキュリティの重要な側面です。 セキュリティ体制を評価し、潜在的な弱点領域に対処するには、すべての RDS DB クラスターを表示する必要があります。 スナップショットは、その親 RDS データベース クラスターと同じ方法でタグ付けする必要があります。 この設定を有効にすると、スナップショットは親データベース クラスターのタグを確実に継承します。
重大度: 低
RDS DB インスタンスは、タグをスナップショットにコピーするように構成する必要がある
説明: このコントロールは、スナップショットの作成時にすべてのタグをスナップショットにコピーするように RDS DB インスタンスが構成されているかどうかを確認します。 IT 資産の識別とインベントリは、ガバナンスとセキュリティの重要な側面です。 セキュリティ体制を評価し、潜在的な弱点領域に対処するには、すべての RDS DB インスタンスを表示する必要があります。 スナップショットは、その親 RDS データベース インスタンスと同じ方法でタグ付けする必要があります。 この設定を有効にすると、スナップショットは親データベース インスタンスのタグを確実に継承します。
重大度: 低
RDS DB インスタンスには、複数の可用性ゾーンが構成されている必要がある
説明: このコントロールは、RDS DB インスタンスに対して高可用性が有効になっているかどうかを確認します。 RDS DB インスタンスには、複数可用性ゾーン (AZ) の構成が必要です。 これにより、格納データの可用性が保証されます。 可用性ゾーンに問題が発生した場合や、通常の RDS メンテナンス中には、マルチ AZ デプロイによって自動フェールオーバーが実行されます。
重大度: 中
RDS DB インスタンスでは、削除保護を有効にする必要がある
説明: このコントロールは、リストされているデータベース エンジンのいずれかを使用する RDS DB インスタンスで削除保護が有効になっているかどうかを確認します。 インスタンス削除保護を有効にすることは、承認されていないエンティティによる誤ったデータベースの削除または削除に対する保護のもう 1 つの層です。 削除保護が有効になっている間は、RDS DB インスタンスを削除することができません。 削除要求を正常に完了するには、削除保護を無効にする必要があります。
重大度: 低
RDS DB インスタンスでは、保存時の暗号化を有効にする必要がある
説明: このコントロールは、Amazon RDS DB インスタンスに対してストレージ暗号化が有効になっているかどうかを確認します。 このコントロールは、RDS DB インスタンスを対象としています。 ただし、Amazon DB インスタンス、Neptune DB インスタンス、Amazon DocumentDB クラスターの結果を生成することもできます。 これらの結果を使用しない場合は、非表示にすることができます。 RDS DB 内の機密データに追加されたセキュリティ層に対しては、暗号化されたファイル システムを作成する必要があります。 RDS DB インスタンスとスナップショットを保存時に暗号化するには、RDS DB インスタンスに対して暗号化オプションを有効にします。 保存時に暗号化されるデータには、DB インスタンスの基になるストレージ、自動バックアップ、読み取りレプリカ、およびスナップショットが含まれます。 RDS 暗号化 DB インスタンスでは、オープンの標準 AES-256 暗号化アルゴリズムを使用して、RDS DB インスタンスをホストするサーバー上のデータを暗号化します。 データが暗号化されると、パフォーマンスへの影響を最小限に抑えながら、アクセスの認証とデータの暗号化が、Amazon RDS によって処理されます。 暗号化を使用するようにデータベース クライアント アプリケーションを変更する必要はありません。 現在、Amazon RDS 暗号化は、すべての種類のデータベース エンジンとストレージで使用できます。 Amazon RDS 暗号化は、ほとんどの DB インスタンス クラスで使用できます。 Amazon RDS 暗号化をサポートしていない DB インスタンスの詳細については、「Amazon RDS User Guide」 (Amazon RDS ユーザー ガイド) の「Encrypting Amazon RDS resources」 (Amazon RDS リソースの暗号化) を参照してください。
重大度: 中
RDS DB インスタンスでは、パブリック アクセスを禁止する必要がある
説明: RDS インスタンスの設定とリソースを変更するようにユーザーの IAM アクセス許可を制限することで、RDS インスタンスの構成へのアクセスが承認されたユーザーのみに制限されるようにすることをお勧めします。
重大度: 高
RDS スナップショットでは、パブリック アクセスを禁止する必要がある
説明: 承認されたプリンシパルのみがスナップショットにアクセスし、Amazon RDS の構成を変更することを許可することをお勧めします。
重大度: 高
使用されていない Secrets Manager シークレットを削除する
説明: このコントロールは、指定した日数内にシークレットにアクセスされたかどうかを確認します。 既定値は [90] 日間です。 定義された日数内にシークレットへのアクセスが発生しなかった場合、このコントロールは失敗します。 使用されていないシークレットを削除することは、シークレットのローテーションと同様に重要です。 使用されていないシークレットは、このようなシークレットへのアクセス権が不要となった以前のユーザーによって悪用される可能性があります。 また、より多くのユーザーがシークレットにアクセスできるようになると、誤処理または未承認エンティティへの漏えいを行うユーザーが出現する可能性があり、悪用のリスクが高まります。 使用されていないシークレットを削除すると、シークレットへのアクセス権が不要となったユーザーのアクセス権の取り消しを促進することができます。 また、Secrets Manager の使用コストの削減にも役立ちます。 そのため、使用されていないシークレットを定期的に削除することは重要です。
重大度: 中
S3 バケットでは、リージョン間レプリケーションを有効にする必要がある
説明: S3 リージョン間レプリケーションを有効にすると、異なるリージョンで複数のバージョンのデータを使用できるようになります。 これにより、DDoS 攻撃やデータ破損イベントから S3 バケットを保護することができます。
重大度: 低
S3 バケットでは、サーバー側暗号化を有効にする必要がある
説明: サーバー側の暗号化を有効にして、S3 バケット内のデータを保護します。 データを暗号化すると、データが侵害された場合に、機密データにアクセスできなくなることがあります。
重大度: 中
自動ローテーションが構成されている Secrets Manager のシークレットは、正常にローテーションされる必要がある
説明: このコントロールは、ローテーション スケジュールに基づいて AWS Secrets Manager シークレットが正常にローテーションされたかどうかを確認します。 このコントロールは、RotationOccurringAsScheduled が false の場合に失敗します。 このコントロールでは、ローテーションが構成されていないシークレットを評価しません。 Secrets Manager は、組織のセキュリティ体制の改善に役立ちます。 シークレットには、データベースの資格情報、パスワード、サードパーティの API キーが含まれます。 Secrets Manager を使用すると、シークレットを中心に格納したり、シークレットを自動的に暗号化したりすることに加え、シークレットへのアクセスを制御したり、シークレットを安全かつ自動的にローテーションしたりすることができます。 Secrets Manager では、シークレットのローテーションが可能です。 ローテーションを使用すると、長期シークレットを短期シークレットに置き換えることができます。 シークレットをローテーションすることで、侵害されたシークレットを未承認ユーザーが使用できる期間が制限されます。 このような理由により、シークレットを頻繁にローテーションする必要があります。 シークレットの自動ローテーションを構成するだけでなく、ローテーション スケジュールに基づいた、これらのシークレットの正常なローテーションを保証する必要があります。 ローテーションの詳細については、AWS Secrets Manager ユーザー ガイドの「Rotating your AWS Secrets Manager secrets」 (AWS Secrets Manager シークレットのローテーション) を参照してください。
重大度: 中
Secrets Manager シークレットは、指定した日数以内にローテーションする必要がある
説明: このコントロールは、シークレットが 90 日以内に少なくとも 1 回ローテーションされたかどうかを確認します。 シークレットをローテーションすることで、AWS アカウントのシークレットが不正使用されるリスクを軽減できます。 例として、データベースの資格情報、パスワード、サードパーティ API キー、さらには任意のテキストなどを挙げることができます。 シークレットを長期間変更しない場合、シークレットが侵害される可能性が高くなります。 より多くのユーザーがシークレットにアクセスできるようになると、ユーザーによる誤処理または未承認エンティティへの漏えいの可能性が高まります。 シークレットは、ログやキャッシュ データで漏えいさせることができます。 デバッグを目的に共有することができるうえに、デバッグが完了すれば、変更や呼び出しを行うことができません。 これらのすべての理由から、シークレットのローテーションは頻繁に行う必要があります。 AWS Secrets Manager では、シークレットの自動ローテーションを構成することができます。 自動ローテーションを使用すると、長期シークレットを短期シークレットに置き換えることができるため、侵害のリスクが大幅に軽減されます。 Security Hub では、Secrets Manager のシークレットに対して、ローテーションを有効にすることをお勧めしています。 ローテーションの詳細については、AWS Secrets Manager ユーザー ガイドの「Rotating your AWS Secrets Manager secrets」 (AWS Secrets Manager シークレットのローテーション) を参照してください。
重大度: 中
SNS トピックは、AWS KMS を使用して、保存時に暗号化する必要がある
説明: このコントロールは、AWS KMS を使用して、保存時に SNS トピックが暗号化されているかどうかを確認します。
保存データを暗号化すると、AWS で認証されていないユーザーがアクセスしているディスクにデータが格納されるリスクが軽減されます。 また、アクセス制御が強化され、未承認ユーザーによるデータへのアクセスが制限されます。
たとえば、データの暗号化を解除して読み取り可能にするには、API のアクセス許可が必要となります。 セキュリティを強化するには、
重大度: 中
VPC フローのログ記録は、すべての VPC で有効にする必要がある
説明: VPC フローログは、VPC を通過するネットワークトラフィックを可視化し、セキュリティイベント中に異常なトラフィックや分析情報を検出するために使用できます。
重大度: 中
GCP データに関する推奨事項
Cloud SQL SQL Server インスタンスの '3625 (トレース フラグ)' データベース フラグが 'off' に設定されていることを確認する
説明: Cloud SQL Server インスタンスの "3625 (トレース フラグ)" データベース フラグを "off" に設定することをお勧めします。トレース フラグは、パフォーマンスの問題を診断したり、ストアド プロシージャや複雑なコンピューター システムをデバッグしたりするために頻繁に使用されますが、特定のワークロードに悪影響を与える動作に対処するためにMicrosoft サポートが推奨される場合もあります。 ドキュメントに記載されているすべてのトレース フラグと Microsoft サポートがお勧めするトレース フラグは、指示どおりに使用した場合、運用環境で完全にサポートされます。 "3625(トレース ログ)" は、"******" を使用して一部のエラー メッセージのパラメーターをマスクすることにより、sysadmin 固定サーバー ロールのメンバーではないユーザーに返される情報の量を制限します。 これは、機密情報の公開を防ぐために役立ちます。 そのため、このフラグを無効にすることをお勧めします。 この推奨事項は、SQL Server データベース インスタンスに適用されます。
重大度: 中
Cloud SQL SQL Server インスタンスの 'external scripts enabled' データベース フラグが 'off' に設定されていることを確認する
説明: Cloud SQL SQL Server インスタンスの "外部スクリプトが有効になっている" データベース フラグをオフに設定することをお勧めします。 "external scripts enabled" を使用すると、特定のリモート言語拡張機能でスクリプトを実行できます。 このプロパティは既定で無効になっています。 Advanced Analytics Services をインストールするとき、必要に応じてセットアップでこのプロパティを true に設定できます。 "External Scripts Enabled" 機能を使用すると、R ライブラリ内のファイルなどの SQL 外部のスクリプトを実行できるため、システムのセキュリティに悪影響を及ぼす可能性があることから、これを無効にする必要があります。 この推奨事項は、SQL Server データベース インスタンスに適用されます。
重大度: 高
Cloud SQL SQL Server インスタンスの 'remote access' データベース フラグが 'off' に設定されていることを確認する
説明: Cloud SQL SQL Server インスタンスの "リモート アクセス" データベース フラグを "off" に設定することをお勧めします。"リモート アクセス" オプションは、SQL Server のインスタンスが実行されているローカル サーバーまたはリモート サーバーからのストアド プロシージャの実行を制御します。 このオプションの既定値は 1 です。 この場合、リモート サーバーからローカル ストアド プロシージャを実行する権限、またはローカル サーバーからリモート ストアド プロシージャを実行する権限が許可されます。 リモート サーバーからローカル ストアド プロシージャを実行したり、ローカル サーバーからリモート ストアド プロシージャを実行したりすることを防ぐには、これを無効にする必要があります。 リモート アクセス オプションでは、リモート サーバー上のローカル ストアド プロシージャまたはローカル サーバー上のリモート ストアド プロシージャの実行を制御します。 "リモート アクセス" 機能が悪用され、ターゲットに対するクエリ処理をオフロードすることでリモート サーバーに対してサービス拒否 (DoS) 攻撃を開始する可能性があるため、これを無効にする必要があります。 この推奨事項は、SQL Server データベース インスタンスに適用されます。
重大度: 高
Cloud SQL Mysql インスタンスの 'skip_show_database' データベース フラグが 'on' に設定されていることを確認する
説明: Cloud SQL Mysql インスタンスの "skip_show_database" データベース フラグを "on" に設定することをお勧めします。'skip_show_database' データベース フラグを指定すると、ユーザーが SHOW DATABASES 権限を持っていない場合に SHOW DATABASES ステートメントを使用できなくなります。 これにより、ユーザーが他のユーザーに属するデータベースを見ることができるという懸念がある場合にセキュリティが向上します。 その効果は SHOW DATABASES 特権によって異なります。変数値が ON の場合、SHOW DATABASES ステートメントは SHOW DATABASES 権限を持つユーザーにのみ許可され、ステートメントではすべてのデータベース名が表示されます。 値が OFF の場合、SHOW DATABASES はすべてのユーザーに許可されますが、ユーザーが SHOW DATABASES またはその他の特権を持つデータベースの名前のみが表示されます。 この推奨事項は、Mysql データベース インスタンスに適用されます。
重大度: 低
すべての BigQuery データ セットに既定のカスタマー マネージド暗号化キー (CMEK) が指定されていることを確認する
説明: BigQuery は既定で、Google マネージド暗号化キーを使用して Envelope Encryption を使用してデータを保存として暗号化します。 データはデータ暗号化キーを使用して暗号化され、データ暗号化キー自体はキー暗号化キーを使用してさらに暗号化されます。 これはシームレスであり、ユーザーからの追加の入力は必要ありません。 ただし、制御を強化する場合は、BigQuery データ セットの暗号化キー管理ソリューションとしてカスタマー マネージド暗号化キー (CMEK) を使用できます。 BigQuery では既定で、Google マネージド暗号化キーを使用するエンベロープ暗号化を使用して、保存中のデータが暗号化されます。 これはシームレスであり、ユーザーからの追加の入力は必要ありません。 暗号化を強化する場合は、BigQuery データ セットの暗号化キー管理ソリューションとしてカスタマー マネージド暗号化キー (CMEK) を使用できます。 データ セットに既定のカスタマー マネージド暗号化キー (CMEK) を設定すると、他の指定がない場合、将来作成されるすべてのテーブルで、指定された CMEK が使用されるようになります。
Google は、キーをサーバーに保存せず、キーを指定しない限り、保護されたデータにアクセスできません。
これはまた、キーを忘れた場合や紛失した場合、Googleがキーを回復したり、紛失したキーで暗号化されたデータを回復したりする方法がないことを意味します。
重大度: 中
すべての BigQuery テーブルがカスタマー マネージド暗号化キー (CMEK) で暗号化されていることを確認する
説明: BigQuery は既定で、Google マネージド暗号化キーを使用して Envelope Encryption を使用してデータを保存として暗号化します。 データはデータ暗号化キーを使用して暗号化され、データ暗号化キー自体はキー暗号化キーを使用してさらに暗号化されます。 これはシームレスであり、ユーザーからの追加の入力は必要ありません。 ただし、制御を強化する場合は、BigQuery データ セットの暗号化キー管理ソリューションとしてカスタマー マネージド暗号化キー (CMEK) を使用できます。 CMEK を使用する場合、Google で管理される暗号化キーを使用する代わりに、データ暗号化キーを暗号化するために CMEK が使用されます。 BigQuery では既定で、Google マネージド暗号化キーを使用するエンベロープ暗号化を使用して、保存中のデータが暗号化されます。 これはシームレスであり、ユーザーからの追加の入力は必要ありません。 暗号化を細かく制御する場合は、BigQuery テーブルの暗号化キー管理ソリューションとしてカスタマー マネージド暗号化キー (CMEK) を使用できます。 Google で管理される暗号化キーを使用する代わりに、データ暗号化キーを暗号化するために CMEK が使用されます。 BigQuery ではテーブルと CMEK の関連付けが格納され、暗号化/復号化が自動的に行われます。 BigQuery データ セットに既定のカスタマー マネージド キーを適用すると、将来作成されるすべての新しいテーブルが CMEK を使用して暗号化されますが、既存のテーブルは、CMEK を使用するように個別に更新する必要があります。
Google は、キーをサーバーに保存せず、キーを指定しない限り、保護されたデータにアクセスできません。 これはまた、キーを忘れた場合や紛失した場合、Googleがキーを回復したり、紛失したキーで暗号化されたデータを回復したりする方法がないことを意味します。
重大度: 中
BigQuery データセットが匿名またはパブリックでアクセス可能になっていないことを確認する
説明: BigQuery データセットの IAM ポリシーでは、匿名アクセスやパブリック アクセスを許可しないことをお勧めします。 allUsers または allAuthenticatedUsers にアクセス許可を付与すると、すべてのユーザーがデータセットにアクセスできるようになります。 データセットに機密データが格納されている場合、このようなアクセスは望ましくない場合があります。 そのため、データセットへの匿名またはパブリック アクセスが許可されていないことを確認します。
重大度: 高
クラウド SQL データベース インスタンスが自動バックアップで構成されていることを確認する
説明: 自動バックアップを有効にするために、すべての SQL データベース インスタンスを設定することをお勧めします。 バックアップを使用すると、クラウド SQL インスタンスを復元して、失われたデータを回復したり、そのインスタンスに関する問題から復旧したりできます。 損失や損傷から保護する必要があるデータを含むあらゆるインスタンスに対して自動バックアップを設定する必要があります。 この推奨事項は、SQL Server、PostgreSql、MySql 第 1 世代、および MySql 第 2 世代のインスタンスに適用されます。
重大度: 高
クラウド SQL データベース インスタンスが世界に公開されていないことを確認する
説明: データベース サーバーは、信頼されたネットワーク/IP からの接続のみを受け入れ、世界中からのアクセスを制限する必要があります。 データベース サーバー インスタンスの攻撃対象領域を最小限に抑えるには、信頼済み/既知の必要な IP のみを承認して接続する必要があります。 承認されたネットワークでは、IP/ネットワークを 0.0.0.0/0 に構成しないでください。これにより、世界中のどこからでもインスタンスにアクセスできるようになります。 承認されたネットワークは、パブリック IP を持つインスタンスにのみ適用されることに注意してください。
重大度: 高
クラウド SQL データベース インスタンスにパブリック IP がないことを確認する
説明: パブリック IP ではなくプライベート IP を使用するように第 2 世代 Sql インスタンスを構成することをお勧めします。 組織の攻撃対象領域を減らすために、Cloud SQL データベースにパブリック IP を含めることはできません。 プライベート IP では、ネットワーク セキュリティが強化され、アプリケーションの待機時間が短縮されます。
重大度: 高
クラウド ストレージのバケットが匿名またはパブリックでアクセス可能になっていないことを確認する
説明: Cloud Storage バケットの IAM ポリシーでは、匿名アクセスまたはパブリック アクセスを許可しないことをお勧めします。 匿名アクセスまたはパブリック アクセスを許可すると、バケット コンテンツにアクセスするためのアクセス許可がすべてのユーザーに付与されます。 機密データを格納する場合、このようなアクセスは望ましくない可能性があります。 そのため、バケットへの匿名またはパブリック アクセスが許可されていないことを確認します。
重大度: 高
クラウド ストレージのバケットで一定のバケットレベル アクセスが有効になっていることを確認する
説明: Cloud Storage バケットで均一なバケット レベルのアクセスを有効にすることをお勧めします。
均一なバケットレベルのアクセスを使用して、Cloud Storage リソースへのアクセスを許可する方法を統一して簡素化することをお勧めします。
Cloud Storage には、バケットとオブジェクトにアクセスするためのアクセス許可をユーザーに付与するための 2 つのシステムが用意されています。クラウド ID およびアクセス管理 (Cloud IAM) とアクセス制御リスト (ACL)。
これらのシステムは並行して動作します。ユーザーが Cloud Storage リソースにアクセスするには、いずれかのシステムのみがユーザーにアクセス許可を付与する必要があります。
Cloud IAM は Google Cloud 全体で使用され、バケット レベルとプロジェクト レベルでさまざまなアクセス許可を付与できます。
ACL は Cloud Storage でのみ使用され、アクセス許可オプションは限られていますが、オブジェクトごとにアクセス許可を付与できます。
均一なアクセス許可システムをサポートするために、Cloud Storage には均一なバケットレベルのアクセス権があります。 この機能を使用すると、すべての Cloud Storage リソースの ACL が無効になります。その場合、Cloud Storage リソースへのアクセスは、Cloud IAM を通じてのみ付与されます。 均一バケットレベルのアクセスを有効にすると、ストレージ バケットにパブリックにアクセスできない場合、バケット内のオブジェクトもパブリックにアクセスできないことが保証されます。
重大度: 中
コンピューティング インスタンスで機密コンピューティングが有効になっていることを確認する
説明: Google Cloud は保存データと転送中のデータを暗号化しますが、処理のために顧客データの暗号化を解除する必要があります。 コンフィデンシャル コンピューティングは、処理中のデータを暗号化する画期的なテクノロジです。 コンフィデンシャル コンピューティング環境では、メモリや中央処理装置 (CPU) の外部のその他の場所で、データが暗号化された状態を維持します。 機密 VM では、AMD EPYC CPU の Secure Encrypted Virtualization (SEV) 機能を利用します。 顧客データは、使用、インデックス作成、クエリ、またはトレーニング中も暗号化された状態を維持します。 暗号化キーは、ハードウェア内で VM ごとに生成され、エクスポートできません。 パフォーマンスとセキュリティの両方のハードウェア最適化が組み込まれているため、Confidential Computing ワークロードに大きなパフォーマンスの低下はありません。 コンフィデンシャル コンピューティングを使用すると、顧客の機密コードやその他のデータを処理中にメモリ内で暗号化できます。 Google は暗号化キーにアクセスできません。 機密 VM は、Google インフラストラクチャへの依存や、Google 内部関係者による暗号化されていない顧客データへのアクセスに関連するリスクについての懸念を軽減するのに役立ちます。
重大度: 高
ログ バケットの保持ポリシーがバケット ロックを使用して構成されていることを確認する
説明: ログ バケットで保持ポリシーを有効にすると、クラウド ストレージ バケットに格納されているログが上書きまたは誤って削除されないように保護されます。 保持ポリシーを設定し、ログ シンクとして使用されるすべてのストレージ バケットに対してバケット ロックを構成することをお勧めします。 ログは、ログ フィルターと宛先を含む 1 つ以上のシンクを作成することでエクスポートできます。 Stackdriver ログは新しいログ エントリを受け取ると、各シンクと比較されます。 ログ エントリがシンクのフィルターと一致する場合、ログ エントリのコピーが宛先に書き込まれます。 シンクは、ストレージ バケットにログをエクスポートするように構成できます。 これらのクラウド ストレージ バケットのデータ保持ポリシーを構成し、データ保持ポリシーをロックすることをお勧めします。したがって、ポリシーの削減または削除を永続的に防止します。 これにより、証拠を隠そうとする攻撃者や悪意のある内部関係者によってシステムが侵害された場合、フォレンジックとセキュリティの調査のためのアクティビティ ログが確実に保持されます。
重大度: 低
クラウド SQL データベース インスタンスですべての着信接続に SSL を使用する必要があることを確認する
説明: SSL を使用するように SQL データベース インスタンスへのすべての受信接続を強制することをお勧めします。 SQL データベース接続正常にトラップされた場合 (MITM)、資格情報、データベース クエリ、クエリ出力などの機密データを表示できます。セキュリティのために、インスタンスに接続するときは常に SSL 暗号化を使用することをお勧めします。 この推奨事項は、Postgresql、MySql 第 1 世代、および MySql 第 2 世代のインスタンスに適用されます。
重大度: 高
SQL Server インスタンス上の Cloud SQL の 'contained database authentication' データベース フラグが 'off' に設定されていることを確認する
説明: SQL Server インスタンス上の Cloud SQL の "包含データベース認証" データベース フラグを "off" に設定することをお勧めします。包含データベースには、データベースを定義するために必要なすべてのデータベース設定とメタデータが含まれており、データベースがインストールされているデータベース エンジンのインスタンスに対する構成の依存関係はありません。 ユーザーは、データベース エンジン レベルでのログイン認証なしでデータベースに接続できます。 データベース エンジンからデータベースを分離すると、SQL Server の他のインスタンスにデータベースを簡単に移動できるようになります。 包含データベースには固有の脅威があるので、 SQL Server データベース エンジン の管理者はそれを理解し、危険性を軽減する必要があります。 脅威の多くは USER WITH PASSWORD 認証プロセスと関連しており、このプロセスでは認証の境界をデータベース エンジン レベルからデータベース レベルへと移します。そのため、このフラグを無効にすることをお勧めします。 この推奨事項は、SQL Server データベース インスタンスに適用されます。
重大度: 中
Cloud SQL SQL Server インスタンスの 'cross db ownership chaining' データベース フラグが 'off' に設定されていることを確認する
説明: Cloud SQL SQL Server インスタンスの "cross db ownership chaining" データベース フラグを "off" に設定することをお勧めします。Microsoft SQL Server のインスタンスに対してデータベース間の所有権を構成するには、チェーン オプションとして "cross db ownership" を使用します。 このサーバー オプションを使用すると、次に示すように、データベース レベルで複数データベースの組み合わせ所有権を制御したり、すべてのデータベースに複数データベースの組み合わせ所有権を許可できるようになります。 SQL Server のインスタンスによってホストされているすべてのデータベースがデータベース間の所有権チェーンに参加する必要があり、この設定のセキュリティへの影響を認識している場合を除き、"クロス db 所有権" を有効にすることはお勧めしません。 この推奨事項は、SQL Server データベース インスタンスに適用されます。
重大度: 中
Cloud SQL Mysql インスタンスの 'local_infile' データベース フラグが 'off' に設定されていることを確認する
説明: Cloud SQL MySQL インスタンスの local_infile データベース フラグをオフに設定することをお勧めします。
local_infile フラグは、LOAD DATA ステートメントのサーバー側 LOCAL 機能を制御します。 local_infile 設定に応じて、サーバーではクライアント側で LOCAL が有効になっているクライアントによるローカル データの読み込みが拒否または許可されます。
(ビルド時または実行時のクライアント プログラムとライブラリの構成方法に関係なく) サーバーで LOAD DATA LOCAL ステートメントを明示的に拒否するには、local_infile無効にして mysqld
を開始します。 local_infile は実行時に設定することもできます。
local_infile フラグに関連付けられているセキュリティの問題のため、無効にすることをお勧めします。 この推奨事項は、MySQL データベース インスタンスに適用されます。
重大度: 中
クラウド ストレージ IAM アクセス許可の変更のためのログ メトリック フィルターとアラートが存在することを確認する
説明: Cloud Storage Bucket IAM の変更に対してメトリック フィルターとアラームを確立することをお勧めします。 クラウド ストレージ バケットのアクセス許可に対する変更を監視すると、バケット内の機密性の高いクラウド ストレージ バケットとオブジェクトに対するアクセス許可を検出して修正するために必要な時間が短縮される場合があります。
重大度: 低
SQL インスタンス構成の変更のためのログ メトリック フィルターとアラートが存在することを確認する
説明: SQL インスタンス構成の変更に対してメトリック フィルターとアラームを確立することをお勧めします。 SQL インスタンス構成の変更を監視すると、SQL サーバーで行われた構成の誤りを検出して修正するために必要な時間が短縮される可能性があります。 SQL インスタンスのセキュリティ体制に影響を与える可能性がある構成可能なオプションをいくつか次に示します。
- 自動バックアップと高可用性を有効にする: 構成ミスがビジネス継続性、ディザスター リカバリー、高可用性に悪影響を与える可能性がある
- ネットワークを承認する: 構成の誤りにより、信頼されていないネットワークへの露出が増加する可能性がある
重大度: 低
各サービス アカウントに GCP 管理サービス アカウント キーのみが存在することを確認する
説明: ユーザーが管理するサービス アカウントには、ユーザーマネージド キーを含めることはできません。 キーにアクセスできるユーザーは、サービス アカウントを介してリソースにアクセスできます。 GCP マネージド キーは、App Engine や Compute Engine などの Cloud Platform サービスによって使用されます。 これらのキーはダウンロードできません。 キーは Google で保持され、おおむね週単位で自動的にローテーションされます。 ユーザーマネージド キーは、ユーザーによって作成、ダウンロード、および管理されます。 これらは作成から 10 年で期限切れとなります。 ユーザーが管理するキーの場合、ユーザーは次のようなキー管理アクティビティの所有権を取得する必要があります。
- キー記憶域
- キーの配布
- キーの失効
- キーの交換
- 承認されていないユーザーからのキー保護
- キーの復旧
キー所有者の予防措置を使用しても、キーをソース コードにチェックインしたり、Downloads ディレクトリに残したり、誤ってサポート ブログやチャネルに残したりするなど、最適な一般的な開発プラクティスよりも少ない方法で、キーが簡単に漏洩する可能性があります。 ユーザーが管理するサービス アカウント キーを禁止することをお勧めします。
重大度: 低
Cloud SQL SQL Server インスタンスの 'user connections' データベース フラグが適切に設定されていることを確認する
説明: 組織で定義された値に従って、Cloud SQL SQL Server インスタンスの "ユーザー接続" データベース フラグを設定することをお勧めします。 "user connections" オプションは、SQL Server のインスタンスで許可される同時ユーザー接続の最大数を指定します。 実際に許可されるユーザー接続の数は、使用している SQL Server のバージョンと、アプリケーションまたはアプリケーションとハードウェアの制限によっても異なります。 SQL Server は、最大 32,767 ユーザーの接続に対応しています。 ユーザー接続は動的 (自己構成) オプションであるため、SQL Server では、必要に応じて、許容される最大値までユーザー接続の最大数が自動的に調整されます。 たとえば、10 人のユーザーがログインしている場合、10 個のユーザー接続オブジェクトが割り当てられます。 ほとんどの場合は、このオプションの値を変更する必要はありません。 既定は 0 で、最大数 (32,767) のユーザー接続を許可することを示します。 この推奨事項は、SQL Server データベース インスタンスに適用されます。
重大度: 低
Cloud SQL SQL Server インスタンスの 'user options' データベース フラグが構成されていないことを確認する
説明: Cloud SQL SQL Server インスタンスの "ユーザー オプション" データベース フラグを構成しないことをお勧めします。 "user options" オプションは、すべてのユーザーに対するグローバルな既定値を指定します。 ユーザーの作業セッション中に、一連の既定のクエリ処理オプションが設定されます。 ユーザー オプション設定を使用すると、SET オプションの既定値を変更できます (サーバーの既定の設定が適切でない場合)。 各ユーザーは、SET ステートメントを使用してこれらの既定値をオーバーライドできます。 新しいログインについては user options を動的に構成できます。 ユーザー オプションの設定を変更すると、新しいログイン セッションで新しい設定が使用されます。現在のログイン セッションは影響を受けません。 この推奨事項は、SQL Server データベース インスタンスに適用されます。
重大度: 低
GKE クラスターのログ記録を有効にする必要がある
説明: この推奨事項は、クラスターの loggingService プロパティに、ログの書き込みにクラウド ログが使用する場所が含まれているかどうかを評価します。
重大度: 高
シンクが構成されているストレージ バケットでは、オブジェクトのバージョン管理を有効にする必要がある
説明: この推奨事項では、バケットのバージョン管理プロパティの有効なフィールドが true に設定されているかどうかを評価します。
重大度: 高
プロジェクト内の過剰にプロビジョニングされた ID を調査して、Permission Creep Index (PCI) を減らす必要がある
説明: プロジェクトで過剰にプロビジョニングされた ID を調査して、アクセス許可のクリープ インデックス (PCI) を減らし、インフラストラクチャを保護する必要があります。 未使用の危険度の高いアクセス許可の割り当てを削除して、PCI を削減します。 高 PCI は、通常の使用または必要な使用を超えるアクセス許可を持つ ID に関連するリスクを反映します。
重大度: 中
暗号化キーを持つプロジェクトに、所有者アクセス許可を持つユーザーを含めてはならない
説明: この推奨事項は、割り当てられたロール/所有者のプリンシパルのプロジェクト メタデータの IAM 許可ポリシーを評価します。
重大度: 中
ログ シンクとして使用されるストレージ バケットをパブリックにアクセス可能にしてはならない
説明: この推奨事項は、パブリック アクセスを許可するプリンシパル allUsers または allAuthenticatedUsers のバケットの IAM ポリシーを評価します。
重大度: 高