🗺️ 系列目录:
- K8s系列一:Ubuntu 22.04 从零搭建集群(Flannel + Containerd)
- K8s系列二:安装 Dashboard – 原生 Web 控制台配置
- K8s系列三:安装 Rancher – 企业级多集群管理平台
- K8s系列四:安装 Kuboard – 国产可视化运维工具
- K8s系列五:Elkeid入侵检测系统 容器 K8s 安全部署与检测
- K8s系列六:HarborGuard 容器安全扫描平台部署与实战 👈 当前篇章
一、HarborGuard 简介
1.1 项目介绍
HarborGuard 是一个集成多种主流安全工具的容器安全扫描平台,提供统一的 Web 界面,用于:
- 镜像漏洞扫描
- SBOM清单生成
- 镜像安全基线检查
1.2 核心能力
HarborGuard 本质上是一个“安全工具聚合平台”,集成了多个业内主流工具:
| 工具 | 功能 |
|---|---|
| Trivy | 漏洞扫描(最常用) |
| Grype | 补充漏洞扫描 |
| Syft | SBOM 生成 |
| Dockle | Docker 安全基线检查 |
| OSV Scanner | 开源漏洞扫描 |
| Dive | 镜像层分析 |
1.3 优势总结
- 一站式集成 Trivy、Grype、Syft、Dockle、OSV Scanner、Dive 6 大安全工具
- 自动漏洞分级(Critical/High/Medium/Low),风险一目了然
- 交互式散点图、历史对比、实时扫描进度可视化
- 支持 SQLite / PostgreSQL 双数据库,轻量 / 企业场景通用
- 环境变量一键配置,支持 RESTful API、批量报告导出
- 现代技术栈:React 19 + Next.js 15 + TypeScript,易二次开发
二、实验环境
/data/harborguard
三、部署 HarborGuard
3.1 拉取镜像
docker pull registry.cn-hangzhou.aliyuncs.com/jeson/harborguard:latest
3.2 创建目录
mkdir -p /data/harborguard/{data,postgres-data}
cd /data/harborguard
chmod -R 755 /data/harborguard
3.3 创建 docker-compose.yml
cat > docker-compose.yml << 'EOF'
services:
postgres:
image: postgres:15
container_name: harborguard-db
restart: unless-stopped
environment:
POSTGRES_USER: harborguard
POSTGRES_PASSWORD: harborguard
POSTGRES_DB: harborguard
volumes:
- ./postgres-data:/var/lib/postgresql/data
healthcheck:
test: ["CMD-SHELL", "pg_isready -U harborguard"]
interval: 5s
timeout: 5s
retries: 5
harborguard:
image: registry.cn-hangzhou.aliyuncs.com/jeson/harborguard:latest
container_name: harborguard
restart: unless-stopped
ports:
- "8080:3000"
depends_on:
postgres:
condition: service_healthy
environment:
DATABASE_URL: postgresql://harborguard:harborguard@postgres:5432/harborguard
NODE_ENV: production
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- ./data:/data
EOF
3.4 启动服务
docker compose up -d
docker ps
docker logs -f harborguard
四、访问 HarborGuard


四、访问 HarborGuard
浏览器访问:
http://你的服务器IP:8080
五、基本使用教程
5.1 开始扫描本地镜像
- 左侧菜单点击 New Scan
- 选择 Local(本地 Docker 镜像)
- 选择要扫描的镜像 → 点击 Start Scan

5.2 查看扫描结果
- 总镜像数、风险评分、漏洞统计(Critical/High/Medium/Low)
- 镜像漏洞分析散点图
- 可按级别筛选、查看详情、导出报告

六、总结
HarborGuard 是一个非常实用的开源项目,它将多种原本分散的容器安全工具整合到统一的平台中,大幅降低了容器安全扫描的使用门槛。通过本次实践,我主要完成了以下几个目标:
6.1 快速部署落地
基于 Docker Compose,我在测试环境中快速完成了 HarborGuard 及其 PostgreSQL 依赖的部署。整体过程简单清晰,对现有环境无侵入,适合作为轻量级安全平台进行引入。
6.2 安全能力直观化
通过 HarborGuard 提供的 Web 界面,我可以方便地对本地 Docker 镜像发起扫描,并直观查看漏洞分级、依赖关系(SBOM)以及安全基线检查结果,相比单独使用命令行工具(如 Trivy),体验有明显提升。
6.3 补齐容器安全链路
结合前面的 K8s 系列实践,目前整体已经形成了一条较为完整的运维与安全路径:
集群搭建 → 可视化管理 → 容器安全扫描
在实际生产环境中,可以进一步将 HarborGuard 集成到 CI/CD 流水线中,在镜像构建阶段自动进行安全扫描,从源头控制高危漏洞进入集群,逐步实现“安全左移”。
七、后续优化方向
基于当前实践,后续我计划在以下几个方向继续深入:
7.1 集成 CI/CD 流水线
将 HarborGuard 的扫描能力接入现有的 CI/CD 体系,例如:
- GitLab CI
- Jenkins
实现镜像构建 → 自动扫描 → 不合规阻断的流程。
7.2 建立安全告警机制
结合监控体系(如 Prometheus + Alertmanager),对高危漏洞实现自动告警,例如:
- 邮件通知
- 企业微信 / 飞书告警
提升安全响应效率。
7.3 扩展扫描场景
除了本地镜像外,后续可以进一步探索:
- 扫描 Docker Hub 公共镜像
- 扫描私有镜像仓库(如 Harbor)
- 结合镜像准入策略(Admission Controller)