다음을 통해 공유


배포 단계 개요

배포 단계는 CSSC(Containers Secure Supply Chain) 프레임워크의 네 번째 단계입니다. 기업은 컨테이너 이미지의 보안 및 규정 준수를 확인하지 않고 컨테이너화된 워크로드를 실행하기 위해 호스팅 환경에 컨테이너 이미지를 배포할 수 있습니다. 이로 인해 잠재적인 보안 위험이 증가하거나 호스팅 환경에서 취약하거나 악성 코드를 실행할 수 있습니다. 이전 단계에서 생성된 컨테이너 이미지 메타데이터 및 증명은 배포 시 유효성을 검사해야 합니다. 이렇게 하면 배포가 엔터프라이즈 차원의 보안 및 규정 준수 정책을 준수합니다.

Microsoft의 CSSC(Containers Secure Supply Chain) 프레임워크는 규격 방식으로 이미지를 배포해야 하는 필요성을 식별합니다. CSSC 프레임워크는 이미지 메타데이터의 유효성을 검사하고 규정 준수 정책을 구현하여 이미지를 안전하게 배포하는 데 도움이 되는 표준 사례 및 도구 집합을 권장합니다. 이 문서에서는 CSSC 프레임워크의 배포 단계에서 사용할 수 있는 목표, 표준 사례 및 도구에 대해 알아봅니다.

배경

엔터프라이즈는 컨테이너 이미지가 취약성으로부터 자유롭고 사용이 승인되었는지 확인하지 않고 외부 또는 내부 레지스트리에서 직접 컨테이너 이미지를 배포할 수 있습니다. 신뢰할 수 없는 컨테이너 및 비준수 컨테이너 이미지를 호스팅 환경에 배포하면 잠재적인 보안 위험이 증가하거나 호스팅 환경에서 맬웨어 또는 취약한 코드를 실행할 수 있습니다.

CSSC 프레임워크 사례는 배포 준비 컨테이너 이미지가 신뢰할 수 있는 레지스트리에서 취약성 및 맬웨어가 없는지 확인하고 신뢰성과 무결성을 보장하는 데 도움이 됩니다. 많은 기업에서는 Kubernetes에 배포하기 전에 컨테이너 이미지의 SBOM 및 서명을 확인하는 정책을 구현하고, 컨테이너 이미지를 지속적으로 검사하여 검사 보고서의 유효성을 검사합니다.

배포 단계에서는 컨테이너 이미지 및 배포 환경의 보안을 유지하는 데 집중합니다. 배포는 컨테이너 이미지 서명, 수명 주기 메타데이터, 취약성 및 맬웨어 보고서, SBOM 및 검증을 위해 빌드 단계에서 생성된 출처 데이터를 사용하여 컨테이너 이미지를 호스팅 환경에 배포하기 전에 신뢰할 수 있고 규정을 준수하도록 합니다.

컨테이너 이미지를 배포하기 위한 워크플로

배포 단계에는 전 세계 수백 또는 수천 개의 클러스터에 컨테이너 이미지를 배포하는 워크플로가 있습니다. 배포는 동적으로 요청 시 발생할 수 있습니다. 컨테이너 이미지가 빌드, 확인 및 서명되면 CSSC 프레임워크는 컨테이너 이미지를 승격하고 관련 아티팩트가 배포 단계에 대한 레지스트리 간에 배포할 수 있습니다.

  1. 이미지 무결성 정책을 구현하여 배포 전에 이미지 서명을 확인하여 신뢰할 수 있는 게시자가 변조되지 않았는지 확인합니다.
  2. 취약성 검사 정책을 구현하여 컨테이너 이미지에서 취약성을 검사하고 심각도 수준(위험, 높음, 중간, LOW)에 따라 임계값을 설정하고 규격 이미지만 배포합니다.
  3. 원치 않는 라이선스를 사용하여 컨테이너 이미지 배포에 대한 제한을 적용하는 라이선스 준수 정책을 구현합니다.
  4. 배포 전에 컨테이너 이미지가 신뢰할 수 있는 원본 및 리포지토리에서 오는지 확인하는 출처 정책을 구현합니다.
  5. 이미지 수명 주기 정책을 구현하여 배포된 이미지가 지원 및 유효한 내에 있는지 확인하고 수명 종료 및 지원 종료 이미지의 배포를 제한합니다.
  6. 각 이미지에 대한 취약성 및 맬웨어 보고서를 생성하고 서명하여 변조를 방지하고 무결성을 보호합니다.
  7. 배포 중에 표시 유형 및 규정 준수 유효성 검사를 위해 서명된 보고서를 컨테이너 이미지에 첨부합니다.
  8. SBOM, 이미지 서명, 취약성 보고서, 수명 주기 메타데이터 및 출처 데이터를 비롯한 컨테이너 이미지 메타데이터를 확인합니다.
  9. 배포 정책을 적용하고 비준수 컨테이너 이미지의 배포를 제한하는 허용 제어 메커니즘을 구현합니다.
  10. CI/CD 파이프라인을 사용하여 배포 프로세스를 자동화하고 이미지 유효성 검사 및 확인 검사 통합합니다.
  11. 배포된 이미지를 지속적으로 모니터링하고 새로운 취약성, 규정 준수 편차를 감지하기 위한 규정 준수를 적용하고 필요에 따라 수정 작업을 수행합니다.
  12. 배포 활동을 기록하고 정기적인 감사를 수행하여 보안 및 규정 준수 표준을 준수합니다.
  13. 자동화 또는 수동 수정 절차를 구현하여 보안 인시던트 또는 규정 준수 편차를 해결합니다.
  14. 향후 참조 및 감사 목적으로 수행된 단계, 사용된 도구 및 구현된 보안 조치를 포함하여 배포 프로세스를 문서화합니다.

배포 시 이미지 메타데이터의 유효성을 검사하고 신뢰할 수 있는 레지스트리의 컨테이너 이미지만 배포하는 것이 좋습니다. 클라우드 네이티브 워크로드를 보호하기 위해 다음 방법을 사용하는 것이 좋습니다.

  • 메타데이터를 확인하고 비준수 컨테이너 이미지를 제한하는 배포 정책을 적용합니다. 이렇게 하면 승인되지 않은 이미지가 배포되지 않습니다.
  • 이미지를 배포하기 전에 이미지 서명의 유효성을 검사하는 배포 정책을 적용합니다. 이렇게 하면 배포에 사용되는 이미지가 신뢰할 수 있는 게시자의 이미지이며 변조되지 않습니다.
  • 취약성 점수에 따라 배포 정책을 적용합니다. 이렇게 하면 특정 임계값(CRITICAL, HIGH, MEDIUM, LOW)을 초과하는 취약성이 있는 이미지를 배포할 수 없습니다.
  • 지원 종료 이미지가 배포에 사용되지 않도록 수명 주기 정보를 확인하는 배포 정책을 적용합니다.
  • 배포 환경 및 플랫폼에 보안 네트워크 연결이 있는지 확인합니다.
  • 배포 플랫폼에 대한 무단 액세스를 거부하려면 엄격한 인증, 액세스 제어 및 파일 권한이 필요합니다. 이렇게 하면 잠재적인 유출된 자격 증명 또는 무단 변경을 방지할 수 있습니다.
  • CI/CD 파이프라인에서 확인 프로세스를 자동화합니다.

배포 단계의 보안 목표

이미지 배포를 위해 잘 정의된 워크플로를 사용하면 기업이 보안을 강화하고 컨테이너에 대한 공급망의 공격 노출 영역을 줄일 수 있습니다. CSSC 프레임워크의 배포 단계는 다음 보안 목표를 충족하기 위한 것입니다.

신뢰할 수 있는 원본 및 규격 원본에서 이미지 배포

컨테이너 이미지가 신뢰할 수 있는 원본에서 제공되었으며 변조되지 않았는지 확인하려면 배포 단계 중에 보안 정책을 구현해야 합니다. 배포 전에 컨테이너 이미지 서명을 확인하여 무결성 및 신뢰성의 유효성을 검사할 수 있습니다.

허용 제어 보안 정책 구현

컨테이너 이미지가 규정을 준수하는지 확인하려면 배포 단계 중에 보안 정책을 구현해야 합니다. 이는 취약성 및 맬웨어 보고서, 이미지 서명, SBOM, 이미지 수명 주기 메타데이터 및 출처 메타데이터와 같은 보안 메타데이터에 대해 컨테이너 이미지를 확인하여 수행됩니다.

이미지 메타데이터의 유효성을 검사하고 유효성 검사 정책을 적용하기 위한 도구 및 서비스

Ratify 는 Kubernetes 클러스터가 배포 전에 보안 메타데이터를 확인하고 허용 정책을 준수하는 이미지만 허용할 수 있도록 하는 오픈 소스 프로젝트입니다. Kubernetes 클러스터에서 신뢰할 수 있고 규정을 준수하는 컨테이너 이미지만 실행할 수 있도록 Ratify 및 Gatekeeper를 구성하는 것이 좋습니다.

Gatekeeper 는 표준화된 방식으로 Kubernetes 클러스터에 대한 정책을 정의, 적용 및 감사하는 동적 허용 컨트롤러 및 정책 엔진을 제공하는 오픈 소스 및 CNCF 프로젝트입니다.

Azure Policy 는 외부 레지스트리 또는 신뢰할 수 없는 원본에서 컨테이너 이미지를 참조하는 배포를 감사하거나 차단하기 위해 Azure Kubernetes Service 클러스터에 기본 제공 정책을 적용할 수 있도록 Gatekeeper를 확장합니다.

이미지 메타데이터를 연결하기 위한 도구

ORAS 는 OCI 규격 레지스트리에서 아티팩트를 저장하고 관리하는 방법을 제공하는 CNCF 프로젝트입니다. ORAS를 사용하면 컨테이너 이미지, 이미지 메타데이터 등을 포함한 모든 유형의 아티팩트를 OCI 규격 레지스트리에 저장하고 관리할 수 있습니다. 또한 OCI 규격 레지스트리와 쉽게 상호 작용할 수 있는 명령줄 도구 집합을 제공합니다. ORAS를 사용하여 생성된 취약성 및 맬웨어 보고서, SBOM, 이미지 수명 주기 메타데이터 및 출처 메타데이터를 레지스트리에 연결된 이미지와 함께 푸시하는 것이 좋습니다.

컨테이너 이미지 및 메타데이터 서명 및 확인 도구

공증 프로젝트는 서명 및 확인, 서명 이식성 및 키/인증서 관리를 통해 소프트웨어 공급망을 보호하기 위한 업계 간 표준을 제공하기 위한 일련의 사양 및 도구를 포함하는 오픈 소스 프로젝트입니다. 표기법 은 서명 이식성 및 상호 운용성을 가능하게 하는 OCI(Open Container Initiative) 규격 레지스트리에서 아티팩트 서명 및 확인을 지원하는 공증 프로젝트 커뮤니티에서 개발한 공급망 도구입니다. 또한 플러그 인 모델을 통해 타사 키 관리 솔루션과 통합하여 확장성을 지원합니다. 인증 및 변조 방지를 위해 Notary Project 도구를 사용하여 컨테이너 이미지 및 메타데이터에 서명하는 것이 좋습니다.

다음 단계

컨테이너 이미지를 안전하게 배포하려면 실행 단계의 개요를 참조하세요.