Server authentication

Since the NetScaler 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 NetScaler appliance. When binding the certificate, you must specify the bind as 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 <serviceName> -serverAuth ( ENABLED | DISABLED )
show ssl service <serviceName>

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 <serviceName> -certkeyName <string> -CA  

show ssl service <serviceName>

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: Only domain name, 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:

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

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

    set ssl serviceGroup <serviceGroupName> -commonName <string> -serverAuth ENABLED
    show ssl serviceGroup <serviceGroupName>
    

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.