第 10 章 管理漏洞

您的环境中的安全漏洞可能会被攻击者利用,执行未经授权的操作,如拒绝服务、远程代码执行或未经授权访问敏感数据。因此,管理漏洞是成功实现 Kubernetes 安全计划的基本步骤。

10.1. 漏洞管理流程

漏洞管理是一个持续的流程,用于识别和修复漏洞。Red Hat Advanced Cluster Security for Kubernetes 可帮助您促进漏洞管理流程。

成功的漏洞管理程序通常包括以下关键任务:

  • 执行资产评估
  • 对漏洞进行优先级排序
  • 评估风险
  • 操作
  • 持续重新评估资产

Red Hat Advanced Cluster Security for Kubernetes 可帮助机构在其 OpenShift Container Platform 和 Kubernetes 集群上执行持续评估。它为组织提供了所需的上下文信息,以便更有效地确定和对其环境中的漏洞采取相应措施。

10.1.1. 执行资产评估

对机构资产进行评估涉及以下操作:

  • 确定您环境中的资产。
  • 扫描这些资产以识别已知的漏洞。
  • 报告您环境中的漏洞,以影响用户。

当您在 Kubernetes 或 OpenShift Container Platform 集群中安装 Red Hat Advanced Cluster Security for Kubernetes 时,它首先会聚合集群内部运行的资产,以帮助您识别这些资产。Red Hat Advanced Cluster Security for Kubernetes 允许在 OpenShift Container Platform 和 Kubernetes 集群上进行持续评估。它为组织提供了上下文信息,以更有效地对环境中的漏洞进行优先级和采取措施。

使用 Red Hat Advanced Cluster Security for Kubernetes 的机构漏洞管理流程监控的重要资产包括:

  • 组件 :组件是可以作为镜像的一部分或在节点上运行的软件包。组件是存在漏洞的最低级别。因此,组织必须以某种方式升级、修改或删除软件组件,以修复漏洞。
  • 镜像 :创建环境以运行代码可执行部分代码的软件组件和代码的集合。镜像是您升级组件以修复漏洞的位置。
  • 节点 :使用 OpenShift 或 Kubernetes 管理并运行应用程序的服务器,以及组成 OpenShift Container Platform 或 Kubernetes 服务的组件。

Red Hat Advanced Cluster Security for Kubernetes 将这些资产分组到以下结构中:

  • 部署 :在 Kubernetes 中定义应用程序,可以基于一个或多个镜像运行带有容器的 pod。
  • 命名空间 :一组资源,如支持并隔离应用程序的部署。
  • 集群 :一组用于通过 OpenShift 或 Kubernetes 运行应用的节点。

Red Hat Advanced Cluster Security for Kubernetes 扫描已知漏洞的资产,并使用通用漏洞和暴露(CVE)数据来评估已知漏洞的影响。

10.1.1.1. 查看应用程序漏洞

您可以查看 Red Hat Advanced Cluster Security for Kubernetes 中的应用程序漏洞。

流程

  1. 在 RHACS 门户网站中,导航至 Vulnerability ManagementDashboard
  2. Dashboard 视图标头中,选择 Application & InfrastructureNamespacesDeployments
  3. 在列表中,搜索并 选择您要查看的 命名空间或 Deployment
  4. 要获取有关应用程序的更多信息,请从右侧的 相关实体 中选择实体。

10.1.1.2. 查看镜像漏洞

您可以查看 Red Hat Advanced Cluster Security for Kubernetes 中的镜像漏洞。

流程

  1. 在 RHACS 门户网站中,导航至 Vulnerability ManagementDashboard
  2. Dashboard 视图标头中选择 Images
  3. 在镜像列表中选择您要调查的镜像。您还可以执行以下步骤之一来过滤列表:

    1. 在搜索栏中输入 Image,然后选择 Image 属性。
    2. 在搜索栏中输入镜像名称。
  4. 在镜像详情视图中,查看列出的 CVE 并优先采取措施来解决受影响的组件。
  5. 从右侧的 Related entities 中选择 Components,以获取有关受所选镜像影响的所有组件的更多信息。或者,在 Image findings 部分的 Affected components 列中选择组件,以了解受特定 CVE 影响的组件列表。

10.1.1.3. 查看基础架构漏洞

您可以使用 Red Hat Advanced Cluster Security for Kubernetes 查看节点中的漏洞。

流程

  1. 在 RHACS 门户网站中,导航至 Vulnerability ManagementDashboard
  2. Dashboard 视图标头中,选择 Application & InfrastructureCluster
  3. 在集群列表中选择您要调查的集群。
  4. 查看集群漏洞,并优先在集群中受影响的节点上采取措施。

10.1.1.4. 查看节点漏洞

您可以使用 Red Hat Advanced Cluster Security for Kubernetes 查看特定节点中的漏洞。

流程

  1. 在 RHACS 门户网站中,导航至 Vulnerability ManagementDashboard
  2. Dashboard 视图标头中,选择 Nodes
  3. 在节点列表中选择您要调查的节点。
  4. 查看所选节点的漏洞,并优先采取措施。
  5. 要在节点中获取有关受影响组件的更多信息,请从右侧的 相关实体 中选择 组件

10.1.2. 对漏洞进行优先级排序

回答以下问题以对您的环境进行操作和调查的优先级排列:

  • 对于您的组织而言,受影响的资产是多大?
  • 漏洞需要进行严重程度才能调查?
  • 漏洞是否可以被受影响软件组件的补丁修复?
  • 漏洞是否存在违反您机构安全策略?

这些问题的答案帮助安全性和开发团队决定要衡量漏洞的暴露情况。

Red Hat Advanced Cluster Security for Kubernetes 为您提供了促进应用程序和组件中漏洞优先级优先级的方法。

10.1.3. 评估风险

要评估暴露漏洞,请参阅以下问题:

  • 您的应用程序是否受漏洞影响?
  • 其他因素是否缓解了漏洞?
  • 是否存在可能导致利用此漏洞的已知威胁?
  • 您使用的是存在漏洞的软件包?
  • 是否对特定的漏洞花费时间以及软件包是否值得其?

根据您的评估执行以下操作:

  • 如果您确定没有暴露或者您的环境中没有暴露,则漏洞将这个漏洞标记为假的正状态。
  • 如果您想修复、缓解或接受风险。
  • 请考虑要删除或更改软件包以减少攻击面。

10.1.4. 操作

决定对某个漏洞采取行动后,您可以执行以下操作之一:

  • 修复漏洞
  • 缓解并接受风险
  • 接受风险
  • 将漏洞标记为假的正状态

您可以执行以下操作之一修复漏洞:

  • 删除软件包
  • 将软件包更新为一个不可预测的版本。

10.1.4.1. 查找新组件版本

以下流程找到要升级到的新组件版本。

流程

  1. 在 RHACS 门户网站中,导航至 Vulnerability ManagementDashboard
  2. Dashboard 视图标头中选择 Images
  3. 从镜像列表中,选择您已评估的镜像。
  4. Image findings 部分下,选择 CVE。
  5. 选择您要执行的操作的 CVE 受影响组件。
  6. 查看 CVE 中修复的组件版本,并更新您的镜像。

10.1.5. 接受风险

按照本节中的说明,接受 Red Hat Advanced Cluster Security for Kubernetes 的风险。

先决条件

  • 您必须具有 VulnerabilityManagementRequests 资源 的写入权限

接受或不带有缓解措施的风险:

流程

  1. 在 RHACS 门户网站中,导航至 Vulnerability ManagementDashboard
  2. Dashboard 视图标头中选择 Images
  3. 从镜像列表中,选择您已评估的镜像。
  4. 找到列出要对其采取行动的 CVE 的行。
  5. 点击您标识的 CVE 右侧的 kebab 并点 Defer CVE
  6. 选择您要推迟 CVE 的日期和时间。
  7. 如果要为所选镜像标签或者该镜像的所有标签定义 CVE,请选择。
  8. 输入延迟的原因。
  9. Request approval。选择 CVE 右侧的蓝色信息图标,再复制批准链接以与您所在机构的 deferral approver 共享。

10.1.5.1. 将漏洞标记为假的正状态

以下流程将漏洞标记为假的正状态。

先决条件

  • 您必须具有 VulnerabilityManagementRequests 资源 的写入权限

流程

  1. 在 RHACS 门户网站中,导航至 Vulnerability ManagementDashboard
  2. Dashboard 视图标头中选择 Images
  3. 从镜像列表中,选择您已评估的镜像。
  4. 找到列出要对其采取行动的 CVE 的行。
  5. 点击您标识的 CVE 右侧的 kebab 并点 Defer CVE
  6. 选择您要推迟 CVE 的日期和时间。
  7. 如果要为所选镜像标签或者该镜像的所有标签定义 CVE,请选择。
  8. 输入延迟的原因。
  9. Request approval
  10. 选择 CVE 右侧的蓝色信息图标,再复制批准链接以与您所在机构的 deferral approver 共享。

10.1.5.2. 查看假的正或延迟的 CVE

使用以下步骤检查假的正或延迟的 CVE。

先决条件

  • 您必须具有 VulnerabilityManagementApprovals 资源 的写入权限

您可以检查错误的正或延迟的 CVE:

流程

  1. 在浏览器或 RHACS 门户中打开批准链接。
  2. 导航到 Vulnerability ManagementRisk Acceptance,再搜索 CVE。
  3. 查看漏洞范围和操作,以确定您要批准它。
  4. 点击 CVE 右侧的 kebab 并批准或拒绝批准请求。

10.1.6. 向团队报告漏洞

当组织必须不断重新评估并报告其漏洞时,一些组织发现调度了与主要相关人员的通讯以帮助进行漏洞管理流程。

您可以使用 Red Hat Advanced Cluster Security for Kubernetes 来通过电子邮件来调度这些重复通信。这些通信应限定在主要利益相关者需要的最相关信息。

要发送这些通信,您必须考虑以下问题:

  • 在与利益相关者沟通时,哪些计划会对什么影响。
  • 谁是谁?
  • 您应该只在您的报告中发送特定的严重性漏洞?
  • 您应该只在您的报告中发送可修复的漏洞?

10.1.6.1. 调度漏洞管理报告

以下流程创建了调度的漏洞报告。

流程

  1. 在 RHACS 门户网站中,导航至 Vulnerability ManagementReporting
  2. Create report
  3. Report name 字段中输入报告的名称。
  4. Repeat report…​下为您的报告选择一个每周或每月节奏。
  5. 为报告输入 Description
  6. 选择您要报告可修复的漏洞、特定严重性漏洞或仅自上次调度报告所出现的漏洞的漏洞,选择报告的范围。
  7. 对于 配置资源范围,请选择漏洞应用到的资源范围。
  8. 选择或创建一个电子邮件通知程序,通过电子邮件发送您的报告 并在通知和分发下配置您的分发 列表。
  9. 选择 Create 来调度报告。

10.1.6.2. 发送漏洞报告

以下流程发送漏洞报告。

流程

  1. 在 RHACS 门户网站中,导航至 Vulnerability ManagementReporting
  2. 从报告列表中,选择报告。
  3. 选择报告右侧的 kebab 并点 Run report now

10.1.6.3. 编辑漏洞报告

以下流程编辑漏洞报告。

流程

  1. 在 RHACS 门户网站中,导航至 Vulnerability ManagementReporting
  2. 从报告列表中,选择报告。
  3. 选择报告右侧的 kebab 并点 Edit
  4. 根据需要修改报告。
  5. 点击 Save

10.1.6.4. 删除漏洞报告

以下流程删除漏洞报告。

流程

  1. 在 RHACS 门户网站中,导航至 Vulnerability ManagementReporting
  2. 从报告列表中,选择报告。
  3. 选择报告右侧的 kebab 并点 Delete report