보안 제어: DevOps 보안

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

DS-1: 위협 모델링 수행

CIS Controls v8 ID NIST SP 800-53 r4 ID PCI-DSS ID v3.2.1
16.10, 16.14 SA-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 Controls 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(소프트웨어 청구서)을 적절하게 관리합니다.
  • 업스트림에서 사용할 수 있는 수정 사항이 있는 경우 알려진 취약성에 대한 사내 및 타사 소프트웨어 구성 요소를 인벤토리하고 추적합니다.
  • 알 수 없는 취약성에 대한 정적 및 동적 애플리케이션 테스트를 사용하여 소프트웨어 구성 요소의 취약성 및 맬웨어를 평가합니다.
  • 적절한 접근 방식을 사용하여 취약성 및 맬웨어가 완화되는지 확인합니다. 여기에는 소스 코드 로컬 또는 업스트림 수정, 기능 제외 및/또는 직접 완화를 사용할 수 없는 경우 보상 컨트롤 적용이 포함될 수 있습니다.

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


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

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

Azure 구현 및 추가 컨텍스트:


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

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

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

AWS 구현 및 추가 컨텍스트:


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

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

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

GCP 구현 및 추가 컨텍스트:


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

DS-3: 안전한 DevOps 인프라

CIS Controls 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 파이프라인을 검토하여 조직, 프로젝트, 사용자, 파이프라인(빌드 & 릴리스), Connections 및 빌드 에이전트와 같은 Azure DevOps의 핵심 영역에서 잘못된 구성을 식별하여 개방형 액세스, 약한 인증, 안전하지 않은 연결 설정 등과 같은 잘못된 구성을 식별합니다. GitHub의 경우 유사한 컨트롤을 사용하여 조직 권한 수준을 보호합니다.
  • DevOps 인프라가 개발 프로젝트 전반에 걸쳐 일관되게 배포되었는지 확인합니다. 클라우드용 Microsoft Defender(예: 준수 대시보드, Azure Policy, 클라우드 자세 관리) 또는 고유한 규정 준수 모니터링 도구를 사용하여 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 지침: Microsoft Cloud Security Benchmark를 GitHub, CodeCommit, CodeArtifact, CodePipeline, CodeBuild 및 CodeDeploy와 같은 DevOps 인프라의 보안 제어에 적용하는 과정의 일환으로 다음 컨트롤의 우선 순위를 지정합니다.

  • AWS에서 DevOps 환경을 보호하려면 이 지침 및 AWS 잘 설계된 프레임워크 보안 핵심 요소 를 참조하세요.
  • CI/CD 파이프라인이 악성 코드를 삽입하는 방법이 되지 않도록 아티팩트 및 기본 지원 인프라를 보호합니다.
  • 개발 프로젝트에서 DevOps 인프라가 지속적으로 배포되고 유지되는지 확인합니다. AWS Config 또는 고유한 규정 준수 검사 솔루션을 사용하여 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 Cloud Build, Cloud Deploy, Artifact Registry, Connections 및 Build Agent와 같은 서비스의 잘못된 구성을 식별하여 열린 액세스, 약한 인증, 안전하지 않은 연결 설정 등과 같은 잘못된 구성을 식별합니다. GitHub의 경우 유사한 컨트롤을 사용하여 조직 권한 수준을 보호합니다.
  • DevOps 인프라가 개발 프로젝트 전반에 걸쳐 일관되게 배포되었는지 확인합니다. Google 클라우드 보안 명령 센터(예: 규정 준수 대시보드, 조직 정책, 개별 위협 기록 및 잘못된 구성 식별) 또는 고유한 규정 준수 모니터링 도구를 사용하여 DevOps 인프라의 규정 준수를 대규모로 추적합니다.
  • 클라우드 ID/AD 네이티브 서비스 및 파이프라인의 CI/CD 도구에서 ID/역할 권한 및 권한 정책을 구성하여 파이프라인에 대한 변경 내용에 권한이 부여되도록 합니다.
  • Google 관리 식별과 같은 기능을 사용하여 개발자 또는 테스터와 같은 인간 계정에 대한 영구적인 "서 있는" 권한 있는 액세스를 제공하지 않습니다.
  • CI/CD 워크플로 작업에 사용되는 코드 및 스크립트에서 키, 자격 증명 및 비밀을 제거하고 키 저장소 또는 Google Secret Manager에 보관합니다.
  • 자체 호스팅 빌드/배포 에이전트를 실행하는 경우 네트워크 보안, 태세 및 취약성 관리 및 엔드포인트 보안을 비롯한 Microsoft Cloud Security Benchmark 컨트롤을 따라 환경을 보호합니다.

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

GCP 구현 및 추가 컨텍스트:


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

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

CIS Controls v8 ID NIST SP 800-53 r4 ID PCI-DSS ID v3.2.1
16.12 SA-11 6.3, 6.5

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


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

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

Azure 구현 및 추가 컨텍스트:


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

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

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

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

AWS 구현 및 추가 컨텍스트:


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

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

GCP 구현 및 추가 컨텍스트:


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

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

CIS Controls v8 ID NIST SP 800-53 r4 ID PCI-DSS ID v3.2.1
16.12 SA-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 Scanner를 사용하여 앱 엔진, GKE(Google Kubernetes Engine) 및 컴퓨팅 엔진에서 호스트되는 워크로드 웹 애플리케이션의 보안 취약성을 식별할 수 있습니다. 자동화된 침투 테스트(수동 보조 유효성 검사 포함)도 DAST에 포함되어야 합니다.

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

GCP 구현 및 추가 컨텍스트:


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

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

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

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

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

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

Azure 구현 및 추가 컨텍스트:


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

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

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

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

AWS 구현 및 추가 컨텍스트:


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

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

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

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

GCP 구현 및 추가 컨텍스트:


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

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

CIS Controls 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

보안 원칙: 로깅 및 모니터링 scope 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 프로세스 전체에서 사용할 수 있는 Cloud Build, Google Cloud Deploy, Artifact Registry 및 GitHub와 같은 제품에 대한 비프로덕션 및 CI/CD 도구 환경에서 감사 로깅 기능을 사용하도록 설정하고 구성합니다.

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

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

GCP 구현 및 추가 컨텍스트:


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