服务器身份验证
由于 NetScaler 设备代表 Web 服务器执行 SSL 卸载和加速,因此该设备通常不会对 Web 服务器的证书进行身份验证。但是,您可以在需要端到端 SSL 加密的部署中对服务器进行身份验证。
在这种情况下,设备成为 SSL 客户端,并与 SSL 服务器执行安全交易。它验证证书绑定到 SSL 服务的 CA 是否已对服务器证书进行签名,并检查服务器证书的有效性。
要对服务器进行身份验证,请启用服务器身份验证并将签名服务器证书的 CA 的证书绑定到 ADC 设备上的 SSL 服务。绑定证书时,必须将绑定指定为 CA 选项。
从版本 13.1 build 42.x 起,NetScaler 设备支持交叉签名证书验证。也就是说,如果证书由多个颁发者签名,则如果根证书的有效路径至少有一个,则验证通过。以前,如果证书链中的一个证书是交叉签名的,并且有多个指向根证书的路径,则 ADC 设备仅检查一条路径。如果该路径无效,则验证失败。
启用(或禁用)服务器证书身份验证
您可以使用 CLI 和 GUI 启用和禁用服务器证书身份验证。
使用 CLI 启用(或禁用)服务器证书身份验证
在命令提示符处,键入以下命令以启用服务器证书身份验证并验证配置:
set ssl service <serviceName> -serverAuth ( ENABLED | DISABLED )
show ssl service <serviceName>
<!--NeedCopy-->
示例:
set ssl service ssl-service-1 -serverAuth ENABLED
show ssl service ssl-service-1
Advanced SSL configuration for Back-end SSL Service ssl-service-1:`
DH: DISABLED
Ephemeral RSA: DISABLED
Session Reuse: ENABLED Timeout: 300 seconds
Cipher Redirect: DISABLED
SSLv2 Redirect: DISABLED
Server Auth: ENABLED
SSL Redirect: DISABLED
Non FIPS Ciphers: DISABLED
SSLv2: DISABLED SSLv3: ENABLED TLSv1: ENABLED
1) Cipher Name: ALL
Description: Predefined Cipher Alias
Done
<!--NeedCopy-->
使用 GUI 启用(或禁用)服务器证书身份验证
- 导航到 流量管理 > 负载平衡 > 服务,然后打开 SSL 服务。
- 在 SSL 参数部分中,选择启用服务器身份验证,然后指定公用名。
- 在“高级设置”中,选择“证书”,然后将 CA 证书绑定到服务。
使用 CLI 将 CA 证书绑定到服务
在命令提示符下,键入以下命令将 CA 证书绑定到服务并验证配置:
bind ssl service <serviceName> -certkeyName <string> -CA
show ssl service <serviceName>
<!--NeedCopy-->
示例:
bind ssl service ssl-service-1 -certkeyName samplecertkey -CA
show ssl service ssl-service-1
Advanced SSL configuration for Back-end SSL Service ssl-service-1:
DH: DISABLED
Ephemeral RSA: DISABLED
Session Reuse: ENABLED Timeout: 300 seconds
Cipher Redirect: DISABLED
SSLv2 Redirect: DISABLED
Server Auth: ENABLED
SSL Redirect: DISABLED
Non FIPS Ciphers: DISABLED
SSLv2: DISABLED SSLv3: ENABLED TLSv1: ENABLED
1) CertKey Name: samplecertkey CA Certificate CRLCheck: Optional
1) Cipher Name: ALL
Description: Predefined Cipher Alias
Done
<!--NeedCopy-->
为服务器证书身份验证配置公用名
在启用服务器身份验证的端到端加密中,可以在 SSL 服务或服务组的配置中包含公用名称。在 SSL 握手期间,将您指定的名称与服务器证书中的公用名进行比较。如果两个名称匹配,握手成功。 如果公用名称不匹配,则将为服务或服务组指定的公用名称与证书的主题备用名称 (SAN) 字段中的值进行比较。如果与其中一个值匹配,握手是成功的。例如,如果防火墙后面有两台服务器,其中一台服务器欺骗另一台服务器的身份,则此配置特别有用。如果未选中公用名,则如果 IP 地址匹配,则接受任一服务器提供的证书。
注意: 仅比较 SAN 字段中的域名、URL 和电子邮件 ID DNS 条目。
使用 CLI 为 SSL 服务或服务组配置公用名验证
在命令提示符下,键入以下命令以指定使用公用名验证的服务器身份验证并验证配置:
-
要在服务中配置公用名称,请键入:
set ssl service <serviceName> -commonName <string> -serverAuth ENABLED show ssl service <serviceName> <!--NeedCopy-->
-
要在服务组中配置公用名称,请键入:
set ssl serviceGroup <serviceGroupName> -commonName <string> -serverAuth ENABLED show ssl serviceGroup <serviceGroupName> <!--NeedCopy-->
示例:
set ssl service svc1 -commonName xyz.com -serverAuth ENABLED
show ssl service svc
Advanced SSL configuration for Back-end SSL Service svc1:
DH: DISABLED
Ephemeral RSA: DISABLED
Session Reuse: ENABLED Timeout: 300 seconds
Cipher Redirect: DISABLED
SSLv2 Redirect: DISABLED
Server Auth: ENABLED Common Name: www.xyz.com
SSL Redirect: DISABLED
Non FIPS Ciphers: DISABLED
SNI: DISABLED
SSLv2: DISABLED SSLv3: ENABLED TLSv1: ENABLED
1) CertKey Name: cacert CA Certificate OCSPCheck: Optional
1) Cipher Name: ALL
Description: Predefined Cipher Alias
Done
<!--NeedCopy-->
使用 GUI 为 SSL 服务或服务组配置公用名验证
- 导航到 流量管理 > 负载平衡 > 服务 或导航到 流量管理 > 负载平衡 > 服务组,然后打开服务或服务组。
- 在 SSL 参数 部分中,选择 启用服务器身份验证,然后指定公用名称。