MPX 14000 FIPS 设备

重要:

Citrix ADC MPX 14000 FIPS 和 Citrix ADC MPX 9700/10500/12500/15500 FIPS 设备的配置步骤是不同的。

FIPS 设备配备了防篡改加密模块 Cavium CNN3560-NFBE-G,设计符合 FIPS 140-2 级 3 规范(自版本 12.0 内部版本 56.x 起)。关键安全参数 (CSP)(主要是服务器的私钥)安全地存储和生成在加密模块(也称为硬件安全模块 (HSM))中。CSP 永远不会在 HSM 边界之外访问。只有超级用户 (nsroot) 可以对存储在 HSM 中的密钥执行操作。

在配置 FIPS 设备之前,必须检查 FIPS 卡的状态,然后初始化卡。创建 FIPS 密钥和服务器证书,并添加任何其他 SSL 配置。

有关支持的 FIPS 密码的信息,请参阅FIPS 认可的算法和密码

有关在高可用性设置中配置 FIPS 设备的信息,请参阅在高可用性设置中配置 FIPS 设备

限制

  1. MPX FIPS 设备的后端不支持使用 SSLv3 协议进行 SSL 重新协商。
  2. 不支持 1024 位和 4096 位密钥以及指数值 3。
  3. 不支持 4096 位服务器证书。
  4. 不支持 4096 位客户端证书(如果在后端服务器上启用了客户端身份验证)。

配置 HSM

在 MPX 14000 FIPS 设备上配置 HSM 之前,请检查 FIPS 卡的状态以验证驱动程序是否正确加载。然后初始化卡。

在命令提示窗口中,键入:

show fips

FIPS Card is not configured
Done

如果驱动程序未正确加载,则显示消息“错误:不允许操作-系统中没有 FIPS 卡”。

初始化 FIPS 卡

必须重新启动设备三次才能正确初始化 FIPS 卡。

重要

  • 验证是否已在设备上成功创建 /nsconfig/fips 目录。
  • 在第三次重新启动设备之前,请勿保存配置。

执行以下步骤初始化 FIPS 卡:

  1. 重置 FIPS 卡。
  2. 重新启动设备。
  3. 为分区 0 和 1 设置安全官员密码,为分区设置用户密码

    注意:设置或重置命令运行时间超过 60 秒。

  4. 保存配置。
  5. 验证是否已在 /nsconfig/fips/ 目录中创建了主分区 (master_pek.key) 的密码加密密钥。
  6. 重新启动设备。
  7. 验证默认分区(默认分区)的密码加密密钥是否已在 /nsconfig/fips/ 目录中创建。
  8. 重新启动设备。
  9. 验证 FIPS 卡是否处于上升状态。

使用 CLI 初始化 FIPS 卡

set fips 命令初始化 FIPS 卡上的硬件安全模块 (HSM),并设置新的安全官员密码和用户密码。

警告: 此命令会擦除 FIPS 卡上的所有数据。继续执行命令之前,系统会提示您。执行此命令之前和之后需要重新启动才能应用更改。在执行此命令后和重新启动设备之前保存配置。

在命令提示符下,键入以下命令:

reset fips
 Done

reboot

set fips -initHSM Level-2 so12345 so12345 user123 -hsmLabel NSFIPS

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

注意:运行set fips命令时将显示以下消息:

This command will erase all data on the FIPS card. You must save the configuration (saveconfig) after executing this command. [Note: On MPX/SDX 14xxx FIPS platform, the FIPS security is at Level-3 by default, and the -initHSM Level-2 option is internally converted to Level-3]  Do you want to continue?(Y/N)y

saveconfig
Done

reboot

reboot

show fips

        FIPS HSM Info:
                 HSM Label              : NetScaler FIPS
                 Initialization         : FIPS-140-2 Level-3
                 HSM Serial Number      : 3.1G1836-ICM000136
                 HSM State              : 2
                 HSM Model              : NITROX-III CNN35XX-NFBE
                 Hardware Version       : 0.0-G
                 Firmware Version       : 1.0
                 Firmware Build         : NFBE-FW-1.0-48
                 Max FIPS Key Memory    : 102235
                 Free FIPS Key Memory   : 102231
                 Total SRAM Memory      : 557396
                 Free SRAM Memory       : 262780
                 Total Crypto Cores     : 63
                 Enabled Crypto Cores   : 63
 Done

创建 FIPS 密钥

您可以在 MPX 14000 FIPS 设备上创建 FIPS 密钥,或将现有 FIPS 密钥导入设备。MPX 14000 FIPS 设备仅支持 2048 位和 3072 位密钥,并且指数值为 F4(其值为 65537)。对于 PEM 键,不需要指数。验证 FIPS 密钥是否已正确创建。创建证书签名请求和服务器证书。最后,将证书密钥对添加到您的设备。

指定密钥类型(RSA 或 ECDSA)。对于 ECDSA 键,请仅指定曲线。

注意

不支持 1024 位和 4096 位密钥以及指数值 3。

使用 CLI 创建 FIPS 密钥

在命令提示窗口中,键入:

create ssl fipsKey <fipsKeyName> -keytype ( RSA | ECDSA ) [-exponent ( 3 | F4 )] [-modulus <positive_integer>] [-curve ( P_256 | P_384 )]

示例 1:

create fipsKey f1 -keytype RSA -modulus 2048 -exponent F4
Done

show ssl fipskey f1

FIPS Key Name: f1  Key Type: RSA Modulus: 2048   Public Exponent: F4 (Hex: 0x10001)
Done

示例 2:

> create fipskey f2 -keytype ECDSA -curve P_256
 Done

> sh fipskey f2
    FIPS Key Name: f2   Key Type: ECDSA Curve: P_256
 Done

使用 CLI 导入 FIPS 密钥

在命令提示窗口中,键入:

import ssl fipsKey <fipsKeyName> -key <string> [-inform <inform>] [-wrapKeyName <string>] [-iv<string>] -exponent  F4 ]

示例:

import fipskey Key-FIPS-2 -key Key-FIPS-2.key -inform SIM -exponent F4
Done

import fipskey Key-FIPS-2 -key Key-FIPS-2.key -inform PEM
Done

通过运行show fipskey 命令验证 FIPS 密钥是否已正确创建或导入。

show fipskey
1)      FIPS Key Name: Key-FIPS-2
Done

使用 CLI 创建证书签名请求

在命令提示窗口中,键入:

create ssl certReq <reqFile> (-keyFile <input_filename> | -fipsKeyName <string>) [-keyform ( DER | PEM )  {-PEMPassPhrase }] -countryName <string> -stateName <string> -organizationName<string> [-organizationUnitName <string>] [-localityName <string>] [-commonName <string>] [-emailAddress <string>] {-challengePassword } [-companyName <string>] [-digestMethod ( SHA1 | SHA256 )]

示例:

>create certreq f1.req –fipsKeyName  f1 -countryName US  -stateName CA -organizationName Citrix -companyName Citrix -commonName ctx -emailAddress test@example.com
Done

使用 CLI 创建服务器证书

在命令提示窗口中,键入:

create ssl cert <certFile> <reqFile> <certType> [-keyFile <input_filename>] [-keyform ( DER | PEM ) {-PEMPassPhrase }] [-days <positive_integer>] [-certForm ( DER | PEM )] [-CAcert <input_filename>] [-CAcertForm ( DER | PEM )] [-CAkey <input_filename>][-CAkeyForm ( DER | PEM )] [-CAserial <output_filename>]

示例:

create cert f1.cert f1.req SRVR_CERT -CAcert ns-root.cert -CAkey ns-root.key -CAserial ns-root.srl -days 1000
Done

上述示例使用设备上的本地根 CA 创建服务器证书。

使用 CLI 添加证书密钥对

在命令提示窗口中,键入:

add ssl certKey <certkeyName> (-cert <string> [-password]) [-key <string> | -fipsKey <string> | -hsmKey <string>] [-inform <inform>][-expiryMonitor ( ENABLED | DISABLED ) [-notificationPeriod <positive_integer>]] [-bundle ( YES | NO )]

示例:

add certkey cert1 -cert f1.cert -fipsKey f1
Done

创建 FIPS 密钥和服务器证书后,您可以添加通用 SSL 配置。启用部署所需的功能。添加服务器、服务和 SSL 虚拟服务器。将证书密钥对和服务绑定到 SSL 虚拟服务器。保存配置。

enable ns feature SSL LB
Done

add server s1 10.217.2.5
Done

add service sr1 s1 HTTP 80
Done

add lb vserver v1 SSL 10.217.2.172 443
Done

bind ssl vserver v1 –certkeyName cert1
Done

bind lb vserver v1 sr1
Done

 saveconfig
Done

MPX 14000 FIPS 设备的基本配置现已完成。

有关配置安全 HTTPS 的信息,请单击此处

有关配置安全 RPC 的信息,请单击此处

更新 MPX 14000 FIPS 设备上的许可证

在此平台上对许可证的任何更新都需要重新启动两次。

  1. 更新/nsconfig/license 文件夹中的许可证。
  2. 重新启动设备。
  3. 登录到设备。
  4. 重新启动设备。 注意: 不要在第二次重新启动之前添加新命令、保存配置或检查系统状态。
  5. 登录到设备并确保通过运行show ssl fips 命令初始化 FIPS。

在 MPX 14000 FIPS 和 SDX 14000 FIPS 平台上支持混合 FIPS 模式

注意:

此功能仅在包含一个主 FIPS 卡和一个或多个辅助卡的新 MPX/SDX 14000 FIPS 平台上支持。VPX 平台或仅包含一种硬件卡的平台不支持此功能。

在 FIPS 平台上,出于安全原因,在 FIPS 卡上执行加密和解密(非对称和对称)。但是,您可以在 FIPS 卡上执行此活动的一部分(非对称),并将批量加密和解密(对称)卸载到另一张卡,而不会影响密钥的安全性。

新的 MPX/SDX 14000 FIPS 平台包含一个主卡和一个或多个辅助卡。如果启用混合 FIPS 模式,则主卡上运行预主机密解密命令,因为私钥存储在此卡上。但是,批量加密和解密将卸载到辅助卡。与非混合 FIPS 模式和现有的 MPX 9700/10500/12500/15000 FIPS 平台相比,这种卸载显著提高了 MPX/SDX 14000 FIPS 平台上的批量加密吞吐量。启用混合 FIPS 模式还可提高此平台上每秒 SSL 事务的速度。

注意:

  • 混合 FIPS 模式默认被禁用,以满足严格的认证要求,即所有加密计算都必须在 FIPS 认证的模块内完成。启用混合模式以将批量加密和解密卸载到辅助卡。

  • 在 SDX 14000 FIPS 平台上,您必须先向 VPX 实例分配 SSL 芯片,然后才能启用混合模式。

使用 CLI 启用混合 FIPS 模式

在命令提示窗口中,键入:

set SSL parameter -hybridFIPSMode {ENABLED|DISABLED}

Arguments

hybridFIPSMode

When this mode is enabled, system will use additional crypto hardware to accelerate symmetric crypto operations.

Possible values: ENABLED, DISABLED

Default value: DISABLED

示例:

    set SSL parameter -hybridFIPSMode ENABLED
    show SSL parameter
    Advanced SSL Parameters
    -----------------------
    . . . . . . . . . . . .
    Hybrid FIPS Mode    : ENABLED
    . . . . . . . . . . . .
    Done

通过使用 GUI 启用混合 FIPS 模式

  1. 导航到 流量管理 > SSL
  2. 在详细信息窗格的“设置”下,单击“更改高级 SSL 设置”。
  3. 在“更改高级 SSL 设置”对话框中,选择“混合 FIPS 模式”。

限制:

  1. 不支持重新协商。

  2. SDX 14000 平台上的stat ssl parameter 命令不显示正确的辅助卡利用率百分比。它始终显示 0.00% 的利用率。

stat ssl

SSL Summary
# SSL cards present 1
# SSL cards UP  1
# Secondary SSL cards present   4
# Secondary SSL cards UP    4
SSL engine status      1
SSL sessions (Rate)     963
Secondary card utilization (%)     0.00