본문 바로가기

POST/Insight

워크로드 컨테이너화 여정: 숨은 함정과 해결책

 

 

클라우드 환경에 컨테이너 사용이 늘어나면서 의도치 않게 취약성도 함께 늘어나게 되었습니다. 다양한 이유로 발생하는 일이지만 크게 몇가지를 원인으로 살펴볼 수 있습니다. 첫째, 일부 기업과 조직이 복잡한 쿠버네티스 환경을 위한 보안 프로세스가 부재하며, 둘째, 중앙화된 보안 전략 부재 셋째, 너무 많은 툴과 정책을 실행하여 담당팀에게 너무 많은 알림이 보내져 혼란을 불러오기 때문입니다.

 

그러나 컨테이너화된 애플리케이션 개발 과정에서 보안은 여전히 간과할 수 없는 중요한 요소입니다.

 

컨테이너 보안 거버넌스

우선 컨테이너 이미지와 레지스트리의 보안 상태를 배포 전에 확인하고 나머지 클라우드 환경에 대한 가시성을 확보해야 합니다. 클라우드 보안 툴을 사용하여 보안 팀은 팀 간에 보안 기준을 설정하고 환경에 대한 가시성을 확보하고 DevOps 팀은 개발 프로세스 초반부터 취약점 및 정책 위반을 수정하는 데 필요한 정보를 얻을 수 있습니다. 이는 위험을 줄이고 DevOps 팀이 보안 팀의 거버넌스 하에 워크플로에 보안을 직접 포함하도록 합니다.

 

Tenable Cloud Security의 일부로 컨테이너 보안 기능은 개발자 워크스테이션에서 이미지 레지스트리까지 확장되며, 자산 및 발견 사항은 집중화된 대시보드에 통합되어 실행 가능한 인사이트와 KPI를 제공합니다. 기존 인프라 코드 스캔과 함께 Tenable Cloud Security는 완벽한 코드부터 클라우드까지의 보안을 제공합니다.

 

숨은 함정과 해결책

함정#1 : 스캔되지 않은 베이스 이미지:

컨테이너 이미지 라이브러리(예: DockerHub)에서 공개적으로 제공되는 기본 이미지를 사용하여 시간을 절약하는 것은 일반적인 DevOps 관행입니다. 하지만 이러한 방법은 위험하지 않은 것은 아닙니다. 사전 빌드된 공개 이미지를 사용할 때는 해당 이미지가 최근에 유지 보수되었는지, 회사의 보안 요구 사항을 충족하는지, 숨겨진 취약점으로 인해 손상되었는지 알기 어려울 수 있습니다.

 

해결책:

보안 팀은 정책을 통해 개발자가 기본 Ubuntu 이미지를 가져올 때 최신 패치 및 버전으로 업데이트되어야 한다는 것을 요구할 수 있습니다. 또한, Center for Internet Security (CIS)의 사전 보강된 이미지를 활용할 수 있습니다. 이 이미지는 일반적인 운영 체제로부터 빌드되지만 특정 보안 기준을 충족하도록 설계되었습니다. 이러한 관행은 초기 취약점을 크게 줄이며 알림 "소음"을 최소화합니다.

 

Tenable Cloud Security를 사용하면 로컬 빌드 프로세스의 일부로 컨테이너 이미지를 검사하고 수정할 수 있습니다. Tenable은 맞춤형 정책에 따라 이미지를 검사합니다. 이 이미지는 컨테이너 개발 프로세스의 고도 자동화 단계로 이동하기 전에 취약점을 파악하여 수정할 수 있습니다.

 

개발자가 이러한 컨테이너 이미지를 빌드하면 이미지는 보관소와 레지스트리에 저장됩니다. 이 단계는 또 다른 일반적인 컨테이너 보안 함정, 레지스트리 취약점으로 이어지기도 합니다.

 

함정#2: 레지스트리 취약점

컨테이너 레지스트리는 이미지를 끊임없이 push/pull 하는 환경이므로 들어오고 나가는 내용의 보안을 유지하는 것이 필수적입니다. 컨테이너 레지스트리가 공개든 비공개든 접근 권한과 권한을 부적절하게 관리하면 공격자가 사용자의 호스트 환경에 루트 액세스를 얻을 수 있습니다. 권한이 너무 많은 컨테이너 이미지는 빌드 프로세스의 다른 부분에서 취약점을 측면 공격하고 악용하는 데 사용될 뿐만 아니라 리소스를 낭비하고 비용을 증가시킬 수 있습니다. 또한 레지스트리는 프로덕션으로 푸시하기 전에 수정해야 하는 구성 오류를 감추고 있을 수 있습니다.

 

해결책:

미국 국가표준기술원(NIST)은 애플리케이션 컨테이너 보안 가이드에서 레지스트리 취약점에 대한 수많은 대응 조치를 제공합니다. 한 예로, 가이드는 "예를 들어, 조직은 연속 통합 프로세스를 구성하여 이미지가 권한이 있는 인원에 의해 서명되고 취약점 검사 및 준수 평가를 통과한 후에만 레지스트리에 푸시되도록 할 수 있습니다. 조직은 이러한 자동화된 검사를 프로세스에 통합하여 취약한 이미지 또는 구성 오류가 있는 이미지의 승격 및 배포를 방지해야 합니다." 라고 명시합니다.

 

Tenable Cloud Security는 이러한 취약점 및 준수 평가를 제공합니다. 사용자는 컨테이너 레지스트리의 아티팩트를 자동으로 검사하고 파이프라인에서도 이러한 아티팩트를 자동으로 검사할 수 있습니다. 이러한 취약점 및 준수 평가 기능과 함께 Tenable Cloud Security는 일반적인 레지스트리 구성 오류를 감지하고 수정하기 위한 기본 정책을 갖추고 있습니다.

 

컨테이너 아티팩트가 레지스트리를 떠난 후에는 컨테이너 오케스트레이션 플랫폼을 통해 배포를 위한 파이프라인을 거칩니다. Kubernetes (K8s)와 같은 컨테이너 오케스트레이션 플랫폼은 복잡하고 보안은 어려우며 필요한 가시성은 종종 부족합니다. 이러한 이유로 잘못 구성된 Kubernetes 클러스터는 가장 위험한 보안 함정 중 하나입니다.

 

함정 #3: 잘못 구성된 Kubernetes 클러스터

Kubernetes는 배포하는 컨테이너를 검증하거나 확인하지 않으며, 클러스터 자체도 잘못 구성될 수 있습니다. NIST는 애플리케이션 보안 가이드에서 잘못 구성된 오케스트레이터 노드가 다음과 같은 증가된 위험을 초래할 수 있다고 보고합니다.

 

  • 권한 없는 호스트가 클러스터에 가입하여 컨테이너를 실행하는 경우
  • 단일 클러스터 호스트의 손상이 전체 클러스터 손상을 의미하는 경우 (예: 모든 노드에서 인증에 사용되는 동일한 키 쌍이 공유되는 경우)
  • 오케스트레이터와 DevOps 담당자, 관리자, 호스트 간의 통신이 암호화되지 않고 인증되지 않은 경우

해결책:

컨테이너 오케스트레이션 플랫폼은 보안 보다는 속도를 위한 구성에 집중합니다. NIST는 동일한 애플리케이션 컨테이너 보안 가이드 보고서에서 오케스트레이션 플랫폼을 보호하기 위한 대응 조치도 제시합니다. 가이드에 따르면 "오케스트레이션 플랫폼은 실행하는 모든 앱에 안전한 환경을 만드는 기능을 제공하도록 구성되어야 하며, 오케스트레이터는 노드가 클러스터에 안전하게 도입되고 라이프사이클 동안 일관된 ID를 유지하며 노드 및 연결 상태에 대한 정확한 인벤토리를 제공할 수 있도록 해야한다.” 고 정의합니다.

 

Kubernetes와 같은 오케스트레이션 소프트웨어의 일부로 컨테이너가 배포될 때 Tenable Cloud Security는 기본 Kubernetes 및 클라우드 인프라에 대한 구성과 액세스 제어 정책을 검증할 수 있습니다. 사용자는 모든 K8 클러스터의 통합 보안 결과를 확인하고 우선 순위에 따라 특정 수정 단계로 드릴 다운할 수 있습니다. Tenable Cloud Security를 사용하면 Kubernetes Security Posture Management 기능을 통해 환경에서 실행되는 모든 클러스터 중 상위 5개 취약 클러스터를 표시할 수 있습니다.

 

예방: 컨테이너 워크로드의 핵심

위에 설명한 모든 함정 해결책들이 공통적으로 가지는 패턴은 함정들이 배포 전에 발생하며 컨테이너를 프로덕션 환경에 푸시하기 전에 수정할 수 있습니다. "시프트 레프트”는 클라우드 보안 분야에서 수년간 강조되었지만, 공격 표면의 일부만 다루도록 설계된 개별 솔루션의 도입은 관리 포인트 증가 등 또 다른 문제를 불러옵니다. 통합 보안 플랫폼이 필요한 이유이며, Tenable One Exposure Management Platform의 일부인 Tenable Cloud Security는 전체 공격 표면에서 취약점에 대한 인사이트와 우선 순위를 제공하는 유일한 종합 솔루션입니다.

 

Tenable은 빌드부터 배포까지 단일 정책 프레임워크를 정의 후 런타임중에도 Cloud Security Posture Management (CSPM) 및 Kubernetes Security Posture Management (KSPM) 솔루션을 사용하여 지속적인 액세스 위험을 평가할 수 있습니다. Tenable Cloud Security를 통해 다중 또는 하이브리드 클라우드 배포, 단일 보기에서 컨테이너 이미지, 레지스트리, Kubernetes 클러스터의 보안 상태를 확인할 수 있습니다.

 

 

 

원문보기:

Journey to Containerized Workloads: Security Pitfalls and How To Dodge Them With Tenable Cloud Security 

 

참고문헌: 

Building a Resilient Container Security Strategy: The Power of Prevention