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 and carries out a secure transaction with the SSL server. It 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, enable server authentication and bind the certificate of the CA that signed the server’s certificate to the SSL service on the ADC appliance. When binding the certificate, you must specify the bind as a CA option.
Enable (or disable) server certificate authentication
You 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
- Navigate toTraffic Management > Load Balancing > Services, and open an SSL service.
- In the SSL Parameters section, select Enable Server Authentication, and specify a Common Name.
- 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 the 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, and 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:
To configure a common name in a service, type:
set ssl service
-commonName -serverAuth ENABLED show ssl service To configure a 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
- Navigate toTraffic Management > Load Balancing > Servicesor Navigate toTraffic Management > Load Balancing > Service Groups, and open a service or service group.
- In the SSL Parameters section, select Enable Server Authentication, and specify a common name.