로그인 / 등록 Account

컨테이너

Clair란?

Clair오픈소스 프로젝트로서, appc 및 docker 컨테이너의 취약점을 정적으로 분석하여 컨테이너의 보안을 모니터링하는 툴을 제공합니다. Clair는 컨테이너를 레이어 단위로 검사하면서 알려진 보안 허점이 있는지 확인하는 API 기반의 분석 엔진입니다. Clair를 사용하면 컨테이너의 취약점을 지속적으로 모니터링하는 서비스를 손쉽게 구현할 수 있습니다.

컨테이너 보안을 지원하는 Clair

알려진 소스로부터 계속해서 취약점 데이터를 가져오고, 색인화된 컨테이너 이미지 콘텐츠와의 상관성을 분석하여 컨테이너를 위협하는 취약점의 목록을 생성합니다. 취약점 데이터로 인해 업스트림 상황이 달라지면 설정된 엔드포인트로 가는 웹 후크를 통해 취약점의 이전 상태 및 새로운 상태, 그리고 취약점에 해당하는 이미지를 보낼 수 있습니다. 모든 주요 구성 요소는 컴파일 시점에 프로그래밍 방식으로 맞춤 설정할 수 있으며 프로젝트를 분할하지 않아도 됩니다. Clair는 다음과 같이 컨테이너 보안을 지원합니다.

  • 사용자가 정의하는 소스 세트로부터 취약점 데이터를 가져와 업데이트하고, 이 데이터를 자체 데이터베이스에 저장
  • 클라이언트는 API를 사용하여 특정 이미지의 취약점을 이 데이터베이스에 쿼리 가능
  • API를 사용하여 컨테이너 이미지에 있는 특성 목록으로 이미지 색인화

Clair의 작동 방식

Clair는 각각의 컨테이너 레이어를 스캔하고, CVE(Common Vulnerabilities and Exposures) 데이터베이스 및 이와 유사한 Red Hat®, Ubuntu, Debian의 데이터베이스를 기반으로 위협이 될 만한 취약점이 있으면 알립니다. 여러 컨테이너가 레이어를 공유할 수 있으므로 반드시 세부 검사를 통해 패키지의 인벤토리를 작성하고 알려진 CVE와 비교하여 일치하는지 확인해야 합니다.

한편 Clair는 Python을 필두로 한 프로그래밍 언어 패키지 관리자에 대한 지원과 함께 새로운 이미지 지향 API도 선보였습니다.

취약점이 자동으로 감지되므로 개발팀과 운영팀의 경각심을 높이고 최상의 보안 프랙티스를 강화하는 한편 패치 적용 및 취약점 해결 조치를 장려할 수 있습니다. 새로운 취약점이 발표되면 Clair는 이를 즉시 확인하고, 다시 스캔하지 않고도 기존 레이어 중에서 취약한 것을 알아내서 알림을 보냅니다.

예를 들어 CVE-2014-0160, 즉 "Heartbleed"는 꽤 오래 전부터 알려진 취약점이지만 Red Hat Quay 보안 스캔 결과에 따르면 사용자들이 Quay에 저장한 컨테이너 이미지 중 상당수에 여전히 잠재적 위협이 되고 있습니다. 

단, 취약점에 대한 공격은 대개 특정 조건을 충족해야 발생합니다. 예를 들어, Heartbleed는 취약한 OpenSSL 패키지를 설치하여 사용 중일 때만 심각한 위협이 됩니다. 그러한 수준의 분석에는 Clair가 적합하지 않으며, 필요한 경우 해당 팀에서 더 면밀한 분석을 수행해야 합니다.

Clair와 쿠버네티스

Clair는 오픈소스 Project Quay에 포함되어 있습니다. 쿠버네티스 플랫폼 Red Hat OpenShift®에서 Clair를 컨테이너 보안에 활용하려면 쿠버네티스 오퍼레이터인 Container Security Operator를 사용합니다. 이 오퍼레이터 자체가 Red Hat Quay의 구성 요소입니다. Red Hat Quay는 오픈소스 컨테이너 이미지 레지스트리 플랫폼입니다. 여기서는 클라우드 네이티브DevSecOps 개발 모델/환경에 초점을 맞춰 컨테이너를 구축한 다음 글로벌 데이터 센터에 분산 및 배포할 수 있습니다.

Red Hat OpenShift와 통합되는 Quay Container Security Operator를 사용하면 AAA(automation, authentication, authorization) 시스템으로 이미지 리포지토리의 보안을 강화할 수 있습니다. Red Hat Quay는 Red Hat OpenShift와 함께 제공되거나 독립 실행형 구성 요소로 제공됩니다.

Red Hat의 지원 방식

오픈소스 커뮤니티를 변함없이 지지하는 Red Hat은 Cloud Native Computing Foundation의 일원으로서 Project Quay 개발에 계속 참여할 것입니다.

Red Hat은 Clair 및 Project Quay를 위한 새로운 기능 엔지니어링에 크게 기여하고 있습니다. Red Hat은 Clair에서 사용하는 핵심 취약점 데이터베이스도 하나 운영합니다. 아울러 Red Hat은 quay.io에서 최대 규모의 Clair를 설치하여 운영 중이며, 실제 로드 테스트 환경으로 이용하고 있습니다.

컨테이너 보안

Red Hat Quay logo

컨테이너의 구축, 분산, 배포에 사용할 수 있는 컨테이너 이미지 레지스트리.

Red Hat OpenShift product logo

장소나 스케일에 상관없이 컨테이너를 개발, 배포, 관리할 수 있습니다.

컨테이너의 더 큰 가능성을 살펴보세요