
도커 이미지를 분석하고 취약점을 스캔하는 서비스
중요 참고 사항
2023년부터 Anchore Engine은 더 이상 유지 관리되지 않습니다. 향후 버전은 출시되지 않습니다. 사용자는 Syft 및 Grype를 사용하는 것이 좋습니다.
컨테이너 스캐닝 및 규정 준수를 위한 지원되는 상용 솔루션에 관심이 있는 사용자는 데모 예약을 통해 SBOM 관리, 취약점 관리, 규정 준수 관리 등 Anchore Enterprise의 광범위한 엔터프라이즈 기능을 확인하세요.
소개
Anchore Engine은 컨테이너 이미지의 검사, 분석 및 인증을 위한 중앙 집중식 서비스를 제공하는 오픈 소스 프로젝트입니다. Anchore Engine은 Docker 컨테이너 이미지로 제공되며, Kubernetes, Docker Swarm, Rancher, Amazon ECS 및 기타 컨테이너 오케스트레이션 플랫폼에서 독립 실행형 또는 오케스트레이션 플랫폼 내에서 실행할 수 있습니다.
환경에 Anchore Engine을 배포하면 Docker V2 호환 컨테이너 레지스트리에서 컨테이너 이미지를 다운로드하여 분석한 후 취약점 데이터베이스와 비교하여 평가합니다.
이전 문서는 Anchore Documentation에서 확인할 수 있습니다.
Anchore Engine은 RESTful API를 통해 직접 액세스하거나 Anchore CLI를 통해 액세스할 수 있습니다.
지원 운영 체제
지원 패키지
Anchore Engine을 시작하는 방법은 여러 가지가 있습니다. docker-compose, Helm 및 기타 방법을 사용한 빠른 시작 및 전체 프로덕션 설치에 대한 최신 정보는 다음을 참조하십시오:
Anchore Engine은 DockerHub에서 제공되는 Docker Image로 배포됩니다.
전체 빠른 시작 가이드는 문서를 참조하세요.
docker(및 docker-compose)가 설치된 시스템에서 Anchore Engine 설치를 빠르게 시작하려면 다음 간단한 단계를 따르십시오:
curl https://engine.anchore.io/docs/quickstart/docker-compose.yaml > docker-compose.yaml
docker-compose up -d
엔진이 실행되면 CLI를 사용하여 시스템과 상호 작용할 수 있습니다.
Anchore CLI는 Anchore Engine을 제어하고 상호 작용하는 쉬운 방법입니다.
Anchore CLI는 Python pip 명령을 사용하거나 Anchore Engine CLI 컨테이너 이미지에서 CLI를 실행하여 설치할 수 있습니다. 코드 및 추가 설치 옵션과 사용법은 Github의 Anchore CLI 프로젝트를 참조하세요.
기본적으로 Anchore CLI는 인증 없이 http://localhost:8228/v1의 Anchore Engine에 연결을 시도합니다. 서버의 사용자 이름, 비밀번호 및 URL은 명령줄 인수로 Anchore CLI에 전달할 수 있습니다:
--u TEXT 사용자 이름 예: admin
--p TEXT 비밀번호 예: foobar
--url TEXT 서비스 URL 예: http://localhost:8228/v1
도구를 호출할 때마다 이러한 매개변수를 전달하는 대신 환경 변수로 설정할 수도 있습니다:
ANCHORE_CLI_URL=http://myserver.example.com:8228/v1
ANCHORE_CLI_USER=admin
ANCHORE_CLI_PASS=foobar
Anchore Engine에 이미지 추가:
anchore-cli image add docker.io/library/debian:latest
이미지가 '분석됨' 상태로 전환될 때까지 기다립니다:
anchore-cli image wait docker.io/library/debian:latest
Anchore Engine이 분석한 이미지 목록:
anchore-cli image list
이미지 개요 및 요약 정보 가져오기:
anchore-cli image get docker.io/library/debian:latest
피드를 나열하고 하나 이상의 취약점 데이터 피드 동기화가 완료될 때까지 기다립니다. 첫 번째 동기화에는 시간이 걸릴 수 있으며(20-30분) 이후 동기화는 델타만 병합합니다.
anchore-cli system feeds list
anchore-cli system wait
이미지에 대한 취약점 스캔 결과 얻기:
anchore-cli image vuln docker.io/library/debian:latest os
이미지에 있는 운영 체제 패키지 목록:
anchore-cli image content docker.io/library/debian:latest os
외부 API 정의(사용자 대상 서비스)는 External API Swagger Spec을 참조하세요. Anchore Engine이 실행 중인 경우 브라우저에서 http://:8228/v1/ui/로 이동하여 Swagger를 검토할 수도 있습니다. (참고: 포함된 swagger UI 브라우저가 제대로 표시되려면 후행 슬래시가 필요합니다.)
각 서비스는 자체 API를 구현하며 모든 API는 Swagger/OpenAPI 사양으로 정의됩니다. 각 API는 anchore_engine/services/<servicename>/api/swagger 디렉토리에서 찾을 수 있습니다.
Anchore CLI와 Anchore Engine 사용에 대한 자세한 내용은 Anchore Engine Documentation을 참조하세요.
이 저장소는 2020년 11월에 Black을 사용하여 재구성되었습니다. 이 커밋은 많은 파일에 영향을 주었기 때문에 git blame을 사용할 때 로컬 환경에서 무시할 수 있습니다. 커밋을 무시하려면 git-blame이 제공된 파일(.git-blame-ignore-revs)을 블레인지에서 무시할 커밋 목록으로 사용하도록 구성해야 합니다.
다음을 소스 트리의 루트에서 실행하여 로컬 git 구성이 제공된 파일을 사용하도록 설정하십시오:
git config blame.ignoreRevsFile .git-blame-ignore-revs