扫描漏洞

在 Harbor-as-a-Service 中创建的每个 Harbor 实例都会连接到 Trivy 漏洞扫描器,以帮助您识别和解决容器映像中的安全风险。Trivy 是 Harbor 2.2 及更高版本中的默认扫描器。 Trivy 会分析容器映像的内容,并将其与 已知漏洞数据库(例如国家漏洞数据库)进行比较,以 识别潜在问题。如需了解详情,请参阅 https://github.com/aquasecurity/trivy

准备工作

您必须使用必要的工具和权限配置环境,才能运行漏洞扫描。

必要前提

所需的 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 中的各个工件,请按以下步骤操作:

  1. 使用具有 ProjectAdmin 角色的账号登录 Harbor 界面。
  2. 前往项目 并选择一个项目。
  3. 点击扫描器 标签页。扫描器 标签页会显示此项目当前使用的扫描器。
  4. 点击修改 ,从连接到此 Harbor 实例的扫描器列表中选择其他扫描器,然后点击确定
  5. 点击代码库 标签页,然后选择一个代码库。
  6. 对于代码库中的每个工件,漏洞 列会显示漏洞扫描状态和相关信息。
  7. 选择一个工件,或使用顶部的复选框选择代码库中的所有工件,然后点击扫描 ,对此工件运行漏洞扫描。

  8. 将指针悬停在可修复漏洞的数量上,即可查看漏洞报告的摘要。

  9. 点击工件摘要,即可查看详细的漏洞报告。

如需了解详情,请参阅 Harbor 文档: https://goharbor.io/docs/2.12.0/administration/vulnerability-scanning/scan-individual-artifact/

扫描 Harbor 中的所有工件

如需扫描 Harbor 实例中的所有工件,请按以下步骤操作:

  1. 使用具有 ProjectAdmin 角色的账号登录 Harbor 界面。
  2. 管理 菜单中,点击检查服务
  3. 如需对 Harbor 实例中的所有工件执行扫描,请选择漏洞 标签页,然后点击立即扫描

如需了解详情,请参阅 Harbor 文档: https://goharbor.io/docs/2.12.0/administration/vulnerability-scanning/scan-all-artifacts/

在 Harbor 项目中配置漏洞设置

将漏洞扫描集成到 Harbor 工作流中,以主动管理容器化应用的安全,并保护组织免受潜在威胁。配置项目,使存在漏洞的映像无法运行,并在映像推送到项目后立即自动扫描映像。

如需为 Harbor 项目配置漏洞设置,请按以下步骤操作:

  1. 使用具有 ProjectAdmin 角色的账号登录 Harbor 界面。
  2. 前往项目 并选择一个项目。
  3. 点击配置 标签页。
  4. 如需阻止拉取项目下存在漏洞的映像,请选中阻止运行存在漏洞的映像 复选框。
  5. 选择漏洞的严重程度,以阻止映像运行。

  6. 如需对推送到项目的新映像立即执行漏洞扫描,请选中在推送时自动扫描映像 复选框。

如需了解详情,请参阅 Harbor 文档: https://goharbor.io/docs/2.12.0/working-with-projects/project-configuration/

后续步骤

扫描工件并配置漏洞设置以保护环境后,您可以建立自动规则来清理过时或存在漏洞的容器映像。如果您已配置保留规则,则可以继续部署安全的工作负载。