修复 CVE-2020-8300 的漏洞
在 NetScaler Console 安全通告控制板中,在“当前 CVE >
<number of> 受 CVE 影响的 NetScaler 实例”下,您可以看到所有受此特定 CVE 影响的易受攻击实例。要查看受 CVE-2020-8300 影响的实例的详细信息,请选择“CVE-2020-8300”并单击“查看受影响的实例”。
CVE-2020-8300 的安全通告控制板(/en-us/netscaler-application-delivery-management-software/media/security-advisory-2020-8300.png)
注意
有关安全通告控制板的更多信息,请参阅安全通告。
出现“
<number of> 受 CVE 影响的 NetScaler 实例”窗口。在此处,您可以看到受 CVE-2020-8300 影响的 NetScaler 实例的数量和详细信息。
受 CVE-2020-8300 影响的实例(/en-us/netscaler-application-delivery-management-software/media/2020-8300-impacted-instances.png)
修复 CVE-2020-8300
对于受 CVE-2020-8300 影响的 NetScaler 实例,修复过程分为两步。在 GUI 中,在“当前 CVE > 受 CVE 影响的 NetScaler 实例”下,您可以看到步骤 1 和 2。
修复步骤(/en-us/netscaler-application-delivery-management-software/media/remediate-steps.png)
这两个步骤包括:
-
将易受攻击的 NetScaler 实例升级到包含修复程序的版本和内部版本。
-
在配置作业中使用可自定义的内置配置模板应用所需的配置命令。针对每个易受攻击的 NetScaler 实例逐一执行此步骤,并包括该 NetScaler 的所有 SAML 操作和 SAML 配置文件。
在“当前 CVE > 受 CVE 影响的 NetScaler 实例”下,您会看到此两步修复过程的两个独立工作流:分别是“继续升级工作流”和“继续配置作业工作流”。
修复工作流(/en-us/netscaler-application-delivery-management-software/media/remediation-workflows.png)
步骤 1:升级易受攻击的 NetScaler 实例
要升级易受攻击的实例,请选择这些实例,然后单击“继续升级工作流”。升级工作流将打开,其中已填充易受攻击的 NetScaler 实例。
有关如何使用 NetScaler Console 升级 NetScaler 实例的更多信息,请参阅创建 NetScaler 升级作业。
注意
此步骤可以一次性针对所有易受攻击的 NetScaler 实例完成。
步骤 2:应用配置命令
升级受影响的实例后,在“
<number of> 受 CVE 影响的 NetScaler 实例”窗口中,选择一个受 CVE-2020-8300 影响的实例,然后单击“继续配置作业工作流”。该工作流包括以下步骤。
-
自定义配置。
-
审查自动填充的受影响实例。
-
为作业的变量指定输入。
-
审查填充了变量输入的最终配置。
-
运行作业。
在选择实例并单击“继续配置作业工作流”之前,请记住以下几点:
-
对于受多个 CVE(例如 CVE-2020-8300、CVE-2021-22927、CVE-2021-22920 和 CVE-2021-22956)影响的 NetScaler 实例:当您选择实例并单击“继续配置作业工作流”时,内置配置模板不会在“选择配置”下自动填充。请手动将“安全建议模板”下相应的配置作业模板拖放到右侧的配置作业窗格中。
-
仅适用于受 CVE-2021-22956 影响的多个 NetScaler 实例:您可以一次性在所有实例上运行配置作业。例如,您有 NetScaler 1、NetScaler 2 和 NetScaler 3,并且它们都仅受 CVE-2021-22956 影响。选择所有这些实例,然后单击“继续执行配置作业工作流”,内置配置模板将在“选择配置”下自动填充。
-
对于受 CVE-2021-22956 和一个或多个其他 CVE(例如 CVE-2020-8300、CVE-2021-22927 和 CVE-2021-22920)影响的多个 NetScaler 实例,这些 CVE 需要一次对一个 NetScaler 应用修复:当您选择这些实例并单击“继续执行配置作业工作流”时,将出现一条错误消息,提示您一次在一个 NetScaler 上运行配置作业。
步骤 1:选择配置
在配置作业工作流中,内置配置模板将在“选择配置”下自动填充。
针对每个受影响的 NetScaler 实例,一次运行一个单独的配置作业,并包含该 NetScaler 的所有 SAML 操作和 SAML 配置文件。例如,如果您有两个易受攻击的 NetScaler 实例,每个实例都有两个 SAML 操作和两个 SAML 配置文件,您必须运行此配置作业两次。每个 NetScaler 运行一次,涵盖其所有 SAML 操作和 SAML 配置文件。
| NetScaler 1 | NetScaler2 |
|---|---|
| 作业 1:两个 SAML 操作 + 两个 SAML 配置文件 | 作业 2:两个 SAML 操作 + 两个 SAML 配置文件 |
为作业命名并根据以下规范自定义模板。内置配置模板仅为大纲或基本模板。根据您的部署自定义模板以满足以下要求:
a. SAML 操作及其关联域
根据您部署中的 SAML 操作数量,您必须复制第 1-3 行并为每个 SAML 操作自定义域。
例如,如果您有两个 SAML 操作,重复第 1-3 行两次,并相应地自定义每个 SAML 操作的变量定义。
如果您有一个 SAML 操作有 N 个域,则必须手动键入
bind patset $saml_action_patset$ “$saml_action_domain1$” 行多次,以确保该行在该 SAML 操作中出现 N 次。并更改以下变量定义名称:
-
saml_action_patset:是配置模板变量,它表示 SAML 操作的模式集 (patset) 名称的值。您可以在配置作业工作流的步骤 3 中指定实际值。请参阅本文档中的“步骤 3:指定变量值”部分。 -
saml_action_domain1:是配置模板变量,它表示该特定 SAML 操作的域名。您可以在配置作业工作流的步骤 3 中指定实际值。请参阅本文档中的“步骤 3:指定变量值”部分。
要查找设备的全部 SAML 操作,请运行命令
show samlaction。
b. SAML 配置文件及其关联的 URL
根据部署中 SAML 配置文件的数量,复制第 4-6 行。自定义每个 SAML 配置文件的 URL。
例如,如果您有两个 SAML 配置文件,请手动输入第 4-6 行两次,并相应地自定义每个 SAML 操作的变量定义。
如果您有一个 SAML 操作有 N 个域,则必须手动键入
bind patset $saml_profile_patset$ “$saml_profile_url1$” 行多次,以确保该行在该 SAML 配置文件中出现 N 次。并更改以下变量定义名称:
-
saml_profile_patset:是配置模板变量,它表示 SAML 配置文件的模式集 (patset) 名称的值。您可以在配置作业工作流的步骤 3 中指定实际值。请参阅本文档中的“步骤 3:指定变量值”部分。 -
saml_profile_url1:是配置模板变量,它表示该特定 SAML 配置文件的域名。您可以在配置作业工作流的步骤 3 中指定实际值。请参阅本文档中的“步骤 3:指定变量值”部分。
要查找设备的全部 SAM 配置文件,请运行命令
show samlidpProfile。
步骤 2:选择实例
受影响的实例在“选择实例”下自动填充。选择实例,然后单击“下一步”。
选择实例(/en-us/netscaler-application-delivery-management-software/media/select-instance.png)
步骤 3:指定变量值
输入变量值。
-
saml_action_patset:为 SAML 操作添加名称 -
saml_action_domain1:输入格式为https://<example1.com>/的域 -
saml_action_name:输入您正在为其配置作业的 SAML 操作的名称 -
saml_profile_patset:为 SAML 配置文件添加名称 -
saml_profile_url1:输入格式为https://<example2.com>/cgi/samlauth的 URL -
saml_profile_name:输入您正在为其配置作业的 SAML 配置文件的名称
注意
对于 URL,扩展名并非总是
cgi/samlauth。它取决于您拥有的第三方授权,因此您必须放置相应的扩展名。
指定变量(/en-us/netscaler-application-delivery-management-software/media/specify-variables.png)
步骤 4:预览配置
预览已插入配置中的变量值,然后单击“下一步”。
步骤 5: 运行作业
单击 完成 以运行配置作业。
作业运行后,它将显示在 基础架构 > 配置 > 配置作业 下。
完成针对所有易受攻击的 NetScaler 实例的这两个修复步骤后,您可以运行按需扫描以查看修订后的安全状况。
适用于 NetScaler Console Express 帐户的注意事项
NetScaler Console Express 帐户具有有限的功能,其中包括仅限两个配置作业的限制。
对于 CVE-2020-8300 修复,您必须运行与易受攻击的 NetScaler 实例数量相同的配置作业。因此,如果您有 Express 帐户并且需要运行两个以上的配置作业,请遵循此解决方法。
解决方法:为两个易受攻击的 NetScaler 实例运行两个配置作业,然后删除这两个作业,以继续为接下来的两个易受攻击的 NetScaler 实例运行接下来的两个作业。重复此操作,直到覆盖所有易受攻击的实例。在删除作业之前,您可以下载报告以供将来参考。要下载报告,请在 网络 > 作业 下,选择作业,然后单击 操作 下的 下载。
示例:如果您有六个易受攻击的 NetScaler 实例,请分别在两个易受攻击的实例上运行两个配置作业,然后删除这两个配置作业。再重复此步骤两次。最后,您将分别针对六个 NetScaler 实例运行了六个配置作业。在 NetScaler Console UI 的 基础架构 > 作业 下,您只能看到最后两个配置作业。
场景
在此场景中,三个 NetScaler 实例易受 CVE-2020-8300 攻击,您需要修复所有实例。请按照以下步骤操作:
-
升级所有三个 NetScaler 实例,方法是遵循本文档中“升级实例”部分中给出的步骤。
-
一次将配置修补程序应用于一个 NetScaler,使用配置作业工作流。请参阅本文档中“应用配置命令”部分中给出的步骤。
易受攻击的 NetScaler 1 具有以下配置:
| 两个 SAML 动作 | 两个 SAML 配置文件 |
|---|---|
启动配置作业工作流(/en-us/netscaler-application-delivery-management-software/media/scenario-config-job-workflow.png)
选择 NetScaler 1,然后单击“继续配置作业工作流”。内置模板会自动填充。接下来,输入作业名称并根据给定配置自定义模板。
根据给定场景自定义模板(/en-us/netscaler-application-delivery-management-software/media/scenario-customize-template.png)
下表列出了自定义参数的变量定义。
表 1. SAML 动作的变量定义
| NetScaler 配置 | patset 的变量定义 | SAML 动作名称的变量定义 | 域的变量定义 |
|---|---|---|---|
| SAML 动作 1 有一个域 | saml_action_patset1 | saml_action_name1 | saml_action_domain1 |
| SAML 操作 2 有两个域 | saml_action_patset2 | saml_action_name2 | saml_action_domain2, saml_action_domain3 |
表 2. SAML 配置文件的变量定义
| NetScaler 配置 | patset 的变量定义 | SAML 配置文件名称的变量定义 | URL 的变量定义 |
|---|---|---|---|
| SAML 配置文件 1 有一个 URL | saml_profile_patset1 | saml_profile_name1 | saml_profile_url1 |
| SAML 配置文件 2 有两个 URL | saml_profile_patset2 | saml_profile_name2 | saml_profile_url2, saml_profile_url3 |
在“选择实例”下,选择 NetScaler 1,然后单击“下一步”。此时将显示“指定变量值”窗口。在此步骤中,您需要为上一步中定义的所有变量提供值。
指定变量场景(/en-us/netscaler-application-delivery-management-software/media/specify-variables-scenario.png)
接下来,查看变量。
单击“下一步”,然后单击“完成”以运行作业。
作业运行后,它将显示在“基础架构 > 配置 > 配置作业”下。
完成 NetScaler1 的两个修复步骤后,按照相同的步骤修复 NetScaler 2 和 NetScaler 3。修复完成后,您可以运行按需扫描以查看修订后的安全状况。