Citrix ADC

配置ADC集成

下面的流程图描述了使用委托HSM与Citrix ADC需要执行的任务:

流程图

如前面的流程图所示,您可以执行以下任务:

  1. 在HSM上启用远程配置推送。
  2. 配置ADC使用“trust HSM”。
    • 在HSM上添加NSIP地址。
    • 配置RFS上ADC的访问权限。
    • 配置自动开始Hardserver在启动时。
    • 在ADC上注册HSM。
    • 添加在ADC RFS细节。
    • 同步ADC到RFS。
    • 验证“委托HSM”已成功注册ADC。
  3. (可选)创建HSM RSA密钥。
  4. 在Citrix ADC上配置实体。
    • 添加HSM关键。
    • 使用HSM密钥添加证书密钥对。
    • 添加虚拟服务器。
    • 添加服务器对象。
    • 添加一个服务。
    • 将服务绑定到虚拟服务器。
    • 将证书密钥对绑定到虚拟服务器。
    • 验证配置。

配置HSM

在trust HSM上指定RFS的IP地址,以便接受RFS推送给它的配置。使用“委托HSM”上的“nShield Connect”前面板执行以下步骤。

指定HSM上远程计算机的IP地址

  1. 导航到系统配置>配置文件选项>允许自动推送.
  2. 选择,并指定接受配置的计算机(RFS)的IP地址。

启用在HSM上推送远程配置

在trust HSM上指定RFS的IP地址,以便接受RFS推送给它的配置。使用“委托HSM”上的“nShield Connect”前面板执行以下步骤。

指定HSM上远程计算机的IP地址

  1. 导航到系统配置>配置文件选项>允许自动推送.
  2. 选择,并指定接受配置的计算机(RFS)的IP地址。

配置ADC使用“trust HSM”

本文档中使用的示例值:

NSIP地址= 10.217.2.43

委托HSM IP地址=10.217.2.112

= 10.217.2.6 RFS IP地址

在HSM上添加NSIP地址

通常使用nShield Connect前面板将客户端添加到HSM。更多信息,请参见nShield连接快速入门指南。

或者,使用RFS的ADC添加为客户端的HSM。要添加ADC,你必须在RFS的HSM配置中添加的NSIP地址,然后将配置到HSM。要推的配置,你必须知道HSM的电子序列号(ESN)。

在RFS上执行以下命令获取HSM的ESN:

根@ NS#的/ opt / nfast /斌/ anonkneti <委托HSM IP地址> <! -  NeedCopy  - >

例子:

@根NS#/选择/ nfast /斌/ anonkneti 10.217.2.112 BD17-C807-58D9 5e30a698f7bab3b2068ca90a9488dc4e6c78d822 <! -  NeedCopy  - >

ESN号为BD17-C807-58D9。

在获取ESN号后,使用vi等编辑器在RFS上编辑HSM配置文件。

VI /选择/ nfast / kmdata / HSM-BD17-C807-58D9 /配置/配置<! -  NeedCopy  - >

hs_clients部分中,添加以下条目:

#在会话密钥重新协商之前,使用会话密钥加密的数据字节数,或0表示无限。(默认= 1024 * 1024 * 8 b = 8 mb)。# datelimit =INT addr=10.217.2.43 clientperm=unpriv keyhash=000000000000000000000000000000000000 esn= timelimit=86400 datelimit =8388608 ----- 

注意:包括一个或多个连字符作为分隔符,以便在同一节中添加多个条目。

在RFS上执行以下命令,将配置推送到HSM。

/opt/nfast/bin/cfg-pushnethsm——address=<委托HSM的IP地址>——force /opt/nfast/kmdata/ HSM - bd17 - c807 - 58d9 /config/config 

例子:

/opt/nfast/bin/cfg-pushnethsm——address=10.217.2.112——force /opt/nfast/kmdata/hsm-BD17-C807-58D9/config/config 

配置RFS上ADC的访问权限

要为RFS上的ADC配置访问权限,请在RFS上运行以下命令:

/选择/ nfast /斌/ RFS-设置--force -g --write-NOAUTH  <! -  NeedCopy  - >

例子:

(root@localhost本)# / opt / nfast / bin / rfs-setup -力- g - write-noauth 10.217.2.43添加只读remote_file_system条目确保目录/ opt / nfast / kmdata /本地存在添加新的可写remote_file_system条目确保目录/ opt / nfast / kmdata /地方/ sync-store存在保存新配置文件和配置hardserver做< !——NeedCopy >

验证ADC可以通过端口9004到达两个RFS和Entrust HSM。

配置自动开始hardserver开机时

创建一个文件,然后重新启动设备。现在,无论何时重新启动设备,如果找到该文件,则Hardserver自动启动。

在shell提示下,键入:

触摸/var/opt/nfast/bin/thales_hsm_is_enrolled < !——NeedCopy >

在命令提示符处,输入:

重新启动<! -  NeedCopy  - >

在ADC上注册HSM

将目录更改为/var/opt/nfast/bin。

要将HSM详细信息添加到ADC配置中,请在ADC上运行以下命令:

nethsmenroll --force $(anonkneti

例子:

$(anonkneti 10.217.2.112) OK configure hardserver's nethsm imports 

该步骤在文件中# ntoken_esn=ESN行后增加如下表项nethsm_imports/var/opt/nfast/kmdata/config/config文件的一部分。

…local_module=0 remote_ip=10.217.2.112 remote_port=9004 remote_esn=BD17-C807-58D9 keyhash=5e30a698f7bab3b2068ca90a9488dc4e6c78d822 timelimit=86400 datelimit =8388608 privileged=0 privileged_use_high_port=0 ntoken_esn= 

将目录修改为/var/opt/nfast/bin,并在ADC上执行以下命令:

触摸“thales_hsm_is_enrolled”< !——NeedCopy >

注意:要移除ADC上登记的HSM,请输入:

./nethsmenroll --remove  <! -  NeedCopy  - >

在ADC上添加RFS详细信息

要添加RFS细节,改变目录到/ var /选择/ nfast /斌/然后运行以下命令:

./rfs-sync——no-authenticate——setup  

例子:

/ RFS -sync——No -authenticate——setup 10.217.2.6当前没有RFS同步配置。配置成功地写;新的配置细节:在10.217.2.6:9004使用RFS:不验证。<!——NeedCopy >

的# local_esn=ESN行之后添加以下条目rfs_sync_client/var/opt/nfast/kmdata/config/config文件的一部分。

...... remote_ip = 10.217.2.6 REMOTE_PORT = 9004 use_kneti =无local_esn = <! -  NeedCopy  - >

注意:要删除ADC上登记的RFS,请输入:

。/ rfs_sync删除< !——NeedCopy >

同步ADC的RFS

要同步所有文件,更改目录到/ var /选择/ nfast / bin中,然后运行在ADC下面的命令:

。/ rfs-sync——更新< !——NeedCopy >

该命令从RFS上的/opt/nfast/kmdata/local目录中获取所有World文件、模块文件和密钥文件,并将它们放入ADC上的/var/opt/nfast/kmdata/local目录中。Citrix建议手动复制World文件、module_XXXX_XXXX_XXXX文件(其中XXXX_XXXX_XXXX为已注册HSM的ESN)、RSA密钥和证书文件。

验证委托HSM在ADC上注册成功

当您将ADC同步到RFS,做到以下几点:

  • 验证本地Hardserver已启动并运行。(委托服务器运行)。
  • 获取配置的hsmm的状态,并验证n_modules(模块数量)字段和km info字段的值是非零的。
  • 验证HSM被ADC正确登记并且是可用的(状态0x2可用)。
  • 使用西格特正常运转。

修改目录为/var/opt/nfast/bin,在shell提示下执行以下命令:

root@ns# ./chkserv root@ns# ./nfkminfo root@ns# ./sigtest 

看见附录了一个例子。

创建HSM RSA Key

仅支持RSA密钥作为HSM密钥。

注意:如果密钥已存在于中,则跳过此步骤/opt/nfast/kmdata/local在RFS文件夹中。

创建RSA密钥、自签名证书和CSR (certificate Signing Request)。将CSR发送给证书颁发机构以获得服务器证书。

在以下示例中创建的文件如下:

  • 嵌入RSA密钥:key_embed_2ed5428aaeae1e159bdbd63f25292c7113ec2c78
  • 自签名证书:example_selfcert
  • 证书签名请求:example_req

注意:这个生成基命令在严格的FIPS 140-2 3级安全世界中支持。需要管理员卡集(administrator card set, ACS)或操作员卡集(operator card set, OCS)来控制许多操作,包括创建密钥和OCS。当你运行生成基命令,提示插入ACS或OCS卡。有关严格FIPS 140-2 3级安全世界的更多信息,请参阅nShield连接用户指南。

下面的示例使用Level-2的安全世界。在该示例中,命令是在粗体字表示。

例子:

[root@localhost bin]# ./generatekey embed size:密钥大小?(bits, minimum 1024)[1024] > 2048可选:pubexp: RSA key Public exponent (hex)?[] > embedsavefile: Filename to write key to?[] > example plainname: Key name?[] > example x509country:国家代码?[] > US x509province: State or province?[] > CA x509locality: City or locality?[] > Santa Clara x509org: organization ?[] > Citrix x509orgunit:组织单位?[] > NS x509dnscommon:域名? [] > m.giftsix.com x509email: Email address? [] > example@citrix.com nvram: Blob in NVRAM (needs ACS)? (yes/no) [no] > digest: Digest to sign cert req with? (md5, sha1, sha256, sha384, sha512) [default sha1] > sha512 key generation parameters: operation Operation to perform generate application Application embed verify Verify security of key yes type Key type RSA size Key size 2048 pubexp Public exponent for RSA key (hex) embedsavefile Filename to write key to example plainname Key name example x509country Country code US x509province State or province CA x509locality City or locality Santa Clara x509org Organisation Citrix x509orgunit Organisation unit NS x509dnscommon Domain name m.giftsix.com x509email Email address example@citrix.com nvram Blob in NVRAM (needs ACS) no digest Digest to sign cert req with sha512 Key successfully generated. Path to key: /opt/nfast/kmdata/local/key_embed_2ed5428aaeae1e159bdbd63f25292c7113ec2c78 You have new mail in /var/spool/mail/root 

结果:

您已经创建了一个CSR (example_req),一个自签名证书(example_selfcert),以及一个嵌入格式的应用密钥令牌文件(/opt/nfast/kmdata/local/key_embed_2ed5428aaeae1e159bdbd63f25292c7113ec2c78)。

由于ADC仅支持简单格式的密钥,因此必须将嵌入密钥转换为简单密钥。

要将嵌入密钥转换为简单密钥,请在RFS上运行以下命令:

[root@localhostbin]#./generatekey-r简单来自应用程序:源应用程序?(嵌入,简单)[嵌入]>从标识嵌入:源密钥标识符?(c6410ca00af7e394157518cb53b2db46ff18ce29,2ED5428AAEAE159BD63F25292C7113EC2C78)[默认c6410ca00af7e394157518cb53b2db46ff18ce29]>2ED5428AAE159BD63F25292C7113EC2C78标识:密钥标识?[]>ExamplersA2048密钥纯名称:密钥名称?[]>Examplersa2048密钥生成参数:执行重定目标应用程序的操作应用程序简单验证验证来自应用程序源应用程序的密钥的安全性从标识源密钥标识符2ED5428AAEAE159BDBD63F25292C7113EC2C78标识密钥标识符Examplersa2048密钥明文名称密钥名称Examplersa2048密钥已成功重定目标。按键路径:/opt/nfast/kmdata/local/key\u simple\u示例2048key<--需要复制-->

重要的是:

当提示输入源密钥标识符时,输入2ED5428AAEAE159BD63F25292C7113EC2C78作为嵌入密钥。

结果:

将创建一个前缀为key_simple的密钥(例如key_simple_examplersa2048key)。

注意:examplersa2048key是关键标识符(IDENT)和作为对ADC的HSM键名称被提及。一个关键的标识符是唯一的。所有简单的文件有前缀key_simple。

在ADC上配置实体

在ADC处理流量之前,必须执行以下操作:

  1. 启用功能。
  2. 添加子网IP (SNIP)。
  3. 向ADC中添加HSM键。
  4. 使用HSM密钥添加证书密钥对。
  5. 添加虚拟服务器。
  6. 添加服务器对象。
  7. 添加一个服务。
  8. 将服务绑定到虚拟服务器。
  9. 将证书密钥对绑定到虚拟服务器。
  10. 验证配置。

启用ADC上的功能

在启用功能之前,ADC上必须有许可证。

该任务指导软件调测工程师通过命令行开启特性

在命令提示符下,运行以下命令:

启用特性lb启用特性SSL 

通过使用GUI启用特性

导航到系统>设置,在模式和功能组,选择配置基本特征,然后选择SSL卸载.

添加子网IP地址

有关子网IP地址的详细信息,请参见配置子网IP地址.

添加SNIP地址,并通过命令行验证配置结果

在命令提示符下,运行以下命令:

加NS的IP地址 <网络掩码>型SNIP显示NS的IP地址<! -  NeedCopy  - >

例子:

添加ns ip 192.168.17.253 255.255.248.0类型剪做展示ns ip Ipaddress交通模式Arp Icmp Vserver状态域类型  --------- -------------- ---- ---- --- ---- ------- ------ 1) 192.168.17.251 0 NetScaler IP活跃启用启用NA启用2)192.168.17.252 0 VIP活动使启用启用启用3)192.168.17.253 0剪活跃Enabled Enabled NA Enabled Done 

添加SNIP地址并使用GUI验证配置

导航到系统>网络>IP,添加一个IP地址,选择IP类型为“子网IP”.

复制HSM密钥和证书到ADC

使用安全文件传输实用程序将密钥(密钥\u simple\u examplersa2048key)安全复制到/var/opt/nfast/kmdata/local文件夹,所述证书(example_selfcert)到/ nsconfig / ssl在ADC文件夹中。

在ADC上添加密钥

所有的键都有一个简单的键前缀。在向ADC添加密钥时,使用标识作为HSM密钥名称。例如,添加的密钥为key_simple_XXXX,则HSM密钥名称为XXXX。

重要的是:

  • HSM密钥名称必须与您在将嵌入密钥转换为简单密钥格式时指定的标识符相同。
  • 钥匙必须在钥匙盒中在/ var /选择/ nfast / kmdata /本地/在ADC目录。

使用CLI添加HSM关键

在shell提示符下,运行以下命令:

add ssl hsmKey  -key  

例子:

加SSL hsmKey examplersa2048key  - 键key_simple_examplersa2048key完成<! -  NeedCopy  - >

通过使用GUI添加一个HSM键

导航到流量管理>SSL>HSM,并添加一个HSM密钥。

添加证书密钥对的ADC

有关证书密钥对的信息,请参阅添加或更新证书密钥对.

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

在命令提示符下,运行以下命令:

添加ssl certKey-cert-hsmKey<--需要复制-->

例子:

add ssl certKey key22 -cert example_selfcert -hsmKey examplersa2048key Done 

通过GUI添加证书密钥对

导航到流量管理> SSL >证书,并添加证书密钥对。

添加虚拟服务器

有关虚拟服务器的信息,请参见SSL虚拟服务器配置.

使用CLI配置基于SSL的虚拟服务器

在命令提示符下,运行以下命令:

add lb vserver     

例子:

加磅虚拟服务器V1 SSL 192.168.17.252 443 <! -  NeedCopy  - >

使用GUI配置基于SSL的虚拟服务器

导航到流量管理>负载均衡>虚拟服务器,创建虚拟服务器,并指定协议为SSL。

添加服务器对象

之前,你可以在ADC添加服务器对象,请确保你已经创建了一个后端服务器。下面的示例使用内置的Linux系统上的Python HTTP服务器模块。

例子:

%python -m SimpleHTTPServer 80 

通过命令行添加服务器对象

在命令提示符下,运行以下命令:

add server   

例子:

添加服务器s1 192.168.17.246 

通过使用GUI添加服务器对象

导航到流量管理>负载均衡>服务器,并添加一台服务器。

添加一个服务

有关更多信息,请参阅配置服务.

该任务指导管理员通过命令行配置服务

在命令提示符下,运行以下命令:

加服<名> <服务器> <的serviceType> <口> <! -  NeedCopy  - >

例子:

添加服务sr1 s1 HTTP 80 

使用GUI配置服务

导航到流量管理>负载平衡>服务,创建服务。

绑定服务到虚拟服务器

有关更多信息,请参阅将服务绑定到SSL虚拟服务器.

该任务指导管理员通过命令行,为虚拟服务器绑定服务

在命令提示符下,运行以下命令:

绑定磅虚拟服务器<名称> <服务> <! -  NeedCopy  - >

例子:

绑定lb vserver v1 sr1 

使用GUI将服务绑定到虚拟服务器

  1. 导航到流量管理>负载均衡>虚拟服务器.
  2. 打开虚拟服务器,在“服务”窗格中单击,将服务绑定到虚拟服务器。

绑定证书密钥对的虚拟服务器上的ADC

有关更多信息,请参阅将证书密钥对绑定到SSL虚拟服务器.

该任务指导管理员通过命令行,为虚拟服务器绑定证书-密钥对

在命令提示符下,运行以下命令:

bind ssl vserver  -certkeyName  

例子:

bind ssl vserver v1 -certkeyName key22 Warning: Current certificate replace the previous binding 

使用GUI将证书密钥对绑定到虚拟服务器

  1. 导航到流量管理>负载均衡>虚拟服务器.
  2. 打开SSL虚拟服务器,在高级设置, 点击SSL证书.
  3. 绑定服务器证书到虚拟服务器。

验证配置

要通过使用CLI查看配置:

在命令提示符下,运行以下命令:

显示lb vserver显示ssl vserver<--需要复制-->

例子:

显示磅vserver v1 v1 (192.168.17.252:443) - SSL类型:地址状态:去年状态改变是在2014年10月29日03:11:11结婚以来最后的状态变化:0天,00:01:25.220有效状态:客户端闲置超时:180秒刷新状态:启用禁用主要vserver:禁用演示applow日志:没有启用。绑定的服务:1(总)1(主动)配置方法:LEASTCONNECTION当前方法:循环赛,原因:绑定服务的状态改变模式:IP持久性:没有Vserver IP和端口插入:从推动:残疾人推Vserver:推动多客户:没有把标签规则:没有L2Conn:从跳过持久性:没有IcmpResponse:PASSIVE RHIstate: PASSIVE New Service Startup Request Rate: 0 PER_SECOND, Increment Interval: 0 Mac mode Retain Vlan: DISABLED DBS_LB: DISABLED Process Local: DISABLED Traffic Domain: 0 1) sr1 (192.168.17.246: 80) - HTTP State: UP Weight: 1 Done 
sh ssl vserver v1 vserver v1的高级ssl配置:DH:禁用临时RSA:启用刷新计数:0会话重用:启用超时:120秒密码重定向:禁用SSLv2重定向:禁用明文端口:0客户端身份验证:禁用ssl重定向:禁用非FIPS密码:禁用SNI:禁用SSLv2:禁用SSLv3:禁用TLSv1.0:启用TLSv1.1:禁用TLSv1.2:禁用推送加密触发器:始终发送关闭通知:是ECC曲线:P_256,P_384,P_224,P_521 1)CertKey名称:key22服务器证书1)密码名称:默认描述:预定义密码别名完成<--需要复制-->

使用GUI查看配置信息。

导航到流量管理>负载均衡>虚拟服务器,双击SSL虚拟服务器打开并查看配置。

配置ADC集成