目录
Trivy介绍
Trivy安装
Trivy使用命令
容器镜像扫描
打印指定(高危、严重)漏洞信息
JSON格式输出
HTML格式输出
离线扫描命令
离线更新Trivy数据库
Harbor安装Trivy
Trivy介绍
- Trivy是一款用于扫描容器镜像、文件系统、Git仓库等的漏洞扫描工具
- 它可以发现目标软件存在的漏洞、配置错误、敏感信息等安全问题
- Trivy易于安装和使用,可与CI系统集成
Trivy安装
项目地址:https://github.com/aquasecurity/trivy
1、解压文件到自定义安装目录
mkdir -p /data/app/trivy && cd /data/app/trivy
tar -zxvf trivy_0.37.1_Linux-64bit.tar.gz
2、给二进制文件执行权限
chmod +x trivy
3、将trivy拷贝至/usr/local/bin,其他contrib文件夹等需保留
cp trivy /usr/local/bin/
Trivy使用命令
容器镜像扫描
trivy image nginxtrivy image --input nginx.tar #扫描指定镜像tar
打印指定(高危、严重)漏洞信息
trivy image -s HIGH nginxtrivy image -s HIGH, CRITICAL nginx
JSON格式输出
trivy image nginx -f json -o /root/output.json
HTML格式输出
trivy image \ #指定要扫描的目标是容器镜像-s HIGH,CRITICAL \ #只输出高危和严重级别的漏洞--format template \ #指定输出格式为模板--template @/data/app/trivy/contrib/html.tpl \ #使用contrib目录下的html.tpl模板文件-o result.html \ #将输出结果保存到result.html文件--input /data/download/CloudAgent-Image-X86.tar # 指定要扫描的容器镜像文件路径
离线扫描命令
--skip-db-update #跳过更新漏洞数据库
--skip-java-db-update #跳过更新Java索引数据库
--offline-scan #不发出API请求来识别依赖关系,进行离线扫描
skip-db-update
和skip-java-db-update
选项可以防止工具在每次运行时自动更新其漏洞数据库和Java依赖索引,从而加快扫描速度。offline-scan
选项则是在没有网络连接的情况下运行,不会向在线服务发出请求来识别项目依赖。
离线更新Trivy数据库
若官网的数据库不可连接,只能从有外网的trivy更新数据库之后,把数据库相关文件拷贝到内网
1、外网服务器trivy更新db数据库、java数据库
trivy server --download-db-only
2、到默认数据库存储路径拷贝数据库相关文件至内网服务器
#查看数据库存储路径,默认存储在/root/.cache/trivy
trivy image --help|grep cache-dir
cd /root/.cache/trivy/tar -cvf db.tar.gz db/
3、将db.tar.gz传送至内网服务器,并覆盖内网服务器的数据库文件
Harbor安装Trivy
在Harbor中集成Trivy可以实现在推送镜像时自动扫描漏洞,并根据扫描结果决定是否允许该镜像被推送。
参考链接:【docker】harbor-trivy镜像扫描工具安装部署(离线漏洞库)_trivy-java-db 离线-CSDN博客