일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- kotlin coroutine
- 오블완
- IntelliJ
- Java
- CKA
- 코틀린 코루틴의 정석
- MySQL
- CKA 기출문제
- Elasticsearch
- aws
- 티스토리챌린지
- minikube
- 정보처리기사 실기
- Linux
- kotlin
- AWS EKS
- 정보처리기사실기 기출문제
- 정보처리기사 실기 기출문제
- CloudWatch
- APM
- Spring
- kotlin spring
- kotlin querydsl
- Pinpoint
- mysql 튜닝
- PETERICA
- 공부
- AI
- 기록으로 실력을 쌓자
- Kubernetes
- Today
- Total
피터의 개발이야기
Trivy: 컨테이너 이미지 취약점 스캐너 사용법 본문
ㅁ 들어가며
배포환경을 구성하면서 보안점검에 대해서도 대비해야한다. [Docker] Distroless 이미지란?에서 Muti Stage build와 경량 이미지를 이용하는 방법에 대해서 보안취약점에 대비하는 방법을 알게 되었는데, 생성된 Docker 이미지의 보안성 체크를 위해 Trivy를 알게 되어 이 글을 작성한다.
ㅁ Trivy란?
Trivy는 Aqua Security에서 개발한 오픈소스 취약점 스캐너이다.
컨테이너 이미지, 파일시스템, Git 저장소 등의 취약점을 검사할 수 있다.
ㅁ 설치 방법
# macOS
brew install trivy
# ubuntu
sudo apt-get install trivy
# docker
docker run aquasec/trivy
ㅇ Trivy는 Installing Trivy를 참조하여 다양한 방법으로 설치할 수 있다.
ㅁ 기본 사용법
컨테이너 이미지 스캔
trivy image [이미지 이름]:[태그]
ex)
trivy image nginx:1.14.2
Docker를 통한 스캔
docker run \
-v /var/run/docker.sock:/var/run/docker.sock \
-v $HOME/Library/Caches:/root/.cache/ \
aquasec/trivy:0.43.0 image [이미지 이름]:[태그]
ex)
docker run \
-v /var/run/docker.sock:/var/run/docker.sock \
-v $HOME/Library/Caches:/root/.cache/ \
aquasec/trivy:0.43.0 image nginx:1.14.2
ㅁ 고급 사용법
특정 심각도 수준만 스캔
trivy image --severity HIGH,CRITICAL [이미지 이름]:[태그]
결과 포맷 지정
trivy image -f json -o results.json [이미지 이름]:[태그]
클라이언트-서버 모드
Trivy는 Client/Server모드로 운영할 수 있다. 이 모드는 대규모 환경에서 유용하다.
# 서버실행
trivy server --listen 0.0.0.0:8080
# 클라이언트에서 스캔
$ trivy image --server http://localhost:8080 alpine:3.10
ㅁ Trivy-operator
Trivy Operator는 Trivy를 활용하여 Kubernetes 클러스터의 보안 문제를 지속적으로 검사한다. 검사는 Kubernetes Custom Resource Definitions로 보안 보고서에 요약되며 Kubernetes API를 통해 액세스할 수 있다. Operator는 Kubernetes의 상태 변경을 감시하고 이에 대한 응답으로 보안 검사를 자동으로 트리거하여 이를 수행한다. 예를 들어, 새 Pod가 생성되면 취약성 검사가 시작된다.이런 방식으로 사용자는 다양한 리소스와 관련된 위험을 찾아서 볼 수 있다.
관련 홈페이지
ㅁ 마무리
Trivy는 사용하기 쉽고 강력한 취약점 스캐너이다. 컨테이너 보안을 강화하고 잠재적인 위험을 사전에 식별하는 데 도움을 준다. CI/CD 파이프라인에 통합하여 지속적인 보안 검사를 수행할 수 있다.
ㅁ 함께 보면 좋은 사이트
ㅇ trivy를 활용한 Container Image 취약성 검사
ㄴ trivy를 Kubernetes위에 Server와 Client로 분리하여 설치
ㅇ [Supply Chain Security] 컨테이너 이미지 보안 취약점 스캐닝: Trivy를 활용한 CVE 스캔
ㄴ k8s 클러스터에 설치하는 과정 정리
'DevOps > Docker' 카테고리의 다른 글
[Docker] MacOS에서 Docker 로그 파일 위치 찾기 (0) | 2025.01.07 |
---|---|
[Docker] Distroless 이미지란? (0) | 2025.01.04 |
[Docker] 멀티 플랫폼, --platform 옵션 사용법 (1) | 2025.01.03 |
[Docker] Docker 컨테이너에서 한국 시간(KST)을 적용하는 방법 (0) | 2024.12.13 |
[Docker] Multi-stage 빌드로 Go 애플리케이션 최적화하기 (0) | 2024.12.03 |