Harbor+Trivy实现镜像漏洞扫描

文章目录

  • 安装
    • Harbor
    • Trivy
    • oras
      • 下载压缩包
      • 解压并安装
  • 离线漏洞库
    • oras方式
    • trivy方式
    • 配置离线库
  • 扫描镜像
      • harbor配置
      • 扫描镜像
  • 使用命令扫描

安装

Harbor

安装Harbor时,指定--with-trivy参数同时安装trivy组件。

./install.sh  --with-trivy

Trivy

下载最新版本的安装包:

wget https://github.com/aquasecurity/trivy/releases/download/v0.45.1/trivy_0.45.1_Linux-64bit.deb

安装deb:

sudo dpkg -i trivy_0.45.1_Linux-64bit.deb

可以在Trivy官方网站获取更多帮助。

oras

下载压缩包

通过该地址下载oras的压缩包:
https://github.com/oras-project/oras/releases

解压并安装

tar -zxf oras_1.1.0_linux_amd64.tar.gz
mv oras /usr/local/bin/

离线漏洞库

oras方式

使用oras命令获取离线扫描数据库,该过程可能耗时很长。

oras pull ghcr.io/aquasecurity/trivy-db:2
oras pull ghcr.io/aquasecurity/trivy-java-db:1

trivy方式

trivy image --download-java-db-only
trivy image --download-db-only

该命令仅下载离线库文件缓存在/root/.cache/trivy目录下。

配置离线库

下载后将得到db.tar.gzjavadb.tar.gz压缩文件,将这两个文件分别复制到/data/harbor/trivy-adapter/trivy/db/data/harbor/trivy-adapter/trivy/java-db目录下,其中/data/harbor是harbor存放数据的根目录,在harbor.yaml配置文件进行配置:

# The default data volume
data_volume: /data/harbor

解压这两个压缩包,并修改文件所属用户:

chown 10000:10000 -R db
chown 10000:10000 -R java-db

扫描镜像

harbor配置

设置扫描镜像时跳过更新漏洞库,以离线方式进行扫描。

trivy:
  skip_update: true
  offline_scan: true

扫描镜像

选择要扫描的镜像,在其他页面点击扫描按钮。
Harbor+Trivy实现镜像漏洞扫描_第1张图片
扫描结束后可以查看漏洞数量和漏洞分布。
Harbor+Trivy实现镜像漏洞扫描_第2张图片
在漏洞列表中可以看到包含风险的组件和版本信息,以及该漏洞的修复版本。
Harbor+Trivy实现镜像漏洞扫描_第3张图片

使用命令扫描

trivy image --skip-java-db-update --skip-db-update nginx:1.23.1

扫描完成后将以表格形式输出镜像包含的漏洞信息。

┌──────────────────┬──────────────────┬──────────┬──────────────┬─────────────────────────┬─────────────────────────┬──────────────────────────────────────────────────────────────┐
│     Library      │  Vulnerability   │ Severity │    Status    │    Installed Version    │      Fixed Version      │                            Title                             │
├──────────────────┼──────────────────┼──────────┼──────────────┼─────────────────────────┼─────────────────────────┼──────────────────────────────────────────────────────────────┤
│ apt              │ CVE-2011-3374    │ LOW      │ affected     │ 2.2.4                   │                         │ It was found that apt-key in apt, all versions, do not       │
│                  │                  │          │              │                         │                         │ correctly...                                                 │
│                  │                  │          │              │                         │                         │ https://avd.aquasec.com/nvd/cve-2011-3374                    │
├──────────────────┼──────────────────┼──────────┤              ├─────────────────────────┼─────────────────────────┼──────────────────────────────────────────────────────────────┤
│ bash             │ CVE-2022-3715    │ HIGH     │              │ 5.1-2+deb11u1           │                         │ a heap-buffer-overflow in valid_parameter_transform          │
│                  │                  │          │              │                         │                         │ https://avd.aquasec.com/nvd/cve-2022-3715                    │
├──────────────────┼──────────────────┼──────────┤              ├─────────────────────────┼─────────────────────────┼──────────────────────────────────────────────────────────────┤
│ bsdutils         │ CVE-2022-0563    │ LOW      │              │ 1:2.36.1-8+deb11u1      │                         │ partial disclosure of arbitrary files in chfn and chsh when  │
│                  │                  │          │              │                         │                         │ compiled with...                                             │
│                  │                  │          │              │                         │                         │ https://avd.aquasec.com/nvd/cve-2022-0563                    │
├──────────────────┼──────────────────┤          ├──────────────┼─────────────────────────┼─────────────────────────┼──────────────────────────────────────────────────────────────┤
│ coreutils        │ CVE-2016-2781    │          │ will_not_fix │ 8.32-4+b1               │                         │ coreutils: Non-privileged session can escape to the parent   │
│                  │                  │          │              │                         │                         │ session in chroot                                            │
│                  │                  │          │              │                         │                         │ https://avd.aquasec.com/nvd/cve-2016-2781                    │
│                  ├──────────────────┤          ├──────────────┤                         ├─────────────────────────┼──────────────────────────────────────────────────────────────┤
│                  │ CVE-2017-18018   │          │ affected     │                         │                         │ coreutils: race condition vulnerability in chown and chgrp   │
│                  │                  │          │              │                         │                         │ https://avd.aquasec.com/nvd/cve-2017-18018                   │
├──────────────────┼──────────────────┼──────────┼──────────────┼─────────────────────────┼─────────────────────────┼──────────────────────────────────────────────────────────────┤

你可能感兴趣的:(安全,Harbor,Trivy)