Trivy + Harbor实现镜像漏洞的简单、高效扫描

简介: Trivy + Harbor实现镜像漏洞的简单、高效扫描

Trivy 是一种适用于 CI 的简单而全面的容器漏洞扫描程序。软件漏洞是指软件或操作系统中存在的 故障、缺陷或弱点。Trivy 检测操作系统包(Alpine、RHEL、CentOS 等)和应用程序依赖 (Bundler、Composer、npm、yarn 等)的漏洞。

  Trivy 很容易使用,只要安装二进制文件,就可以扫描了。扫描只需指定容器的镜像名称。与其他镜像扫描工具相比,例如 Clair、Anchore Engine、Quay 相比,Trivy 在准确性、方便性和对 CI 的支持等方面都有着明显的优势。

  推荐在 CI 中使用它,在推送到 container registry 之前,你可以轻松地扫描本地容器镜像。

  • 无需安装数据库、库等先决条件;
  • 使用简单,仅仅只需要指定镜像名称;
  • 易于安装测试:
  • 能检测全面的漏洞;
    (1)操作系统软件包:Alpine、Red Hat Universal Base  Image、Red Hat Enterprise Linux、CentOS、Oracle Linux、Debian、Ubuntu、Amazon  Linux、openSUSE Leap、SUSE Enterprise Linux、Photon OS 和 Distrioless;
    (2)应用程序依赖项: Bundler、Composer、Pipenv、Poetry、npm、yarn 和 Cargo;
  • 扫描快且无状态;
    第一次扫描将在 10 秒内完成(取决于网络)。随后的扫描将在一秒钟内完成。 与其他扫描器在第一次运行时需要很长时间(大约 10 分钟)来获取漏洞信息,并鼓励你维护持久的漏洞 数据库不同,Trivy 是无状态的,不需要维护或准备;

Trivy安装

基于CentOS系统的rpm包进行安装,其它系统安装包可从项目地址进行下载。

$ wget https://github.com/aquasecurity/trivy/releases/download/v0.31.3/trivy_0.31.3_Linux-64bit.rpm
$ rpm -ivh trivy_0.31.3_Linux-64bit.rpm

Trivy使用

使用Trivy扫描镜像的漏洞。

$ trivy image {image_name}:{tag}

扫描kubernetes集群

$ trivy k8s --report summary cluster

Vulnerabilities:漏洞;

Misconfigurations:表示配置错误;

Harbor中安装Trivy插件

在安装Harbor时,可以通过--with-trivy参数来安装Trivy插件。

如果已经安装好Harbor,但是没有安装Trivy,需要停止harbor再安装Trivy插件:

$ cd /app/harbor/  #进入到Harbor安装目录
$ docker-compose down   #停止Harbor服务
$ ./install.sh  --with-notary --with-trivy --with-chartmuseum

在Harbor中安装好Trivy后,可以在Harbor UI看到:

1)定时进行漏洞扫描

在“系统管理”-“审查服务”-“漏洞”出设置计划任务来定时自动进行漏洞扫描。

2)镜像上传自动扫描及阻止漏洞镜像被拉取

在“项目”—“项目名称”-“配置”管理来对指定项目进行单独配置镜像上传自动扫描并阻止漏洞镜像被拉取。

相关文章
|
1月前
|
监控 安全 数据安全/隐私保护
【Docker专栏】Docker容器安全:防御与加固策略
【5月更文挑战第7天】本文探讨了Docker容器安全,指出容器化技术虽带来便利,但也存在安全隐患,如不安全的镜像、容器逃逸、网络配置不当等。建议采取使用官方镜像、镜像扫描、最小权限原则等防御措施,并通过安全的Dockerfile编写、运行时安全策略、定期更新和访问控制等加固容器安全。保持警惕并持续学习安全实践至关重要。
【Docker专栏】Docker容器安全:防御与加固策略
|
1月前
|
测试技术 Linux 数据安全/隐私保护
【好用的个人工具】在Docker环境下部署WatchYourLAN轻量级网络IP扫描器
【2月更文挑战第2天】在Docker环境下部署WatchYourLAN轻量级网络IP扫描器
185 0
|
6月前
|
安全 Cloud Native Unix
Copa:无需重建镜像,直接修补容器漏洞
Copa:无需重建镜像,直接修补容器漏洞
93 0
|
安全 Docker 容器
漏洞扫描—Awvs&Nessus(Docker版V3.0​)更新
漏洞扫描—Awvs&Nessus(Docker版V3.0​)更新
漏洞扫描—Awvs&Nessus(Docker版V3.0​)更新
|
11月前
|
安全 Java Shell
Docker实战 | 第四篇:Docker启用TLS加密解决暴露2375端口引发的安全漏洞,被黑掉三台云主机的教训总结
Docker实战 | 第四篇:Docker启用TLS加密解决暴露2375端口引发的安全漏洞,被黑掉三台云主机的教训总结
|
存储 Kubernetes 供应链
容器验证漏洞允许恶意镜像云化 Kubernetes
容器验证漏洞允许恶意镜像云化 Kubernetes
|
存储 Dragonfly 安全
Nydus 镜像扫描加速
Nydus 是 CNCF 孵化项目 Dragonfly 的子项目,它提供了容器镜像,代码包按需加载的能力。Nydus 应用时无需等待全部数据下载完成便可开始服务。
Nydus 镜像扫描加速
|
存储 Kubernetes 安全
kubernetes 镜像构建和扫描
kubernetes 镜像构建和扫描
323 1
kubernetes 镜像构建和扫描
|
关系型数据库 数据库 PostgreSQL
使用Docker搭建Sonarqube代码扫描环境
映射数据卷的目的,是为了实现数据持久化,这样的话 ,如果在启动容器的时候,少写了什么参数之类,或者后面想添加什么其他的参数,不会影响里面现有的业务数据之类的。
使用Docker搭建Sonarqube代码扫描环境