harbor集成trivy
本文最后更新于 2025-02-03,文章内容可能已经过时。
harbor集成trivy
sudo ./install.sh --with-trivy
oras
VERSION="1.2.2"
curl -LO "https://github.com/oras-project/oras/releases/download/v${VERSION}/oras_${VERSION}_linux_amd64.tar.gz"
mkdir -p oras-install/
tar -zxf oras_${VERSION}_*.tar.gz -C oras-install/
sudo mv oras-install/oras /usr/local/bin/
rm -rf oras_${VERSION}_*.tar.gz oras-install/
oras version
oras pull ghcr.io/aquasecurity/trivy-db:2
oras pull ghcr.io/aquasecurity/trivy-java-db:1
国内代理下载地址,南大代理镜像
oras pull ghcr.nju.edu.cn/aquasecurity/trivy-db:2
oras pull ghcr.nju.edu.cn/aquasecurity/trivy-java-db:1
vim download_and_extract.sh
#!/bin/bash
#创建缓存目录
mkdir -p /home/application/trivy-db/{db,java-db}
# 清空 db 目录下的内容
rm -rf /home/application/trivy-db/db/*
# 清空 java-db 目录下的内容
rm -rf /home/application/trivy-db/java-db/*
# 下载离线库文件
cd /home/application/trivy-db/
/usr/local/bin/oras pull ghcr.nju.edu.cn/aquasecurity/trivy-java-db:1
/usr/local/bin/oras pull ghcr.nju.edu.cn/aquasecurity/trivy-db:2
# 解压 jdb.tar.gz 文件到 java-db 目录
tar -xvf /home/application/trivy-db/javadb.tar.gz -C /home/application/trivy-db/java-db
# 解压 db.tar.gz 文件到 db 目录
tar -xvf /home/application/trivy-db/db.tar.gz -C /home/application/trivy-db/db
# 删除压缩包文件
rm -f /home/application/trivy-db/javadb.tar.gz
rm -f /home/application/trivy-db/db.tar.gz
chmod +x /home/application/trivy-db/download_and_extract.sh
#文件下载情况
[root@harbor-server application]# yum install -y tree
[root@harbor-server application]# tree .
.
└── trivy-db
├── db
│ ├── metadata.json
│ └── trivy.db
├── fanal
│ └── fanal.db
└── java-db
├── metadata.json
└── trivy-java.db
4 directories, 5 files
[root@harbor-server application]#
添加定时任务每天凌晨 3 点执行 /home/application/download_and_extract.sh
脚本,实现自动下载和解压离线库文件的操作
0 3 * * * /bin/bash /home/application/download_and_extract.sh
wget https://github.com/aquasecurity/trivy/releases/download/v0.49.1/trivy_0.49.1_Linux-64bit.tar.gz
tar -zxf trivy_0.49.1_Linux-64bit.tar.gz
mv ./trivy /usr/local/bin/
chmod +x /usr/local/bin/trivy
which trivy
trivy --version
#执行容器镜像扫描
trivy --cache-dir /home/application/trivy-db image mysql:5.7.44 --skip-db-update --severity CRITICAL
harbor 集成trivy
docker exec -it trivy-adapter /bin/bash
harbor
docker-compose.yml
harbor.yml
docker
vim /etc/docker/daemon.json
{
"registry-mirrors": ["https://your-harbor-address"],
"insecure-registries": ["your-harbor-address:port"]
}
docker login "your-harbor-address:port"
docker tag mysql:5.7.44 reg.harbor.com/library/mysql:5.7.44
docker push reg.harbor.com/library/mysql:5.7.44
在harbor中遇到trivy扫描无权限读取扫描DB
chmod -R 777 /data/trivy-adapter/trivy/
- 感谢你赐予我前进的力量
赞赏者名单
因为你们的支持让我意识到写文章的价值🙏
本文是原创文章,采用 CC BY-NC-ND 4.0 协议,完整转载请注明来自 软件从业者Hort
评论
匿名评论
隐私政策
你无需删除空行,直接评论以获取最佳展示效果