다음을 통해 공유


보안 제어: DevOps 보안

DevOps Security는 DevOps 프로세스 전체에서 보안을 보장하기 위해 배포 단계 이전의 중요한 보안 검사(예: 정적 애플리케이션 보안 테스트, 취약성 관리)의 배포를 포함하여 DevOps 프로세스의 보안 엔지니어링 및 작업과 관련된 컨트롤을 다룹니다. 위협 모델링 및 소프트웨어 공급 보안과 같은 일반적인 항목도 포함됩니다.

DS-1: 위협 모델링 수행

CIS 컨트롤 v8 ID NIST SP 800-53 r4 ID(들) PCI-DSS ID(들) v3.2.1
16.10, 16.14 남아프리카-15 6.5, 12.2

보안 원칙: 위협 모델링을 수행하여 잠재적인 위협을 식별하고 완화 컨트롤을 열거합니다. 위협 모델링이 다음 용도로 사용되는지 확인합니다.

  • 프로덕션 런타임 단계에서 애플리케이션 및 서비스를 보호합니다.
  • 빌드, 테스트 및 배포에 사용되는 아티팩트, 기본 CI/CD 파이프라인 및 기타 도구 환경을 보호합니다. 위협 모델링에는 최소한 다음 측면이 포함되어야 합니다.
  • 애플리케이션의 보안 요구 사항을 정의합니다. 위협 모델링에서 이러한 요구 사항이 적절하게 해결되었는지 확인합니다.
  • 애플리케이션 구성 요소, 데이터 연결 및 해당 관계를 분석합니다. 이 분석에는 애플리케이션 범위 외부의 업스트림 및 다운스트림 연결도 포함되어 있는지 확인합니다.
  • 애플리케이션 구성 요소, 데이터 연결 및 업스트림 및 다운스트림 서비스가 노출될 수 있는 잠재적 위협 및 공격 벡터를 나열합니다.
  • 열거된 위협을 완화하는 데 사용할 수 있는 적용 가능한 보안 컨트롤을 식별하고 추가 처리 계획이 필요할 수 있는 컨트롤 간격(예: 보안 취약성)을 식별합니다.
  • 식별된 취약성을 완화할 수 있는 컨트롤을 열거하고 디자인합니다.

Azure 지침: Azure 위협 모델 템플릿이 포함된 Microsoft 위협 모델링 도구와 같은 위협 모델링 도구를 사용하여 위협 모델링 프로세스를 추진합니다. STRIDE 모델을 사용하여 내부 및 외부의 위협을 열거하고 적용 가능한 컨트롤을 식별합니다. 위협 모델링 프로세스에 잘못 구성된 액세스 제어 정책을 사용하여 안전하지 않은 아티팩트 리포지토리를 통한 악성 코드 주입과 같은 DevOps 프로세스의 위협 시나리오가 포함되어 있는지 확인합니다.

위협 모델링 도구를 사용할 수 없는 경우 최소한 설문지 기반 위협 모델링 프로세스를 사용하여 위협을 식별해야 합니다.

애플리케이션 또는 위협 환경에서 보안에 큰 영향을 미치는 변경이 있을 때 위협 모델링 또는 분석 결과가 기록되고 업데이트되는지 확인합니다.

Azure 구현 및 추가 컨텍스트:


AWS 지침: Azure 위협 모델 템플릿이 포함된 Microsoft 위협 모델링 도구와 같은 위협 모델링 도구를 사용하여 위협 모델링 프로세스를 추진합니다. STRIDE 모델을 사용하여 내부 및 외부의 위협을 열거하고 적용 가능한 컨트롤을 식별합니다. 위협 모델링 프로세스에 잘못 구성된 액세스 제어 정책을 사용하여 안전하지 않은 아티팩트 리포지토리를 통한 악성 코드 주입과 같은 DevOps 프로세스의 위협 시나리오가 포함되어 있는지 확인합니다.

위협 모델링 도구를 사용할 수 없는 경우 최소한 설문지 기반 위협 모델링 프로세스를 사용하여 위협을 식별해야 합니다.

애플리케이션 또는 위협 환경에서 보안에 큰 영향을 미치는 변경이 있을 때 위협 모델링 또는 분석 결과가 기록되고 업데이트되는지 확인합니다.

AWS 구현 및 추가 컨텍스트:


GCP 지침: Azure 위협 모델 템플릿이 포함된 Microsoft 위협 모델링 도구와 같은 위협 모델링 도구를 사용하여 위협 모델링 프로세스를 추진합니다. STRIDE 모델을 사용하여 내부 및 외부의 위협을 열거하고 적용 가능한 컨트롤을 식별합니다. 위협 모델링 프로세스에 잘못 구성된 액세스 제어 정책을 사용하여 안전하지 않은 아티팩트 리포지토리를 통한 악성 코드 주입과 같은 DevOps 프로세스의 위협 시나리오가 포함되어 있는지 확인합니다.

위협 모델링 도구를 사용할 수 없는 경우 최소한 설문지 기반 위협 모델링 프로세스를 사용하여 위협을 식별해야 합니다.

애플리케이션 또는 위협 환경에서 보안에 큰 영향을 미치는 변경이 있을 때 위협 모델링 또는 분석 결과가 기록되고 업데이트되는지 확인합니다.

GCP 구현 및 추가 컨텍스트:


고객 보안 관련자(자세한 정보):

DS-2: 소프트웨어 공급망 보안 보장

CIS 컨트롤 v8 ID NIST SP 800-53 r4 ID(들) PCI-DSS ID(들) v3.2.1
16.4, 16.6, 16.11 SA-12, SA-15 6.3, 6.5

보안 원칙: 기업의 SDLC(소프트웨어 개발 수명 주기) 또는 프로세스에 애플리케이션에 종속성이 있는 사내 및 타사 소프트웨어 구성 요소(독점 및 오픈 소스 소프트웨어 포함)를 제어하는 보안 제어 집합이 포함되어 있는지 확인합니다. 취약하거나 악의적인 구성 요소가 환경에 통합되고 배포되지 않도록 게이팅 조건을 정의합니다.

소프트웨어 공급망 보안 제어에는 적어도 다음 측면이 포함되어야 합니다.

  • 서비스/리소스 개발, 빌드, 통합 및 배포 단계에 필요한 업스트림 종속성을 식별하여 SBOM(Software Bill of Materials)을 적절하게 관리합니다.
  • 업스트림에서 사용할 수 있는 수정 사항이 있는 경우 알려진 취약성에 대한 사내 및 타사 소프트웨어 구성 요소를 인벤토리 및 추적합니다.
  • 알 수 없는 취약성에 대한 정적 및 동적 애플리케이션 테스트를 사용하여 소프트웨어 구성 요소의 취약성 및 맬웨어를 평가합니다.
  • 적절한 접근 방식을 사용하여 취약성 및 맬웨어가 완화되는지 확인합니다. 여기에는 소스 코드 로컬 또는 업스트림 수정, 기능 제외 및/또는 직접 완화를 사용할 수 없는 경우 보상 컨트롤 적용이 포함될 수 있습니다.

프로덕션 환경에서 닫힌 원본 타사 구성 요소를 사용하는 경우 보안 상태에 대한 가시성이 제한될 수 있습니다. 구성 요소와 관련된 악의적인 활동 또는 취약성이 있는 경우 영향을 최소화하려면 액세스 제어, 네트워크 격리 및 엔드포인트 보안과 같은 추가 컨트롤을 고려해야 합니다.


Azure 지침: GitHub 플랫폼의 경우 GitHub Advanced Security 또는 GitHub의 기본 기능에서 다음 기능 또는 도구를 통해 소프트웨어 공급망 보안을 보장합니다. 종속성 그래프를 사용하여 자문 데이터베이스를 통해 모든 프로젝트의 종속성 및 관련 취약성을 검사, 인벤토리 및 식별합니다.

  • Dependabot을 사용하여 취약한 종속성을 추적하고 수정하고 리포지토리가 종속된 패키지 및 애플리케이션의 최신 릴리스를 자동으로 유지하도록 합니다.
  • GitHub의 네이티브 코드 검색 기능을 사용하여 코드를 외부에서 소싱할 때 소스 코드를 검색합니다.
  • Microsoft Defender for Cloud를 사용하여 CI/CD 워크플로에서 컨테이너 이미지에 대한 취약성 평가를 통합합니다. Azure DevOps의 경우 타사 확장을 사용하여 인벤토리에 유사한 컨트롤을 구현하고, 타사 소프트웨어 구성 요소 및 해당 취약성을 분석 및 수정할 수 있습니다.

Azure 구현 및 추가 컨텍스트:


AWS 지침: CodeCommit 또는 CodePipeline과 같은 AWS CI/CD 플랫폼을 사용하는 경우 CodeGuru Reviewer를 사용하여 소프트웨어 공급망 보안을 보장하여 CI/CD 워크플로를 통해 소스 코드(Java 및 Python용)를 검사합니다. CodeCommit 및 CodePipeline과 같은 플랫폼은 타사 확장도 지원하여 타사 소프트웨어 구성 요소 및 해당 취약성의 인벤토리, 분석 및 수정과 유사한 컨트롤을 구현합니다.

GitHub 플랫폼을 통해 소스 코드를 관리하는 경우 GitHub Advanced Security 또는 GitHub의 기본 기능에서 다음 기능 또는 도구를 통해 소프트웨어 공급망 보안을 보장합니다.

  • 종속성 그래프를 사용하여 자문 데이터베이스를 통해 프로젝트의 모든 종속성 및 관련 취약성을 검사, 인벤토리 및 식별합니다.
  • Dependabot을 사용하여 취약한 종속성을 추적하고 수정하고 리포지토리가 종속된 패키지 및 애플리케이션의 최신 릴리스를 자동으로 유지하도록 합니다.
  • GitHub의 네이티브 코드 검색 기능을 사용하여 코드를 외부에서 소싱할 때 소스 코드를 검색합니다.
  • 해당하는 경우 Microsoft Defender for Cloud를 사용하여 CI/CD 워크플로에서 컨테이너 이미지에 대한 취약성 평가를 통합합니다.

AWS 구현 및 추가 컨텍스트:


GCP 지침: Software Delivery Shield를 사용하여 엔드 투 엔드 소프트웨어 공급망 보안 분석을 수행합니다. 여기에는 Google에서 확인 및 테스트한 OSS 패키지뿐만 아니라 Google의 보안 파이프라인을 사용하여 빌드된 유효성이 검사된 Java 및 Python 패키지에 액세스하고 통합하기 위한 보장 OSS(오픈 소스 소프트웨어) 서비스가 포함됩니다. 이러한 패키지는 정기적으로 취약성을 검사, 분석 및 테스트합니다. 이러한 기능은 CI/CD 워크플로의 일부로 Google 클라우드 빌드, 클라우드 배포, 아티팩트 레지스트리, 아티팩트 분석에 통합될 수 있습니다.

GitHub 플랫폼을 통해 소스 코드를 관리하는 경우 GitHub Advanced Security 또는 GitHub의 기본 기능에서 다음 기능 또는 도구를 통해 소프트웨어 공급망 보안을 보장합니다.

  • 종속성 그래프를 사용하여 자문 데이터베이스를 통해 프로젝트의 모든 종속성 및 관련 취약성을 검사, 인벤토리 및 식별합니다.
  • Dependabot을 사용하여 취약한 종속성을 추적하고 수정하고 리포지토리가 종속된 패키지 및 애플리케이션의 최신 릴리스를 자동으로 유지하도록 합니다.
  • GitHub의 네이티브 코드 검색 기능을 사용하여 코드를 외부에서 소싱할 때 소스 코드를 검색합니다.
  • 해당하는 경우 Microsoft Defender for Cloud를 사용하여 CI/CD 워크플로에서 컨테이너 이미지에 대한 취약성 평가를 통합합니다.

GCP 구현 및 추가 컨텍스트:


고객 보안 관련자(자세한 정보):

DS-3: 안전한 DevOps 인프라

CIS 컨트롤 v8 ID NIST SP 800-53 r4 ID(들) PCI-DSS ID(들) v3.2.1
16.7 CM-2, CM-6, AC-2, AC-3, AC-6 2.2, 6.3, 7.1

보안 원칙: DevOps 인프라 및 파이프라인이 빌드, 테스트 및 프로덕션 단계를 비롯한 환경 전반의 보안 모범 사례를 따르도록 합니다. 여기에는 일반적으로 다음 범위에 대한 보안 컨트롤이 포함됩니다.

  • 소스 코드, 빌드된 패키지 및 이미지, 프로젝트 아티팩트 및 비즈니스 데이터를 저장하는 아티팩트 리포지토리입니다.
  • CI/CD 파이프라인을 호스트하는 서버, 서비스 및 도구입니다.
  • CI/CD 파이프라인 구성.

Azure 지침: DevOps 인프라 보안 컨트롤에 Microsoft Cloud Security Benchmark를 적용하는 과정의 일환으로 다음 컨트롤의 우선 순위를 지정합니다.

  • 아티팩트와 기본 환경을 보호하여 CI/CD 파이프라인이 악성 코드를 삽입하는 방법이 되지 않도록 합니다. 예를 들어 CI/CD 파이프라인을 검토하여 조직, 프로젝트, 사용자, 파이프라인(빌드 및 릴리스), 연결 및 빌드 에이전트와 같은 Azure DevOps의 핵심 영역에서 잘못된 구성을 식별하여 개방형 액세스, 약한 인증, 안전하지 않은 연결 설정 등과 같은 잘못된 구성을 식별합니다. GitHub의 경우 유사한 컨트롤을 사용하여 조직 권한 수준을 보호합니다.
  • 개발 프로젝트에서 DevOps 인프라가 일관되게 배포되었는지 확인합니다. 클라우드용 Microsoft Defender(예: 규정 준수 대시보드, Azure Policy, Cloud Posture Management) 또는 고유한 규정 준수 모니터링 도구를 사용하여 DevOps 인프라의 규정 준수를 대규모로 추적합니다.
  • 파이프라인에 대한 변경 권한이 부여되도록 파이프라인의 Azure AD, 네이티브 서비스 및 CI/CD 도구에서 ID/역할 권한 및 권한 정책을 구성합니다.
  • Azure 관리형 식별자 및 just-in-time 액세스와 같은 기능을 사용하여 개발자 또는 테스터와 같은 사용자 계정에 대한 영구적인 '상시' 권한 있는 액세스를 피하십시오.
  • CI/CD 워크플로 작업에 사용되는 코드 및 스크립트에서 키, 자격 증명 및 비밀을 제거하고 키 저장소 또는 Azure Key Vault에 보관합니다.
  • 자체 호스팅 빌드/배포 에이전트를 실행하는 경우 네트워크 보안, 자세 및 취약성 관리 및 엔드포인트 보안을 비롯한 Microsoft Cloud Security Benchmark 컨트롤을 따라 환경을 보호합니다.

참고: Azure Monitor 및 Microsoft Sentinel과 같은 서비스를 사용하여 DevOps 인프라에 대한 거버넌스, 규정 준수, 운영 감사 및 위험 감사를 사용하도록 설정하려면 로깅 및 위협 감지, DS-7 및 자세 및 취약성 관리 섹션을 참조하세요.

Azure 구현 및 추가 컨텍스트:


AWS 지침: GitHub, CodeCommit, CodeArtifact, CodePipeline, CodeBuild 및 CodeDeploy와 같은 DevOps 인프라의 보안 제어에 Microsoft Cloud Security Benchmark를 적용하는 과정의 일환으로 다음 컨트롤의 우선 순위를 지정합니다.

  • AWS에서 DevOps 환경을 보호하려면 이 지침 및 AWS 잘 설계된 프레임워크 보안 핵심 요소를 참조하세요.
  • CI/CD 파이프라인이 악성 코드를 삽입하는 방법이 되지 않도록 아티팩트 및 기본 지원 인프라를 보호합니다.
  • 개발 프로젝트에서 DevOps 인프라가 지속적으로 배포되고 유지되는지 확인합니다. AWS 구성 또는 고유한 규정 준수 검사 솔루션을 사용하여 대규모로 DevOps 인프라의 규정 준수를 추적합니다.
  • CodeArtifact를 사용하여 애플리케이션 개발에 사용되는 소프트웨어 패키지를 안전하게 저장하고 공유합니다. Maven, Gradle, npm, yarn, pip 및 twine과 같은 인기 있는 빌드 도구 및 패키지 관리자와 함께 CodeArtifact를 사용할 수 있습니다.
  • 파이프라인에서 AWS IAM, 네이티브 서비스 및 CI/CD 도구에서 ID/역할 권한 및 권한 정책을 구성하여 파이프라인에 대한 변경 내용에 권한이 부여되도록 합니다.
  • CI/CD 워크플로 작업에 사용되는 코드 및 스크립트에서 키, 자격 증명 및 비밀을 제거하고 키 저장소 또는 AWS KMS에 보관
  • 자체 호스팅 빌드/배포 에이전트를 실행하는 경우 네트워크 보안, 자세 및 취약성 관리 및 엔드포인트 보안을 비롯한 Microsoft Cloud Security Benchmark 컨트롤을 따라 환경을 보호합니다. AWS Inspector를 사용하여 EC2 또는 컨테이너화된 환경의 취약성을 빌드 환경으로 검사합니다.

참고: AWS CloudTrail, CloudWatch 및 Microsoft Sentinel과 같은 서비스를 사용하여 DevOps 인프라에 대한 거버넌스, 규정 준수, 운영 감사 및 위험 감사를 사용하도록 설정하려면 로깅 및 위협 감지, DS-7 및 자세 및 취약성 관리 섹션을 참조하세요.

AWS 구현 및 추가 컨텍스트:


GCP 지침: DevOps 인프라 보안 컨트롤에 Microsoft Cloud Security Benchmark를 적용하는 과정의 일환으로 다음 컨트롤의 우선 순위를 지정합니다.

  • 아티팩트와 기본 환경을 보호하여 CI/CD 파이프라인이 악성 코드를 삽입하는 방법이 되지 않도록 합니다. 예를 들어 CI/CD 파이프라인을 검토하여 Google 클라우드 빌드, 클라우드 배포, 아티팩트 레지스트리, 연결 및 빌드 에이전트와 같은 서비스의 잘못된 구성을 식별하여 오픈 액세스, 약한 인증, 안전하지 않은 연결 설정 등과 같은 잘못된 구성을 식별합니다. GitHub의 경우 유사한 컨트롤을 사용하여 조직 권한 수준을 보호합니다.
  • 개발 프로젝트에서 DevOps 인프라가 일관되게 배포되었는지 확인합니다. Google Cloud Security Command Center(예: 준수 대시보드, 조직 정책, 개별 위협 기록 및 잘못된 구성 식별) 또는 고유한 규정 준수 모니터링 도구를 사용하여 DevOps 인프라의 규정 준수를 대규모로 추적합니다.
  • 클라우드 ID/AD 네이티브 서비스 및 파이프라인 내의 CI/CD 도구에서 ID/롤 권한과 권한 정책을 구성하여 파이프라인 변경 사항이 권한을 받도록 합니다.
  • Google 관리 식별자와 같은 기능을 사용하여 개발자 또는 테스터와 같은 사용자 계정에 대한 영구 "스탠딩" 권한 있는 액세스를 제공하지 않습니다.
  • CI/CD 워크플로 작업에 사용되는 코드 및 스크립트에서 키, 자격 증명 및 비밀을 제거하고 키 저장소 또는 Google Secret Manager에 보관합니다.
  • 자체 호스팅 빌드/배포 에이전트를 실행하는 경우 네트워크 보안, 자세 및 취약성 관리 및 엔드포인트 보안을 비롯한 Microsoft Cloud Security Benchmark 컨트롤을 따라 환경을 보호합니다.

참고: 로깅 및 위협 감지, DS-7 및 자세 및 취약성 관리 섹션을 참조하여 Azure Monitor, Microsoft Sentinel 또는 Google Cloud의 운영 제품군 및 크로니클 SIEM 및 SOAR와 같은 서비스를 사용하여 DevOps 인프라에 대한 거버넌스, 규정 준수, 운영 감사 및 위험 감사를 사용하도록 설정합니다.

GCP 구현 및 추가 컨텍스트:


고객 보안 관련자(자세한 정보):

DS-4: 정적 애플리케이션 보안 테스트를 DevOps 파이프라인에 통합

CIS 컨트롤 v8 ID NIST SP 800-53 r4 ID(들) PCI-DSS ID(들) v3.2.1
16.12 남아프리카-11 6.3, 6.5

보안 원칙: SAST(정적 애플리케이션 보안 테스트), 퍼지 테스트, 대화형 테스트, 모바일 애플리케이션 테스트가 CI/CD 워크플로의 게이팅 제어에 포함되도록 합니다. 테스트 결과에 따라 게이팅을 설정하여 취약한 패키지가 리포지토리에 커밋되거나, 패키지에 빌드되거나, 프로덕션에 배포되는 것을 방지할 수 있습니다.


Azure 지침: CI/CD 워크플로에서 소스 코드를 자동으로 검색할 수 있도록 SAST를 파이프라인(예: 코드 템플릿으로 인프라)에 통합합니다. Azure DevOps 파이프라인 또는 GitHub는 아래 도구와 타사 SAST 도구를 워크플로에 통합할 수 있습니다.

  • 소스 코드 분석을 위한 GitHub CodeQL입니다.
  • Windows용 Microsoft BinSkim Binary Analyzer 및 *nix 이진 분석
  • 소스 코드에서 자격 증명 검사를 위한 Azure DevOps 자격 증명 스캐너(Microsoft Security DevOps 확장) 및 GitHub 네이티브 비밀 검사

Azure 구현 및 추가 컨텍스트:


AWS 지침: CI/CD 워크플로에서 소스 코드를 자동으로 검색할 수 있도록 SAST를 파이프라인에 통합합니다.

AWS CodeCommit을 사용하는 경우 Python 및 Java 소스 코드 분석에 AWS CodeGuru Reviewer를 사용합니다. AWS Codepipeline은 3부 SAST 도구를 코드 배포 파이프라인에 통합할 수도 있습니다.

GitHub를 사용하는 경우 아래 도구와 타사 SAST 도구를 워크플로에 통합할 수 있습니다.

  • 소스 코드 분석을 위한 GitHub CodeQL입니다.
  • Windows용 Microsoft BinSkim Binary Analyzer 및 *nix 이진 분석
  • 소스 코드에서 자격 증명 검색을 위한 GitHub 네이티브 비밀 검사입니다.
  • Python 및 Java 소스 코드 분석을 위한 AWS CodeGuru 검토자입니다.

AWS 구현 및 추가 컨텍스트:


GCP 지침: CI/CD 워크플로에서 소스 코드를 자동으로 검색할 수 있도록 SAST(예: 소프트웨어 배달 방패, 아티팩트 분석)를 파이프라인(예: 코드 템플릿으로 인프라)에 통합합니다.

클라우드 빌드, 클라우드 배포, 아티팩트 레지스트리와 같은 서비스는 CI/CD 워크플로에서 소스 코드 및 기타 아티팩트 검색할 수 있는 소프트웨어 배달 쉴드 및 아티팩트 분석과의 통합을 지원합니다.

GCP 구현 및 추가 컨텍스트:


고객 보안 관련자(자세한 정보):

DS-5: DevOps 파이프라인에 동적 애플리케이션 보안 테스트 통합

CIS 컨트롤 v8 ID NIST SP 800-53 r4 ID(들) PCI-DSS ID(들) v3.2.1
16.12 남아프리카-11 6.3, 6.5

보안 원칙: DAST(동적 애플리케이션 보안 테스트)가 CI/CD 워크플로의 게이팅 제어의 일부인지 보장합니다. 테스트 결과에 따라 게이팅을 설정하여 취약성이 패키지에 빌드되거나 프로덕션에 배포되는 것을 방지할 수 있습니다.


Azure 지침: AZURE DevOps 또는 GitHub에서 설정된 CI/CD 워크플로에서 런타임 애플리케이션을 자동으로 테스트할 수 있도록 DAST를 파이프라인에 통합합니다. 자동화된 침투 테스트(수동 보조 유효성 검사 포함)도 DAST의 일부여야 합니다.

Azure DevOps Pipeline 또는 GitHub는 타사 DAST 도구를 CI/CD 워크플로에 통합하는 것을 지원합니다.

Azure 구현 및 추가 컨텍스트:


AWS 지침: AWS CodePipeline 또는 GitHub에서 설정된 CI/CD 워크플로에서 런타임 애플리케이션을 자동으로 테스트할 수 있도록 DAST를 파이프라인에 통합합니다. 자동화된 침투 테스트(수동 보조 유효성 검사 포함)도 DAST의 일부여야 합니다.

AWS CodePipeline 또는 GitHub는 타사 DAST 도구를 CI/CD 워크플로에 통합할 수 있습니다.

AWS 구현 및 추가 컨텍스트:


GCP 지침: DAST(예: Cloud Web Security Scanner)를 파이프라인에 통합하여 Google Cloud Build, Cloud Deploy 또는 GitHub와 같은 서비스에서 설정된 CI/CD 워크플로에서 런타임 애플리케이션을 자동으로 테스트할 수 있습니다. Cloud Web Security 스캐너를 사용하여 앱 엔진, GKE(Google Kubernetes Engine) 및 컴퓨팅 엔진에서 호스트되는 워크로드 웹 애플리케이션의 보안 취약성을 식별할 수 있습니다. 자동화된 침투 테스트(수동 보조 유효성 검사 포함)도 DAST의 일부여야 합니다.

Google Cloud Build, Google Cloud Deploy, Artifact Registry 및 GitHub는 타사 DAST 도구를 CI/CD 워크플로에 통합하는 기능도 지원합니다.

GCP 구현 및 추가 컨텍스트:


고객 보안 관련자(자세한 정보):

DS-6: DevOps 수명 주기 전반에 걸쳐 워크로드 보안 적용

CIS 컨트롤 v8 ID NIST SP 800-53 r4 ID(들) PCI-DSS ID(들) v3.2.1
7.5, 7.6, 7.7, 16.1, 16.7 CM-2, CM-6, AC-2, AC-3, AC-6 6.1, 6.2, 6.3

보안 원칙: 개발, 테스트 및 배포 단계에서 전체 수명 주기 동안 워크로드가 보호되는지 확인합니다. Microsoft Cloud Security Benchmark를 사용하여 기본적으로 가드레일로 설정하거나 배포 단계 전에 왼쪽으로 이동할 수 있는 컨트롤(예: 네트워크 보안, ID 관리, 권한 있는 액세스 등)을 평가합니다. 특히 DevOps 프로세스에 다음 컨트롤이 있는지 확인합니다. CI/CD 워크플로에서 Azure 또는 타사 도구를 사용하여 배포를 자동화하고, 인프라 관리(코드로서의 인프라) 및 테스트를 수행하여 사용자 오류 및 공격 노출 영역을 줄입니다.

  • VM, 컨테이너 이미지 및 기타 아티팩트가 악의적인 조작으로부터 안전한지 확인합니다.
  • CI/CD 워크플로에서 배포하기 전에 워크로드 아티팩트(즉, 컨테이너 이미지, 종속성, SAST 및 DAST 검사)를 검사합니다.
  • 취약성 평가 및 위협 탐지 기능을 프로덕션 환경에 배포하고 런타임에 이러한 기능을 지속적으로 사용합니다.

Azure 지침: Azure VM에 대한 지침:

  • Azure 공유 이미지 갤러리를 사용하여 조직 내의 다른 사용자, 서비스 주체 또는 AD 그룹에서 이미지에 대한 액세스를 공유하고 제어할 수 있습니다. Azure RBAC(Azure 역할 기반 액세스 제어)를 사용하여 권한 있는 사용자만 사용자 지정 이미지에 액세스할 수 있도록 합니다.
  • 불필요한 자격 증명, 권한 및 패키지를 제거하기 위해 VM에 대한 보안 구성 기준을 정의합니다. 사용자 지정 이미지, Azure Resource Manager 템플릿 및/또는 Azure Policy 게스트 구성을 통해 구성 기준을 배포하고 적용합니다.

Azure 컨테이너 서비스에 대한 지침:

  • ACR(Azure Container Registry)을 사용하여 Azure RBAC를 통해 세분화된 액세스를 제한할 수 있는 프라이빗 컨테이너 레지스트리를 만들면 권한 있는 서비스 및 계정만 프라이빗 레지스트리의 컨테이너에 액세스할 수 있습니다.
  • 프라이빗 Azure Container Registry의 이미지에 대한 취약성 평가를 위해 Defender for Containers를 사용합니다. 또한 Microsoft Defender for Cloud를 사용하여 컨테이너 이미지 검사를 CI/CD 워크플로의 일부로 통합할 수 있습니다.

Azure 서버리스 서비스를 사용하면, 유사한 통제를 채택하여 보안 통제가 배포 이전 단계에서 미리 반영되도록 합니다.

Azure 구현 및 추가 컨텍스트:


AWS 지침: Amazon Elastic Container Registry를 사용하여 조직 내의 다양한 사용자 및 역할에 의해 이미지에 대한 액세스를 공유하고 제어합니다. 또한 AWS IAM을 사용하여 권한 있는 사용자만 사용자 지정 이미지에 액세스할 수 있도록 합니다.

불필요한 자격 증명, 권한 및 패키지를 제거하기 위해 EC2 AMI 이미지에 대한 보안 구성 기준을 정의합니다. 사용자 지정 AMI 이미지, CloudFormation 템플릿 및/또는 AWS 구성 규칙을 통해 구성 기준을 배포하고 적용합니다.

AWS 검사기를 사용하여 VM 및 컨테이너화된 환경을 취약성 검사하여 악의적인 조작으로부터 보호합니다.

AWS 서버리스 서비스의 경우 AWS AppConfig와 함께 AWS CodePipeline을 사용하여 유사한 컨트롤을 채택하여 보안 컨트롤이 배포 전에 스테이지로 "왼쪽으로 이동"되도록 합니다.

AWS 구현 및 추가 컨텍스트:


GCP 지침: Google Cloud에는 컴퓨팅 리소스 및 GKE(Google Kubernetes Engine) 컨테이너 리소스를 보호하는 컨트롤이 포함되어 있습니다. Google에는 VM 인스턴스를 강화하는 보호된 VM이 포함되어 있습니다. 부팅 보안을 제공하고 무결성을 모니터링하며 vTPM(가상 신뢰할 수 있는 플랫폼 모듈)을 사용합니다.

Google 클라우드 아티팩트 분석을 사용하여 컨테이너나 OS 이미지 및 다른 유형의 아티팩트를 수동으로 또는 파이프라인에서 자동으로 취약성을 검색합니다. 컨테이너 위협 감지를 사용하여 Container-Optimized OS 노드 이미지의 상태를 지속적으로 모니터링합니다. 서비스는 거의 실시간으로 런타임 공격을 감지하기 위해 모든 변경 내용과 원격 액세스 시도를 평가합니다.

아티팩트 레지스트리를 사용하여 안전한 프라이빗 빌드 아티팩트 스토리지를 설정하여 레지스트리 네이티브 IAM 역할 및 권한으로 아티팩트 액세스, 보기 또는 다운로드할 수 있는 사용자를 제어하고 Google의 안전하고 신뢰할 수 있는 인프라에서 일관된 작동 시간을 확보합니다.

GCP 서버리스 서비스의 경우 유사한 제어 조치를 채택하여 배포 전에 보안 제어가 초기 단계로 이동하도록 합니다.

GCP 구현 및 추가 컨텍스트:


고객 보안 관련자(자세한 정보):

DS-7: DevOps에서 로깅 및 모니터링 사용

CIS 컨트롤 v8 ID NIST SP 800-53 r4 ID(들) PCI-DSS ID(들) v3.2.1
8.2, 8.5, 8.9, 8.11 AU-3, AU-6, AU-12, SI-4 10.1, 10.2, 10.3, 10.6

보안 원칙: 로깅 및 모니터링 범위에 DevOps(및 기타 개발 프로세스)에서 사용되는 비프로덕션 환경 및 CI/CD 워크플로 요소가 포함되어 있는지 확인합니다. 이러한 환경을 대상으로 하는 취약성 및 위협은 제대로 모니터링되지 않는 경우 프로덕션 환경에 중대한 위험을 초래할 수 있습니다. CI/CD 빌드, 테스트 및 배포 워크플로의 이벤트도 모니터링하여 CI/CD 워크플로 작업의 편차를 식별해야 합니다.


Azure 지침: DevOps 프로세스 전체에서 사용되는 비프로덕션 및 CI/CD 도구 환경(예: Azure DevOps 및 GitHub)에서 감사 로깅 기능을 사용하도록 설정하고 구성합니다.

빌드, 테스트 및 배포 작업을 포함하여 Azure DevOps 및 GitHub CI/CD 워크플로에서 생성된 이벤트도 모니터링하여 비정상적인 결과를 식별해야 합니다.

위의 로그 및 이벤트를 로깅 스트림 또는 API를 통해 Microsoft Sentinel 또는 기타 SIEM 도구로 수집하여 보안 인시던트가 제대로 모니터링되고 처리를 위해 심사되는지 확인합니다.

Azure 구현 및 추가 컨텍스트:


AWS 지침: DevOps 프로세스 전체에서 사용되는 비프로덕션 및 CI/CD 도구 환경(예: AWS CodePipeline, AWS CodeBuild, AWS CodeDeploy, AWS CodeStar)에서 감사 로깅 기능을 위해 AWS CloudTrail을 사용하도록 설정하고 구성합니다.

AWS CI/CD 환경(예: AWS CodePipeline, AWS CodeBuild, AWS CodeDeploy, AWS CodeStar) 및 빌드, 테스트 및 배포 작업을 포함한 GitHub CI/CD 워크플로에서 생성된 이벤트도 모니터링하여 비정상적인 결과를 식별해야 합니다.

위의 로그 및 이벤트를 로깅 스트림 또는 API를 통해 AWS CloudWatch, Microsoft Sentinel 또는 기타 SIEM 도구로 수집하여 보안 인시던트가 제대로 모니터링되고 처리를 위해 심사되는지 확인합니다.

AWS 구현 및 추가 컨텍스트:


GCP 지침: DevOps 프로세스 전체에서 사용할 수 있는 클라우드 빌드, Google 클라우드 배포, 아티팩트 레지스트리 및 GitHub와 같은 제품에 대한 비프로덕션 및 CI/CD 도구 환경에서 감사 로깅 기능을 사용하도록 설정하고 구성합니다.

GCP CI/CD 환경(예: 클라우드 빌드, Google 클라우드 배포, 아티팩트 레지스트리) 및 빌드, 테스트 및 배포 작업을 포함한 GitHub CI/CD 워크플로에서 생성된 이벤트도 모니터링하여 비정상적인 결과를 식별해야 합니다.

위의 로그 및 이벤트를 로깅 스트림 또는 API를 통해 Microsoft Sentinel, Google 클라우드 보안 명령 센터, 크로니클 또는 기타 SIEM 도구로 수집하여 보안 인시던트가 제대로 모니터링되고 처리를 위해 심사되도록 합니다.

GCP 구현 및 추가 컨텍스트:


고객 보안 관련자(자세한 정보):