CodeBuild 的 Security Hub 控制項 - AWS Security Hub

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

CodeBuild 的 Security Hub 控制項

這些 Security Hub 控制項會評估 AWS CodeBuild 服務和資源。

這些控制項可能並非所有 都可用 AWS 區域。如需詳細資訊,請參閱依區域的控制項可用性

【CodeBuild.1] CodeBuild Bitbucket 來源儲存庫 URLs 不應包含敏感憑證

相關要求: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 中存取來源提供者,並將來源儲存庫 URL 變更為僅包含 Bitbucket 儲存庫位置的路徑,而不是個人存取字符或登入憑證。使用個人存取字符或登入憑證可能會導致意外的資料暴露或未經授權的存取。

修補

您可以更新您的 CodeBuild 專案以使用 OAuth。

從 CodeBuild 專案來源移除基本身分驗證/(GitHub) 個人存取字符
  1. 前往 https://console.aws.amazon.com/codebuild/ 開啟 CodeBuild 主控台。

  2. 選擇包含個人存取字符或使用者名稱及密碼的建置專案。

  3. Edit (編輯) 中,選擇 Source (來源)

  4. 選擇 Disconnect from GitHub / Bitbucket (從 GitHub / Bitbucket 中斷連線)

  5. 選擇 Connect using OAuth (使用 OAuth 連線),然後選擇 Connect to GitHub / Bitbucket (連線至 GitHub / Bitbucket)

  6. 出現提示時,選擇 authorize as appropriate (適當授權)

  7. 視需要重新設定您的儲存庫 URL 和其他組態設定。

  8. 選擇 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_IDAWS_SECRET_ACCESS_KEY

身分驗證登入資料 AWS_ACCESS_KEY_IDAWS_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)、PCI DSS v4.0.1/10.3.2

類別:保護 > 資料保護 > data-at-rest加密

嚴重性:

資源類型: 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專案環境應具有記錄 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-5.r5 AU-6(3)、NIST.8000-5AU-6) AU-9 CA-7 NIST.800-53.r5 SC-7 SI-3 SI-4 SI-4 SI-7

類別:識別 > 記錄日誌

嚴重性:

資源類型: AWS::CodeBuild::Project

AWS Config 規則:codebuild-project-logging-enabled

排程類型:已觸發變更

參數:

此控制項會檢查 CodeBuild 專案環境是否已啟用至少一個日誌選項,包括 S3 或 CloudWatch 日誌。如果 CodeBuild 專案環境未啟用至少一個日誌選項,則此控制項會失敗。

從安全角度來看,記錄是一項重要功能,可在發生任何安全事件時,為未來的鑑識工作提供支援。將 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 容器不允許存取任何裝置。「Privileged」(特殊權限) 模式會授予建置專案之 Docker 容器對所有裝置的存取權。privilegedMode 使用 值設定 true 可讓 Docker 協助程式在 Docker 容器內執行。Docker 協助程式會監聽 Docker API 請求,並管理 Docker 物件,例如映像、容器、網路和磁碟區。此參數只有在建置專案用於建置 Docker 映像時,才應該設為 true。否則,應停用此設定,以防止意外存取 Docker APIs 和容器的基礎硬體。privilegedMode 將 設定為 false有助於保護關鍵資源免於遭到竄改和刪除。

修補

若要設定 CodeBuild 專案環境設定,請參閱 CodeBuild 使用者指南中的建立建置專案 (主控台)。在環境區段中,不要選取特殊權限設定。

【CodeBuild.7] CodeBuild 報告群組匯出應靜態加密

類別:保護 > 資料保護 > data-at-rest加密

嚴重性:

資源類型: AWS::CodeBuild::ReportGroup

AWS Config 規則:codebuild-report-group-encrypted-at-rest

排程類型:變更觸發

參數:

此控制項會檢查匯出至 Amazon Simple Storage Service (Amazon S3) 儲存貯體的報告 AWS CodeBuild 群組測試結果是否靜態加密。如果報告群組匯出未靜態加密,則控制項會失敗。

靜態資料是指存放在持久性、非揮發性儲存體中任何持續時間的資料。加密靜態資料可協助您保護其機密性,進而降低未經授權的使用者可存取資料的風險。

修補

若要加密匯出至 S3 的報告群組,請參閱 AWS CodeBuild 使用者指南中的更新報告群組