개념
쿠버네티스(K8s 또는 '큐브(Kube)'라고도 함)는 컨테이너화된 애플리케이션의 배포, 관리, 확장을 자동화하는 오픈소스 컨테이너 오케스트레이션 플랫폼입니다. 쿠버네티스는 Linux 컨테이너를 클러스터로 구성하고 애플리케이션 프로그래밍 인터페이스(API)를 사용하여 컨테이너화된 마이크로서비스를 연결합니다. 쿠버네티스 배포에 포함된 모든 계층 또는 서비스에는 취약성이 있을 수 있으므로 쿠버네티스 클러스터를 보호하는 프로세스는 복잡할 수 있습니다.
일부 팀에서는 쿠버네티스 보안에 대해 컨테이너 이미지와 컨테이너 런타임 보안에 중점을 둔 컨테이너 중심 접근 방식을 취하는 반면, 쿠버네티스에서 컨텍스트를 추출하고 내장된 쿠버네티스 제어 기능을 사용하여 전체 애플리케이션 개발 라이프사이클에 걸쳐 위험 기반 보안 모범 사례를 구현하는 더 광범위한 접근 방식의 쿠버네티스 네이티브 보안을 선택하는 팀도 있습니다. 또한 쿠버네티스 네이티브 보안은 잘못 구성된 쿠버네티스 RBAC 정책, 안전하지 않은 쿠버네티스 컨트롤 플레인 구성 요소, 잘못 사용된 쿠버네티스 암호와 같은 쿠버네티스 고유의 위험과 취약성을 해결합니다.
모든 단계에 보안 제공
컨테이너화와 쿠버네티스에는 팀에서 컨테이너 보안 문제 관련 위험을 해결하는 데 도움이 되는 여러 빌트인 보안 장점이 있습니다. 예를 들면 다음과 같습니다.
- 런타임에 발견된 보안 문제가 포함된 컨테이너가 실행 중에 업데이트되거나 패치되는 것이 아니라 구축 단계에서 수정되고 다시 배포됩니다. 불변성으로 알려진 이 기능은 컨테이너 동작의 예측 가능성과 이상 동작 감지 기능을 향상합니다.
- 네트워크 정책은 포드 또는 포드 그룹을 분할할 수 있는 반면, 권한 컨트롤러는 정책을 적용하여 향상된 거버넌스를 구현할 수 있습니다.
- 역할 기반 액세스 제어(RBAC)는 사용자 계정과 서비스 계정에 특정 권한을 할당할 수 있습니다.
- 쿠버네티스 암호는 암호화 키와 같은 중요한 데이터를 더 철저하게 보호할 수 있습니다.
하지만 쿠버네티스는 보안 플랫폼이 아니므로 팀은 쿠버네티스 환경의 각 계층과 컨테이너 및 애플리케이션 라이프사이클의 모든 단계에서 취약점을 대상으로 삼아 위험 요소 평가를 운용해야 합니다. 쿠버네티스 보안을 효과적으로 처리하려면 가능한 경우 쿠버네티스 네이티브 보안 제어를 활용하고 동시에 구축, 배포, 런타임 단계에서 모범 사례를 구현해야 합니다.
Red Hat의 지원 방식
오픈소스 컨테이너 기술의 선도 기업인 Red Hat은 쿠버네티스 보안 모범 사례에 대한 지식을 강화하고 컨테이너를 더욱 안전하게 구현할 수 있도록 지원합니다. 팀이 K8s 보안 고려 사항을 더욱 효율적으로 파악하고 해결할 수 있도록 지원하기 위해 Red Hat은 컨테이너 라이프사이클에 보안 기능을 임베딩한 쿠버네티스 네이티브 솔루션을 제공합니다. 이를 통해 DevOps 팀은 프로덕션 레디 애플리케이션을 구축하고 배포할 수 있습니다.
StackRox에서 만들고 2021년 Red Hat이 인수한 Kubelinter는 쿠버네티스 배포의 구성 오류와 프로그래밍 오류를 식별하는 오픈소스 정적 분석 툴입니다. KubeLinter는 일련의 테스트를 실행하여 쿠버네티스 구성을 분석하고 오류를 식별하며 보안 모범 사례와 일치하지 않는 모든 항목에 대한 경고를 생성합니다.
Red Hat Service Interconnect는 기본적으로 클러스터와 클라우드 전반에서 확장되는 빌트인 보안 기능을 갖춘 동시에 서비스 간에 신뢰할 수 있는 통신 링크를 제공합니다. 또한 레거시, 컨테이너 또는 쿠버네티스 플랫폼 전반에서 개발할 수 있는 유연성을 제공하므로 개발자에게 차세대 비즈니스 애플리케이션을 빌드, 현대화, 배포할 수 있는 더 많은 옵션이 주어집니다.
조직은 Red Hat® Advanced Cluster Security for Kubernetes(ACS)를 사용하여 클라우드 네이티브 애플리케이션을 안전하게 구축, 배포, 실행할 수 있습니다. 자체 관리형 또는 전체 관리형 SaaS 솔루션으로 제공되는 ACS는 모든 주요 클라우드 환경과 하이브리드 환경에서 컨테이너화된 워크로드를 보호하고 DevOps 팀과 InfoSec 팀이 보안 기능을 운용하고 운영 비용을 절감하며 개발자 생산성을 높일 수 있도록 지원합니다.