컨테이너 보안이란? Key Components & Best Practices

컨테이너 보안은 컨테이너 이미지 및 이미지 리포지토리, 실행 중인 컨테이너의 콘텐츠, 기본 컨테이너 인프라를 포함하여 컨테이너화된 워크로드의 모든 구성 요소를 보호하는 관행입니다.

오늘날 컨테이너를 배포하기 위한 다양한 도구와 플랫폼이 있기 때문에 컨테이너 보안에 영향을 미치는 특정 프로세스는 환경마다 다릅니다. 그러나 컨테이너 보안의 기본 구성 요소는 관련된 특정 기술에 관계없이 동일합니다.

컨테이너 보안 데모 컨테이너 보안 가이드

컨테이너 보안이란? Key Components & Best Practices

컨테이너 보안의 중요성

컨테이너는 애플리케이션을 실행할 수 있는 유연하고 이식 가능한 방법을 제공하기 때문에 소프트웨어 배포를 위한 인기 있는 솔루션이 되었습니다. 그러나 컨테이너는 소프트웨어 제공 파이프라인과 호스팅 스택에 다음과 같은 새로운 계층을 도입하기도 합니다.

  • 컨테이너 이미지 리포지토리 - 컨테이너 이미지(컨테이너의 실행 파일을 저장하는 정적 파일을 의미)를 호스팅하고 다운로드할 수 있도록 합니다.
  • 이미지를 기반으로 실행 중인 컨테이너를 실행하는 Docker와 같은 컨테이너 런타임.
  • Kubernetes와 같은 컨테이너 오케스트레이션 도구는 분산 인프라에서 실행되는 컨테이너를 관리합니다.

이러한 구성 요소는 소프트웨어 환경에 복잡성을 더하고 공격 표면을 증가시킵니다. 컨테이너 보안은 조직이 위험과 위협으로부터 이러한 구성 요소를 보호하는 동시에 컨테이너화된 호스팅 환경과 컨테이너화되지 않은 호스팅 환경 모두에 존재하는 다른 리소스(예: 컨테이너를 호스팅하는 서버에서 실행되는 운영 체제)를 방어할 수 있는 방어 수단을 갖추도록 하는 데 중요합니다.

컨테이너 보안 과제

컨테이너 보안에는 더 큰 공격 표면을 관리해야 한다는 사실 외에도 컨테이너는 개발자, IT 엔지니어 및 보안 분석가가 워크로드에 대해 갖는 직접적인 가시성을 제한하기 때문에 컨테이너 보안이 어렵습니다. 결과적으로 위협을 탐지하고 대응하는 것이 더 어려울 수 있습니다.

예를 들어 분석가가 컨테이너를 호스팅하는 운영 체제에서 사용할 수 있는 메트릭 및 로그만을 기반으로 보안 모니터링을 수행하는 경우 컨테이너 자체에서 생성된 메트릭 및 로그는 일반적으로 운영 체제에서 관리되지 않으므로 컨테이너 내에서 비정상적인 활동을 감지하지 못할 수 있습니다. 각 컨테이너 내부에서 어떤 일이 일어나고 있는지 파악하기 위해 엔지니어는 컨테이너와 호스트 서버를 분리하는 추상화 계층을 뚫을 수 있는 보안 도구가 필요합니다.

컨테이너 보안의 구성 요소

모든 컨테이너화된 환경에 동일한 유형의 도구가 포함되어 있는 것은 아닙니다. 예를 들어 오케스트레이터를 사용하지 않고 컨테이너를 실행할 수 있습니다. 즉, 컨테이너 보안의 구성 요소는 팀이 컨테이너를 관리하는 데 사용하는 특정 도구와 플랫폼에 따라 달라질 수 있습니다.

 

즉, 대부분의 경우 컨테이너 보안에는 다음과 같은 주요 구성 요소가 포함됩니다.

레지스트리 보안

공격자가 컨테이너 이미지를 호스팅하는 레지스트리를 침해하면 악성 코드를 삽입할 수 있으며, 이로 인해 오염된 이미지를 기반으로 컨테이너를 실행하는 모든 환경으로 멀웨어가 확산됩니다.

 

이러한 위험으로부터 보호하기 위해 엔지니어는 컨테이너 레지스트리의 내용에 대한 무단 액세스를 방지하는 엄격한 액세스 제어를 구현해야 합니다. 또한 악의적인 활동의 징후가 될 수 있는 비정상적인 액세스 패턴에 대해 레지스트리를 모니터링해야 합니다.

런타임 보안

공격자는 컨테이너 런타임의 취약성을 악용하여 컨테이너를 제어하고 컨테이너를 호스팅하는 서버까지 제어할 수 있습니다. 조직은 컨테이너 런타임 소프트웨어를 패치하고 최신 상태로 유지하여 Docker 컨테이너 보안(또는 사용하는 런타임의 보안)을 관리함으로써 이러한 위험을 관리할 수 있습니다.

환경 보안

관리자가 컨테이너를 실행할 때 적용하는 환경 구성은 보안에 영향을 미칠 수 있습니다. 예를 들어, 컨테이너를 루트로 실행하는 것은 위반으로 인한 잠재적 피해를 증가시키는 상승된 권한을 부여하기 때문에 일반적으로 모범 사례가 아닙니다. 컨테이너를 호스팅하는 환경에 적용되는 설정을 보호하는 것은 컨테이너 보안의 필수 구성 요소입니다.

오케스트레이션 보안

Kubernetes와 같은 오케스트레이터를 사용하는 컨테이너화된 워크로드의 경우 오케스트레이션 플랫폼을 알려진 취약성으로부터 보호하는 것이 중요합니다. 또한 관리자는 위협으로부터 방어하기 위해 오케스트레이터를 구성하고 관리할 때 모범 사례를 따라야 합니다. 예를 들어 Kubernetes 컨테이너 보안에서 관리자는 기본 제공 RBAC(역할 기반 액세스 제어) 프레임워크를 사용하여 리소스에 대한 액세스를 제한해야 합니다.

스토리지 보안

Stateful 컨테이너화된 애플리케이션은 스토리지 리소스에 따라 달라집니다. 해당 스토리지에서 호스팅되는 데이터를 보호하는 것은 컨테이너 보안의 또 다른 중요한 구성 요소입니다.

Network Security

컨테이너는 네트워크를 사용하여 서로 통신하고 외부 요청을 수락 및 수신합니다. 따라서 엔지니어는 내부 및 외부 네트워크가 올바르게 구성되었는지 확인하고 비정상적인 활동을 모니터링하여 내부 및 외부 네트워크를 모두 보호해야 합니다.

컨테이너 보안 유형: Docker, Kubernetes, AKS, GKE, EKS

컨테이너가 호스팅되는 위치에 따라 특정 추가 컨테이너 보안 솔루션 또는 사례를 사용할 수 있습니다.

예를 들어, Docker를 사용하는 팀은 플랫폼에 내장된 보안 스캐너를 통해 Docker 컨테이너 보안의 일부 측면을 관리하여 컨테이너 이미지 내의 악의적인 종속성을 감지할 수 있습니다. Kubernetes네이티브 RBAC 프레임워크는 컨테이너화된 워크로드를 보호하는 데 도움이 될 수 있습니다.

마찬가지로 AKS(Azure Kubernetes Service), GKE(Google Kubernetes Engine) 또는 EKS(Elastic Kubernetes Service)와 같은 관리형 서비스를 통해 컨테이너를 실행하는 경우 조직은 각 서비스의 클라우드 제공업체 플랫폼에 내장된 보안 도구를 활용하여 워크로드를 모니터링하고 보호할 수 있습니다.

컨테이너 보안 솔루션 기능

팀이 컨테이너를 보호하는 데 사용하는 컨테이너 보안 솔루션은 다음과 같은 핵심 기능을 제공해야 합니다.

  • 악의적인 액세스로부터 컨테이너 이미지 레지스트리를 보호하기 위한 지원.
  • 컨테이너 이미지 에서 악의적이거나 취약한 콘텐츠 또는 종속성을 검사하는 기능입니다.
  • 위반 위험을 증가시킬 수 있는 실수 또는 실수로부터 보호하기 위해 컨테이너 환경 구성을 검증합니다.
  • 실행 중인 컨테이너와 컨테이너가 상호 작용하는 스토리지 및 네트워크 리소스를 모니터링하여 공격을 나타낼 수 있는 비정상적인 활동을 감지합니다.
  • 관련된 경우 보안 위험으로부터 보호하기 위해 컨테이너 오케스트레이터를 검사하고 감사합니다.

컨테이너 보안 모범 사례

대부분의 컨테이너화된 워크로드의 경우 다음 모범 사례는 공격 위험을 최소화하고 팀의 탐지 능력을 최대화하는 데 도움이 될 수 있습니다.

Enforce Least Privilege

관리자는 컨테이너화된 호스팅 스택 내에서 구성 요소를 설정할 때 최소 권한 원칙을 따라야 합니다. 최소 권한은 사용 권한을 필요한 가장 낮은 수준으로 제한하는 것을 의미합니다.

신뢰할 수 있는 이미지 활용

멀웨어를 포함할 가능성이 높은 신뢰할 수 없는 레지스트리에서 컨테이너 이미지를 다운로드하지 마세요. 가능한 경우 잘 정립되고 신뢰할 수 있는 조직에서 유지 관리하는 레지스트리를 선택합니다.

환경의 모든 계층 모니터링

컨테이너 보안과 관련하여 환경의 일부 계층만 검사하고 모니터링하는 것만으로는 충분하지 않습니다. 조직은 컨테이너 레지스트리 및 이미지에서 런타임 환경, 기본 인프라 및 그 사이의 모든 것에 이르기까지 모든 구성 요소를 지속적으로 모니터링해야 합니다. 포괄적인 모니터링은 위험을 감지하는 관리자의 능력을 극대화합니다.

공격 표면 최소화

컨테이너에 대한 공격 표면은 본질적으로 컨테이너화되지 않은 앱보다 크지만, 팀은 불필요한 구성 요소 또는 계층을 실행하지 않도록 하여 공격 표면을 줄일 수 있습니다. 예를 들어 개발자가 테스트 목적으로 시작하는 컨테이너는 테스트가 완료되는 즉시 종료해야 합니다.

미니멀리스트 이미지 사용

컨테이너 이미지 내에 존재하는 콘텐츠가 적을수록 취약성 위험이 낮아집니다. 이러한 이유로 미니멀리스트 이미지, 즉 애플리케이션을 실행하는 데 필요한 라이브러리, 소프트웨어 패키지 및 기타 구성 요소만 포함하는 이미지를 선호합니다.

CloudGuard Workload를 통한 컨테이너 보안

효과적인 컨테이너 보안의 핵심은 컨테이너가 의존하는 모든 프로세스와 리소스에 보안을 통합하는 것입니다. CloudGuard for Workload Protection 은 다음을 제공하는 포괄적인 컨테이너 보안 솔루션을 제공하여 이를 용이하게 합니다.

  • 소프트웨어 제공 수명 주기와 통합하여 취약성이 컨테이너 이미지에 들어가기 전에 포착합니다.
  • 지속적인 컨테이너 이미지 스캔을 통해 취약한 이미지를 즉시 감지할 수 있습니다.
  • 활성 위협으로부터 방어하기 위한 런타임 보호.
  • 오케스트레이션 계층을 안전하게 유지하기 위한 Kubernetes 컨테이너 보안.
  • 포괄적인 모니터링 및 침입 탐지 기능은 계정 활동, 클러스터 운영 및 애플리케이션 트래픽 흐름에 대한 지속적인 분석을 기반으로 합니다.

컨테이너 보안 가이드를 읽거나 무료 데모를 요청하여 자세히 알아보세요.

×
  피드백
이 웹사이트는 기능 및 분석, 마케팅 목적으로 쿠키를 사용합니다. 이 웹사이트를 계속 이용하면 쿠키 사용에 동의하는 것입니다. 자세한 내용은 쿠키 관련 공지사항을 참조하세요.