Enhanced audit logging support for TLS Session ID and SNI
-
ECH Handshakes: The successfully negotiated SNI name is logged.
-
SNI Sent, Disabled on Virtual Server: If a client sends an SNI but it is disabled on the virtual server, NetScaler® serves the default certificate (if bound). The event is logged as:
Client Req SNI "<Domain name>" -reason "No matching certificate found. Default certificate sent -
SNI Enabled, No Match, "Allow Unknown SNI" Configured: If a client sends an SNI, SNI is enabled, but no matching certificate is found (and "Allow unknown SNI" is configured), NetScaler serves the default certificate (if bound). The event is logged as:
Client Req SNI "<Domain Name>" -reason "No matching certificate found. Default certificate sent -
Client Connects Without SNI, SNI Enabled, No Match: When a client connects without SNI, SNI is enabled on the virtual server, and no matching certificate is found, NetScaler rejects the connection. The event is logged as:
-Client Req SNI "<Domain Name>" -reason "No matching certificate found -
Successful SNI Match: The client provides an SNI and a corresponding certificate is found, the log shows:
-Client Req SNI "<Domain Name>" -reason "Matching certificate found
Enable TLS Session and SNI Logging
sslclientLogs parameter at the appropriate level.
-
SNI is logged for both TLS 1.2 and TLS 1.3 sessions, on both the front end and the backend.
-
The TLS Session ID is specific to TLS 1.2 and is logged for both front end and backend connections.
-
For TLS 1.3 sessions, the TLS Session ID is not present. Instead, the TLS 1.3 client tracking ID is logged, but only for front-end connections.
To enable enhanced TLS session ID and SNI logging by using CLI
sslclientLogs using the set sl command for different entities
-
At the Virtual Server Level (front-end): To enable logging for a specific SSL virtual server
set ssl vserver <name> -sslclientLogs ENABLED -
At the Service Level (Backend): To enable logging for a specific SSL service
set ssl service <service_name> -sslclientLogs ENABLED -
At the Service Group Level (Backend): To enable logging for a specific SSL service group:
set ssl serviceGroup <servicegroup_name> -sslclientLogs ENABLED -
Using SSL Profiles: If SSL profiles are enabled and in use, you can configure logging directly on the profiles.
-
Front end SSL Profile: To enable logging for the default front end SSL profile:
set ssl profile ns_default_ssl_profile_frontend -sslclientLogs ENABLEDIf you are using a custom front end SSL profile, replace ns_default_ssl_profile_frontend with the name of your custom profile. -
Backend SSL Profile: To enable logging for the default backend SSL profile
set ssl profile ns_default_ssl_profile_backend -sslclientLogs ENABLEDIf you are using a custom backend SSL profile, replace ns_default_ssl_profile_backend with the name of your custom profile.
-
To enable Client Logs for Enhanced SSL Profiles (front-end and back-end) by using GUI
-
Navigate to System > Profiles> SSL Profile.
-
Select the required profile (front-end or backend) and click Edit.
-
In the Basic Settings section, click the pencil icon.
-
Select SSL client Logs.
-
Click OK.
To enable client logs for a virtual server by using GUI
-
Navigate to Traffic Management > Load Balancing > Virtual Servers.
-
Select the SSL virtual server and click Edit.
-
Under Advanced Settings, click SSL Parameters.
-
In the SSL Parameters section, click the pencil icon.
-
Select SSL client Logs.
-
Click OK.
To enable client logs for a service by using GUI
-
Navigate to Traffic Management > Load Balancing > Services
-
Select the service and click Edit.
-
In the SSL Parameters section, click the pencil icon.
-
Select SSL client Logs.
-
Click OK.