翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
CodeBuild の Security Hub コントロール
これらの Security Hub コントロールは、 AWS CodeBuild サービスとリソースを評価します。
これらのコントロールは、一部の で使用できない場合があります AWS リージョン。詳細については、「リージョン別のコントロールの可用性」を参照してください。
[CodeBuild.1] CodeBuild Bitbucket ソースリポジトリの URL には機密認証情報を含めないでください
関連する要件: NIST.800-53.r5 SA-3、PCI DSS v3.2.1/8.2.1、PCI DSS v4.0.1/8.3.2
カテゴリ: 保護 > セキュアな開発
重要度: 非常事態
リソースタイプ : 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 を使用できます。
基本認証/(GitHub) 個人用のアクセストークンを CodeBuild プロジェクトソースから削除するには
CodeBuild コンソール (https://console.aws.amazon.com/codebuild/
) を開きます。 -
個人用のアクセストークンまたはユーザー名とパスワードを含むビルドプロジェクトを選択します。
-
[Edit] (編集) から、[Source] (ソース) を選択します。
-
[Disconnect from GitHub / Bitbucket] (GitHub/Bitbucket から切断) を選択します。
-
[Connect using OAuth] (OAuth を使用して接続する) を選択し、[Connect to GitHub / Bitbucket] (GitHub/Bitbucket に接続する) を選択します。
-
プロンプトが表示されたら、[authorize as appropriate] (必要に応じて認可)を選択します。
-
必要に応じて、[Repository URL] (リポジトリ URL) と [additional configuration] (追加の設定) を再設定します。
-
[Update source] (ソースの更新) を選択します。
詳細については、「AWS CodeBuild ユーザーガイド」の「CodeBuild ユースケースベースのサンプル」を参照してください。
[CodeBuild.2] CodeBuild プロジェクト環境変数にクリアテキストの認証情報を含めることはできません
関連する要件: NIST.800-53.r5 IA-5(7)、NIST.800-53.r5 SA-3、PCI DSS v3.2.1/8.2.1、PCI DSS v4.0.1/8.3.2
カテゴリ: 保護 > セキュアな開発
重要度: 非常事態
リソースタイプ : AWS::CodeBuild::Project
AWS Config ルール : codebuild-project-envvar-awscred-check
スケジュールタイプ: 変更がトリガーされた場合
パラメータ: なし
このコントロールは、プロジェクトに環境変数 AWS_ACCESS_KEY_ID
と AWS_SECRET_ACCESS_KEY
が含まれているかどうかをチェックします。
認証情報 AWS_ACCESS_KEY_ID
および AWS_SECRET_ACCESS_KEY
はクリアテキストで保存しないでください。これは、意図しないデータ漏えいや不正アクセスに認証情報が公開される可能性があるためです。
修正
CodeBuild プロジェクトから環境変数を削除するには、「AWS CodeBuild ユーザーガイド」の「AWS CodeBuildでのビルドプロジェクトの設定の変更」を参照してください。[環境変数] に何も選択されていないことを確認します。
機密値を持つ環境変数を Parameter Store 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)、PCI DSS v4.0.1/10.3.2
カテゴリ: 保護 > データ保護 > 保管中のデータの暗号化
重要度: 低
リソースタイプ : AWS::CodeBuild::Project
AWS Config ルール : codebuild-project-s3-logs-encrypted
スケジュールタイプ: 変更がトリガーされた場合
パラメータ : なし
このコントロールは、 AWS CodeBuild プロジェクトの Amazon S3 ログが暗号化されているかどうかを確認します。CodeBuild プロジェクトの S3 ログの暗号化が無効になっていると、コントロールは失敗します。
保管中のデータの暗号化は、データ周辺にアクセス管理のレイヤーを追加するために推奨されるベストプラクティスです。保管中のログを暗号化すると、 によって認証されていないユーザーがディスクに保存されているデータにアクセスするリスクが軽減 AWS されます。権限のないユーザーがデータにアクセスできる能力を制限するための一連のアクセスコントロールが追加されます。
修正
CodeBuild プロジェクトの S3 ログの暗号化設定を変更するには、「AWS CodeBuild ユーザーガイド」の「AWS CodeBuildでのビルドプロジェクトの設定の変更」を参照してください。
[CodeBuild.4] CodeBuild AWS Configプロジェクト環境にはログ記録設定が必要です
関連する要件: 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 または CloudWatch ログが有効になっているログオプションが、少なくとも 1 つあるかどうかをチェックします。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、NIST.800-53.r5 AC-6(10)、NIST.800-53.r5 AC-6(2)
カテゴリ: 保護 > セキュアなアクセス管理
重要度: 高
リソースタイプ : AWS::CodeBuild::Project
AWS Config ルール : codebuild-project-environment-privileged-check
スケジュールタイプ: 変更がトリガーされた場合
パラメータ : なし
このコントロールは、 AWS CodeBuild プロジェクト環境で特権モードが有効か無効かをチェックします。コントロールは、CodeBuild プロジェクト環境で特権モードが有効な場合は失敗します。
デフォルトでは、Docker コンテナはどのデバイスにもアクセスを許可できません。権限モードは、ビルドプロジェクトの Docker コンテナにすべてのデバイスへのアクセスを許可します。Docker コンテナ内で Docker デーモンの実行を許可するには、privilegedMode
に true
の値を設定します。Docker デーモンは、Docker API リクエストをリッスンし、イメージ、コンテナ、ネットワーク、ボリュームなどの Docker オブジェクトを管理します。このパラメータは、ビルドプロジェクトを使用して Docker イメージをビルドする場合にのみ、true に設定する必要があります。それ以外の場合、Docker API およびコンテナの基盤となるハードウェアへの意図しないアクセスを防ぐため、この設定を無効にする必要があります。privilegedMode
を false
に設定すると、重要なリソースを改ざんや削除から保護するのに役立ちます。
修正
CodeBuild プロジェクト環境設定を設定するには、「CodeBuild ユーザーガイド」の「ビルドプロジェクトの作成 (コンソール)」を参照してください。[環境] セクションでは、[特権付与] 設定を選択しないでください。
[CodeBuild.7] CodeBuild レポートグループのエクスポートは保管時に暗号化する必要があります
カテゴリ: 保護 > データ保護 > 保管中のデータの暗号化
重要度: 中
リソースタイプ : AWS::CodeBuild::ReportGroup
AWS Config ルール : codebuild-report-group-encrypted-at-rest
スケジュールタイプ: 変更がトリガーされた場合
パラメータ : なし
このコントロールは、Amazon Simple Storage Service (Amazon S3) バケットにエクスポートされた AWS CodeBuild レポートグループのテスト結果が保管中に暗号化されているかどうかを確認します。レポートグループのエクスポートが保管時に暗号化されていない場合、コントロールは失敗します。
保管中のデータとは、永続的な不揮発性ストレージに任意の期間保管されているデータを指します。保管中のデータを暗号化すると、その機密性が保護され、権限のないユーザーがアクセスするリスクが低減されます。
修正
S3 へのレポートグループのエクスポートを暗号化するには、 「AWS CodeBuild ユーザーガイド」の「レポートグループの更新」を参照してください。