Citrix ADC

MPX 14000 FIPS电器

重要的是:

  • MPX 9700/10500/12500/15500 FIPS平台已经使用寿命结束。

  • NetScaler MPX 14000 FIPS和NetScaler MPX 9700/10500/12500/15500 FIPS设备的配置步骤是不同的。MPX 14000 FIPS设备不使用固件v2.2。在MPX 9700平台的HSM (Hardware Security Module)上创建的FIPS密钥无法传输到MPX 14000平台的HSM上。反过来也不支持。但是,如果您已将RSA密钥作为FIPS密钥导入,则可以将RSA密钥复制到MPX 14000平台。然后将其作为FIPS密钥导入。仅支持2048位和3072位密钥。

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

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

有关支持的FIPS密码的信息,请参见FIPS批准的算法和密码

有关在HA设置中配置FIPS设备的信息,请参阅在HA设置中的设备上配置FIPS

局限性

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

配置HSM

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

在命令提示符处,输入:

show fips Card is not configured 

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

初始化FIPS卡

为了正确初始化FIPS卡,设备必须重新启动三次。

重要的

  • 验证/ nsconfig fips已在设备上成功创建目录。
  • 在第三次重启设备之前,不要保存配置。

初始化FIPS卡的步骤如下:

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

    注意:set或reset命令执行时间超过60秒。

  4. 保存配置。
  5. 文件中已创建主分区(master_pek.key)的密码加密密钥/ nsconfig / fips /目录中。
  6. 重新启动设备。
  7. 文件中已创建默认分区(default_pek.key)的密码加密密钥/ nsconfig / fips /目录中。
  8. 重新启动设备。
  9. 检查FIPS卡状态是否为UP。

使用CLI初始化FIPS卡

设置fips命令初始化FIPS卡上的HSM (Hardware Security Module),并设置新的安全官员密码和用户密码。

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

在命令提示符处,输入以下命令:

reset fips reboot set fips -initHSM Level-2 so12345 so12345 user123 -hsmLabel NSFIPS该命令将擦除fips卡上的所有数据。执行该命令后,必须保存配置(saveconfig)。(Y/N) Y 

注意:运行时将出现以下消息设置fips命令:

此命令将擦除FIPS卡上的所有数据。执行该命令后,必须保存配置(saveconfig)。在MPX /有关14日【注:xxx FIPS平台,FIPS安全默认是3级,和-initHSM所二级选项是在内部转换为三级)你想要继续吗? (Y / N) Y saveconfig重启重启显示FIPS FIPS HSM信息:HSM标签:NetScaler FIPS初始化:FIPS 140 - 2三级HSM编号:3.1 g1836-icm000136 HSM状态:2 HSM模型:NITROX-III CNN35XX-NFBE硬件版本:0.0 g固件版本:1.0固件构建:nfbe -弗兰克-威廉姆斯- 1.0 - 48马克斯FIPS关键内存:102235免费FIPS关键内存:102231总SRAM内存:557396免费SRAM内存:262780总加密芯:63启用加密芯:63 < !——NeedCopy >

创建FIPS密钥

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

指定密钥类型(RSA或ECDSA)。对于ECDSA密钥,只指定曲线。支持使用曲线P_256和P_384创建ECDSA密钥。

注意:

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

通过命令行创建FIPS密钥

在命令提示符处,输入:

创建ssl fipsKey  -keytype (RSA | ECDSA) [-expone (3 | F4)] [-modulus ] [-curve (P_256 | P_384)] 

例二:

create fipsKey f1 -keytype RSA -modulus 2048 -exponent F4 show ssl fipsKey f1 FIPS Key Name: f1 Key Type: RSA Modulus: 2048 Public Exponent: F4 (Hex: 0x10001) 

Example2:

> create fipskey f2 -keytype ECDSA -curve P_256 > sh fipskey f2 FIPS Key Name: f2 Key Type: ECDSA Curve: P_256 

通过使用GUI创建FIPS密钥

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

    • * -fipsKeyName FIPS关键的名字
    • 模量*模量
    • 指数*指数

    *需要参数

  4. 点击创造,然后单击关闭
  5. 在FIPS Keys选项卡上,验证为您创建的FIPS键显示的设置是否正确。

导入FIPS密钥

要在FIPS设备中使用现有的FIPS密钥,需要将FIPS密钥从设备的硬盘转移到其HSM中。

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

该任务指导管理员通过命令行导入FIPS密钥

在命令提示符处,输入:

import ssl fipsKey  -key  [-inform ] [-wrapKeyName ] [-iv] - exponf4] 

例子:

import fipskey Key-FIPS-2 -key Key-FIPS-2。key -inform SIM -exponent F4 import fipskey key - fips -2 -key key - fips -2。key -inform PEM 

文件,验证FIPS密钥是否已正确创建或导入显示fipskey命令。

显示FIPS密钥1)FIPS密钥名称:密钥-FIPS-2<--需要复制-->

使用GUI导入FIPS键

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

  2. 在详细信息窗格中,在FIPS Keys选项卡上单击进口

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

    • FIPS键名*
    • 密钥文件名* -若要将文件放在默认位置以外的位置,请指定完整路径或单击浏览并导航到一个位置。
    • 指数*

    *需要参数

  4. 点击进口,然后单击关闭

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

导出FIPS密钥

Citrix建议您对FIPS HSM中创建的任何密钥创建备份。如果删除了HSM中的密钥,则不能再次创建相同的密钥,并且与之关联的所有证书都将变得无用。

除了导出密钥作为备份外,您可能还需要导出密钥以传输到另一个设备。

下面的过程提供了将FIPS密钥导出到/ nsconfig / ssl文件夹,并使用强非对称密钥加密方法来保护导出的密钥。

使用CLI导出FIPS密钥

在命令提示符处,输入:

export ssl fipsKey  -key  

例子:

export fipskey Key-FIPS-1 -key Key-FIPS-1。关键< !——NeedCopy >

使用GUI导出FIPS密钥

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

  2. 在详细信息窗格中,在FIPS Keys选项卡上单击出口

  3. 在“Export FIPS key to a file”对话框中,指定以下参数值:

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

    *需要参数

  4. 点击出口,然后单击关闭

导入外部键

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

在MPX 14000 FIPS设备上进口ssl fipskey导入外部密钥时不需要命令。导入密钥时会自动检测到正确的公共指数,并且忽略-exponent参数的值。

Citrix ADC FIPS设备不支持公共指数为3或F4以外的外部键。

在MPX 14000 FIPS设备上不需要缠绕键。

不能直接将外部加密的FIPS密钥导入MPX 14000 FIPS设备。要导入密钥,您需要首先解密密钥,然后导入它。要解密密钥,在shell提示符下,输入:

openssl rsa -in  > < DecryptedKey。> < !——NeedCopy >

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

通过命令行导入外部密钥作为FIPS密钥

  1. 把外置钥匙复制到设备的优盘上。
  2. 如果密钥为。pfx格式,必须先将其转换为PEM格式。在命令提示符处,输入:

    convert ssl pkcs12  -import -pkcs12File  -password  
  3. 在命令提示符处,输入以下命令将外部密钥导入为FIPS密钥,并验证设置:

    import ssl fipsKey  -key  -informPEM show ssl fipsKey  

例子:

转换ssl pkcs12 iis.pem-密码123456-导入-pkcs12文件iis.pfx导入fipskey Key-FIPS-2-Key iis.pem-通知pem显示ssl fipskey-FIPS-2 FIPS密钥名称:Key-FIPS-2模数:0公共指数:F4(十六进制值0x10001)<--需要复制-->

使用GUI导入外部键作为FIPS键

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

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

  3. 在详细信息窗格中,在FIPS Keys选项卡上单击进口

  4. 在“作为FIPS密钥导入”对话框中,选择PEM文件,然后设置以下参数的值:

    • FIPS键名*
    • 密钥文件名* -将文件放在默认位置以外的位置,您可以指定完整的路径或单击Browse并导航到一个位置。

    *需要参数

  5. 点击进口,然后单击关闭

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

在HA设置中的设备上配置FIPS

可以将HA对中的两个设备配置为FIPS设备。

先决条件

  • 必须在两个设备上配置硬件安全模块(HSM)。有关更多信息,请参见配置HSM
  • 在使用GUI时,确保设备已经处于HA设置中。有关配置HA设置的详细信息,请参见高可用性

注意:

Citrix建议您对这个过程使用配置实用程序(GUI)。如果使用命令行,请务必按照操作步骤进行操作。更改步骤顺序或指定不正确的输入文件可能会导致不一致,需要重新启动设备。另外,如果使用CLI命令行,则创建ssl fipskey命令不会传播到辅助节点。在两个不同的FIPS设备上使用模量大小和指数的相同输入值运行命令时,生成的键并不相同。在其中一个节点上创建FIPS键,然后将其传输到另一个节点。但是,如果使用配置实用程序在HA设置中配置FIPS设备,则创建的FIPS密钥将自动转移到辅助节点。管理和传输FIPS密钥的过程称为安全信息管理(SIM)。

重要的是:HA设置必须在6分钟内完成。如果该过程在任何步骤失败,请执行以下操作:

  1. 重启设备或等待10分钟。
  2. 删除由过程创建的所有文件。
  3. 重复HA设置过程。

不要重复使用现有的文件名。

在下面的过程中,设备A是主节点,设备B是辅助节点。

使用CLI在HA设置中的设备上配置FIP

下图总结了CLI上的传输过程。

图1所示。转移FIPS密钥摘要

SIM过程详细信息

  1. 在设备,使用SSH客户端(如PuTTY)打开到设备的SSH连接。

  2. 使用管理员凭据登录到设备。

  3. 将设备A初始化为源设备。在命令提示符处,输入:

    init ssl fipsSIMsource  

    例子:

    init fipsSIMsource/nsconfig/ssl/nodeA.cert

  4. 复制这个文件到设备B,在/nconfig/ssl文件夹。

    例子:

    scp / nsconfig / ssl / nodeA。cert nsroot@198.51.100.10: / nsconfig / ssl

  5. 在设备B,使用SSH客户端(如PuTTY)打开到设备的SSH连接。

  6. 使用管理员凭据登录到设备。

  7. 将设备B初始化为目标设备。在命令提示符处,输入:

    init ssl fipsSIMtarget    

    例子:

    init fipsSIMtarget / nsconfig / ssl / nodeA。cert / nsconfig / ssl / nodeB。键/ nsconfig / ssl / nodeB.secret

  8. 复制这个< targetSecret >A.文件;

    例子:

    scp / nsconfig / ssl / fipslbdal0801b。秘密nsroot@198.51.100.20: / nsconfig / ssl

  9. 在设备,启用设备A作为源设备。在命令提示符处,输入:

    enable ssl fipsSIMSource   

    例子:启用fipsSIMsource / nsconfig / ssl / nodeB。秘密/ nsconfig / ssl / nodeA.secret

  10. 复制这个< sourceSecret >文件到设备B。

    例子:scp/nsconfig/ssl/fipslbdal0801b.secretnsroot@198.51.100.10:/nsconfig/ssl

  11. 在设备B,启用设备B作为目标设备。在命令提示符处,输入:

    启用ssl fipsSIMtarget   

    例子:启用fipsSIMtarget / nsconfig / ssl / nodeB。键/ nsconfig / ssl / nodeA.secret

  12. 在设备,创建FIPS密钥,如创建FIPS密钥

  13. 将FIPS密钥导出到设备的硬盘,请参见导出FIPS密钥

  14. 使用安全文件传输实用程序(如SCP)将FIPS密钥复制到辅助设备的硬盘上。

  15. 在设备B,将FIPS密钥从硬盘导入到设备的HSM中,请参见导入FIPS密钥

使用GUI在HA设置中的设备上配置FIP

  1. 在要配置为源(主)设备的设备上,导航到流量管理> SSL > FIPS
  2. 在详细信息窗格中,在FIPS Info选项卡上,单击使SIM
  3. 启用SIM for HA Pair对话框中证书文件名文本框,键入文件名。文件名必须包含FIPS证书必须存储在源设备上的位置的路径。
  4. 关键矢量文件名称文本框,键入文件名。文件名必须包含FIPS密钥向量必须存储在源设备上的位置的路径。
  5. 目标秘密文件名称文本框中,键入在目标设备上存储机密数据的位置。
  6. 源秘密文件名文本框中,键入用于在源设备上存储秘密数据的位置。
  7. 二级系统登录凭据,输入值用户名密码
  8. 点击好啊.FIPS设备现在配置为HA模式。

注意:在HA中配置设备后,创建FIPS密钥,如中所述创建FIPS密钥.FIPS密钥将自动从主设备传输到辅助设备。

通过CLI创建证书签名请求

在命令提示符处,输入:

创建ssl certReq  (-keyFile  | -fipsKeyName ) [-keyform (DER | PEM) {- pemempassphrase}] -countryName  -stateName  -organizationName [-organizationUnitName ] [-localityName ] [-commonName ] [-emailAddress ] {-challengePassword} [-companyName ][-digestMethod (SHA1 | SHA256)] 

例子:

>创建certreq f1。req -fipsKeyName f1 -countryName US -stateName CA -organizationName Citrix -companyName Citrix -commonName ctx -emailAddress test@example.com完成

使用CLI命令制作服务器证书

在命令提示符处,输入:

创建ssl证书< certFile > < reqFile > < certType >[密钥文件< input_filename >] [-keyform (DER | PEM) {-PEMPassPhrase}][天< positive_integer >] [-certForm (DER | PEM)] [-CAcert < input_filename >] [-CAcertForm (DER | PEM)][凝固了的< input_filename >] [-CAkeyForm (DER | PEM)] [-CAserial < output_filename >) < !——NeedCopy >

例子:

创建cert f1。cert f1。req SRVR_CERT -CAcert ns-root。cert凝固了的ns-root。关键-CAserial ns-root。srl -days 1000完成

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

2 .通过命令行添加证书密钥对

在命令提示符处,输入:

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

例子:

添加certkey cert1 -cert f1。cert -fipsKey f1 

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

enable ns feature SSL LB add server s1 10.217.2.5 add service sr1 s1 HTTP 80 add LB vserver v1 SSL 10.217.2.172 443 bind SSL vserver v1 -certkeyName cert1 bind LB vserver v1 sr1 saveconfig 

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

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

有关配置安全RPC的信息,请单击首次配置FIPS

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

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

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

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

注意:

此功能仅支持新MPX/SDX 14000 FIPS平台,包含一个主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启用此模式后,系统将使用额外的加密硬件来加速对称加密操作。默认值:DISABLED 

例子:

set SSL parameter -hybridFIPSMode ENABLED show SSL参数高级SSL参数----------------------- . . . . . . . . . . . .Hybrid FIPS模式:ENABLED . . . . . . . . . . . .<!——NeedCopy >

使用GUI启用混合FIPS模式

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

限制:

  1. 不支持重新协商。

  2. stat ssl参数命令不能显示正确的辅助卡使用率百分比。它总是显示0.00%的利用率。

统计ssl ssl摘要#ssl卡显示1#ssl卡增加1#辅助ssl卡显示4#辅助ssl卡增加4个ssl引擎状态1 ssl会话(速率)963辅助卡利用率(%)0.00<--需要复制-->