第 14 章 管理漏洞
14.1. 漏洞管理
攻击者可能会利用您的环境中的安全漏洞来执行未经授权的操作,如拒绝服务、远程代码执行或未授权对敏感数据的访问。因此,对漏洞的管理是成功 Kubernetes 安全计划的基础步骤。
14.1.1. 漏洞管理流程
漏洞管理是识别和修复漏洞的持续流程。Red Hat Advanced Cluster Security for Kubernetes 可帮助您促进漏洞管理流程。
成功的漏洞管理计划通常包括以下关键任务:
- 执行资产评估
- 对漏洞进行优先级排序
- 评估暴露信息
- 采取行动
- 持续恢复资产
Red Hat Advanced Cluster Security for Kubernetes 可帮助机构在其 OpenShift Container Platform 和 Kubernetes 集群上执行持续评估。它为组织提供了所需的上下文信息,以便更有效地对环境中的漏洞进行优先级排序和操作。
14.1.1.1. 执行资产评估
对机构资产进行评估涉及以下操作:
- 识别环境中的资产
- 扫描这些资产以识别已知漏洞
- 报告您环境中的漏洞,以影响利益相关者
当您在 Kubernetes 或 OpenShift Container Platform 集群上安装 Red Hat Advanced Cluster Security for Kubernetes 时,它会首先聚合集群中运行的资产,以帮助您识别这些资产。RHACS 允许机构在其 OpenShift Container Platform 和 Kubernetes 集群上执行持续评估。RHACS 为机构提供上下文信息,以便更有效地对环境中的漏洞进行优先级和操作。
应该由使用 RHACS 的机构漏洞管理流程监控的重要资产包括:
- 组件 :组件是可用作镜像一部分的软件包或节点上运行的软件包。组件是存在漏洞的最低级别。因此,组织必须升级、修改或删除软件组件才能修复漏洞。
- 镜像 :创建环境以运行可执行代码的软件组件和代码集合。镜像是您升级组件以修复漏洞的位置。
- 节点 :用于管理和运行使用 OpenShift 或 Kubernetes 应用程序的服务器,以及组成 OpenShift Container Platform 或 Kubernetes 服务的组件。
Red Hat Advanced Cluster Security for Kubernetes 将这些资产分组到以下结构中:
- 部署 :Kubernetes 中的应用程序的定义,它可能根据一个或多个镜像运行带有容器的 pod。
- 命名空间 :一组资源,如支持并隔离应用程序的 Deployment。
- 集群 :用于运行使用 OpenShift 或 Kubernetes 的应用的一组节点。
Red Hat Advanced Cluster Security for Kubernetes 会扫描资产中的已知漏洞,并使用常见漏洞和暴露(CVE)数据来评估已知漏洞的影响。
14.1.2. 查看漏洞
RHACS 提供了以下方法来查看系统中发现的漏洞:
-
要根据命名空间或部署查看应用程序漏洞,或在 RHACS web 门户中查看镜像中的漏洞,请导航到 Vulnerability Management (1.0)
Dashboard。 -
要查看系统中集群中运行的应用程序漏洞,请进入 Vulnerability Management (2.0)
Workload CVEs。您可以根据镜像、部署、命名空间和集群过滤漏洞。
14.1.2.1. 查看应用程序漏洞
您可以查看 Red Hat Advanced Cluster Security for Kubernetes 中的应用程序漏洞。
流程
-
在 RHACS 门户中,进入 Vulnerability Management 1.0
Dashboard。 -
在 Dashboard 视图标头中,选择 Application & Infrastructure
Namespaces 或 Deployments。 - 在列表中,搜索并选择 您要查看的 命名空间或 Deployment。
- 要获取有关应用程序的更多信息,请从右侧的相关实体中选择一个实体。
14.1.2.2. 查看镜像漏洞
您可以查看 Red Hat Advanced Cluster Security for Kubernetes 中的镜像漏洞。
流程
-
在 RHACS 门户中,进入 Vulnerability Management 1.0
Dashboard。 - 在 Dashboard 视图标头中,选择 Images。
从镜像列表中,选择您要调查的镜像。您还可以通过执行以下步骤之一过滤列表:
- 在搜索栏中输入 Image,然后选择 Image 属性。
- 在搜索栏中输入镜像名称。
- 在镜像详情视图中,查看列出的 CVE,并优先执行相应的操作来解决受影响的组件。
- 从右侧的 Related entities 中选择 Components,以获取有关受所选镜像影响的所有组件的更多信息。或者,在 Image findings 部分的 Affected components 列中选择组件,以了解受特定 CVE 影响的组件列表。
其他资源
14.1.2.3. 查看漏洞管理(2.0)中的工作负载 CVE
您可以在镜像和部署间查看 RHACS 中的漏洞或 CVE 的完整列表。您可以使用搜索栏来选择特定的 CVE、镜像、部署、命名空间或集群。
流程
-
在 RHACS 门户中,进入到 Vulnerability Management (2.0)
Workload CVEs。 从下拉列表中选择您要使用的搜索条件。您可以从列表中选择一个项目类型,如集群,然后选择项目的特定名称。您可以通过从列表中选择其他项目并选择新项目的特定名称来向过滤器添加其他项目。例如,您可以选择特定的镜像和特定集群来限制这些选择的结果。您可以对以下项目进行过滤:
- CVE
- 镜像
- Deployment
- 命名空间
- 集群
- 可选: 使用 CVE 严重性 列表来选择您要显示的 CVE 的严重性。
点相关的按钮查看系统中的漏洞、镜像或部署列表。
注意Filtered 视图 图标显示根据您选择的条件过滤显示的结果。您可以单击 Clear filters 来删除所有过滤器,或通过单击各个过滤器来删除它们。
在结果列表中,点 CVE、镜像名称或部署名称查看有关项目的更多信息。例如,根据项目类型,您可以查看以下信息:
- CVE 是否可以被修复
- 镜像是否活跃
- 包含 CVE 的镜像中的 Dockerfile 行
- 有关红帽和其他 CVE 数据库中 CVE 的外部链接
搜索示例
下图显示了名为"production"的集群的搜索条件示例,以查看该集群中关键和重要严重性的 CVE。
14.1.2.3.1. 查看基础架构漏洞
您可以使用 Red Hat Advanced Cluster Security for Kubernetes 查看节点中的漏洞。
流程
-
在 RHACS 门户中,进入 Vulnerability Management 1.0
Dashboard。 -
在 Dashboard 视图标头中选择 Application & Infrastructure
Cluster。 - 从集群列表中选择您要调查的集群。
- 查看集群漏洞,并优先执行集群上受影响节点的操作。
14.1.2.3.2. 查看节点漏洞
您可以使用 Red Hat Advanced Cluster Security for Kubernetes 查看特定节点中的漏洞。
流程
-
在 RHACS 门户中,进入 Vulnerability Management 1.0
Dashboard。 - 在 Dashboard 视图标头中选择 Nodes。
- 从节点列表中,选择您要调查的节点。
- 检查所选节点的漏洞以及采取优先级的操作。
- 要获取有关节点上受影响组件的更多信息,请从右侧的 相关实体 中选择 组件。
14.1.2.4. 对漏洞进行优先级排序
回答以下问题以优先选择您环境中的漏洞进行行动和调查:
- 对于您的组织而言,受影响的资产非常重要?
- 在调查漏洞时,需要如何严重?
- 漏洞是否可以由受影响软件组件的补丁修复?
- 存在的漏洞是否违反了任何机构的安全策略?
这些问题的回答可帮助安全性和开发团队确定他们是否希望对漏洞的暴露进行量化。
Red Hat Advanced Cluster Security for Kubernetes 为您提供了促进应用程序和组件中漏洞的优先级的方法。
14.1.2.5. 评估暴露信息
要评估您对漏洞的风险,请回答以下问题:
- 您的应用程序是否受到漏洞的影响?
- 漏洞是否被其他因素缓解?
- 是否存在可能导致利用此漏洞的已知威胁?
- 您正在使用软件包具有该漏洞?
- 是否将时间花费在特定漏洞上,并且软件包是否值得考虑?
根据您的评估执行以下操作:
- 如果您确定没有暴露,或者您的环境中没有应用漏洞,请考虑将漏洞标记为假的正状态。
- 如果您愿意修复、缓解或接受风险,请考虑是否希望修复、缓解或接受风险。
- 考虑是否要删除或更改软件包以减少您的攻击面。
14.1.2.6. 采取行动
决定对漏洞采取行动后,您可以执行以下操作之一:
- 修复漏洞
- 缓解并接受风险
- 接受风险
- 将漏洞标记为假正
您可以通过执行以下操作之一修复漏洞:
- 删除软件包
- 将软件包更新为一个不可安全的版本。
其他资源
14.1.2.6.1. 查找新的组件版本
以下流程找到要升级到的新组件版本。
流程
-
在 RHACS 门户中,进入 Vulnerability Management 1.0
Dashboard。 - 在 Dashboard 视图标头中,选择 Images。
- 从镜像列表中选择您已评估的镜像。
- 在 Image findings 部分下,选择 CVE。
- 选择您要采取的 CVE 受影响组件。
- 查看 CVE 已修复的组件版本并更新您的镜像。
14.1.2.7. 接受风险
按照本节中的说明接受 Red Hat Advanced Cluster Security for Kubernetes 中的风险。
先决条件
-
您必须具有
VulnerabilityManagementRequests
资源的写入
权限。
使用或没有缓解措施接受风险:
流程
-
在 RHACS 门户中,进入 Vulnerability Management 1.0
Dashboard。 - 在 Dashboard 视图标头中,选择 Images。
- 从镜像列表中选择您已评估的镜像。
- 找到列出您要采取行动的 CVE 的行。
- 点击您确定的 CVE 右侧的 并点 Defer CVE。
- 选择您要延迟 CVE 的日期和时间。
- 如果要延迟所选镜像标签的 CVE 或此镜像的所有标签,请选择。
- 输入延迟的原因。
- 点 Request approval。选择 CVE 右侧的蓝色信息图标,并复制批准链接,以与您的机构延迟批准者共享。
14.1.2.7.1. 将漏洞标记为假正
以下流程将漏洞标记为假正。
先决条件
-
您必须具有
VulnerabilityManagementRequests
资源的写入
权限。
流程
-
在 RHACS 门户中,进入 Vulnerability Management 1.0
Dashboard。 - 在 Dashboard 视图标头中,选择 Images。
- 从镜像列表中选择您已评估的镜像。
- 找到列出您要采取行动的 CVE 的行。
- 点击您确定的 CVE 右侧的 并点 Defer CVE。
- 选择您要延迟 CVE 的日期和时间。
- 如果要延迟所选镜像标签的 CVE 或此镜像的所有标签,请选择。
- 输入延迟的原因。
- 点 Request approval。
- 选择 CVE 右侧的蓝色信息图标,并复制批准链接,以与您的机构延迟批准者共享。
14.1.2.7.2. 查看假的正或延迟的 CVE
使用以下步骤检查假的正或延迟的 CVE。
先决条件
-
您必须具有
VulnerabilityManagementApprovals
资源的写入
权限。
您可以查看”假正”或延迟的 CVE:
流程
- 在浏览器中或 RHACS 门户中打开批准链接。
-
导航到 Vulnerability Management
Risk Acceptance 并搜索 CVE。 - 查看漏洞范围和操作,以确定您是否要批准它。
- 点击 CVE 最右侧的 ,并批准或拒绝批准请求。
14.1.2.8. 向团队报告漏洞
当组织必须不断重新评估并报告其漏洞时,一些组织会发现,有与关键利益相关者的通信会很有帮助,以帮助进行漏洞管理流程。
您可以使用 Red Hat Advanced Cluster Security for Kubernetes 通过电子邮件调度这些周期性通信。这些通信应限定到关键利益相关者需要的最相关信息。
要发送这些通信,您必须考虑以下问题:
- 与利益相关者通信时,哪些计划会有最大的影响?
- 谁是受众?
- 是否只在报告中发送特定的严重性漏洞?
- 是否只在报告中发送可修复的漏洞?
14.1.3. 漏洞报告
您可以从 RHACS web 门户中的 Vulnerability Management (2.0) 菜单创建并下载按需镜像漏洞报告。此报告包括镜像和部署间的通用漏洞和风险的完整列表,在 RHACS 中称为工作负载 CVE。您可以通过在 RHACS 中调度电子邮件或使用其它方法共享此报告与审核员或内部利益相关者共享。
14.1.3.1. 创建漏洞管理报告配置
RHACS 指导您完成创建漏洞管理报告配置的过程。此配置决定了将在计划的时间或按需求运行的报告作业中包含的信息。
流程
-
在 RHACS 门户中,进入到 Vulnerability Management (2.0)
Vulnerability Reporting。 - 点 Create report。
- 在 Report name 字段中输入报告配置的名称。
- 可选:在 Description 字段中输入描述报告配置的文本。
- 在 CVE severity 字段中,选择您要包含在报告配置中的通用漏洞和暴露(CVE)的严重性。
- 选择 CVE 状态。您可以选择 Fixable、Unfixable 或两者。
- 在 Image type 字段中,选择是否要包含来自部署的镜像的 CVE、监视的镜像或两者。
- 在 自字段起发现的 CVE 中,选择您希望 CVE 包含在报告配置中的时间周期。
在 Configure report scope 字段中,您可以执行以下操作:
- 选择现有集合并点 View 查看集合信息,编辑集合,并获取集合结果预览。在查看集合时,在字段中输入文本搜索与该文本字符串匹配的集合。
点 Create collection 以创建新集合。
注意有关集合的更多信息,请参阅"添加资源"部分中的"创建和使用部署集合"。
- 点 Next 来配置交付目的地,并选择性地设置交付计划。
14.1.3.1.1. 配置交付目的地和调度
除非在上一页上选择了选项,否则为漏洞报告配置目的地和交付计划是可选的,否则您可以选择包含自上次调度的报告后发现的 CVE 的选项。如果您选择了这个选项,则需要为漏洞报告配置目的地和交付计划。
流程
- 要配置用于交付的目的地,请在 Configure delivery destinations 部分中,添加发送目的地并设置报告时间表。
要电子邮件报告,必须至少配置一个电子邮件通知。选择现有通知程序或创建一个新的电子邮件通知,以通过电子邮件发送您的报告。有关创建电子邮件通知的更多信息,请参阅"添加资源"部分中的"配置电子邮件插件"。
当您选择通知程序时,在通知程序中配置的作为默认接收者的电子邮件地址会出现在 Distribution list 字段中。您可以添加以逗号分开的其他电子邮件地址。
默认电子邮件模板会自动应用。要编辑此默认模板,请执行以下步骤:
- 点编辑图标,然后在 Edit 选项卡中输入自定义主题和电子邮件正文。
- 点 Preview 选项卡查看您建议的模板。
点 Apply 将您的更改保存到模板。
注意在查看特定报告的报告作业时,您可以看到在创建报告时是否使用默认模板或自定义模板。
- 在 Configure schedule 部分中,为报告选择星期的频率和日期。
- 点 Next 查看您的漏洞报告配置并完成它创建。
14.1.3.1.2. 检查并创建报告配置
您可以在创建漏洞报告配置前查看漏洞报告配置的详情。
流程
- 在 Review and create 部分中,您可以查看报告配置参数、交付目标、电子邮件模板(如果您选择了电子邮件交付、交付计划和报告格式)。要进行任何更改,请点击 Back to go to the previous 部分,并编辑您要更改的字段。
- 单击 Create 以创建报告配置并保存。
14.1.3.2. 漏洞报告权限
为您的用户帐户创建、查看和下载报告的能力取决于访问控制设置或角色和权限集。
例如,您只能查看、创建和下载用户帐户有权访问的数据报告。另外,还有以下限制:
- 您只能下载您生成的报告,您无法下载其他用户生成的报告。
- 报告权限会根据用户帐户的访问设置进行限制。如果帐户的访问设置发生了变化,旧的报告不会反映更改。例如,如果您给出了新权限,并希望查看这些权限允许的漏洞数据,则必须创建新的漏洞报告。
14.1.3.3. 编辑漏洞报告配置
您可以从报告配置列表中编辑现有漏洞报告配置,或者首先选择单独的报告配置。
流程
要编辑现有漏洞报告配置,在 RHACS web 门户中,进入 Vulnerability Management (2.0)
Vulnerability Reporting 并选择以下方法之一: - 在报告配置列表中找到您要编辑的报告配置,然后点 。然后,选择 Edit report。
- 点报告配置列表中的报告配置名称。然后,单击 Actions 并选择 Edit report。
- 更改报告配置并保存。
14.1.3.4. 下载漏洞报告
您可以生成按需漏洞报告,然后下载它。
您只能下载您生成的报告,您无法下载其他用户生成的报告。
流程
-
在 RHACS web 门户中,进入到 Vulnerability Management (2.0)
Vulnerability Reporting,在报告配置列表中找到您要用来创建可下载报告的报告配置。 使用以下方法之一生成漏洞报告:
从列表中生成报告:
- 点击 。
- 选择 Generate download。My active job status 列显示报告创建的状态。处理 状态退出后,您可以下载报告。
从报告窗口中生成报告:
- 点报告配置名称打开配置详情窗口。
- 点 Actions 并选择 Generate download。
- 要下载报告,如果您要查看报告配置列表,请点击报告配置名称来打开报告。
- 点 All report jobs。
-
如果报告已完成,点 Status 列中的 Ready for download 链接。该报告采用
.csv
格式,压缩至.zip
文件中以便下载。
14.1.3.5. 根据需要发送漏洞报告
您可以立即发送漏洞报告,而不是等待调度的发送时间。
流程
-
在 RHACS web 门户中,进入到 Vulnerability Management (2.0)
Vulnerability Reporting,在报告配置列表中找到您要发送的报告配置。 - 点击 。然后,选择 Send report now。
14.1.3.6. 克隆漏洞报告配置
您可以通过克隆漏洞报告配置来制作漏洞报告配置的副本。当您要使用次要更改重复使用报告配置时(如报告不同部署或命名空间中的漏洞)时,这非常有用。
流程
-
在 RHACS web 门户中,进入到 Vulnerability Management (2.0)
Vulnerability Reporting,并在报告配置列表中找到您要克隆的报告配置。 - 单击 Clone report。
- 进行您要报告参数和交付目的地的任何更改。
- 点 Create。
14.1.3.7. 删除漏洞报告配置
删除报告配置会删除配置以及之前使用此配置运行的任何报告。
流程
-
在 RHACS web 门户中,进入到 Vulnerability Management (2.0)
Vulnerability Reporting,并在报告列表中找到您要删除的报告配置。 - 点击 。然后,选择 Delete report。
14.1.3.8. 配置漏洞管理报告作业保留设置
您可以配置设置,以确定漏洞报告作业请求何时过期,以及报告作业的其他保留设置。
这些设置不会影响以下漏洞报告作业:
-
处于
WAITING
或PREPARING
状态的作业(未完成的作业) - 最后一次成功调度的报告作业
- 最后一次成功发送了报告作业
- 最后成功下载报告作业
- 通过手动删除或配置可下载报告修剪设置,可下载报告文件没有被删除的可下载报告作业
流程
在 RHACS web 门户中,进入到 Platform Configuration
System Configuration。您可以为漏洞报告作业配置以下设置: 漏洞报告 运行历史记录保留 :记录保留的天数,该日期将保留已运行的漏洞报告作业。此设置控制报告作业在 Vulnerability Management (2.0)→ Vulnerability Management (2.0)
Vulnerability Reporting 下的 All report jobs 标签页中列出的天数。除截止日期以外的所有报告历史记录都会被修剪,但以下作业除外: - 未完成的作业。
- 系统中仍然存在准备可下载报告的作业。
- 每个作业类型的最后一次成功报告作业(计划的电子邮件、按需电子邮件或下载)。这样可确保用户具有每种类型最后一次运行的作业的信息。
- 准备好的可下载漏洞报告保留天数 :在选择报告配置时,可以在 All report Jobs 选项卡中下载 on-demand 下载的漏洞报告作业的数量。
- 可下载的漏洞报告限制:分配给可下载的漏洞报告 作业的空间(以 MB 为单位)。达到限制后,下载队列中最旧的报告作业将被删除。
- 要更改这些值,请单击 Edit,进行更改,然后单击 Save。
14.1.3.9. 升级到 RHACS 版本 4.3 及更新的版本时报告漏洞迁移
Red Hat Advanced Cluster Security for Kubernetes (RHACS)版本 4.3 包括在 Vulnerability Management 1.0
RHACS 在迁移过程中执行以下操作:
-
报告配置会被复制,以创建报告的新版本,您可以通过点 Vulnerability Management (2.0)
Vulnerability Reporting 来访问。 - 报告的原始名称用于在将报告迁移到新位置时使用。
-
在 Vulnerability Management 2.0 (技术预览)
Reporting 页面创建的报告配置不受升级到 RHACS 版本 4.3 或更高版本的影响。用于访问这些报告配置的菜单项已重命名为 Vulnerability Management (2.0),页面被重命名为 Vulnerability Reporting。 -
如果没有迁移之前使用 Vulnerability Management 1.0 页面创建的报告配置,因为通知程序已不存在,则该配置的详情将添加到 Central pod 生成的日志中。您可以使用日志中的详细信息,通过点 Vulnerability Management (2.0)
Vulnerability Reporting 并添加新报告来重新创建报告配置。 -
对于之前使用 Vulnerability Management 1.0 页面创建的每个报告配置,最新的成功调度的报告作业会被迁移到报告配置的 All Report jobs 部分。要查看报告配置,请点 Vulnerability Management (2.0)
Vulnerability Reporting,然后点报告配置。
如果您需要从更新的版本中回滚到 RHACS 4.2,则会出现以下操作:
-
现在,随着迁移失效的报告配置会再次变为可正常运行的报告配置,点 Vulnerability Management 1.0
Reporting 来获得。 - 迁移创建的报告配置可以正常工作,可通过点 Vulnerability Reporting 2.0 (技术预览) 提供。您可以手动删除在 1.0 或 2.0 报告版本中创建的不需要的报告配置。
-
如果在回滚到 RHACS 4.2 或更早版本后更新了 Vulnerability Management 1.0
Reporting 页面中的报告配置,则当系统再次升级时,这些更新可能不适用于迁移的报告配置。如果发生这种情况,则报告配置的详情将添加到 Central pod 生成的日志中。您可以通过点 Vulnerability Management (2.0) Vulnerability Reporting 并使用日志中的详情手动更新报告配置。 -
当您再次升级到 RHACS 版本 4.3 或更高版本时,在 Vulnerability Management 1.0
Reporting 页面中创建的任何新报告配置都会被迁移。