기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
에 대한 Security Hub 제어 CodeBuild
이러한 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하고 Bitbucket 리포지토리 위치의 경로만 URL 포함하도록 소스 리포지토리를 변경해야 합니다. 개인 액세스 토큰 또는 로그인 보안 인증을 사용하면 자격 증명이 의도하지 않은 데이터 노출 및 무단 액세스에 노출될 수 있습니다.
문제 해결
를 사용하도록 CodeBuild 프로젝트를 업데이트할 수 있습니다OAuth.
CodeBuild 프로젝트 소스에서 기본 인증 / (GitHub) Personal Access Token을 제거하려면
에서 CodeBuild 콘솔을 엽니다https://console.aws.amazon.com/codebuild/
. -
개인 액세스 토큰 또는 사용자 이름과 암호가 포함된 빌드 프로젝트를 선택합니다.
-
편집에서 소스를 선택합니다.
-
연결 해제 GitHub / Bitbucket을 선택합니다.
-
를 사용하여 연결을 OAuth선택한 다음 / Bitbucket에 GitHub 연결을 선택합니다.
-
메시지가 표시되면 적절한 권한 부여를 선택합니다.
-
필요에 따라 리포지토리 URL 및 추가 구성 설정을 다시 구성합니다.
-
소스 업데이트를 선택합니다.
자세한 내용은 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. 환경 변수에 대해 아무것도 선택되지 않았는지 확인하세요.
환경 변수를 민감한 값으로 파라미터 스토어 또는 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요구가 있어야 합니다.
관련 요구 사항: 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 로그 옵션이 있는지 확인합니다. 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 컨테이너는 모든 디바이스에 대한 액세스를 허용하지 않습니다. 권한 모드는 빌드 프로젝트의 Docker 컨테이너에 모든 디바이스에 대한 액세스 권한을 부여합니다. 값 true
을 사용하여 privilegedMode
를 설정하면 Docker 대몬(daemon)을 Docker 컨테이너 내에서 실행할 수 있습니다. Docker 데몬은 Docker API 요청을 수신 대기하고 이미지, 컨테이너, 네트워크 및 볼륨과 같은 Docker 객체를 관리합니다. 이 파라미터는 빌드 프로젝트가 Docker 이미지를 빌드하는 데 사용되는 경우에만 true로 설정해야 합니다. 그렇지 않으면이 설정을 비활성화하여 DockerAPIs와 컨테이너의 기본 하드웨어에 대한 의도하지 않은 액세스를 방지해야 합니다. 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 사용 설명서의 보고서 그룹 업데이트를 참조하세요.