本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
CodeBuild 的 Security Hub CSPM 控制項
這些 Security Hub CSPM 控制項會評估 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、CRI Profile v2.2/PR.AA-04.01、CRI Profile v2.2/PR.DS-02.01
類別:保護 > 安全開發
嚴重性:嚴重
資源類型: 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) 個人存取字符
前往 https://console.aws.amazon.com/codebuild/
開啟 CodeBuild 主控台。 -
選擇包含個人存取字符或使用者名稱及密碼的建置專案。
-
從 Edit (編輯) 中,選擇 Source (來源)。
-
選擇 Disconnect from GitHub / Bitbucket (從 GitHub / Bitbucket 中斷連線)。
-
選擇 Connect using OAuth (使用 OAuth 連線),然後選擇 Connect to GitHub / Bitbucket (連線至 GitHub / Bitbucket)。
-
出現提示時,選擇 authorize as appropriate (適當授權)。
-
視需要重新設定您的儲存庫 URL 和其他組態設定。
-
選擇 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、CRI Profile v2.2/PR.AA-01.01、CRI Profile v2.2/PR.DS-01.01、CRI Profile v2.2/PR.PS-06.04
類別:保護 > 安全開發
嚴重性:嚴重
資源類型: 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。確保未為環境變數選取任何項目。
您可以將具有敏感值的環境變數存放在 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、CRI Profile v2.2/PR.DS-01.01、CRI Profile v2.2/PR.PS-01.06、CRI Profile v2.2/PR.PS-04.03
類別:保護 > 資料保護 > 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專案環境應具有記錄 URL
相關要求: 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-3AU-6(3)、NIST.800-53.r5 AU-6(4)、NIST.8000-5.5AU-9 CA-7 NIST.800-53.r5 SC-7 SI-3 SI-4 SI-7 DE.AE PR.IR PR.PS
類別:識別 > 記錄日誌
嚴重性:中
資源類型: AWS::CodeBuild::Project
AWS Config 規則:codebuild-project-logging-enabled
排程類型:變更已觸發
參數:無
此控制項會檢查 CodeBuild 專案環境是否已啟用至少一個日誌選項,包括 S3 或 CloudWatch 日誌。如果 CodeBuild 專案環境未啟用至少一個日誌選項,則此控制項會失敗。
從安全角度來看,記錄是一項重要功能,可在發生任何安全事件時,讓 進行未來的鑑識工作。將 CodeBuild 專案中的異常與威脅偵測相關聯,可以提高對這些威脅偵測準確性的信心。
修補
如需如何設定 CodeBuild 專案日誌設定的詳細資訊,請參閱 CodeBuild 使用者指南中的建立建置專案 (主控台)。
【CodeBuild.7] CodeBuild 報告群組匯出應靜態加密
相關要求:CRI Profile v2.2/PR.DS-01.01、CRI Profile v2.2/PR.PS-01.06
類別:保護 > 資料保護 > 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 《 使用者指南》中的更新報告群組。