次の方法で共有


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

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

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

CIS Controls v8 ID NIST 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 NIST 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 のネイティブ機能の次の機能またはツールを使用して、ソフトウェア サプライ チェーンのセキュリティを確保します。- 依存関係グラフを使用して、アドバイザリ データベースを通じてプロジェクトのすべての依存関係と関連する脆弱性をスキャン、インベントリ、および特定します。

  • 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 ガイダンス: Software Delivery Shield を使用して、エンドツーエンドのソフトウェア サプライ チェーンのセキュリティ分析を実行します。 これには、Google によって検証およびテストされた OSS パッケージと、Google の安全なパイプラインを使用して構築された検証済みの Java および Python パッケージを組み込んでアクセスするための Assured 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 NIST 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 パイプラインを確認して、組織、プロジェクト、ユーザー、パイプライン (ビルドとリリース)、接続、ビルド エージェントなどの Azure DevOps のコア領域の構成ミスを特定して、オープン アクセス、弱い認証、安全でない接続のセットアップなどの構成の誤りを特定します。 GitHub の場合は、同様のコントロールを使用して Organization のアクセス許可レベルを保護します。
  • DevOpsインフラストラクチャが開発プロジェクト間で一貫してデプロイされるようにします。 Microsoft Defender for Cloud (コンプライアンス ダッシュボード、Azure Policy、クラウド態勢管理など) または独自のコンプライアンス監視ツールを使用して、DevOps インフラストラクチャのコンプライアンスを大規模に追跡します。
  • パイプラインへの変更が承認されるよう、パイプラインの Azure AD、ネイティブ サービス、CI/CD ツールに ID/ロールのアクセス許可とエンタイトルメント ポリシーを構成します。
  • Azure マネージド ID や Just-In-Time アクセスなどの機能を使用して、開発者やテスト担当者などの人間のアカウントに永続的な "永続的な" 特権アクセスを提供しないようにします。
  • CI/CD ワークフロー ジョブで使用されるコードとスクリプトからキー、資格情報、シークレットを削除し、キー ストアまたは Azure Key Vault に保持します。
  • セルフホステッド ビルド/デプロイ エージェントを実行する場合は、ネットワーク セキュリティ、体制と脆弱性の管理、エンドポイント セキュリティなどの Microsoft Cloud Security Benchmark コントロールに従って、環境をセキュリティで保護します。

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

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


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

  • このガイダンスと AWS Well-architected Framework のセキュリティの柱を参照して、AWS の DevOps 環境を保護します。
  • 成果物と基盤となるサポート インフラストラクチャを保護して、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 Security Benchmark コントロールに従って、環境をセキュリティで保護します。 AWS Inspector を使用して、EC2 またはコンテナ化された環境の脆弱性をビルド環境として脆弱性スキャンします。

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

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


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

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

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

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


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

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

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

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


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

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

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


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

AWS CodeCommit を使用している場合は、Python および Java ソースコード分析に AWS CodeGuru Reviewer を使用します。 AWS Codepipeline は、サードパーティーの SAST ツールのコードデプロイパイプラインへの統合もサポートできます。

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

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

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


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

Cloud Build、Cloud Deploy、Artifact Registry などのサービスは、Software Delivery Shield や CI/CD ワークフローのソースコードやその他のアーティファクトをスキャンできる Artifact Analysis との統合をサポートしています。

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


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

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

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

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


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

Azure DevOps パイプラインまたは GitHub では、サードパーティの DAST ツールの CI/CD ワークフローへの統合がサポートされています。

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


AWS ガイダンス: DAST をパイプラインに統合して、AWS CodePipeline または GitHub の CI/CD ワークフロー セットでランタイム アプリケーションを自動的にテストできるようにします。 自動侵入テスト (手動による検証を使用) も 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 を使用すると、App Engine、Google Kubernetes Engine(GKE)、Compute Engine でホストされているワークロード Web アプリケーションのセキュリティ脆弱性を特定できます。 自動侵入テスト (手動による検証を使用) も DAST の一部である必要があります。

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

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


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

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

CIS Controls v8 ID NIST 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 クラウド セキュリティ ベンチマークを使用して、既定でガードレールとして設定できる制御 (ネットワーク セキュリティ、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 を通じてきめ細かいアクセスを制限できるプライベート コンテナー レジストリを作成し、承認されたサービスとアカウントのみがプライベート レジストリ内のコンテナーにアクセスできるようにします。
  • Defender for Containers を使用して、プライベート Azure Container Registry 内のイメージの脆弱性評価を行います。 さらに、Microsoft Defender for Cloud を使用して、CI/CD ワークフローの一部としてコンテナー イメージ スキャンを統合できます。

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

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


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

EC2 AMI イメージの安全な設定基準を定義して、不要な認証情報、アクセス許可、およびパッケージを排除します。 カスタムAMIイメージ、CloudFormationテンプレート、AWS Configルールを使用して、設定ベースラインをデプロイおよび適用します。

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

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

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


GCP ガイダンス: Google Cloud には、コンピューティング リソースと Google Kubernetes Engine(GKE)コンテナ リソースを保護するためのコントロールが含まれています。 Google には、VM インスタンスを強化する Shielded VM が含まれています。 ブートセキュリティを提供し、整合性を監視し、Virtual Trusted Platform Module(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 NIST 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 ガイダンス: Cloud Build、Google Cloud Deploy、Artifact Registry、GitHub などのプロダクトの非本番環境と CI / CD ツール環境で監査ログ機能を有効にして構成し、DevOps プロセス全体で使用できます。

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

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

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


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