바로 가기

CI/CD 보안이란?

URL 복사

CI/CD 보안은 자동화된 검사 및 테스트로 코드 파이프라인을 보호하여 소프트웨어 제공 시 취약점을 방지하는 데 사용됩니다. 보안을 파이프라인에 통합하면 코드를 공격으로부터 보호하고, 데이터 유출을 방지하며, 정책을 준수하고, 품질 보증을 보장하는 데 도움이 됩니다.

CI/CD(지속적인 통합, 지속적인 서비스 제공, 지속적인 배포)는 새 버전의 소프트웨어를 제공하기 위해 수행해야 하는 일련의 단계로, 파이프라인으로 시각화될 때가 많습니다. CI/CD는 인적 오류를 최소화하고 고품질 코드를 더 빠르게 개발하기 위한 프로세스를 유지하기 위해 애플리케이션 개발에 자동화와 지속적인 모니터링을 도입합니다.

일반적으로 CI/CD 파이프라인의 핵심 단계에는 보안 조치가 포함되어 있지 않으므로 개발 프로세스를 보호하기 위한 추가 단계를 수행해야 합니다.
클라우드 네이티브 CI/CD 파이프라인 만들기

적절한 보안이 없으면 개발 및 배포의 빠른 특성으로 인해 파이프라인이 다음과 같은 위험에 노출될 수 있습니다.

  • 민감한 데이터가 외부 소스에 노출됨
  • 안전하지 않은 코드 또는 타사 구성 요소 사용
  • 소스 코드 리포지토리 또는 빌드 툴에 대한 무단 액세스 

개발 주기 전반에서 취약점을 식별하고 완화하면 코드 변경 사항이 프로덕션에 배포되기 전에 철저한 테스트를 거쳐 보안 표준을 준수하도록 보장할 수 있습니다.

 

DevSecOps(개발, 보안, 운영)는 전체 IT 라이프사이클에 걸쳐 보안을 통합하는 방식으로 책임을 공유하는 문화, 자동화 및 플랫폼 설계에 대한 접근 방식입니다. DevSecOps의 핵심 구성 요소는 보안 CI/CD 파이프라인의 도입입니다. 

CI/CD는 개발 프로세스 초기에 보안 검사를 자동화하고 내장하여 잠재적인 취약첨에 대한 신속한 피드백을 보장함으로써 애플리케이션 라이프사이클 전반에서 사전 예방적 보안 방식을 지원하기 때문에 DevSecOps에 매우 중요합니다.

'보안을 초기에 통합(Shifting Left)'하는 개념은 CI/CD 및 DevSecOps의 기본 원칙으로, 소프트웨어 개발 프로세스 초기에 특정 보안 중심 태스크와 활동을 이동하는 것을 포함합니다. 보안을 초반에 구현하는 이러한 사례에는 보안 취약점을 검사하는 테스트 프로세스를 자동화하고, 코드 변경 사항이 커밋되는 즉시 검토하며, 개발자와 운영 팀 간에 사전 예방적인 보안 인식 문화를 조성하는 것이 포함됩니다.

DevSecOps 문화 구축

계획 단계: 코드가 안전하고 보안 표준을 준수하는지 확인하기 위해 파이프라인의 각 단계에 보안 검사를 포함하는 것이 중요합니다. 첫 번째 단계는 잠재적인 보안 위협을 식별하는 데 도움이 되는 제품 로드맵을 개발하는 것입니다. 이를 위협 모델링이라고 합니다. 위협 모델링에서는 잠재적인 취약점을 식별하고 이러한 위험을 완화하기 위한 대책을 수립합니다. 

코딩: 개발자가 코드를 작성할 때 코드가 사전 정의된 표준 및 설계 지침에 따라 작성되었는지 확인하기 위한 조치를 취합니다. 소스 코드 스캐너를 사용하여 보안 위협에 취약할 수 있는 코드를 탐지합니다.

빌드: 개발자가 소스 코드를 공유 리포지토리에 커밋하기 시작할 때 자동화된 테스트를 트리거하여 빌드가 요구 사항을 준수하는지 확인합니다. 

테스트: 빌드가 완료되면 소프트웨어에 버그가 있는지 테스트합니다. 새로운 기능이 추가되면 더 많은 자동화된 테스트를 수행합니다. 

보안을 강화하는 5가지 방법

Red Hat® OpenShift®에서 CI/CD를 사용하여 온프레미스 및 퍼블릭 클라우드 플랫폼에서 애플리케이션의 빌드, 테스트, 배포 단계를 자동화할 수 있습니다.Red Hat OpenShift®와 Red Hat Ansible® Automation Platform은 파트너 기술을 함께 활용하여 DevSecOps 기반을 마련하고 개발, 배포, 런타임을 포함한 고객의 컨테이너 애플리케이션 라이프사이클 전반에 걸쳐 발생하는 보안 문제를 해결합니다.

원활한 비즈니스 운영을 위해 소프트웨어 공급망을 잠재적인 취약점으로부터 보호하는 것이 중요합니다. 그러나 클라우드 네이티브 애플리케이션을 위한 소프트웨어 공급망 보안에는 대규모 엔지니어 및 개발자 팀의 수개월에 걸친 노력이 필요합니다. Red Hat Trusted Software Supply Chain은 조직이 진입 지점에서 중요한 취약점을 차단하여 소프트웨어 개발 라이프사이클에 보안 가드 레일을 추가하도록 지원하는 방식으로 이러한 노력을 가속화하는 클라우드 서비스 제품군입니다. 

Red Hat Advanced Cluster Security(ACS) for Kubernetes는 선구적인 쿠버네티스 네이티브 보안 플랫폼으로, 조직이 클라우드 네이티브 애플리케이션을 더 안전하게 빌드, 배포, 실행하도록 지원합니다. 이 솔루션은 Red Hat OpenShift, Amazon Elastic Kubernetes Service(EKS), Microsoft Azure Kubernetes Service(AKS), Google Kubernetes Engine(GKE) 등 모든 주요 클라우드와 하이브리드 플랫폼에서 컨테이너화된 쿠버네티스 워크로드를 보호하는 데 도움이 됩니다.

Red Hat Trusted Application Pipeline(서비스 미리보기)은 기본 파이프라인 정의와 자동화된 보안 검사를 제공하여 다양한 프로그래밍 언어의 애플리케이션 코드에서 SLSA(Supply chain Levels for Software Artifacts) 3단계 빌드 이미지를 생성합니다. 빌드에는 오픈소스 구성 요소와 전이 종속성에 대한 신뢰 체인을 자동으로 생성하는 입증된 불변의 SBOM(Software Bill of Materials)을 생성하는 기능이 포함됩니다.

추가 자료

문서

DevSecOps란?

DevOps의 민첩성과 대응 능력을 최대한 활용하려면 IT 보안 팀이 애플리케이션의 전체 라이프사이클에서 주요 역할을 해야 합니다.

문서

클라우드 보안은 무엇이 다른가요?

매우 심각한 보안 문제는 기존 IT는 물론 클라우드 시스템에도 영향을 미칩니다. 차이점을 알아보세요.

문서

SOAR란?

SOAR은 사례 및 워크플로우 관리, 태스크 자동화, 중앙에서 위협 인텔리전스에 액세스하여 쿼리 및 공유할 수 있는 기능 등 보안 팀에서 사용하는 세 가지 주요 소프트웨어 기능을 가리킵니다.

보안에 대한 자세한 내용

제품

사용자 아이덴티티를 관리하고 커뮤니케이션을 비공개로 유지하는 보안 프레임워크입니다.

클라우드 네이티브 애플리케이션을 더 안전하게 빌드, 배포 및 실행할 수 있도록 지원하는 엔터프라이즈 수준의 쿠버네티스 네이티브 컨테이너 보안 솔루션입니다.

소프트웨어 개발 팀이 소프트웨어 공급망에서 취약점을 조기에 발견할 수 있도록 자동화된 통합 검사를 통해 보안을 강화하는 데 도움을 주는 기술 세트

빌트인 보안 정책을 갖춘 단일 콘솔로 쿠버네티스 클러스터와 애플리케이션을 관리합니다.

리소스