---
title: harbor接入外部trivy镜像漏洞扫描
categories:
- 基础运维
tags:
- harbor
- 镜像
- 容器
- 漏洞扫描
abbrlink: 8b932a1b
cover: 'https://static.zahui.fan/images/202305181012814.jpg'
date: 2023-05-12 15:55:43
---
harbor接入trivy漏洞扫描, 用到的开源工具[harbor-scanner-trivy](https://github.com/aquasecurity/harbor-scanner-trivy)
## 安装
需要依赖Redis, 先安装Redis
### 安装trivy
trivy是扫描核心组件, 需要安装,参考trivy官网安装文档
```bash
RELEASE_VERSION=$(grep -Po '(?<=VERSION_ID=")[0-9]' /etc/os-release)
cat << EOF | sudo tee -a /etc/yum.repos.d/trivy.repo
[trivy]
name=Trivy repository
baseurl=https://aquasecurity.github.io/trivy-repo/rpm/releases/$RELEASE_VERSION/\$basearch/
gpgcheck=1
enabled=1
gpgkey=https://aquasecurity.github.io/trivy-repo/rpm/public.key
EOF
sudo yum -y install trivy
```
trivy首次运行会从github下载漏洞数据库,需要确保机器可以连接GitHub,执行`trivy image --download-db-only`会下载db,db数据存储在`~/.cache/trivy`
### 安装scanner-trivy
开源地址:
scanner-trivy 是通过环境变量读取配置
启动命令:
```bash
SCANNER_API_SERVER_ADDR=:8181 SCANNER_REDIS_URL=redis://localhost:6379 ./scanner-trivy
```
或者通过supervisor运行
```bash
[program:trivy]
numprocs=1
user=root
command=/data/server/trivy/scanner-trivy
directory=/data/server/trivy/
redirect_stderr=true
stdout_logfile=/data/logs/trivy.log
autostart=true
autorestart=true
startsecs=10
environment=SCANNER_API_SERVER_ADDR=:8181,SCANNER_REDIS_URL=redis://localhost:6379
```
## 使用
harbor 系统管理 审查服务 扫描器 里面添加trivy地址:

然后就可以正常扫描镜像了
