개요
컨테이너 보안은 컨테이너의 무결성을 보호합니다. 여기에는 컨테이너에 포함된 애플리케이션부터 기반 인프라에 이르는 모든 요소가 해당합니다. 컨테이너 보안은 통합되고 지속적으로 유지되어야 합니다. 일반적으로 엔터프라이즈를 위한 지속적 컨테이너 보안의 특징은 다음과 같습니다.
- 컨테이너 파이프라인 및 애플리케이션 보안
- 컨테이너 배포 환경 및 인프라 보안
컨테이너 파이프라인에 보안 구축
다음 단계를 따르세요.
이미지 수집
컨테이너는 파일의 레이어 외부에서 구축됩니다. 컨테이너 커뮤니티는 이러한 파일을 '컨테이너 이미지'라고 부르기도 합니다. 베이스 이미지는 보안에 가장 중요한 요소입니다. 추출 이미지를 생성하는 시작 지점으로 사용되기 때문입니다. 컨테이너 보안은 베이스 이미지를 위한 신뢰할 수 있는 소스를 찾는 데서 시작됩니다. 신뢰할 수 있는 이미지를 사용하는 경우에도 애플리케이션을 추가하고 구성을 변경하면 새로운 변수가 도입됩니다. 외부 콘텐츠를 도입해 애플리케이션을 구축하는 경우 사전 예방적인 콘텐츠 관리를 고려해야 합니다.
- 엔터프라이즈 보안 툴과의 통합 및 기존 보안 정책의 준수 또는 개선
컨테이너가 널리 사용되는 것은 전체 라이프사이클을 비롯하여 다양한 환경과 배포 대상 전반에 걸쳐 애플리케이션이나 서비스 및 그 모든 종속 요소를 구축, 패키징 및 활성화하기가 쉽기 때문입니다. 그러나 컨테이너 보안에는 몇 가지 과제가 남아 있습니다. 엔터프라이즈 컨테이너를 위해 정적인 보안 정책과 체크리스트가 확장되지는 않습니다. 공급망에 더 많은 보안 정책 서비스가 필요합니다. 각 팀에서는 컨테이너의 네트워킹과 거버넌스 요구 사항이 균형을 이루도록 해야 합니다. 빌드와 런타임 툴 및 서비스를 분리해야 합니다.

컨테이너 파이프라인에 보안을 구축하고 인프라를 보호하여 컨테이너의 안정성과 확장성 및 신뢰성을 보장할 수 있습니다. 이 웨비나 시리즈를 통해 컨테이너 애플리케이션 스택 및 라이프사이클 전반의 보안을 전문가의 관점에서 살펴보세요.
컨테이너 이미지를 수집하는 경우 다음 사항을 확인해야 합니다.
- 컨테이너 이미지는 신뢰할 수 있는 소스를 바탕으로 서명되어 있는가?
- 런타임 및 운영 체제 레이어가 최신 상태인가?
- 컨테이너가 얼마나 신속하게 그리고 자주 업데이트되는가?
- 알려진 문제를 확인했는가? 그리고 이러한 문제를 어떻게 트래킹하는가?
액세스 관리
이미지를 가져온 다음 팀이 사용하는 모든 컨테이너 이미지에 대한 액세스와 활성화를 관리합니다. 이는 다운로드한 이미지와 구축한 이미지를 보호하기 위한 것입니다. 프라이빗 레지스트리를 사용하면 역할 기반 할당을 통해 액세스를 제어하면서, 컨테이너에 메타데이터를 할당함으로써 콘텐츠를 관리할 수 있습니다. 메타데이터는 알려진 취약점을 식별하고 트래킹하는 방식으로 정보를 제공합니다. 또한 프라이빗 레지스트리를 통해 저장한 컨테이너 이미지에 대한 정책을 자동화하고 할당하여, 컨테이너에 취약점을 발생시킬 수 있는 인적 오류를 최소화할 수 있습니다.
액세스 관리 방법을 결정하는 경우 다음 사항을 확인해야 합니다.
- 컨테이너 이미지를 관리하기 위해 어떤 역할 기반 액세스 제어를 사용할 수 있는가?
- 이미지 분류를 지원하는 태그 지정 기능이 있는가? 개발용, 이후 테스트용 및 프로덕션용으로만 승인된 것으로 이미지에 태그를 지정할 수 있는가?
- 레지스트리가 알려진 취약점을 트래킹할 수 있는 가시적인 메타데이터를 제공하는가?
- 레지스트리를 사용하여 정책(예: 서명, 코드 스캔 등 확인)을 할당하고 자동화할 수 있는가?
보안 테스트 통합 및 배포 자동화
파이프라인의 마지막 단계는 배포입니다. 빌드를 완성하면 업계 표준에 따라 이를 관리해야 합니다. 여기에서 관건은 특히 새로운 보안 취약점이 발견되는 경우 보안 문제가 있는 빌드에 플래그를 지정하는 정책을 자동화하는 방법을 파악하는 것입니다. 컨테이너 패치는 컨테이너 재구축에 비해 좋은 해결책이 되기는 어려우므로, 보안 테스트 통합에는 재구축 자동화를 트리거하는 정책이 포함되어야 합니다. 문제를 트래킹하고 플래그를 지정할 수 있는 구성 요소 분석 툴에서 실행하는 것은 이러한 단계의 첫 부분입니다. 두 번째 부분은 자동화된 정책 기반 배포를 위한 툴링을 설정하는 것입니다.
보안 테스트 및 배포 자동화를 통합하는 경우 다음 사항을 확인해야 합니다.
실행 중인 컨테이너의 패치 작업을 방지하고, 그 대신 트리거를 사용해 컨테이너를 재구축하여 이를 자동화된 업데이트로 교체할 방법이 무엇인지 분석해야 합니다.
인프라 보호
컨테이너 보안의 또 다른 레이어는 호스트 운영 체제(OS)가 제공하는 격리 기능입니다. 최대 컨테이너 격리를 제공하는 호스트 OS가 필요한데, 이는 컨테이너 배포 환경을 보호하는 데 있어서 매우 중요한 부분입니다. 호스트 OS는 컨테이너 런타임을 사용하여 활성화되며, 오케스트레이션 시스템을 통해 관리하는 것이 좋습니다. 컨테이너 플랫폼이 복원력을 갖추도록 하려면 네트워크 네임스페이스를 사용해 애플리케이션과 환경을 격리하고 보안 마운트를 통해 스토리지를 연결합니다. API 관리 솔루션에는 인증 및 권한 부여, LDAP 통합, 엔드포인트 액세스 제어 및 속도 제한 등의 기능이 포함되어야 합니다.
컨테이너 인프라 보호 방법을 결정하는 경우 다음 사항을 확인해야 합니다.
- 어느 컨테이너가 서로 액세스해야 하는가? 컨테이너가 서로를 어떻게 인식할 수 있는가?
- 네트워크 및 스토리지 등의 공유 리소스에 대한 액세스와 관리를 어떻게 제어할 것인가?
- 호스트 업데이트를 어떻게 관리할 것인가? 모든 컨테이너를 동시에 업데이트할 것인가?
- 컨테이너 상태를 어떻게 모니터링할 것인가?
- 수요를 충족하기 위해 애플리케이션 용량을 어떻게 자동 확장할 것인가?
Red Hat의 지원
Red Hat® OpenShift에는 Red Hat Enterprise Linux®가 포함되어 있습니다. 이는 컨테이너 애플리케이션 라이프사이클을 자동화하고 보안을 컨테이너 파이프라인에 통합하며, DevOps팀을 염두에 두고 설계되었습니다. Red Hat의 컨테이너 카탈로그는 다수의 인증된 이미지와 언어 런타임, 데이터베이스 및 Red Hat Enterprise Linux가 실행되는 모든 환경에서 실행할 수 있는 미들웨어에 대한 액세스를 제공합니다. Red Hat의 이미지는 항상 출처와 무결성을 보장하기 위해 서명되고 검증됩니다.
Red Hat은 새롭게 발견된 취약점(지속적으로 업데이트되고 공개되는 상태 지수 포함)에 대한 컨테이너 이미지를 모니터링하고, Red Hat의 퍼블릭 레지스트리로 푸시되는 컨테이너 재구축과 보안 업데이트를 릴리스합니다. 언제든 Red Hat의 연간 Red Hat 제품 보안 리스크 보고서를 검토하세요. 이 보고서에는 매년 전 세계 엔터프라이즈 소프트웨어에 영향을 미치는 것으로 알려진 보안 취약점에 대한 Red Hat의 대응이 자세히 소개되어 있습니다.
Red Hat의 보안 파트너는 인증된 통합을 통해 컨테이너 보안 기능을 확장하고 강화할 수 있습니다. Red Hat OpenShift에는 플랫폼에 보안 기능이 내장되어 있어 Red Hat의 보안 파트너 솔루션을 보완하며 DevOps 라이프사이클 전반에서 애플리케이션과 컨테이너를 보호합니다.
레드햇 오픈시프트의 주요 기능
- 웹 스케일 컨테이너 오케스트레이션 및 관리
- 여러 사용자가 협업할 수 있는 기능을 갖춘 다양한 웹 콘솔
- CLI 및 IDE 인터페이스
- 빌드 자동화 및 S2I(Source-to-Image)
- CI와 통합
- 배포 자동화
- 원격 스토리지 볼륨 지원
- 간소화된 설치 및 관리
- 지원되는 프로그래밍 언어, 프레임워크 및 서비스의 방대한 컬렉션