devops/ETC

Aqua Security / Trivy

gepp 2024. 6. 15. 14:27

 

 

Aqua Security와 Trivy는 모두 컨테이너 이미지의 보안을 강화하기 위한 도구들입니다. Aqua Security는 엔터프라이즈급 보안 솔루션으로 컨테이너 및 서버리스 환경에서의 보안을 제공하며, Trivy는 오픈소스 취약점 스캐너로서 컨테이너 이미지의 취약점을 검사합니다.

 

Aqua Security 홈페이지 소개글:

Aqua Security는 애플리케이션 라이프사이클 전반에 걸쳐 클라우드 네이티브 공격을 차단하고 이를 보장하는 100만 달러의 클라우드 네이티브 보호 보증을 제공하는 유일한 회사입니다. 클라우드 네이티브 보안의 선구자인 Aqua는 고객이 비즈니스의 미래를 구축하는 동시에 위험을 줄일 수 있도록 지원합니다. Aqua Platform은 업계에서 가장 통합된 CNAPP(클라우드 네이티브 애플리케이션 보호 플랫폼)으로, 코드에서 클라우드까지 애플리케이션 라이프사이클을 보호합니다. 2015년에 설립된 Aqua는 매사추세츠주 보스턴과 일리노이주 라마트 간(Ramat Gan)에 본사를 두고 있으며 40개국 이상에서 Fortune 1000대 고객을 보유하고 있습니다.

 

 

 

Overview


 

Aqua Security는 컨테이너 기반 애플리케이션의 전반적인 보안을 담당하는 플랫폼입니다.

주요 기능으로는 이미지 보안 스캔, 런타임 보호, 네트워크 보안, 엑세스 제어, 보안 정책 관리 등이 있습니다.

Aqua는 DevOps 툴체인과 통합되어 CI/CD 파이프라인에서 보안 검사를 자동화하고,

컨테이너화된 애플리케이션의 보안 관리를 중앙 집중화합니다.

 

 

 

How to use


 

헬름 명령어로 쉽게 설치할 수 있습니다.

 

helm repo add aqua https://helm.aquasec.com
helm repo update
helm install aqua aqua/aqua \
  --namespace aqua \
  --set licenseToken=<your-license-token> \
  --set adminPassword=<admin-password> \
  --set database.storageClassName=<storage-class>

 

 

Aqua Security 설치 후, Aqua Console에 접속하여 이미지 스캔, 보안 정책 설정, 이벤트 모니터링 등을 수행할 수 있습니다.

Aqua Security는 Kubernetes에서 동작하며, 통합된 CLI 및 API를 제공하여 컨테이너 및 클러스터의 보안 상태를 관리할 수 있습니다.

 

 

 

Trivy


 

 

Trivy는 컨테이너 이미지의 취약점을 검사하는 오픈소스 도구입니다.

특히 빠르고 강력한 취약점 데이터베이스를 기반으로 하여,

컨테이너 이미지의 OS 패키지 취약점, 애플리케이션 취약점 등을 식별하고 보고할 수 있습니다.

Trivy는 개발자와 운영팀이 이미지를 빌드하고 배포하기 전에 보안 검사를 수행하는 데 유용합니다.

 

Trivy 사이트 소개글

Trivy는 가장 인기 있는 오픈 소스 보안 스캐너로, 안정적이고 빠르며 사용하기 쉽습니다.
Trivy를 사용하여 취약점 및 IaC 구성 오류, SBOM 검색, 클라우드 스캐닝, Kubernetes 보안 위험 등을 찾아보세요.

 

 

 


How to install and use


 

Trivy를 설치 시 binary 형태로 다운받거나 Docker로 설치할 수 있습니다.

 

도커 이미지로 Trivy 실행하기

docker pull aquasec/trivy
docker pull aquasec/trivy:0.18.3

docker run --rm -v /var/run/docker.sock:/var/run/docker.sock aquasec/trivy <image-name>
docker run --rm -v [YOUR_CACHE_DIR]:/root/.cache/ aquasec/trivy:0.18.3 [YOUR_IMAGE_NAME]

# MacOS

docker run --rm -v $HOME/Library/Caches:/root/.cache/ aquasec/trivy:0.18.3 python:3.4-alpine

 

Docker Hub: https://hub.docker.com/r/aquasec/trivy

 

https://hub.docker.com/r/aquasec/trivy

 

hub.docker.com

 

HomeBrew 로 설치하기

brew install aquasecurity/trivy/trivy

 

CentOS 기반 yum 명령어로 설치하기

$ sudo vim /etc/yum.repos.d/trivy.repo
[trivy]
name=Trivy repository
baseurl=https://aquasecurity.github.io/trivy-repo/rpm/releases/$releasever/$basearch/
gpgcheck=0
enabled=1
$ sudo yum -y update
$ sudo yum -y install trivy

 

 

Ubuntu 에서 설치하기

sudo apt-get install wget apt-transport-https gnupg lsb-release
wget -qO - https://aquasecurity.github.io/trivy-repo/deb/public.key | sudo apt-key add -
echo deb https://aquasecurity.github.io/trivy-repo/deb $(lsb_release -sc) main | sudo tee -a /etc/apt/sources.list.d/trivy.list
sudo apt-get update
sudo apt-get install trivy

# Or below

wget https://github.com/aquasecurity/trivy/releases/download/v0.18.3/trivy_0.18.3_Linux-64bit.deb
sudo dpkg -i trivy_0.18.3_Linux-64bit.deb

 

Binary로 다운로드하여 사용하기

 

wget https://github.com/aquasecurity/trivy/releases/download/v0.19.2/trivy_0.19.2_Linux-64bit.tar.gz
tar zxvf trivy_0.19.2_Linux-64bit.tar.gz
./trivy image <image-name>

# Or use the script depending on your env

curl -sfL https://raw.githubusercontent.com/aquasecurity/trivy/main/contrib/install.sh | sh -s -- -b /usr/local/bin v0.18.3

 

 

이미지 스캔하기

$ trivy image [YOUR_IMAGE_NAME]
$ trivy image python:3.4-alpine

$ docker save ruby:2.3.0-alpine3.9 -o ruby-2.3.0.tar
$ trivy image --input ruby-2.3.0.tar

 

 

Official document for installation: https://aquasecurity.github.io/trivy/v0.18.3/installation/