の Security Hub コントロール CodeBuild - AWS Security Hub

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

の Security Hub コントロール CodeBuild

これらの Security Hub コントロールは、 AWS CodeBuild サービスとリソース。

これらのコントロールは、すべての で利用できるとは限りません。 AWS リージョン。 詳細については、「」を参照してくださいリージョン別のコントロールの可用性

〔CodeBuild.1] CodeBuild Bitbucket ソースリポジトリURLsには機密認証情報を含めないでください

関連する要件: PCI DSS v3.2.1/8.2.1、 NIST.800-53.r5 SA-3

カテゴリ: 保護 > セキュアな開発

重要度: 非常事態

リソースタイプ : AWS::CodeBuild::Project

AWS Config ルール: codebuild-project-source-repo-url-check

スケジュールタイプ: 変更がトリガーされた場合

パラメータ : なし

このコントロールは、 が AWS CodeBuild プロジェクト Bitbucket ソースリポジトリには、個人用アクセストークンまたはユーザー名とパスワードURLが含まれています。Bitbucket ソースリポジトリに個人用アクセストークンまたはユーザー名とパスワードURLが含まれている場合、コントロールは失敗します。

注記

このコントロールは、 CodeBuild ビルドプロジェクトのプライマリソースとセカンダリソースの両方を評価します。プロジェクトソースの詳細については、「」の「複数の入力ソースと出力アーティファクトのサンプル」を参照してください。 AWS CodeBuild ユーザーガイド

サインイン認証情報は、クリアテキストで保存または送信したり、ソースリポジトリ に表示されたりしないでくださいURL。個人用アクセストークンやサインイン認証情報の代わりに、 のソースプロバイダーにアクセスし CodeBuild、Bitbucket リポジトリの場所へのパスのみを含むURLようにソースリポジトリを変更する必要があります。個人アクセストークンまたはサインイン認証情報を使用すると、意図しないデータ漏えいや不正アクセスにつながる可能性があります。

修正

を使用するように CodeBuild プロジェクトを更新できますOAuth。

CodeBuild プロジェクトソースから基本認証 / (GitHub) Personal Access Token を削除するには
  1. で CodeBuild コンソールを開きますhttps://console.aws.amazon.com/codebuild/

  2. 個人用のアクセストークンまたはユーザー名とパスワードを含むビルドプロジェクトを選択します。

  3. [Edit] (編集) から、[Source] (ソース) を選択します。

  4. GitHub / Bitbucket から切断を選択します

  5. を使用して接続 OAuthを選択し、/ Bitbucket に接続 GitHub を選択します。

  6. プロンプトが表示されたら、[authorize as appropriate] (必要に応じて認可)を選択します。

  7. 必要に応じて、リポジトリURLと追加の設定を再設定します。

  8. [Update source] (ソースの更新) を選択します。

詳細については、「」のCodeBuild 「ユースケースベースのサンプル」を参照してください。 AWS CodeBuild ユーザーガイド

〔CodeBuild.2] CodeBuild プロジェクト環境変数にはクリアテキスト認証情報を含めないでください

関連する要件: PCI DSS v3.2.1/8.2.1、 NIST.800-53.r5 IA-5(7)、 NIST.800-53.r5 SA-3

カテゴリ: 保護 > セキュアな開発

重要度: 非常事態

リソースタイプ : AWS::CodeBuild::Project

AWS Config ルール: codebuild-project-envvar-awscred-check

スケジュールタイプ: 変更がトリガーされた場合

パラメータ: なし

このコントロールは、プロジェクトに環境変数 AWS_ACCESS_KEY_IDAWS_SECRET_ACCESS_KEY が含まれているかどうかをチェックします。

認証情報 AWS_ACCESS_KEY_ID および AWS_SECRET_ACCESS_KEY はクリアテキストで保存しないでください。これは、意図しないデータ漏えいや不正アクセスに認証情報が公開される可能性があるためです。

修正

CodeBuild プロジェクトから環境変数を削除するには、「 でビルドプロジェクトの設定を変更する」を参照してください。 AWS CodeBuild ()AWS CodeBuild ユーザーガイド [環境変数] に何も選択されていないことを確認します。

機密値を持つ環境変数を に保存できます。 AWS Systems Manager パラメータストアまたは AWS Secrets Manager ビルド仕様から取得します。手順については、「」の「環境」セクションにある「重要」というラベルのボックスを参照してください。 AWS CodeBuild ユーザーガイド

〔CodeBuild.3] CodeBuild S3 ログは暗号化する必要があります

関連する要件: NIST.800-53.r5 CA-9 (1)、 NIST.800-53.r5 CM-3(6), NIST.800-53.r5 SC-13、 NIST.800-53.r5 SC-28、 NIST.800-53.r5 SC-28 (1)、NIST.800-53.r5 SI-7 (6)

カテゴリ: 保護 > データ保護 > の暗号化 data-at-rest

重要度:

リソースタイプ : AWS::CodeBuild::Project

AWS Config ルール: codebuild-project-s3-logs-encrypted

スケジュールタイプ: 変更がトリガーされた場合

パラメータ : なし

このコントロールは、Amazon S3 が の をログに記録するかどうかをチェックします。 AWS CodeBuild プロジェクトは暗号化されます。 CodeBuild プロジェクトの S3 ログの暗号化が非アクティブ化されると、コントロールは失敗します。

保管中のデータの暗号化は、データ周辺にアクセス管理のレイヤーを追加するために推奨されるベストプラクティスです。保管中のログを暗号化すると、ユーザーが によって認証されないリスクが軽減されます。 AWS はディスクに保存されているデータにアクセスします。権限のないユーザーがデータにアクセスできる能力を制限するための一連のアクセスコントロールが追加されます。

修正

CodeBuild プロジェクト S3 ログの暗号化設定を変更するには、「 でビルドプロジェクトの設定を変更する」を参照してください。 AWS CodeBuild ()AWS CodeBuild ユーザーガイド

〔CodeBuild.4] CodeBuild プロジェクト環境にはログ記録が必要です AWS Config uration

関連する要件: NIST.800-53.r5 AC-2(12) NIST.800-53.r5 AC-2、(4) NIST.800-53.r5 AC-4、(26)、 NIST.800-53.r5 AC-6(9) NIST.800-53.r5 AU-10, NIST.800-53.r5 AU-12, NIST.800-53.r5 AU-2, NIST.800-53.r5 AU-3, NIST.800-53.r5 AU-6(3), NIST.800-53.r5 AU-6(4), NIST.800-53.r5 AU-9(7), NIST.800-53.r5 CA-7、 NIST.800-53.r5 SC-7(9)、NIST.800-53.r5 SI-3(8)、NIST.800-53.r5 SI-4、NIST.800-53.r5 SI-4(20)、NIST.800-53.r5 SI-7(8)

カテゴリ: 識別 > ログ記録

重要度:

リソースタイプ : AWS::CodeBuild::Project

AWS Config ルール: codebuild-project-logging-enabled

スケジュールタイプ: 変更がトリガーされた場合

パラメータ : なし

このコントロールは、 CodeBuild プロジェクト環境に S3 または ログに対して少なくとも 1 つの CloudWatch ログオプションが有効になっているかどうかをチェックします。 CodeBuild プロジェクト環境で少なくとも 1 つのログオプションが有効になっていない場合、このコントロールは失敗します。

セキュリティの観点から、ログ記録はセキュリティインシデントが発生した場合に、将来的に証拠の取り組みを可能にするために重要な機能です。 CodeBuild プロジェクトの異常を脅威検出と関連付けると、それらの脅威検出の精度の信頼性を高めることができます。

修正

CodeBuild プロジェクトログの設定方法の詳細については、 CodeBuild ユーザーガイドの「ビルドプロジェクトの作成 (コンソール)」を参照してください。

〔CodeBuild.5] CodeBuild プロジェクト環境では特権モードを有効にしないでください

重要

Security Hub は 2024 年 4 月にこのコントロールを廃止しました。詳細については、「Security Hub コントロールの変更ログ」を参照してください。

関連する要件: NIST.800-53.r5 AC-2 (1) NIST.800-53.r5 AC-3、 NIST.800-53.r5 AC-3(15)、 NIST.800-53.r5 AC-3(7) NIST.800-53.r5 AC-5、、 NIST.800-53.r5 AC-6(10) NIST.800-53.r5 AC-6、 NIST.800-53.r5 AC-6(2)

カテゴリ: 保護 > セキュアなアクセス管理

重要度:

リソースタイプ : AWS::CodeBuild::Project

AWS Config ルール: codebuild-project-environment-privileged-check

スケジュールタイプ: 変更がトリガーされた場合

パラメータ : なし

このコントロールは、 が AWS CodeBuild プロジェクト環境では、特権モードが有効または無効になっています。 CodeBuild プロジェクト環境で特権モードが有効になっている場合、コントロールは失敗します。

デフォルトでは、Docker コンテナはどのデバイスにもアクセスを許可できません。権限モードは、ビルドプロジェクトの Docker コンテナにすべてのデバイスへのアクセスを許可します。Docker コンテナ内で Docker デーモンの実行を許可するには、privilegedModetrue の値を設定します。Docker デーモンは Docker APIリクエストをリッスンし、イメージ、コンテナ、ネットワーク、ボリュームなどの Docker オブジェクトを管理します。このパラメータは、ビルドプロジェクトを使用して Docker イメージをビルドする場合にのみ、true に設定する必要があります。それ以外の場合は、Docker APIsやコンテナの基盤となるハードウェアへの意図しないアクセスを防ぐために、この設定を無効にする必要があります。privilegedModefalse に設定すると、重要なリソースを改ざんや削除から保護するのに役立ちます。

修正

CodeBuild プロジェクト環境設定を構成するには、「 ユーザーガイド」の「ビルドプロジェクトの作成 (コンソール)CodeBuild 」を参照してください。[環境] セクションでは、[特権付与] 設定を選択しないでください。

〔CodeBuild.7] CodeBuild レポートグループのエクスポートは、保管時に暗号化する必要があります

カテゴリ: 保護 > データ保護 > の暗号化 data-at-rest

重要度:

リソースタイプ : AWS::CodeBuild::ReportGroup

AWS Config ルール: codebuild-report-group-encrypted-at-rest

スケジュールタイプ: 変更がトリガーされた場合

パラメータ : なし

このコントロールは、 のテスト結果が AWS CodeBuild Amazon Simple Storage Service (Amazon S3) バケットにエクスポートされるレポートグループは、保管時に暗号化されます。レポートグループのエクスポートが保管中に暗号化されていない場合、コントロールは失敗します。

保管中のデータとは、永続的で不揮発性のストレージに任意の期間保存されるデータを指します。保管中のデータを暗号化すると、機密性が保護され、権限のないユーザーがデータにアクセスできるリスクが軽減されます。

修正

S3 へのレポートグループのエクスポートを暗号化するには、「」の「レポートグループの更新」を参照してください。 AWS CodeBuild ユーザーガイド