관리 메뉴

IT창고

컨테이너 보안 도구 Anchore 본문

보안/System

컨테이너 보안 도구 Anchore

방구석여포 2019. 10. 19. 18:59

Anchore에 대해 알아보겠습니다.
Anchore는 컨테이너 취약점 스캔 도구로 컨테이너 이미지의 취약점을 스캔합니다.

 

Anchore는 상업용과 오픈소스가 있는데 오픈소스로 테스트해보도록 하겠습니다.
Anchore를 사용하기 위해서는 기본적으로 시스템에 Docker가 설치되어있어야 합니다.

Docker는 1.12버전 이상을 사용해야 하며 최소 docker-compose 구성 형식을 지원한는 Docker Compose버전을 사용해야 합니다.

 

테스트 진행은 VMware로 진행하며 OS는 CentOS 7이고 RAM은 최소 2GB 이상이여야 합니다.Docker 설치의 경우 Docker Compose를 사용하므로 yum -y install docker-compose docker로 설치가 가능합니다. (테스트는 CentOS에서 진행하지만 Ubuntu에서 작업하시는걸 추천합니다.)
만약 제대로 설치가 안된다면 docker-compose 설치 링크를 클릭하면 설치방법 확인 가능합니다.

 

Anchore를 설치해보도록 하겠습니다.

먼저 docker 데몬(서비스)를 작동시키고 구성파일을 저장할 별도의 디렉토리를 생성합니다. 

(중요) 아래의 모든 작업은 현재 /testgsk/anchoredir 디렉토리에서 진행합니다. 

docker-compose.yaml 배포에 사용될 필수 및 구성 파일 이 포함 된 최신 Anchore Engine 컨테이너 이미지를 다운로드 하도록 합니다.

docker-compose pull 명령어로 컨테이너를 다운로드하고 docker-compose.yaml docker-compose CLI를 사용하여 전체 설정을 실행(ex. docker-compose up -d)하도록 합니다.

컨테이너가 docker-compose로 실행 중인지 확인할 수 있습니다. 시스템사양에 따라 Anchore Engine이 시작되는 속도가 다를 수 있습니다.

Anchore Engine 서비스 상태를 확인할 수 있으며 Anchore Engine을 처음 실행하면 취약성 데이터가 엔진에 동기화되는 데 최대 10분 이상 소요 될 수 있으므로 기다려줍니다. 

docker image에 테스트를 위한 이미지로 Tomcat 6버전을 받아서 확인해보도록 하겠습니다.

docker image 다운로드 등 사용법은 2019/02/17 - [서버운영/Virtualization] - docker 사용법1을 참고 합니다. 

사용방법은 docker-compose exec engine-api anchore-cli image add "REPOSITORY" 로 컨테이너 이미지를 추가하고 docker-compose exec engine-api anchore-cli image vuln "REPOSITORY" 명령어로 취약점 분석결과를 확인해 볼 수 있습니다. 위에서의 테스트는 Anchore 오픈소스 버전으로 확인할수있는 취약점은 CVE 목록을 기반으로 스캔하는 보안 도구입니다.

 

마지막으로 Anchore CLI를 설치해보도록 하겠습니다.

설치방법은 아래와 같습니다.

sudo yum install -y epel-release
sudo yum install -y python-pip
pip install --user --upgrade anchorecli

 

계정은 root계정으로 설치하였으며 위와 같이 Anchore CLI가 설치된 경로를 확인해볼 수 있습니다.

bin 디렉토리에 anchore-cli 파일이 있는걸 확인할 수 있습니다.

 

자세한 Anchore CLI 구성은 여기의 링크를 참고 합니다.

Anchore 활용방법으로 직접 서버에서 anchore CLI를 활용하여 스캔해볼수도 있지만 쿠버네티스나 젠킨스를 활용하여 실제 개발/운영 환경에서 활용이 가능하며 실제 서비스 전에 컨테이너 이미지의 보안 취약점을 스캔하여 빠른 확인이 가능합니다.

2019/08/08 - [서버운영/Virtualization] - 쿠버네티스(kubernetes) 설치하기 (CentOS 7)

2019/08/25 - [서버운영/Linux] - CentOS 7 - 젠킨스(Jenkins) 설치

참고할 만한 Anchore Engine(https://github.com/anchore/anchore-engine)

'보안 > System' 카테고리의 다른 글

리눅스 dirtycow 권한상승  (0) 2018.09.09
윈도우 사용자계정 숨기기  (0) 2018.08.25
실제 실행파일에 악성코드 삽입  (0) 2018.08.22
DHCP Starvation Attack  (0) 2018.08.21
DHCP 서버 구축(윈도우 서버, 리눅스)  (0) 2018.08.21
Comments