在 Harbor-as-a-Service 中创建的每个 Harbor 实例都会连接到 Trivy 漏洞扫描器,以帮助您识别和解决容器映像中的安全风险。Trivy 是 Harbor 2.2 及更高版本中的默认扫描器。 Trivy 会分析容器映像的内容,并将其与 已知漏洞数据库(例如国家漏洞数据库)进行比较,以 识别潜在问题。如需了解详情,请参阅 https://github.com/aquasecurity/trivy。
准备工作
您必须使用必要的工具和权限配置环境,才能运行漏洞扫描。
必要前提
- Trivy 扫描器:您必须在安装 Harbor
实例时通过附加
--with-trivy安装选项来启用 Trivy。如需了解详情,请参阅 Harbor 文档中关于运行安装程序脚本的部分: https://goharbor.io/docs/2.12.0/install-config/run-installer-script/。 - Harbor 项目:您必须拥有现有的 Harbor 项目。如需了解详情,请参阅 创建 Harbor 项目。
所需的 Harbor RBAC 角色
与 GDC IAM 角色不同,漏洞扫描需要在 Harbor 的内部基于角色的访问权限控制 (RBAC) 系统中具有特定权限。请向管理员请求必要的权限。仅请求特定任务所需的角色,以强制执行最小权限访问。
- ProjectAdmin:需要此角色才能配置扫描器、启动手动漏洞
扫描和更新项目级漏洞设置。创建 Harbor 项目的用户会自动被分配该项目的
ProjectAdmin角色,并且可以为其他用户分配角色。如需详细了解所有可用角色,请参阅 Harbor 文档中关于按角色划分的用户权限的部分:https://goharbor.io/docs/2.12.0/administration/managing-users/user-permissions-by-role/。
扫描 Harbor 中的各个工件
如需扫描 Harbor 中的各个工件,请按以下步骤操作:
- 使用具有
ProjectAdmin角色的账号登录 Harbor 界面。 - 前往项目 并选择一个项目。
- 点击扫描器 标签页。扫描器 标签页会显示此项目当前使用的扫描器。
- 点击修改 ,从连接到此 Harbor 实例的扫描器列表中选择其他扫描器,然后点击确定 。
- 点击代码库 标签页,然后选择一个代码库。
- 对于代码库中的每个工件,漏洞 列会显示漏洞扫描状态和相关信息。
选择一个工件,或使用顶部的复选框选择代码库中的所有工件,然后点击扫描 ,对此工件运行漏洞扫描。
将指针悬停在可修复漏洞的数量上,即可查看漏洞报告的摘要。
点击工件摘要,即可查看详细的漏洞报告。
如需了解详情,请参阅 Harbor 文档: https://goharbor.io/docs/2.12.0/administration/vulnerability-scanning/scan-individual-artifact/。
扫描 Harbor 中的所有工件
如需扫描 Harbor 实例中的所有工件,请按以下步骤操作:
- 使用具有
ProjectAdmin角色的账号登录 Harbor 界面。 - 在管理 菜单中,点击检查服务 。
如需对 Harbor 实例中的所有工件执行扫描,请选择漏洞 标签页,然后点击立即扫描 。
如需了解详情,请参阅 Harbor 文档: https://goharbor.io/docs/2.12.0/administration/vulnerability-scanning/scan-all-artifacts/。
在 Harbor 项目中配置漏洞设置
将漏洞扫描集成到 Harbor 工作流中,以主动管理容器化应用的安全,并保护组织免受潜在威胁。配置项目,使存在漏洞的映像无法运行,并在映像推送到项目后立即自动扫描映像。
如需为 Harbor 项目配置漏洞设置,请按以下步骤操作:
- 使用具有
ProjectAdmin角色的账号登录 Harbor 界面。 - 前往项目 并选择一个项目。
- 点击配置 标签页。
- 如需阻止拉取项目下存在漏洞的映像,请选中阻止运行存在漏洞的映像 复选框。
选择漏洞的严重程度,以阻止映像运行。
如需对推送到项目的新映像立即执行漏洞扫描,请选中在推送时自动扫描映像 复选框。
如需了解详情,请参阅 Harbor 文档: https://goharbor.io/docs/2.12.0/working-with-projects/project-configuration/。
后续步骤
扫描工件并配置漏洞设置以保护环境后,您可以建立自动规则来清理过时或存在漏洞的容器映像。如果您已配置保留规则,则可以继续部署安全的工作负载。