DevOps

Trivy

우제혁 2023. 12. 18. 17:07

개념

  • Trivy는 컨테이너 및 아티팩트에 대한 취약성 및 잘못된 구성정보에 대한 검사 도구
  • OS 패키지 (Alpine, RHEL, CentOS 등) 및 언어별 패키지 (Bundler, Composer, npm, yarn 등) 의 취약점을 감지
  • Terraform 및 Kubernetes와 같은 IaC(Infrastructure as Code) 파일을 스캔 하여 배포를 공격 위험에 노출시키는 잠재적 구성 문제를 감지

 

설치

기본 환경 : Linux (다른 OS에서도 사용 가능)

활용 이미지 : AWS 상 jenkinsflask

설치 방법 및 활용 방법

  • 여러가지 운영체제마다 다름
  • Linux에서는 Github 를 통해 다운로드 할 거임
  1. 첫 번째 명령어
rpm -ivh https://github.com/aquasecurity/trivy/releases/download/v0.47.0/trivy_0.47.0_Linux-64bit.rpm

// 23년도 11월 기준 최신버전인 0.47.0 설치

  1. 설치 후 trivy version 확인
trivy -v

  1. aws상이므로 해당 ecr 접속
aws ecr get-login-password --region us-east-2 | docker login --username AWS --password-stdin 871065065486.dkr.ecr.us-east-2.amazonaws.com
//ECR 로그인

  1. Trivy 분석 실행 명령어
trivy image imagename  //해당약식
---------------------------------------
trivy image 871065065486.dkr.ecr.us-east-2.amazonaws.com/jenkinsflask //예시

  1. Trivy 분석 실행 파일 Json저장
trivy image --format=json --output=설정할 이름.json imagename // JSON파일 형식으로 Trivy 분석 결과 상세 정보 뽑아줌
-----------------------------------------------------------------------------
trivy image --format=json --output=test.json trivy image 871065065486.dkr.ecr.us-east-2.amazonaws.com/jenkinsflask
// 예시

  1. 저장된 파일 확인
find . -name "*.json" //파일의 위치를 찾을 수 있다

  1. 저장된 파일 오픈
cat 설정한 파일 이름 // 파일들이 오픈
-------------------------------------------------
cat test.json //예시