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设备不使用固件版本2.2。在MPX 9700 平台的硬件安全模块 (HSM) 上创建的 FIPS 密钥不能传输到 MPX 14000 平台的 HSM。另一种方式也不受支持。但是,如果您已将 RSA 密钥作为 FIPS 密钥导入,则可以将 RSA 密钥复制到 MPX 14000 平台。然后将其作为 FIPS 密钥导入。只支持 2048 位和 3072 位密钥。

  • MPX 14000 FIPS或SDX 14000 FIPS平台不支持Citrix ADC下载页面中“Citrix ADC版本12.1-FIPS”和“Citrix ADC版本12.1-ndCPP”下列出的固件版本。这些平台可以使用下载页面上提供的其他最新Citrix ADC固件版本。

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批准的算法和密码

有关在ha设置中配置fips装置的信息,请参阅在ha设置中在设备上配置fips

限制

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

配置HSM

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

在命令提示符下,键入:

未配置fips卡

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

初始化fips卡

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

重要

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

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

  1. 重置fips卡(重置fips)。
  2. 重新启动设备 (重新启动)。
  3. 为分区 0 和 1 设置安全管理人员密码,为分区设置用户密码 (set fips -initHSM Level-2 -hsmLabel NSFIPS)。

    注意:设置或reset命令需要60秒以上的时间才能运行。

  4. 保存配置 (saveconfig)。
  5. 验证主分区(master_pek.key)的密码加密密钥是否已在/ nsconfig / fips /目录中创建。
  6. 重新启动设备 (重新启动)。
  7. 验证默认分区(default_pek.key)的密码加密密钥是否已在/ nsconfig / fips /目录中创建。
  8. 重新启动设备 (重新启动)。
  9. 验证fips卡是否已启用(显示fips)。

使用cli初始化fips卡

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

警告:此命令将擦除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 

创建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。

使用cli创建fips密钥

在命令提示符下,键入:

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

示例 1:

create fipsKey f1 -keytype RSA -modulus 2048 -exponent F4 show ssl fipsKey f1 FIPS密钥名称:f1密钥类型:RSA模量:2048公共指数:F4(十六进制:0x10001) 

示例 2:

> create fipskey f2 -keytype ECDSA -curve P_256 > sh fipskey f2 FIPS密钥名称:f2密钥类型:ECDSA曲线:P_256 

通过使用GUI创建fips密钥

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

    • Fips键名* - Fips密钥名称
    • 模数* -模量
    • 指数* -指数

    *必需的参数

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

导入fips密钥

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

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

使用cli导入fips密钥

在命令提示符下,键入:

import ssl fipsKey  -key  [-inform ] [-wrapKeyName ] [-iv] -exponent F4] 

示例:

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

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

1) FIPS密钥名称:Key-FIPS-2 

通过使用GUI导入fips密钥

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

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

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

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

    *必需的参数

  4. 单击进口(导入),然后单击关闭(关闭)。

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

导出fips密钥

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

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

以下过程提供了有关将FIPS密钥导出到设备CompactFlash上的/ 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密钥选项卡上,单击导出

  3. 在"将fips密钥导出到文件"对话框中,为以下参数指定值:

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

    *必需的参数

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

导入外部密钥

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

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

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

你不需要在MPX 14000 fips设备上使用包装键。

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

openssl rsa -in  >  < !——NeedCopy >

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

使用cli将外部密钥作为fips密钥导入

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

    convert ssl pkcs12 <输出文件> -import -pkcs12File <输入。pfx文件> -password <密码> 
  3. 在命令提示符下,键入以下命令以将外部密钥导入为fips密钥并验证设置:

    import ssl fipsKey  -key  -informPEM show ssl fipsKey  

示例:

转换SSL pkcs12 iis。iis. pem -password 123456 -import -pkcs12Fileii . pfx import fipskey Key-FIPS-2 -keypem -inform pem show ssl fipskey Key-FIPS-2 FIPS密钥名称:Key-FIPS-2模量:0公共指数:F4(十六进制值0x10001) 

使用GUI导入外部密钥作为fips密钥

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

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

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

  4. 在"作为fips密钥导入"对话框中,选择pem文件,然后为以下参数设置值:

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

    *必需的参数

  5. 单击进口(导入),然后单击关闭(关闭)。

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

在ha设置中在设备上配置fips

您可以将一个ha对中的两个装置配置为fips装置。

必备条件

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

注意:

Citrix建议您对此过程使用配置实用程序(GUI)。如果您使用命令行(cli),请确保仔细遵循过程中列出的步骤。更改步骤顺序或指定错误的输入文件可能会导致不一致,需要重新启动设备。此外,如果使用cli,则该创建SSL fipskey命令不会传播到辅助节点。在两个不同的 FIPS 设备上使用相同的模数大小和指数输入值运行命令时,生成的密钥将不相同。在其中一个节点上创建 FIPS 密钥,然后将其传输到另一个节点。但是,如果使用配置实用程序在 HA 设置中配置 FIPS 设备,则创建的 FIPS 密钥将自动传输到辅助节点。管理和传输 FIPS 密钥的过程称为安全信息管理 (SIM)。

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

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

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

在以下过程中,设备a是主节点,设备b是辅助节点。

使用cli在ha设置中的设备上配置fips

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

图 1.转移fips密钥摘要

模拟流程详细信息

  1. 在设备a上、使用SSH客户端(如PuTTY)打开与设备的SSH连接。

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

  3. 将设备a初始化为源设备。在命令提示符下,键入:

    init ssl fipsSIMsource  

    示例:

    init fipsSIMsource /nsconfig/ssl/nodeA.cert . init

  4. 将此< certFile >文件复制到/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    

    示例:

    初始化fipsSIMtarget /nsconfig/ssl/nodeA. initcert / nsconfig / ssl / nodeB。键/ nsconfig / ssl / nodeB.secret

  8. 将此< targetSecret >文件复制到装置a。

    示例:

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

  9. 在设备a上,启用设备一个作为源设备。在命令提示符下,键入:

    启用ssl fipsSIMSource   

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

  10. 将此< sourceSecret >文件复制到装置b。

    示例:scp / nsconfig / ssl / fipslbdal0801b。秘密nsroot@198.51.100.10: / nsconfig / ssl

  11. 在设备b上,启用装置b作为目标设备。在命令提示符下,键入:

    启用ssl fipsSIMtarget   

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

  12. 设备a上,创建fips密钥,如创建fips密钥中所述。

  13. 如导出fips密钥中所述,将Fips密钥导出到设备的硬盘。

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

  15. 装置b上,将fips密钥从硬盘导入设备的hsm,如导入fips密钥中所述。

使用GUI在ha设置中的装置上配置fips

  1. 在要配置为源(主)设备的设备上,导航到”流量管理" > " ssl " > " fips”。
  2. 在详细信息窗格的fips信息选项卡上,单击启用sim卡。
  3. 在“为HA Pair启用SIM卡"对话框的”证书文件名文本框中,键入文件名。文件名必须包含fips证书必须存储在源设备上的位置的路径。
  4. 在关键矢量文件名文本框中,键入文件名。文件名必须包含fips密钥矢量必须存储在源设备上的位置的路径。
  5. 目标密钥文件名文本框中,键入用于在目标设备上存储机密数据的位置。
  6. 源密钥文件名文本框中,键入用于在源设备上存储密钥数据的位置。
  7. 辅助系统登录凭据下,输入用户名密码的值。
  8. 单击确定。Fips设备现在配置为ha模式。

注意:在ha中配置设备后,请创建fips密钥,如创建fips密钥中所述。Fips密钥会自动从主设备传输到辅助设备。

使用cli创建证书签名请求

在命令提示符下,键入:

create ssl certReq  (-keyFile  | -fipsKeyName ) [-keyform (DER | PEM) {- pemassphrase}] -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 Done 

使用cli创建服务器证书

在命令提示符下,键入:

create ssl cert    [-keyFile ][-keyform (DER | PEM) {- pemassphrase}] [-days ] [-certForm (DER | PEM)] [-CAcert ][-CAcertForm (DER | PEM)] [-CAkey ][-CAkeyForm (DER | PEM)] [- cas埃里] 

示例:

创建证书f1。cert f1。req SRVR_CERT -CAcert ns-root。cert -CAkey n -root。key - casial ns-root。srl -days 1000 Done 

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

使用cli添加证书密钥对

在命令提示符下,键入:

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. 更新文/ nsconfig /许可证件夹中的许可证。
  2. 重新启动设备。
  3. 登录到设备。
  4. 再次重新启动设备。注意:在第二次重启之前,请勿添加新命令、保存配置或检查系统状态。
  5. 登录设备并确保通过运行显示SSL fips命令初始化fips。

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

注意:

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

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

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

注意:

  • 默认情况下,混合FIPS模式处于禁用状态,以满足严格的认证要求,其中所有加密货币计算都必须在FIPS认证的模块内完成。启用混合模式将批量加密和解密卸载到辅助卡。

  • 在对有关14000年FIPS平台上,必须先为VPX实例分配SSL芯片,然后才能启用混合模式。

使用cli启用混合fips模式

在命令提示符下,键入:

参数hybridFIPSMode当启用该模式时,系统将使用额外的加密硬件来加速对称加密操作。取值范围:ENABLED、DISABLED默认值:DISABLED 

示例:

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

使用GUI启用混合fips模式

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

局限性:

  1. 不支持重新协商。

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

stat ssl ssl Summary # ssl卡当前1 # ssl卡UP 1 #二级ssl卡当前4 #二级ssl卡UP 4 ssl引擎状态1 ssl会话(Rate) 963二级卡使用率(%)0.00