Jump to section

Clair란?

URL 복사

Clair는 appc와 docker 컨테이너의 취약점에 대한 정적 분석을 통해 컨테이너의 보안을 모니터링하는 툴을 제공하는 오픈소스 프로젝트입니다. Clair는 잘 알려진 보안 허점이 있는지 식별하기 위해 컨테이너를 계층별로 검색하는 API 기반의 분석 엔진입니다. Clair를 사용하여 컨테이너 취약점을 지속적으로 모니터링하는 서비스를 쉽게 구축할 수 있습니다.

취약점 데이터는 잘 알려진 소스로부터 지속적으로 제공되며 컨테이너 이미지의 색인 처리된 콘텐츠와 연관되어 컨텐츠를 위협하는 취약점 목록을 생성합니다. 취약점 데이터로 인해 업스트림이 변경되면 웹후크를 통해 취약점의 이전 상태 및 새로운 상태, 그리고 취약점의 영향을 받은 이미지를 구성된 엔드포인트로 전송할 수 있습니다. 모든 주요 구성 요소는 프로젝트를 포크(fork)하지 않아도 컴파일 타임에서 프로그래밍 방식으로 사용자 정의할 수 있습니다. Clair는 다음을 통해 컨테이너 보안을 지원합니다.

  • 사용자가 정의한 소스 세트에서 취약점 데이터를 업데이트하고, 이 데이터를 데이터베이스에 저장
  • 클라이언트가 API를 사용하여 특정 이미지 내에서 이 데이터베이스의 취약점을 쿼리할 수 있도록 지원
  • API를 사용하여 이미지 내에 존재하는 특징 목록으로 컨테이너 이미지 색인 처리

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

또한 Clair는 Python과 새로운 이미지 지향 API를 시작으로 프로그래밍 언어 패키지 관리자에 대한 지원을 도입했습니다.

취약점을 자동으로 감지하면 개발 및 운영 팀 전반에서 인식을 높이고 보안 모범 사례를 늘리는 데 도움을 주며 취약점을 패치하고 해결하기 위한 조치를 촉구할 수 있습니다. 새로운 취약점이 알려지면 Clair는 다시 스캔하지 않아도 즉시 기존의 어떤 계층이 취약한지 파악하여 알림을 전송하게 됩니다.

예를 들어, "Heartbleed"라고도 알려진 CVE-2014-0160은 얼마 전부터 알려진 취약점이지만, Red Hat Quay 보안 스캔 결과에 따르면 사용자가 Quay에 저장해둔 컨테이너 이미지 대부분에 여전히 잠재적인 위협이 될 수 있습니다. 

취약점은 종종 특정 조건에 따라 이용되기도 한다는 점을 알아두시기 바랍니다. 예를 들어, Heartbleed는 취약한 OpenSSL 패키지가 설치되고 사용되는 경우에만 위협으로 작용합니다. Clair는 그러한 수준의 분석에는 적합하지 않으며, 팀이 더욱 심층적인 분석을 수행해야 합니다.

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

Red Hat OpenShift와 통합된 Quay 컨테이너 보안 오퍼레이터는 자동화, 인증, 권한 부여 시스템을 통해 이미지 리포지토리 보안을 높일 수 있도록 합니다. Red Hat Quay는 Red Hat OpenShift와 함께 제공되거나 독립 실행형 구성 요소로 제공됩니다.

Red Hat OpenShift Service on AWS(ROSA)는 소스 코드에서 이미지를 빌드하여 이를 배포하고 라이프사이클을 관리할 수 있습니다. 통합된 내부 컨테이너 이미지 레지스트리를 제공하여 ROSA 환경에 배포하고 이미지를 로컬로 관리할 수 있습니다. 퍼블릭 Red Hat Quay 컨테이너 레지스트리 인스턴스인 Quay.io는 Red Hat이 제공하고 관리하며 대부분의 컨테이너 이미지와 오퍼레이터를 ROSA 클러스터에 제공합니다. Red Hat Quay는 호스팅된 서비스와 소프트웨어로 사용할 수 있어 자체 데이터센터나 클라우드 환경에 설치할 수 있습니다. Red Hat Quay의 고급 기능으로는 지오 리플리케이션(geo-replication), 이미지 스캐닝, 이미지 롤백이 있습니다. 이와 같은 기능에는 OpenShift 전체 구성의 일부로 Clair를 활용하는 경우가 포함됩니다. 

오픈소스 커뮤니티를 지지하는 Red Hat의 노력의 일환으로, Red Hat은 Cloud Native Computing Foundation의 일원으로서 Project Quay 개발에 지속적으로 참여할 예정입니다.

Red Hat은 Clair와 Project Quay의 새로운 기능 엔지니어링에 상당히 기여하고 있습니다. 또한 Red Hat은 Clair가 사용하는 주요 취약점 데이터베이스 중 하나를 실행하고 있습니다. 아울러 Red Hat은 quay.io에서 최대 규모의 Clair를 설치하여 운영 중이며, 실제 로드 테스트 환경으로 이용하고 있습니다.

추가 자료

문서

컨테이너와 VM 비교

Linux 컨테이너 및 VM(가상 머신)은 다양한 IT 요소를 결합해 시스템의 나머지 부분으로 부터 격리하는 패키징된 컴퓨팅 환경입니다.

문서

컨테이너 오케스트레이션이란?

컨테이너 오케스트레이션은 컨테이너의 배포, 관리, 확장, 네트워킹을 자동화합니다.

문서

Linux 컨테이너란?

Linux 컨테이너는 시스템에서 격리된 프로세스로, 이러한 프로세스를 지원하는 데 필요한 모든 파일을 제공하는 고유한 이미지에서 실행됩니다.

컨테이너에 대한 자세한 내용

제품

선택한 인프라에서 애플리케이션 출시 테스트를 완료한 통합 서비스 세트를 포함하는 엔터프라이즈 애플리케이션 플랫폼입니다.

리소스

교육

무료 교육 과정

Running Containers with Red Hat Technical Overview

무료 교육 과정

Containers, Kubernetes and Red Hat OpenShift Technical Overview

무료 교육 과정

Developing Cloud-Native Applications with Microservices Architectures