ADC

MPX 9700/10500/12500/15500 FIPS 设备

重要提示!MPX 9700/10500/12500/15500 FIPS 平台已经到达使用寿命的终点。

由美国国家标准和技术研究所发布的联邦信息处理标准 (FIPS) 规定了安全系统中使用的加密模块的安全要求。Citrix ADC FIPS 设备符合该标准的第二个版本,FIPS 140-2。

注: 从此以后,所有提到 FIPS 的内容都意味着 FIPS-140-2。

FIPS 设备配备了防篡改(防篡改)加密模块,并在 MPX 9700/10500/12500/15500 FIPS 设备上配备了一个 Cavium CN1620-NFBE3-2.0-G,旨在符合 FIPS 140-2 级 2 规范的要求。关键安全参数 (CSP)(主要是服务器的私钥)安全地存储和生成在加密模块(也称为硬件安全模块 (HSM))中。CSP 永远不会在 HSM 边界之外访问。只有超级用户才能对存储在 HSM 中的密钥执行操作。

下表总结了标准 Citrix ADC 和 Citrix ADC FIPS 设备之间的差异。

设置 Citrix ADC 设备 Citrix ADC FIPS 设备
密钥存储 在硬盘上 在 FIPS 卡上
密码支持 所有密码 FIPS 批准的密码
访问密钥 从硬盘 无法访问

配置 FIPS 设备涉及在完成通用配置过程后立即配置 HSM。然后,您可以创建或导入 FIPS 密钥。创建 FIPS 密钥后,必须将其导出以备份。您可能还需要导出 FIPS 密钥,以便将其导入到其他设备。例如,在高可用性设置中配置 FIPS 设备需要在完成标准高可用性设置后立即将 FIPS 密钥从主节点转移到辅助节点。

您可以将 FIPS 卡上的固件版本从 4.6.0 版升级到 4.6.1。您还可以重置已锁定的 HSM 以防止未经授权的登录。Citrix ADC FIPS 设备上仅支持经 FIPS 批准的密码。

HSM 配置

必须先完成初始硬件配置,然后才能配置 Citrix ADC FIPS 设备的 HSM。有关 MPX 设备的更多信息,请参阅 初始配置。有关 SDX 设备的信息,请单击 此处

配置 Citrix ADC FIPS 设备的 HSM 会擦除 HSM 上的所有现有数据。要配置 HSM,您必须以超级用户身份登录到设备。HSM 已预配置为安全官员 (SO) 密码和用户密码的默认值,您可以使用它们配置 HSM 或重置锁定的 HSM。密码允许的最大长度为 14 个字母数字字符。不允许使用符号。

重要提示: 仅在首先重置 FIPS 卡并重新启动 MPX FIPS 设备之后才能运行该 set ssl fips 命令。

尽管 FIPS 设备可以与默认密码值一起使用,但在使用之前必须对其进行修改。仅当您以超级用户身份登录到设备并指定 SO 密码和用户密码时,才能配置 HSM。

重要提示: 由于安全限制,设备不提供检索 SO 密码的方法。安全地存储密码副本。如果需要重新初始化 HSM,则需要将此密码指定为旧的 SO 密码。

在初始化 HSM 之前,您可以升级到软件的最新版本。要升级到最新版本,请参阅 升级或降级系统软件

升级后,验证 /nsconfig/fips 目录是否已在设备上成功创建。

使用 CLI 在 MPX 9700/10500/12500/15500 FIPS 平台上配置 HSM

以超级用户身份登录设备并完成初始配置后,在命令提示符下键入以下命令来配置 HSM 并验证配置:

show ssl fips

reset ssl fips

reboot

set ssl fips -initHSM Level-2 <newSOpassword> <oldSOpassword> <userPassword> [-hsmLabel <string>]

save ns config

reboot

show ssl fips
<!--NeedCopy-->

示例:

show fips

    FIPS Card is not configured
    Done
    reset fips
    reboot
    Are you sure you want to restart NetScaler (Y/N)? [N]:y

    set ssl fips -initHSM Level-2 sopin12345 so12345 user123 -hsmLabel cavium

    This command will erase all data on the FIPS card. You must save the configuration

    (saveconfig) after executing this command.


    Do you want to continue?(Y/N)y
    Done

    save ns config

    reboot

    Are you sure you want to restart NetScaler (Y/N)? [N]:y

    show fips

            FIPS HSM Info:
    HSM Label              : Citrix ADC FIPS
    Initialization         : FIPS-140-2 Level-2
    HSM Serial Number      : 2.1G1008-IC000021
    HSM State              : 2
    HSM Model              : NITROX XL CN1620-NFBE
    Firmware Version       : 1.1
    Firmware Release Date  : Jun04,2010
    Max FIPS Key Memory    : 3996
    Free FIPS Key Memory   : 3994
    Total SRAM Memory      : 467348
    Free SRAM Memory       : 62564
    Total Crypto Cores      : 3
    Enabled Crypto Cores    : 1
    Done

    Note: If you upgrade the firmware to version 2.2, the firmware release date is replaced with the firmware build.



    > show fips

    FIPS HSM Info:

    HSM Label                : Citrix ADC FIPS
    Initialization              : FIPS-140-2 Level-2
    HSM Serial Number    : 3.0G1235-ICM000264
    HSM State                : 2
    HSM Model               : NITROX XL CN1620-NFBE
    Hardware Version       : 2.0-G
    Firmware Version        : 2.2
    Firmware Build           : NFBE-FW-2.2-130009
    Max FIPS Key Memory : 3996
    Free FIPS Key Memory : 3958
    Total SRAM Memory    : 467348
    Free SRAM Memory     : 50524
    Total Crypto Cores      : 3
    Enabled Crypto Cores  : 3
    Done
<!--NeedCopy-->

使用 GUI 在 MPX 9700/10500/12500/15500 FIPS 平台上配置 HSM

  1. 导航到 流量管理 > SSL > FIPS

  2. 在详细信息窗格的 FIPS 信息选项卡上,单击 重置 FIPS

  3. 在导航窗格中,单击 系统

  4. 在详细信息窗格中,单击 重新启动

  5. 在详细信息窗格的 FIPS 信息选项卡上,单击 初始化 HSM

  6. 在“初始化 HSM”对话框中,为以下参数指定值:

    • 保安人员 (SO) 密码*— 新的 SO 密码
    • 旧 SO 密码*— 旧 SO 密码
    • 用户密码*— 用户密码
    • 级别 — initHSM(当前设置为级别 2,无法更改)
    • HSM 标签 — hsmLabel

    *必需的参数

  7. 单击 OK(确定)。

  8. 在详细信息窗格中,单击保存

  9. 在导航窗格中,单击 系统

  10. 在详细信息窗格中,单击 重新启动

  11. 在 FIPS HSM 信息下,验证显示的信息对于您配置的 FIPS HSM 是否正确。

创建和传输 FIPS 密钥

配置 FIPS 设备的 HSM 后,您可以创建 FIPS 密钥。FIPS 密钥是在设备的 HSM 中创建的。然后,您可以将 FIPS 密钥导出到设备的 CompactFlash 卡作为安全备份。通过导出密钥,您还可以通过将其复制到另一个设备的/闪存,然后将其导入该设备的 HSM 来传输密钥。在导出和传输密钥之前,在两个独立节点之间启用 SIM 卡。在高可用性设置中,如果其中一个节点被新节点替换,则必须执行以下步骤:

  1. 在此新设备和高可用性设置的现有设备之间启用 SIM 卡。
  2. 导出或导入 FIPS 密钥。

您可以导入现有的 FIPS 密钥或导入外部密钥作为 FIPS 密钥,而不是创建 FIPS 密钥。如果要在 MPX 9700/10500/12500/15500 FIPS 设备上添加 2048 位的证书密钥对,请确保您具有正确的证书和密钥对。

注意: 如果您计划高可用性设置,请确保在创建 FIPS 密钥之前在高可用性设置中配置 FIPS 设备。

创建 FIPS 密钥

创建 FIPS 密钥前,确保已配置 HSM。

指定密钥类型(RSA 或 ECDSA)并指定 ECDSA 密钥的曲线。

通过使用 GUI 创建 FIPS 密钥

  1. 导航到 流量管理 > SSL > FIPS
  2. 在详细信息窗格的 FIPS 密钥选项卡上,单击 添加
  3. 在“创建 FIPS 密钥”对话框中,为以下参数指定值:

    • FIPS 密钥名称*— fipsKeyName
    • 模量*— 模量
    • 指数* — 指数

    *必需的参数

  4. 单击 Create(创建),然后单击 Close(关闭)。
  5. 在 FIPS 密钥选项卡上,验证为您创建的 FIPS 密钥显示的设置是否正确。

使用 CLI 创建 FIPS 密钥

在命令提示符下,键入以下命令以创建 FIPS 密钥并验证设置:

create ssl fipsKey <fipsKeyName> -modulus <positive_integer> [-exponent ( 3 | F4 )]

show ssl fipsKey [<fipsKeyName>]
<!--NeedCopy-->

示例:

    create fipskey Key-FIPS-1 -keytype RSA -modulus 2048 -exponent 3

    show ssl fipsKey Key-FIPS-1

                FIPS Key Name: Key-FIPS-1 Key Type: RSA Modulus: 2048   Public Exponent: F4 (Hex: 0x10001)
<!--NeedCopy-->

导出 FIPS 密钥

Citrix 建议您创建在 FIPS HSM 中创建的任何密钥的备份。如果 HSM 中的密钥被删除,则无法再次创建相同的密钥,并且所有与其关联的证书都将无用。

除了将密钥导出为备份之外,您可能需要导出密钥才能传输到另一台设备。

以下过程提供了有关将 FIPS 密钥导出到设备 CompactFlash 上的 /nsconfig/ssl 文件夹以及使用强非对称密钥加密方法保护导出的密钥的说明。

使用 CLI 导出 FIPS 密钥

在命令提示符下,键入:

export ssl fipsKey <fipsKeyName> -key <string>
<!--NeedCopy-->

示例:

export fipskey Key-FIPS-1 -key Key-FIPS-1.key
<!--NeedCopy-->

使用 GUI 导出 FIPS 密钥

  1. 导航到 流量管理 > SSL > FIPS

  2. 在详细信息窗格的 FIPS 密钥选项卡上,单击 导出

  3. 在“将 FIPS 键导出到文件”对话框中,为以下参数指定值:

    • FIPS 密钥名称*— fipsKeyName
    • 文件名*— 键(要将文件放在默认位置以外的位置,您可以指定完整路径或单击“浏览”按钮并导航到某个位置。)

    *必需的参数

  4. 单击 “ 导出”,然后单击 “ 关闭”。

导入现有 FIPS 密钥

要将现有 FIPS 密钥与 FIPS 设备结合使用,您需要将 FIPS 密钥从设备的硬盘传输到其 HSM。

注意: 要避免导入 FIPS 密钥时出现错误,请确保导入的密钥的名称与创建时的原始密钥名称相同。

通过使用 CLI 在 MPX 9700/10500/12500/15500 FIPS 设备上导入 FIPS 密钥

在命令提示符下,键入以下命令以导入 FIPS 密钥并验证设置:

-  import ssl fipsKey <fipsKeyName> -key <string> -inform SIM -exponent (F4 | 3)
-  show ssl fipskey <fipsKeyName>
<!--NeedCopy-->

示例:

import fipskey Key-FIPS-2 -key Key-FIPS-2.key -inform SIM -exponent F4
show ssl fipskey key-FIPS-2
FIPS Key Name: Key-FIPS-2 Modulus: 2048   Public Exponent: F4 (Hex value 0x10001)
<!--NeedCopy-->

通过使用 GUI 导入 FIPS 密钥

  1. 导航到 流量管理 > SSL > FIPS

  2. 在详细信息窗格的 FIPS 密钥选项卡上,单击 导入

  3. 在“导入为 FIPS 密钥”对话框中,选择 FIPS 密钥文件并为以下参数设置值:

    • FIPS 密钥名称*
    • 密钥文件名称* — 要将文件放在默认位置以外的位置,您可以指定完整路径或单击“浏览”并导航到某个位置。
    • 指数*

    *必需的参数

  4. 单击 Import(导入),然后单击 Close(关闭)。

  5. 在 FIPS 密钥选项卡上,验证为导入的 FIPS 密钥显示的设置是否正确。

导入外部密钥

您可以传输在 Citrix ADC 设备的 HSM 中创建的 FIPS 密钥。您还可以将外部私钥(例如在标准 Citrix ADC、Apache 或 IIS 上创建的密钥)转移到 Citrix ADC FIPS 设备。外部密钥是通过使用 OpenSSL 等工具在 HSM 之外创建的。在将外部密钥导入 HSM 之前,请将其复制到设备的闪存驱动器中 /nsconfig/ssl

在 MPX 9700/10500/12500/15500 FIPS 设备上,导入外部密钥时不需要 import ssl fipskey 命令中的-exponent 参数。导入密钥时会自动检测到正确的公共指数,并忽略-指数参数的值。

Citrix ADC FIPS 设备不支持具有 3 或 F4 以外的公共指数的外部密钥。

您不需要在 MPX 9700/10500/12500/15500 FIPS 设备上的包装密钥。

您不能将外部加密的 FIPS 密钥直接导入到 MPX 9700/10500/12500/15500 FIPS 设备。要导入密钥,您需要先解密密钥,然后导入密钥。要解密密钥,请在 shell 提示符处键入:

openssl rsa -in <EncryptedKey.key> > <DecryptedKey.out>
<!--NeedCopy-->

注意: 如果将 RSA 密钥导入为 FIPS 密钥,Citrix 建议您从设备中删除 RSA 密钥,出于安全考虑。

通过使用 CLI 将外部密钥作为 FIPS 密钥导入到 MPX 9700/10500/12500/15500 FIPS 设备

  1. 将外部密钥复制到设备的闪存驱动器。
  2. 如果密钥是 .pfx 格式,则必须先将其转换为 PEM 格式。在命令提示符下,键入:

    convert ssl pkcs12 <output file> -import -pkcs12File <input .pfx file name> -password <password>
    <!--NeedCopy-->
    
  3. 在命令提示符下,键入以下命令以将外部密钥导入为 FIPS 密钥并验证设置:

    import ssl fipsKey <fipsKeyName> -key <string> -informPEM
    show ssl fipskey<fipsKeyName>
    <!--NeedCopy-->
    

示例:

convert ssl pkcs12 iis.pem -password 123456 -import -pkcs12File iis.pfx

import fipskey Key-FIPS-2 -key iis.pem -inform PEM

show ssl fipskey key-FIPS-2

FIPS Key Name: Key-FIPS-2 Modulus: 0   Public Exponent: F4 (Hex value 0x10001)
<!--NeedCopy-->

通过使用 GUI 将外部密钥作为 FIPS 密钥导入到 MPX 9700/10500/12500/15500 FIPS 设备

  1. 如果密钥是 .pfx 格式,则必须先将其转换为 PEM 格式。

    1. 导航到流量管理 > SSL
    2. 在详细信息窗格的工具下,单击 导入 PKCS #12
    3. 在“导入 PKCS12 文件”对话框中,设置以下参数:
      • 输出文件名*
      • PKCS12 文件名* — 指定 .pfx 文件名。
      • 导入密码*
      • 编码格式 * 必填参数
  2. 导航到 流量管理 > SSL > FIPS

  3. 在详细信息窗格的 FIPS 密钥选项卡上,单击 导入

  4. 在“导入为 FIPS 键”对话框中,选择 PEM 文件,并为以下参数设置值:

    • FIPS 密钥名称*
    • 密钥文件名称* — 要将文件放在默认位置以外的位置,您可以指定完整路径或单击“浏览”并导航到某个位置。

    *必需的参数

  5. 单击 Import(导入),然后单击 Close(关闭)。

  6. 在 FIPS 密钥选项卡上,验证为导入的 FIPS 密钥显示的设置是否正确。

MPX 9700/10500/12500/15500 FIPS 设备