セキュリティ制御: DevOps セキュリティ

DevOps セキュリティでは、デプロイ フェーズ前に重要なセキュリティ チェック (静的アプリケーション セキュリティ テストや脆弱性管理など) のデプロイを行い DevOps プロセス全体のセキュリティを確保するなど、DevOps プロセスでのセキュリティ エンジニアリングと操作に関連したコントロールを対象とします。また、脅威モデリングやソフトウェア サプライ セキュリティなどの一般的なトピックも含まれます。

DS-1: 脅威のモデル化を実施する

CIS Controls v8 ID NNIST SP 800-53 r4 ID PCI-DSS ID v3.2.1
16.10、16.14 SA-15 6.5、12.2

セキュリティ原則: 脅威モデリングを実行して潜在的な脅威を特定し、軽減制御を列挙します。 脅威モデリングが次の目的で機能する必要があります。

  • 実稼働の実行時ステージでアプリケーションとサービスをセキュリティで保護します。
  • 成果物、基になる CI/CD パイプライン、およびビルド、テスト、デプロイに使用されるその他のツール環境をセキュリティで保護します。 脅威モデリングには、少なくとも次の側面が含まれる必要があります。
  • アプリケーションのセキュリティ要件を定義します。 これらの要件が脅威モデリングで適切に対処していることを確認します。
  • アプリケーションのコンポーネント、データ接続、およびそれらの関係を分析します。 この分析には、アプリケーション スコープ外のアップストリーム接続とダウンストリーム接続も含まれる必要があります。
  • アプリケーション コンポーネント、データ接続、アップストリームおよびダウンストリーム サービスが公開される可能性がある潜在的な脅威と攻撃ベクトルを一覧表示します。
  • 列挙された脅威を軽減するために使用できる適切なセキュリティ コントロールを特定し、追加の対処計画を必要とするコントロールのギャップ (セキュリティの脆弱性など) を特定します。
  • 特定された脆弱性を軽減できるコントロールを列挙して設計します。

Azure ガイダンス: Microsoft 脅威モデリング ツールなどの脅威モデリング ツールを使用し、Azure 脅威モデル テンプレートを埋め込み、脅威モデリング プロセスを推進します。 STRIDE モデルを使用して、内部と外部の両方から脅威を列挙し、適用可能なコントロールを特定します。 脅威モデリング プロセスに、DevOps プロセスの脅威シナリオ (アクセス制御ポリシーが正しく構成されていない、安全ではない成果物リポジトリを介して、悪意あるコードが注入されるなど) が含まれていることを確認します。

脅威モデリング ツールを使用できない場合は、少なくとも、アンケートベースの脅威モデリング プロセスを使用して脅威を特定する必要があります。

脅威モデリングまたは分析の結果は、アプリケーションまたは脅威の状況においてセキュリティに大きな影響を与える変更がある場合に記録および更新されます。

Azure の実装と追加のコンテキスト:


AWS ガイダンス: Microsoft 脅威モデリング ツールなどの脅威モデリング ツールを使用し、Azure 脅威モデル テンプレートを埋め込み、脅威モデリング プロセスを推進します。 STRIDE モデルを使用して、内部と外部の両方から脅威を列挙し、適用可能なコントロールを特定します。 脅威モデリング プロセスに、DevOps プロセスの脅威シナリオ (アクセス制御ポリシーが正しく構成されていない、安全ではない成果物リポジトリを介して、悪意あるコードが注入されるなど) が含まれていることを確認します。

脅威モデリング ツールを使用できない場合は、少なくとも、アンケートベースの脅威モデリング プロセスを使用して脅威を特定する必要があります。

脅威モデリングまたは分析の結果は、アプリケーションまたは脅威の状況においてセキュリティに大きな影響を与える変更がある場合に記録および更新されます。

AWS の実装と追加のコンテキスト:


GCP ガイダンス: Microsoft 脅威モデリング ツールなどの脅威モデリング ツールを使用し、Azure 脅威モデル テンプレートを埋め込み、脅威モデリング プロセスを推進します。 STRIDE モデルを使用して、内部と外部の両方から脅威を列挙し、適用可能なコントロールを特定します。 脅威モデリング プロセスに、DevOps プロセスの脅威シナリオ (アクセス制御ポリシーが正しく構成されていない、安全ではない成果物リポジトリを介して、悪意あるコードが注入されるなど) が含まれていることを確認します。

脅威モデリング ツールを使用できない場合は、少なくとも、アンケートベースの脅威モデリング プロセスを使用して脅威を特定する必要があります。

脅威モデリングまたは分析の結果は、アプリケーションまたは脅威の状況においてセキュリティに大きな影響を与える変更がある場合に記録および更新されます。

GCP の実装と追加のコンテキスト:


顧客のセキュリティ利害関係者 (詳細情報):

DS-2: ソフトウェア サプライ チェーンのセキュリティを確保する

CIS Controls v8 ID NNIST SP 800-53 r4 ID PCI-DSS ID v3.2.1
16.4、16.6、16.11 SA-12、SA-15 6.3、6.5

セキュリティ原則: 企業の SDLC (ソフトウェア開発ライフサイクル) またはプロセスに、アプリケーションが依存関係を持つ社内およびサードパーティ製のソフトウェア コンポーネント (専用ソフトウェアとオープンソース ソフトウェアの両方を含む) を管理するための一連のセキュリティ制御が含まれることを確認します。 脆弱なコンポーネントや悪意のあるコンポーネントが統合され、環境にデプロイされるのを防ぐためのゲーティング条件を定義します。

ソフトウェア サプライ チェーンのセキュリティコントロールには、少なくとも次の側面が含まれている必要があります。

  • サービス/リソースの開発、ビルド、統合、デプロイの各フェーズに必要なアップストリームの依存関係を特定することで、ソフトウェア部品表 (SBOM) を適切に管理します。
  • アップストリームで利用可能な修正プログラムがある場合に、既知の脆弱性について、社内およびサードパーティのソフトウェア コンポーネントのインベントリと追跡を行います。
  • 未知の脆弱性の静的および動的アプリケーション テストを使用して、ソフトウェア コンポーネントの脆弱性とマルウェアを評価します。
  • 適切なアプローチを使用して、脆弱性とマルウェアを確実に軽減します。 これには、ソース コードのローカルまたはアップストリームの修正、機能の除外、または直接的な軽減策が利用できない場合の補正制御の適用が含まれる場合があります。

クローズド ソースのサードパーティ コンポーネントが実稼働環境で使用されている場合は、そのセキュリティ態勢に対する可視性が制限されている可能性があります。 コンポーネントに悪意のあるアクティビティや脆弱性が関連付けられている場合の影響を最小限に抑えるために、アクセス制御、ネットワーク分離、エンドポイント セキュリティなどの追加の制御を検討する必要があります。


Azure ガイダンス: GitHub プラットフォームの場合は、GitHub Advanced Securityまたは GitHub のネイティブ機能の次の機能またはツールを使用して、ソフトウェア サプライ チェーンのセキュリティを確保します。- Dependency Graph を使用して、Advisory Database を通じてすべてのプロジェクトの依存関係と関連脆弱性をスキャン、インベントリ、特定します。

  • Dependabot を使用して、脆弱な依存関係が確実に追跡および修復され、依存するパッケージとアプリケーションの最新リリースにリポジトリが自動的に対応するようにします。
  • GitHub のネイティブ コード スキャン機能を使用して、コードを外部からソーシングするときにソース コードをスキャンします。
  • Microsoft Defender for Cloud を使用して、CI/CD ワークフローでコンテナー イメージの脆弱性評価を統合します。 Azure DevOps ではサードパーティの拡張機能を使用して、サードパーティ製のソフトウェア コンポーネントとその脆弱性のインベントリ、分析、修復に同様のコントロールを実装できます。

Azure の実装と追加のコンテキスト:


AWS ガイダンス: CodeCommit や CodePipeline などの AWS CI/CD プラットフォームを使用する場合は、CodeGuru Reviewer を使用してソフトウェア サプライ チェーンのセキュリティを確保し、CI/CD ワークフローを介してソース コード (Java と Python の場合) をスキャンします。 また、CodeCommit や CodePipeline などのプラットフォームでは、インベントリに対して同様の制御を実装し、サードパーティのソフトウェア コンポーネントとその脆弱性を分析して修復するためのサードパーティの拡張機能もサポートされています。

GitHub プラットフォームを使用してソース コードを管理する場合は、GitHub Advanced Securityまたは GitHub のネイティブ機能から、次の機能またはツールを使用してソフトウェア サプライ チェーンのセキュリティを確保します。

  • 依存関係グラフを使用し、Advisory Database を介してプロジェクトのすべての依存関係と関連する脆弱性をスキャン、インベントリ、および特定します。
  • Dependabot を使用して、脆弱な依存関係が確実に追跡および修復され、依存するパッケージとアプリケーションの最新リリースにリポジトリが自動的に対応するようにします。
  • GitHub のネイティブ コード スキャン機能を使用して、コードを外部からソーシングするときにソース コードをスキャンします。
  • 該当する場合は、Microsoft Defender for Cloud を使用して、コンテナー イメージの脆弱性評価を CI/CD ワークフローに統合します。

AWS の実装と追加のコンテキスト:


GCP ガイダンス: ソフトウェア配信シールドを使用して、エンド ツー エンドのソフトウェア サプライ チェーンのセキュリティ分析を実行します。 これには、Google によって検証およびテストされた OSS パッケージと、Google のセキュリティで保護されたパイプラインを使用して構築された検証済みの Java および Python パッケージにアクセスして組み込むためのアシュアード OSS (オープン ソース ソフトウェア) サービスが含まれます。 これらのパッケージは、定期的にスキャン、分析、脆弱性のテストを行います。 このような機能は、CI/CD ワークフローの一部として、Google Cloud Build、Cloud Deploy、Artifact Registry、Artifact Analysis に統合できます。

GitHub プラットフォームを使用してソース コードを管理する場合は、GitHub Advanced Securityまたは GitHub のネイティブ機能から、次の機能またはツールを使用してソフトウェア サプライ チェーンのセキュリティを確保します。

  • 依存関係グラフを使用し、Advisory Database を介してプロジェクトのすべての依存関係と関連する脆弱性をスキャン、インベントリ、および特定します。
  • Dependabot を使用して、脆弱な依存関係が確実に追跡および修復され、依存するパッケージとアプリケーションの最新リリースにリポジトリが自動的に対応するようにします。
  • GitHub のネイティブ コード スキャン機能を使用して、コードを外部からソーシングするときにソース コードをスキャンします。
  • 該当する場合は、Microsoft Defender for Cloud を使用して、コンテナー イメージの脆弱性評価を CI/CD ワークフローに統合します。

GCP の実装と追加のコンテキスト:


顧客のセキュリティ利害関係者 (詳細情報):

DS-3: DevOps インフラストラクチャをセキュリティで保護する

CIS Controls v8 ID NNIST SP 800-53 r4 ID PCI-DSS ID v3.2.1
16.7 CM-2、CM-6、AC-2、AC-3、AC-6 2.2、6.3、7.1

セキュリティ原則: DevOps インフラストラクチャとパイプラインが、ビルド、テスト、運用の各段階を含む環境全体でセキュリティのベスト プラクティスに従っていることを確認します。 これには通常、次のスコープのセキュリティ コントロールが含まれます。

  • ソース コード、ビルドされたパッケージとイメージ、プロジェクト成果物、ビジネス データを格納する成果物リポジトリ。
  • CI/CD パイプラインをホストするサーバー、サービス、およびツール。
  • CI/CD パイプラインの構成。

Azure ガイダンス: Microsoft Cloud セキュリティ ベンチマークを DevOps インフラストラクチャのセキュリティコントロールに適用する一環として、次のコントロールに優先順位を付けます。

  • 成果物と基になる環境を保護して、CI/CD パイプラインが悪意のあるコードを挿入する手段にならないようにします。 たとえば、CI/CD パイプラインを確認して、組織、プロジェクト、ユーザー、パイプライン (ビルド & リリース)、Connections、ビルド エージェントなどの Azure DevOps のコア領域の構成ミスを特定し、オープン アクセス、弱い認証、安全でない接続のセットアップなどの構成の誤りを特定します。 GitHub の場合は、同様のコントロールを使用して組織のアクセス許可レベルをセキュリティで保護します。
  • 開発プロジェクト全体で DevOps インフラストラクチャが一貫してデプロイされていることを確認します。 Microsoft Defender for Cloud (コンプライアンス ダッシュボード、Azure Policy、クラウド態勢管理など) または独自のコンプライアンス監視ツールを使用して、DevOps インフラストラクチャのコンプライアンスを大規模に追跡します。
  • パイプラインへの変更が承認されるよう、パイプラインの Azure AD、ネイティブ サービス、CI/CD ツールに ID/ロールのアクセス許可とエンタイトルメント ポリシーを構成します。
  • Azure マネージド識別や Just-In-Time アクセスなどの機能を使用して、開発者やテスト担当者などの人間のアカウントに永続的な "永続的" 特権アクセスを提供しないようにします。
  • CI/CD ワークフロー ジョブで使用されるコードとスクリプトからキー、資格情報、シークレットを削除し、キー ストアまたは Azure Key Vaultに保持します。
  • セルフホステッド ビルド/デプロイ エージェントを実行する場合は、ネットワーク セキュリティ、体制と脆弱性の管理、エンドポイント セキュリティなどの Microsoft Cloud セキュリティ ベンチマークの制御に従って、環境をセキュリティで保護します。

注: Azure Monitor や Microsoft Sentinel などのサービスを使用して DevOps インフラストラクチャのガバナンス、コンプライアンス、運用監査、リスク監査を有効にするには、ログと脅威の検出、DS-7、および態勢と脆弱性の管理に関するセクションを参照してください。

Azure の実装と追加のコンテキスト:


AWS ガイダンス: GitHub、CodeCommit、CodeArtifact、CodePipeline、CodeBuild、CodeDeploy などの DevOps インフラストラクチャのセキュリティ コントロールに Microsoft Cloud セキュリティ ベンチマークを適用する一環として、次のコントロールに優先順位を付けます。

  • AWS で DevOps 環境をセキュリティで保護するには、このガイダンスと AWS の適切に設計されたフレームワークのセキュリティの柱を参照してください。
  • CI/CD パイプラインが悪意のあるコードを挿入する手段にならないように、成果物と基になるサポート インフラストラクチャを保護します。
  • 開発プロジェクト全体で DevOps インフラストラクチャが一貫してデプロイされ、維持されていることを確認します。 AWS Config または独自のコンプライアンス チェック ソリューションを使用して、大規模な DevOps インフラストラクチャのコンプライアンスを追跡します。
  • CodeArtifact を使用して、アプリケーション開発に使用されるソフトウェア パッケージを安全に格納および共有します。 CodeArtifact は、Maven、Gradle、npm、yarn、pip、twine などの一般的なビルド ツールとパッケージ マネージャーで使用できます。
  • パイプラインへの変更が確実に承認されるように、パイプラインの AWS IAM、ネイティブ サービス、CI/CD ツールで ID/ロールのアクセス許可とアクセス許可ポリシーを構成します。
  • CI/CD ワークフロー ジョブで使用されるコードとスクリプトからキー、資格情報、シークレットを削除し、キー ストアまたは AWS KMS に保持する
  • セルフホステッド ビルド/デプロイ エージェントを実行する場合は、ネットワーク セキュリティ、体制と脆弱性の管理、エンドポイント セキュリティなどの Microsoft Cloud セキュリティ ベンチマークの制御に従って、環境をセキュリティで保護します。 AWS Inspector を使用して、EC2 またはコンテナー化された環境の脆弱性をビルド環境として脆弱性スキャンします。

注: DevOps インフラストラクチャのガバナンス、コンプライアンス、運用監査、リスク監査を有効にするには、ログと脅威の検出、DS-7、およびおよび態勢と脆弱性管理に関するセクションを参照して、AWS CloudTrail、CloudWatch、Microsoft Sentinel などのサービスを使用します。

AWS の実装と追加のコンテキスト:


GCP ガイダンス: Microsoft Cloud セキュリティ ベンチマークを DevOps インフラストラクチャ のセキュリティ制御に適用する一環として、次のコントロールに優先順位を付けます。

  • 成果物と基になる環境を保護して、CI/CD パイプラインが悪意のあるコードを挿入する手段にならないようにします。 たとえば、CI/CD パイプラインを確認して、Google Cloud Build、Cloud Deploy、Artifact Registry、Connections、Build Agent などのサービスの構成ミスを特定して、オープン アクセス、弱い認証、安全でない接続のセットアップなどの構成の誤りを特定します。 GitHub の場合は、同様のコントロールを使用して組織のアクセス許可レベルをセキュリティで保護します。
  • 開発プロジェクト全体で DevOps インフラストラクチャが一貫してデプロイされていることを確認します。 Google Cloud Security Command Center (コンプライアンス ダッシュボード、組織ポリシー、個々の脅威の記録、構成ミスの特定など) または独自のコンプライアンス監視ツールを使用して、DevOps インフラストラクチャのコンプライアンスを大規模に追跡します。
  • Cloud Identity/AD ネイティブ サービス、およびパイプラインの CI/CD ツールで ID/ロールのアクセス許可とエンタイトルメント ポリシーを構成して、パイプラインに対する変更が確実に承認されるようにします。
  • Google マネージド識別などの機能を使用して、開発者やテスト担当者などの人間のアカウントに永続的な "永続的" 特権アクセスを提供しないようにします。
  • CI/CD ワークフロー ジョブで使用されるコードとスクリプトからキー、資格情報、シークレットを削除し、キー ストアまたは Google シークレット マネージャーに保持します。
  • セルフホステッド ビルド/デプロイ エージェントを実行する場合は、ネットワーク セキュリティ、体制と脆弱性の管理、エンドポイント セキュリティなどの Microsoft Cloud セキュリティ ベンチマークの制御に従って、環境をセキュリティで保護します。

注: DevOps インフラストラクチャのガバナンス、コンプライアンス、運用監査、リスク監査を有効にするには、「ログと脅威の検出、DS-7」、「態勢と脆弱性管理」セクションを参照して、Azure Monitor や Microsoft Sentinel、Google Cloud の運用スイート、クロニクル SIEM と SOAR などのサービスを使用します。

GCP の実装と追加のコンテキスト:


顧客のセキュリティ利害関係者 (詳細情報):

DS-4: 静的なアプリケーション セキュリティ テストを DevOps パイプラインに統合する

CIS Controls v8 ID NNIST SP 800-53 r4 ID PCI-DSS ID v3.2.1
16.12 SA-11 6.3、6.5

セキュリティ原則: 静的アプリケーション セキュリティ テスト (SAST) あいまいテスト、対話型テスト、モバイル アプリケーション テストが、CI/CD ワークフローのゲーティング コントロールの一部であることを確認します。 このゲーティングは、脆弱なパッケージがリポジトリにコミットされたり、パッケージに組み込まれたり、または実稼働環境にデプロイされたりするのを防ぐために、テスト結果に基づいて設定できます。


Azure ガイダンス: ソース コードを CI/CD ワークフローで自動的にスキャンできるように、SAST をパイプラインに統合します (コード テンプレートとしてのインフラストラクチャなど)。 Azure DevOps Pipeline または GitHub では、以下のツールとサードパーティの SAST ツールをワークフローに統合できます。

  • GitHub CodeQL を使用してソース コード分析を行います。
  • Microsoft BinSkim Binary Analyzer for Windows および *nix バイナリ分析。
  • Azure DevOps Credential Scanner (Microsoft Security DevOps 拡張機能) と GitHub ネイティブ シークレットスキャンによるソース コードでの資格情報スキャン。

Azure の実装と追加のコンテキスト:


AWS ガイダンス: CI/CD ワークフローでソース コードを自動的にスキャンできるように、SAST をパイプラインに統合します。

AWS CodeCommit を使用する場合は、Python と Java のソース コード分析に AWS CodeGuru Reviewer を使用します。 AWS Codepipeline では、第 3 部の SAST ツールをコードデプロイ パイプラインに統合することもできます。

GitHub を使用している場合は、以下のツールとサードパーティの SAST ツールをワークフローに統合できます。

  • GitHub CodeQL を使用してソース コード分析を行います。
  • Microsoft BinSkim Binary Analyzer for Windows および *nix バイナリ分析。
  • ソース コードでの資格情報スキャンの GitHub ネイティブ シークレット スキャン。
  • AWS CodeGuru Reviewer for Python と Java のソース コード分析。

AWS の実装と追加のコンテキスト:


GCP ガイダンス: ソース コードを CI/CD ワークフローで自動的にスキャンできるように、SAST (Software Delivery Shield、Artifact Analysis など) をパイプライン (コード テンプレートとしてのインフラストラクチャなど) に統合します。

Cloud Build、Cloud Deploy、Artifact Registry などのサービスでは、CI/CD ワークフローでソース コードやその他の成果物をスキャンできる Software Delivery Shield および Artifact Analysis との統合がサポートされています。

GCP の実装と追加のコンテキスト:


顧客のセキュリティ利害関係者 (詳細情報):

DS-5: 動的なアプリケーション セキュリティ テストを DevOps パイプラインに統合する

CIS Controls v8 ID NNIST SP 800-53 r4 ID PCI-DSS ID v3.2.1
16.12 SA-11 6.3、6.5

セキュリティ原則: 動的アプリケーション セキュリティ テスト (DAST) が CI/CD ワークフローのゲーティング コントロールの一部であることを確認します。 ゲーティングは、脆弱性がパッケージに組み込まれたり、実稼働環境にデプロイされたりするのを防ぐために、テスト結果に基づいて設定できます。


Azure ガイダンス: AZURE DevOps または GitHub の CI/CD ワークフロー セットでランタイム アプリケーションを自動的にテストできるように、DAST をパイプラインに統合します。 自動侵入テスト (手動による検証を使用) も DAST の一部である必要があります。

Azure DevOps Pipeline または GitHub では、サードパーティの DAST ツールを CI/CD ワークフローに統合できます。

Azure の実装と追加のコンテキスト:


AWS ガイダンス: AWS CodePipeline または GitHub の CI/CD ワークフロー セットでランタイム アプリケーションを自動的にテストできるように、DAST をパイプラインに統合します。 自動侵入テスト (手動による検証を使用) も DAST の一部である必要があります。

AWS CodePipeline または GitHub では、サードパーティの DAST ツールを CI/CD ワークフローに統合できます。

AWS の実装と追加のコンテキスト:


GCP ガイダンス: DAST (Cloud Web Security Scanner など) をパイプラインに統合して、Google Cloud Build、Cloud Deploy、GitHub などのサービスで設定された CI/CD ワークフローでランタイム アプリケーションを自動的にテストできるようにします。 Cloud Web Security Scanner を使用すると、アプリ エンジン、Google Kubernetes Engine (GKE)、コンピューティング エンジンでホストされているワークロード Web アプリケーションのセキュリティ脆弱性を特定できます。 自動侵入テスト (手動による検証を使用) も DAST の一部である必要があります。

Google Cloud Build、Google Cloud Deploy、Artifact Registry、GitHub では、サードパーティの DAST ツールを CI/CD ワークフローに統合することもできます。

GCP の実装と追加のコンテキスト:


顧客のセキュリティ利害関係者 (詳細情報):

DS-6: DevOps ライフサイクル全体を通してワークロードのセキュリティを確保する

CIS Controls v8 ID NNIST SP 800-53 r4 ID PCI-DSS ID v3.2.1
7.5、7.6、7.7、16.1、16.7 CM-2、CM-6、AC-2、AC-3、AC-6 6.1、6.2、6.3

セキュリティ原則: 開発、テスト、デプロイの各段階で、ライフサイクル全体にわたってワークロードがセキュリティで保護されていることを確認します。 Microsoft Cloud セキュリティ ベンチマークを使用して、既定でガードレールとして設定したり、デプロイ ステージの前にシフトしたりできるコントロール (ネットワーク セキュリティ、ID 管理、特権アクセスなど) を評価します。 具体的には、DevOps プロセスで次の制御が実施されていることを確認します。- CI/CD ワークフロー、インフラストラクチャ管理 (コードとしてのインフラストラクチャ)、ヒューマン エラーと攻撃面を減らすためのテストにおいて、Azure またはサード パーティのツール使って、デプロイを自動化します。

  • VM、コンテナー イメージ、その他の成果物が悪意のある操作からセキュリティで保護されていることを確認します。
  • CI/CD ワークフローにデプロイする前に、ワークロード成果物 (つまり、コンテナー イメージ、依存関係、SAST、DAST スキャン) をスキャンします
  • 脆弱性評価と脅威検出機能を実稼働環境にデプロイし、実行時にこれらの機能を継続的に使用します。

Azure ガイダンス: Azure VM のガイダンス:

  • Azure Shared Image Gallery を使用して、組織内のさまざまなユーザー、サービス プリンシパル、AD グループに対してイメージを共有できます。 Azure ロールベースのアクセス制御 (Azure RBAC) を使用して、確実に承認されたユーザーのみがカスタム イメージにアクセスできます。
  • 不要な資格情報、アクセス許可、パッケージを排除するために、VM でセキュリティで保護された構成基準を定義します。 カスタム イメージ、Azure Resource Manager テンプレート、ゲスト構成を使用して、構成基準Azure Policyデプロイして適用します。

Azure コンテナー サービスのガイダンス:

  • Azure Container Registry (ACR) を使用してプライベート コンテナー レジストリを作成し、Azure RBAC を介してきめ細かいアクセスを制限できるため、承認されたサービスとアカウントのみがプライベート レジストリ内のコンテナーにアクセスできるようにします。
  • プライベート Azure Container Registry内のイメージの脆弱性評価には、Defender for Containers を使用します。 さらに、Microsoft Defender for Cloud を使用して、CI/CD ワークフローの一部としてコンテナー イメージ スキャンを統合できます。

Azure サーバーレス サービスの場合は、同様の制御を採用して、デプロイ前のステージにセキュリティ制御が "シフト左" されるようにします。

Azure の実装と追加のコンテキスト:


AWS ガイダンス: Amazon Elastic Container Registry を使用して、organization内のさまざまなユーザーとロールによってイメージへのアクセスを共有および制御します。 また、AWS IAM を使用して、承認されたユーザーのみがカスタムイメージにアクセスできるようにします。

不要な資格情報、アクセス許可、パッケージを排除するために、EC2 AMI イメージのセキュリティで保護された構成基準を定義します。 カスタム AMI イメージ、CloudFormation テンプレート、AWS Config Rules を使用して、構成ベースラインをデプロイして適用します。

AWS Inspector を使用して、VM とコンテナー化された環境の脆弱性スキャンを行い、悪意のある操作から保護します。

AWS サーバーレス サービスの場合は、AWS CodePipeline を AWS AppConfig と組み合わせて使用し、同様のコントロールを採用して、デプロイ前にセキュリティ コントロールをステージに "左にシフト" できるようにします。

AWS の実装と追加のコンテキスト:


GCP ガイダンス: Google Cloud には、コンピューティング リソースと Google Kubernetes Engine (GKE) コンテナー リソースを保護するためのコントロールが含まれています。 Google には、VM インスタンスを強化するシールドされた VM が含まれています。 ブート セキュリティを提供し、整合性を監視し、仮想トラステッド プラットフォーム モジュール (vTPM) を使用します。

Google Cloud Artifact Analysis を使用して、コンテナーまたは OS イメージ、およびその他の種類の成果物の脆弱性をオンデマンドでスキャンするか、パイプラインで自動的にスキャンします。 Container Threat Detection を使用して、Container-Optimized OS ノード イメージの状態を継続的に監視します。 このサービスは、すべての変更とリモート アクセス試行を評価して、ほぼリアルタイムでランタイム攻撃を検出します。

Artifact Registry を使用して、セキュリティで保護されたプライベートビルド成果物ストレージを設定し、レジストリネイティブの IAM ロールとアクセス許可を持つ成果物にアクセス、表示、またはダウンロードできるユーザーを制御し、Google のセキュリティで保護された信頼性の高いインフラストラクチャで一貫したアップタイムを取得します。

GCP サーバーレス サービスの場合は、同様の制御を採用して、デプロイ前のステージにセキュリティ制御が "シフト左" されるようにします。

GCP の実装と追加のコンテキスト:


顧客のセキュリティ利害関係者 (詳細情報):

DS-7: DevOps でログと監視を有効にする

CIS Controls v8 ID NNIST SP 800-53 r4 ID PCI-DSS ID v3.2.1
8.2、8.5、8.9、8.11 AU-3、AU-6、AU-12、SI-4 10.1、10.2、10.3、10.6

セキュリティ原則: ログと監視のスコープに、DevOps (およびその他の開発プロセス) で使用される非運用環境と CI/CD ワークフロー要素が含まれていることを確認します。 これらの環境を対象とする脆弱性と脅威を適切に監視しなければ、実稼働環境に重大なリスクを与えるおそれがあります。 CI/CD ビルド、テスト、およびデプロイ ワークフローからのイベントも監視して、CI/CD ワークフロー ジョブの逸脱を特定する必要があります。


Azure ガイダンス: DevOps プロセス全体で使用される非運用環境および CI/CD ツール環境 (Azure DevOps や GitHub など) で監査ログ機能を有効にして構成します。

Azure DevOps と GitHub CI/CD ワークフローから生成されたイベント (ビルド、テスト、デプロイ ジョブなど) も監視して、異常な結果を特定する必要があります。

上記のログとイベントをログ ストリームまたは API を介して Microsoft Sentinel またはその他の SIEM ツールに取り込み、セキュリティ インシデントが適切に監視され、処理のためにトリアージされていることを確認します。

Azure の実装と追加のコンテキスト:


AWS ガイダンス: DevOps プロセス全体で使用される非運用環境および CI/CD ツール環境 (AWS CodePipeline、AWS CodeBuild、AWS CodeDeploy、AWS CodeStar など) の監査ログ機能に対して AWS CloudTrail を有効にして構成します。

AWS CI/CD 環境 (AWS CodePipeline、AWS CodeBuild、AWS CodeDeploy、AWS CodeStar など) と GitHub CI/CD ワークフロー (ビルド、テスト、デプロイ ジョブなど) から生成されたイベントも監視して、異常な結果を特定する必要があります。

上記のログとイベントをログ ストリームまたは API を介して AWS CloudWatch、Microsoft Sentinel、またはその他の SIEM ツールに取り込み、セキュリティ インシデントが適切に監視され、処理のためにトリアージされていることを確認します。

AWS の実装と追加のコンテキスト:


GCP ガイダンス: DevOps プロセス全体で使用できる Cloud Build、Google Cloud Deploy、Artifact Registry、GitHub などの製品の非運用および CI/CD ツール環境で監査ログ機能を有効にして構成します。

GCP CI/CD 環境 (Cloud Build、Google Cloud Deploy、Artifact Registry など) と GitHub CI/CD ワークフロー (ビルド、テスト、デプロイ ジョブなど) から生成されたイベントも監視して、異常な結果を特定する必要があります。

上記のログとイベントを、ログ ストリームまたは API を介して Microsoft Sentinel、Google Cloud Security Command Center、Chronicle、またはその他の SIEM ツールに取り込み、セキュリティ インシデントが適切に監視され、処理のためにトリアージされていることを確認します。

GCP の実装と追加のコンテキスト:


顧客のセキュリティ利害関係者 (詳細情報):