Citrix ADC

Server authentication

Since the Citrix ADC appliance performs SSL offload and acceleration on behalf of a web server, the appliance does not usually authenticate the Web server’s certificate. However, you can authenticate the server in deployments that require end-to-end SSL encryption.

In such a situation, the appliance becomes the SSL client, carries out a secure transaction with the SSL server, verifies that a CA whose certificate is bound to the SSL service has signed the server certificate, and checks the validity of the server certificate.

To authenticate the server, you must first enable server authentication and then bind the certificate of the CA that signed the server’s certificate to the SSL service on the Citrix ADC appliance. When binding the certificate, you must specify the bind as CA option.

Enable (or disable) server certificate authentication

哟u can use the CLI and the GUI to enable and disable server certificate authentication.

Enable (or disable) server certificate authentication using the CLI

At the command prompt, type the following commands to enable server certificate authentication and verify the configuration:

set ssl service  -serverAuth ( ENABLED | DISABLED ) show ssl service  

Example:

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 

Enable (or disable) server certificate authentication by using the GUI

  1. Navigate to Traffic Management > Load Balancing > Services, and open an SSL service.
  2. In the SSL Parameters section, select Enable Server Authentication, and specify a Common Name.
  3. In Advanced Settings, select Certificates, and bind a CA certificate to the service.

Bind the CA certificate to the service by using the CLI

At the command prompt, type the following commands to bind the CA certificate to the service and verify the configuration:

bind ssl service  -certkeyName  -CA show ssl service  

Example:

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 

Configure a common name for server certificate authentication

In end-to-end encryption with server authentication enabled, you can include a common name in the configuration of an SSL service or service group. The name that you specify is compared to the common name in the server certificate during an SSL handshake. If the two names match, the handshake is successful. If the common names do not match, the common name specified for the service or service group is compared to values in the subject alternative name (SAN) field in the certificate. If it matches one of those values, the handshake is successful. This configuration is especially useful if there are, for example, two servers behind a firewall and one of the servers spoofs the identity of the other. If the common name is not checked, a certificate presented by either server is accepted if the IP address matches.

Note:只有域名、URL和email ID DNS entries in the SAN field are compared.

Configure common-name verification for an SSL service or service group by using the CLI

At the command prompt, type the following commands to specify server authentication with common-name verification and verify the configuration:

  1. To configure common name in a service, type:

    set ssl service  -commonName  -serverAuth ENABLED show ssl service  
  2. To configure common name in a service group, type:

    set ssl serviceGroup  -commonName  -serverAuth ENABLED show ssl serviceGroup  

Example:

> 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 

Configure common-name verification for an SSL service or service group by using the GUI

  1. Navigate to Traffic Management > Load Balancing > Services or Navigate to Traffic Management > Load Balancing > Service Groups, and open a service or service group.
  2. In the SSL Parameters section, select Enable Server Authentication, and specify a common name.
Server authentication