Harbor镜像审计依赖内置审计日志与漏洞扫描集成,需完成启用、配置、触发、查看四环节;默认开启基础审计日志并支持Trivy自动扫描,提供Web/API查询及周期性检查机制。
Harbor 的镜像审计能力不是靠手动翻日志实现的,而是依托其内置的
审计日志系统
与
漏洞扫描集成机制
,配合策略配置和定期检查形成闭环。实战中关键在于启用、配置、触发、查看四个环节,缺一不可。
开启并配置审计日志功能
Harbor 默认开启基础审计日志(记录用户登录、项目创建、镜像推送/拉取等操作),但需确认配置生效:
检查
中
段是否启用:
日志默认按天轮转,保留最多10个备份文件;路径需确保 Harbor 容器有写权限
重启服务使配置生效:
启用镜像漏洞扫描并关联审计行为
审计不只是“谁干了什么”,更要回答“推上来的镜像是不是安全的”。Harbor 通过集成 Trivy(推荐)或 Clair 实现自动扫描:
Docker Sandbox
创建并管理 Docker 沙箱虚拟机环境以安全执行代理。适用于运行不受信任代码、探索包或隔离代理工作负载。支持 Claude、Codex、Copilot、Gemini 和 Kiro 代理,并提供网络代理控制。
下载
安装时启用扫描器:离线包默认含 Trivy;若自定义部署,需在
中配置:
为项目开启自动扫描:进入 Harbor Web 界面 → 项目 → “配置” → 勾选“每次推送镜像时自动扫描”
扫描完成后,会在镜像详情页显示 CVE 列表、严重等级(CRITICAL/HIGH/MEDIUM)及修复建议;这些结果本身也被记入审计日志(如
)
查询与分析审计记录
审计日志不只存在文件里,Harbor 还提供 API 和 Web 界面两种方式快速检索:
Web 界面查询
:顶部导航栏 → “系统管理” → “审计日志”,可按时间范围、操作类型(push/pull/scan/delete)、用户名、资源路径(如
)筛选
API 批量导出
(适合合规报告):
其中时间戳为 Unix 秒级,
支持
、
、
、
等
典型审计场景示例:
• 查找某开发人员近7天所有镜像推送行为 → 筛选
+
• 确认高危镜像是否被拉取过 → 搜索日志中含
和
的条目
建立周期性审计检查机制
单次查询是快照,持续审计才形成管控力。建议落地以下三项动作:
每周生成《镜像安全简报》:统计各项目扫描失败率、未修复 CRITICAL 漏洞数量、TOP5 高频拉取镜像
设置告警阈值:例如“单个项目连续3次推送未扫描镜像”或“同一镜像被 pull 超过100次但未更新”,可通过脚本调用 API+邮件通知
将审计日志接入 SIEM 系统(如 ELK/Splunk):统一归集、关联分析,满足等保2.0中“安全审计”条款要求
/etc/harbor/harbor.ymlaudit_logaudit_log:
location: /var/log/harbor/audit.log
max_size: 100M
max_backup: 10sudo docker-compose down && sudo docker-compose up -dharbor.ymltrivy:
skip_update: false
insecure: falsescan completed for image xxxproject/test/repositories/nginxcurl -u "admin:Harbor12345" "https://your-harbor/api/v2.0/systemlogs?from=1712793600&to=1712880000&operation=push"operationpushpullscandeleteuser=adminoperation=pushCVE-2023-XXXXpull