基础介绍
基础描述
- Trivy是一个开源的容器镜像漏洞扫描器,可以扫描常见的操作系统和应用程序依赖项的漏洞。它可以与Docker和Kubernetes集成,帮助用户在构建和部署容器镜像时发现安全漏洞。Trivy支持多种漏洞数据库,包括Red Hat、Debian、Alpine等,可以根据用户的需求进行配置。Trivy还支持CI/CD集成,可以在构建过程中自动扫描镜像并生成报告。与Harbor集成需要使用Harbor Scanner Adapter for Trivy,可以通过配置Scanner Adapter将Trivy与Harbor集成,实现镜像的自动扫描和漏洞报告生成。
Trivy特点
-
全面的漏洞检测:涵盖操作系统包、操作系统包、开发语言、错误配置、策略等内容。
-
简单:仅指定镜像名称、包含IaC配置的目录或工件名称。
-
快速:理想情况下可以在几十秒内完成扫描动作。
-
易于安装:是一个简易的执行工具,可以通过apt-get install、yum install、brew install等方式安装,没有前置条件,如安装DB的,依赖库等。
-
高精确度:特别是Alpine Linux和RHEL/CentOS,其他操作系统也高。
部署
- trivy的安装方式比较多,rpm的形式安装,apt的形式安装,helm形式的直接集成到kubernetes内,也可以直接docker run 镜像的方式部署。
在线下载
wget https://github.com/aquasecurity/trivy/releases/download/v0.47.0/trivy_0.47.0_Linux-64bit.tar.gz
百度网盘下载
安装
- 解压
tar -zxf trivy_0.47.0_Linux-64bit.tar.gz
- 移入二进制目录
mv trivy /usr/bin/
- 查看帮助信息
trivy --help
使用
扫描nginx镜像
trivy image nginx
- 第一次会去远程下载安全漏洞加密数据库,下载完成后和本地镜像进行对比,输出结果
- 数据库缓存目录
/root/.cache/trivy
- 根据不同的镜像类型下载不同的安全漏洞库
扫描结果解析
- 打印nginx高危安全漏洞
trivy image -s HIGH nginx
- 着重关注最后一列 Title,点击链接信息,查看漏洞详情
- 如 安全漏洞 CVE-2022-22576 详细描述信息
json格式输出
trivy image -s HIGH nginx -f json -o ng-trivy.json
- 基于JSON格式,后续可进行可视化展示。