001 Netscaler SSL Setup Overview
The NetScaler appliance provides several methods for handling SSL/TLS traffic, each with a different approach to encryption and decryption.Â
Here is a summary of the three NetScaler SSL deployment modes:
SSL offloading:
With SSL offloading, the NetScaler appliance terminates the secure SSL/TLS connection from the client and decrypts the traffic. It then forwards the traffic to the backend server as unencrypted HTTP.Â
- A client initiates a secure HTTPS connection to the NetScaler.
- The NetScaler uses its own SSL certificate to decrypt the traffic.
- The appliance forwards the request to the backend server over a standard, unencrypted HTTP connection.
- The server responds via HTTP to the NetScaler, which then re-encrypts the data and sends it back to the client.
SSL bridging:
SSL bridging is a configuration that maintains end-to-end encryption from the client to the backend server, but allows the NetScaler to decrypt and inspect the traffic in between.
- The client establishes an HTTPS connection with the NetScaler, which has its own SSL certificate.
- The NetScaler decrypts the incoming traffic.
- The appliance inspects the clear-text data for Layer 7 functions (e.g., load balancing, content inspection).
- The NetScaler then initiates a new, separate HTTPS connection to the backend server, re-encrypting the traffic using the server’s own SSL certificate.
End-to-end SSL:
This term can refer to the SSL bridging configuration described above, where the traffic is encrypted for the entire journey from client to server. However, the simplest form of end-to-end SSL is a pass-through configuration, sometimes also called “SSL bridge,” where the NetScaler does not participate in the encryption process at all.
- A client initiates an HTTPS connection to the NetScaler.
- The NetScaler forwards the encrypted traffic directly to the backend server without any decryption.
- The backend server is responsible for decrypting the traffic using its own SSL certificate.
002 Deploying SSL Offload
Prerequisites for configuring SSL offloading:
1. The SSL certificate and private key
2. The Virtual IP (VIP) address
3. Service configuration details
4. A list of backend servers
Configuring using GUI:
1. Create a Load Balancing Virtual Server
2. Bind the services
3. Generate a self-signed certificate for a VIP
- Create a private key (Traffic Management > SSL > SSL Files)
- Create a Certificate Signing Request (CSR)Â
- Download the CSR
- Using Linux server with OpenSSL to sign the Certificate Signing Request (CSR) from your NetScaler
- Generate a root key for your CA – openssl genrsa -aes256 -out ca.key 2048
- Create a self-signed root certificate for your CA – openssl req -x509 -new -nodes -key ca.key -sha256 -days 3650 -out ca.pem
-
Sign the NetScaler’s CSR –openssl x509 -req -in client1_vip_csr.csr -CA ca.pem -CAkey ca.key -CAcreateserial -out vip_cert.cer -days 365 -sha256
- Install the certificates on the NetScaler
- Transfer the two new files vip_cert.cer & ca.pem
- Â
- Â
- Link your new server certificate to the CA certificate you just installed. This establishes the chain of trust for your internal PKI.
- Bind the new certificate-key pair to your SSL virtual server.Â
Result:
003 Deploying SSL Bridge
One key point to remember is that when performing SSL bridging, the backend servers must have valid SSL certificates installed.
enable ns feature LB
# Backend servers
add server s1 192.0.2.100
add server s2 192.0.2.200# Services pointing to backend SSL ports
add service client1_svc1 s1 TCP 8888
add service client1_svc2 s2 TCP 8888# Services pointing to backend SSL ports
add service client2_svc1 s1 TCP 9999
add service client2_svc2 s2 TCP 9999# TCP vServer for SSL passthrough
add lb vserver client1_vip TCP 10.99.99.10 443
bind lb vserver client1_vip client1_svc1
bind lb vserver client1_vip client1_svc2# TCP vServer for SSL passthrough
add lb vserver client1_vip TCP 10.99.99.10 443
bind lb vserver client2_vip client2_svc1
bind lb vserver client2_vip client2_svc2
Configuring using GUI:
1. Traffic Management >Load balancing > Servers
2. Traffic Management >Load balancing > Services > Services
3. Traffic Management >Load balancing > Virtual Servers
Result: