K8s系列六:HarborGuard 容器安全扫描平台部署与实战

🗺️ 系列目录:

    1. K8s系列一:Ubuntu 22.04 从零搭建集群(Flannel + Containerd)
    2. K8s系列二:安装 Dashboard – 原生 Web 控制台配置
    3. K8s系列三:安装 Rancher – 企业级多集群管理平台
    4. K8s系列四:安装 Kuboard – 国产可视化运维工具
    5. K8s系列五:Elkeid入侵检测系统 容器 K8s 安全部署与检测
    6. K8s系列六:HarborGuard 容器安全扫描平台部署与实战 👈 当前篇章
    7. K8s系列七:NeuVector 容器安全平台部署与实践
    8. K8s系列八:三大容器安全平台对比总结(HarborGuard / NeuVector / Elkeid)
    9. K8s系列九:Trivy 轻量级安全扫描实战 – 镜像、K8s、代码全覆盖
一、HarborGuard 简介
1.1 项目介绍

HarborGuard 是一个集成多种主流安全工具的容器安全扫描平台,提供统一的 Web 界面,用于:

  • 镜像漏洞扫描
  • SBOM清单生成
  • 镜像安全基线检查

项目地址:https://github.com/HarborGuard/HarborGuard

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,易二次开发
二、实验环境
  • 操作系统:Ubuntu 22.04 LTS(Jammy)
  • 部署方式:Docker Compose(一键启动,自带 PostgreSQL)
  • 访问端口:3000
  • 数据持久化:/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
浏览器访问:
http://你的服务器IP:8080
五、基本使用教程
5.1 开始扫描本地镜像
  1. 左侧菜单点击 New Scan
  2. 选择 Local(本地 Docker 镜像)
  3. 选择要扫描的镜像 → 点击 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)