netscaler.adc.sslprofile module – Configuration for SSL profile resource.

Note

This module is part of the netscaler.adc collection (version 2.6.0).

It is not included in ansible-core. To check whether it is installed, run ansible-galaxy collection list.

To install it, use: ansible-galaxy collection install netscaler.adc.

To use it in a playbook, specify: netscaler.adc.sslprofile.

New in netscaler.adc 2.0.0

Synopsis

  • Configuration for SSL profile resource.

Parameters

Parameter

Comments

allowextendedmastersecret

any

When set to YES, attempt to use the TLS Extended Master Secret (EMS, as

described in RFC 7627) when negotiating TLS 1.0, TLS 1.1 and TLS 1.2

connection parameters. EMS must be supported by both the TLS client and server

in order to be enabled during a handshake. This setting applies to both

frontend and backend SSL profiles.

Choices:

  • "YES"

  • "NO"

allowunknownsni

any

Controls how the handshake is handled when the server name extension does not match any of the bound certificates. These checks are performed only if the session is SNI enabled (i.e. when profile bound to vserver has SNIEnable and Client Hello arrived with SNI extension). Available settings function as follows :

ENABLED - handshakes with an unknown SNI are allowed to continue, if a default cert is bound.

DISLABED - handshakes with an unknown SNI are not allowed to continue.

Choices:

  • "ENABLED"

  • "DISABLED"

alpnprotocol

any

Application protocol supported by the server and used in negotiation of the protocol with the client. Possible values are HTTP1.1, HTTP2 and NONE. Default value is NONE which implies application protocol is not enabled hence remain unknown to the TLS layer. This parameter is relevant only if SSL connection is handled by the virtual server of the type SSL_TCP.

Choices:

  • "NONE"

  • "HTTP1.1"

  • "HTTP2"

api_path

string

Base NITRO API path.

Define only in case of an ADM service proxy call

Default: "nitro/v1/config"

ciphername

any

The cipher group/alias/individual cipher configuration

cipherpriority

any

cipher priority

cipherredirect

any

State of Cipher Redirect. If this parameter is set to ENABLED, you can configure an SSL virtual server or service to display meaningful error messages if the SSL handshake fails because of a cipher mismatch between the virtual server or service and the client.

This parameter is not applicable when configuring a backend profile.

Choices:

  • "ENABLED"

  • "DISABLED"

cipherurl

any

The redirect URL to be used with the Cipher Redirect feature.

cleartextport

any

Port on which clear-text data is sent by the appliance to the server. Do not specify this parameter for SSL offloading with end-to-end encryption.

clientauth

any

State of client authentication. In service-based SSL offload, the service terminates the SSL handshake if the SSL client does not provide a valid certificate.

This parameter is not applicable when configuring a backend profile.

Choices:

  • "ENABLED"

  • "DISABLED"

clientauthuseboundcachain

any

Certficates bound on the VIP are used for validating the client cert. Certficates came along with client cert are not used for validating the client cert

Choices:

  • "ENABLED"

  • "DISABLED"

clientcert

any

The rule for client certificate requirement in client authentication.

Choices:

  • "Mandatory"

  • "Optional"

commonname

any

Name to be checked against the CommonName (CN) field in the server certificate bound to the SSL server.

denysslreneg

any

Deny renegotiation in specified circumstances. Available settings function as follows:

* NO - Allow SSL renegotiation.

* FRONTEND_CLIENT - Deny secure and nonsecure SSL renegotiation initiated by the client.

* FRONTEND_CLIENTSERVER - Deny secure and nonsecure SSL renegotiation initiated by the client or the Citrix ADC during policy-based client authentication.

* ALL - Deny all secure and nonsecure SSL renegotiation.

* NONSECURE - Deny nonsecure SSL renegotiation. Allows only clients that support RFC 5746.

Choices:

  • "NO"

  • "FRONTEND_CLIENT"

  • "FRONTEND_CLIENTSERVER"

  • "ALL"

  • "NONSECURE"

dh

any

State of Diffie-Hellman (DH) key exchange.

This parameter is not applicable when configuring a backend profile.

Choices:

  • "ENABLED"

  • "DISABLED"

dhcount

any

Number of interactions, between the client and the Citrix ADC, after which the DH private-public pair is regenerated. A value of zero (0) specifies refresh every time.

This parameter is not applicable when configuring a backend profile. Allowed DH count values are 0 and >= 500.

dhekeyexchangewithpsk

any

Whether or not the SSL Virtual Server will require a DHE key exchange to occur when a PSK is accepted during a TLS 1.3 resumption handshake.

A DHE key exchange ensures forward secrecy even in the event that ticket keys are compromised, at the expense of an additional round trip and resources required to carry out the DHE key exchange.

If disabled, a DHE key exchange will be performed when a PSK is accepted but only if requested by the client.

If enabled, the server will require a DHE key exchange when a PSK is accepted regardless of whether the client supports combined PSK-DHE key exchange. This setting only has an effect when resumption is enabled.

Choices:

  • "YES"

  • "NO"

dhfile

any

The file name and path for the DH parameter.

dhkeyexpsizelimit

any

This option enables the use of NIST recommended (NIST Special Publication 800-56A) bit size for private-key size. For example, for DH params of size 2048bit, the private-key size recommended is 224bits. This is rounded-up to 256bits.

Choices:

  • "ENABLED"

  • "DISABLED"

dropreqwithnohostheader

any

Host header check for SNI enabled sessions. If this check is enabled and the HTTP request does not contain the host header for SNI enabled sessions(i.e vserver or profile bound to vserver has SNI enabled and ‘Client Hello’ arrived with SNI extension), the request is dropped.

Choices:

  • "YES"

  • "NO"

encrypttriggerpktcount

any

Maximum number of queued packets after which encryption is triggered. Use this setting for SSL transactions that send small packets from server to Citrix ADC.

ersa

any

State of Ephemeral RSA (eRSA) key exchange. Ephemeral RSA allows clients that support only export ciphers to communicate with the secure server even if the server certificate does not support export clients. The ephemeral RSA key is automatically generated when you bind an export cipher to an SSL or TCP-based SSL virtual server or service. When you remove the export cipher, the eRSA key is not deleted. It is reused at a later date when another export cipher is bound to an SSL or TCP-based SSL virtual server or service. The eRSA key is deleted when the appliance restarts.

This parameter is not applicable when configuring a backend profile.

Choices:

  • "ENABLED"

  • "DISABLED"

ersacount

any

The refresh count for the re-generation of RSA public-key and private-key pair.

hsts

any

State of HSTS protocol support for the SSL profile. Using HSTS, a server can enforce the use of an HTTPS connection for all communication with a client

Choices:

  • "ENABLED"

  • "DISABLED"

includesubdomains

any

Enable HSTS for subdomains. If set to Yes, a client must send only HTTPS requests for subdomains.

Choices:

  • "YES"

  • "NO"

insertionencoding

any

Encoding method used to insert the subject or issuer’s name in HTTP requests to servers.

Choices:

  • "Unicode"

  • "UTF-8"

managed_netscaler_instance_id

string

added in netscaler.adc 2.6.0

The ID of the managed NetScaler instance to which NetScaler Console

has to configure as a proxy server.

Define only in case of an ADM service proxy call

managed_netscaler_instance_ip

string

added in netscaler.adc 2.6.0

The IP of the managed NetScaler instance to which NetScaler Console

has to configure as a proxy server.

Define only in case of an ADM service proxy call

managed_netscaler_instance_name

string

added in netscaler.adc 2.6.0

The name of the managed NetScaler instance to which NetScaler Console

has to configure as a proxy server.

Define only in case of an ADM service proxy call

managed_netscaler_instance_password

string

added in netscaler.adc 2.6.0

The password of the managed NetScaler instance.

Define only in case of an ADM service proxy call

In Settings > Administration > System Configurations > Basic Settings,

if you select Prompt Credentials for Instance Login,

ensure to configure username and password of a managed instance.

managed_netscaler_instance_username

string

added in netscaler.adc 2.6.0

The username of the managed NetScaler instance.

Define only in case of an ADM service proxy call

In Settings > Administration > System Configurations > Basic Settings,

if you select Prompt Credentials for Instance Login,

ensure to configure username and password of a managed instance.

maxage

any

Set the maximum time, in seconds, in the strict transport security (STS) header during which the client must send only HTTPS requests to the server

name

any

Name for the SSL profile. Must begin with an ASCII alphanumeric or underscore (_) character, and must contain only ASCII alphanumeric, underscore, hash (#), period (.), space, colon (:), at (@), equals (=), and hyphen (-) characters. Cannot be changed after the profile is created.

netscaler_console_as_proxy_server

boolean

added in netscaler.adc 2.6.0

The IP address of the NetScaler ADC appliance acting as a proxy server.

Define only in case of an ADM service proxy call

Choices:

  • false ← (default)

  • true

nitro_auth_token

string

The authentication token provided by a login operation.

nitro_pass

string

The password with which to authenticate to the NetScaler ADC node.

nitro_protocol

string

Which protocol to use when accessing the nitro API objects.

Choices:

  • "http"

  • "https" ← (default)

nitro_user

string

The username with which to authenticate to the NetScaler ADC node.

nsip

string / required

The ip address of the NetScaler ADC appliance where the nitro API calls will be made.

The port can be specified with the colon (:). E.g. 192.168.1.1:555.

ocspstapling

any

State of OCSP stapling support on the SSL virtual server. Supported only if the protocol used is higher than SSLv3. Possible values:

ENABLED: The appliance sends a request to the OCSP responder to check the status of the server certificate and caches the response for the specified time. If the response is valid at the time of SSL handshake with the client, the OCSP-based server certificate status is sent to the client during the handshake.

DISABLED: The appliance does not check the status of the server certificate.

Choices:

  • "ENABLED"

  • "DISABLED"

preload

any

Flag indicates the consent of the site owner to have their domain preloaded.

Choices:

  • "YES"

  • "NO"

prevsessionkeylifetime

any

This option sets the life time of symm key used to generate session tickets issued by NS in secs

pushenctrigger

any

Trigger encryption on the basis of the PUSH flag value. Available settings function as follows:

* ALWAYS - Any PUSH packet triggers encryption.

* IGNORE - Ignore PUSH packet for triggering encryption.

* MERGE - For a consecutive sequence of PUSH packets, the last PUSH packet triggers encryption.

* TIMER - PUSH packet triggering encryption is delayed by the time defined in the set ssl parameter command or in the Change Advanced SSL Settings dialog box.

Choices:

  • "Always"

  • "Merge"

  • "Ignore"

  • "Timer"

pushenctriggertimeout

any

PUSH encryption trigger timeout value. The timeout value is applied only if you set the Push Encryption Trigger parameter to Timer in the SSL virtual server settings.

pushflag

any

Insert PUSH flag into decrypted, encrypted, or all records. If the PUSH flag is set to a value other than 0, the buffered records are forwarded on the basis of the value of the PUSH flag. Available settings function as follows:

0 - Auto (PUSH flag is not set.)

1 - Insert PUSH flag into every decrypted record.

2 -Insert PUSH flag into every encrypted record.

3 - Insert PUSH flag into every decrypted and encrypted record.

quantumsize

any

Amount of data to collect before the data is pushed to the crypto hardware for encryption. For large downloads, a larger quantum size better utilizes the crypto resources.

Choices:

  • 4096

  • 8192

  • 16384

redirectportrewrite

any

State of the port rewrite while performing HTTPS redirect. If this parameter is set to ENABLED, and the URL from the server does not contain the standard port, the port is rewritten to the standard.

Choices:

  • "ENABLED"

  • "DISABLED"

save_config

boolean

If true the module will save the configuration on the NetScaler ADC node if it makes any changes.

The module will not save the configuration on the NetScaler ADC node if it made no changes.

Choices:

  • false ← (default)

  • true

sendclosenotify

any

Enable sending SSL Close-Notify at the end of a transaction.

Choices:

  • "YES"

  • "NO"

serverauth

any

State of server authentication support for the SSL Backend profile.

Choices:

  • "ENABLED"

  • "DISABLED"

sessionkeylifetime

any

This option sets the life time of symm key used to generate session tickets issued by NS in secs

sessionticket

any

This option enables the use of session tickets, as per the RFC 5077

Choices:

  • "ENABLED"

  • "DISABLED"

sessionticketkeydata

any

Session ticket enc/dec key , admin can set it

sessionticketkeyrefresh

any

This option enables the use of session tickets, as per the RFC 5077

Choices:

  • "ENABLED"

  • "DISABLED"

sessionticketlifetime

any

This option sets the life time of session tickets issued by NS in secs

sessreuse

any

State of session reuse. Establishing the initial handshake requires CPU-intensive public key encryption operations. With the ENABLED setting, session key exchange is avoided for session resumption requests received from the client.

Choices:

  • "ENABLED"

  • "DISABLED"

sesstimeout

any

The Session timeout value in seconds.

skipclientcertpolicycheck

any

This flag controls the processing of X509 certificate policies. If this option is Enabled, then the policy check in Client authentication will be skipped. This option can be used only when Client Authentication is Enabled and ClientCert is set to Mandatory

Choices:

  • "ENABLED"

  • "DISABLED"

snienable

any

State of the Server Name Indication (SNI) feature on the virtual server and service-based offload. SNI helps to enable SSL encryption on multiple domains on a single virtual server or service if the domains are controlled by the same organization and share the same second-level domain name. For example, *.sports.net can be used to secure domains such as login.sports.net and help.sports.net.

Choices:

  • "ENABLED"

  • "DISABLED"

snihttphostmatch

any

Controls how the HTTP ‘Host’ header value is validated. These checks are performed only if the session is SNI enabled (i.e when vserver or profile bound to vserver has SNI enabled and ‘Client Hello’ arrived with SNI extension) and HTTP request contains ‘Host’ header.

Available settings function as follows:

CERT - Request is forwarded if the ‘Host’ value is covered

by the certificate used to establish this SSL session.

Note: ‘CERT‘ matching mode cannot be applied in

TLS 1.3 connections established by resuming from a

previous TLS 1.3 session. On these connections, ‘STRICT

matching mode will be used instead.

STRICT - Request is forwarded only if value of ‘Host’ header

in HTTP is identical to the ‘Server name’ value passed

in ‘Client Hello’ of the SSL connection.

NO - No validation is performed on the HTTP ‘Host’

header value.

Choices:

  • "NO"

  • "CERT"

  • "STRICT"

ssl3

any

State of SSLv3 protocol support for the SSL profile.

Note: On platforms with SSL acceleration chips, if the SSL chip does not support SSLv3, this parameter cannot be set to ENABLED.

Choices:

  • "ENABLED"

  • "DISABLED"

sslimaxsessperserver

any

Maximum ssl session to be cached per dynamic origin server. A unique ssl session is created for each SNI received from the client on ClientHello and the matching session is used for server session reuse.

sslinterception

any

Enable or disable transparent interception of SSL sessions.

Choices:

  • "ENABLED"

  • "DISABLED"

ssliocspcheck

any

Enable or disable OCSP check for origin server certificate.

Choices:

  • "ENABLED"

  • "DISABLED"

sslireneg

any

Enable or disable triggering the client renegotiation when renegotiation request is received from the origin server.

Choices:

  • "ENABLED"

  • "DISABLED"

ssllogprofile

any

The name of the ssllogprofile.

sslprofile_ecccurve_binding

dictionary

Bindings for sslprofile_ecccurve_binding resource

binding_members

list / elements=dictionary

List of binding members

Default: []

mode

string

The mode in which to configure the bindings.

If mode is set to desired, the bindings will be added or removed from the target NetScaler ADCs as necessary to match the bindings specified in the state.

If mode is set to bind, the specified bindings will be added to the resource. The existing bindings in the target ADCs will not be modified.

If mode is set to unbind, the specified bindings will be removed from the resource. The existing bindings in the target ADCs will not be modified.

Choices:

  • "desired" ← (default)

  • "bind"

  • "unbind"

sslprofile_sslcertkey_binding

dictionary

Bindings for sslprofile_sslcertkey_binding resource

binding_members

list / elements=dictionary

List of binding members

Default: []

mode

string

The mode in which to configure the bindings.

If mode is set to desired, the bindings will be added or removed from the target NetScaler ADCs as necessary to match the bindings specified in the state.

If mode is set to bind, the specified bindings will be added to the resource. The existing bindings in the target ADCs will not be modified.

If mode is set to unbind, the specified bindings will be removed from the resource. The existing bindings in the target ADCs will not be modified.

Choices:

  • "desired" ← (default)

  • "bind"

  • "unbind"

sslprofile_sslcipher_binding

dictionary

Bindings for sslprofile_sslcipher_binding resource

binding_members

list / elements=dictionary

List of binding members

Default: []

mode

string

The mode in which to configure the bindings.

If mode is set to desired, the bindings will be added or removed from the target NetScaler ADCs as necessary to match the bindings specified in the state.

If mode is set to bind, the specified bindings will be added to the resource. The existing bindings in the target ADCs will not be modified.

If mode is set to unbind, the specified bindings will be removed from the resource. The existing bindings in the target ADCs will not be modified.

Choices:

  • "desired" ← (default)

  • "bind"

  • "unbind"

sslprofile_sslciphersuite_binding

dictionary

Bindings for sslprofile_sslciphersuite_binding resource

binding_members

list / elements=dictionary

List of binding members

Default: []

mode

string

The mode in which to configure the bindings.

If mode is set to desired, the bindings will be added or removed from the target NetScaler ADCs as necessary to match the bindings specified in the state.

If mode is set to bind, the specified bindings will be added to the resource. The existing bindings in the target ADCs will not be modified.

If mode is set to unbind, the specified bindings will be removed from the resource. The existing bindings in the target ADCs will not be modified.

Choices:

  • "desired" ← (default)

  • "bind"

  • "unbind"

sslprofiletype

string

Type of profile. Front end profiles apply to the entity that receives requests from a client. Backend profiles apply to the entity that sends client requests to a server.

Choices:

  • "BackEnd"

  • "FrontEnd"

  • "QUIC-FrontEnd"

sslredirect

any

State of HTTPS redirects for the SSL service.

For an SSL session, if the client browser receives a redirect message, the browser tries to connect to the new location. However, the secure SSL session breaks if the object has moved from a secure site (https://) to an unsecure site (http://). Typically, a warning message appears on the screen, prompting the user to continue or disconnect.

If SSL Redirect is ENABLED, the redirect message is automatically converted from http:// to https:// and the SSL session does not break.

This parameter is not applicable when configuring a backend profile.

Choices:

  • "ENABLED"

  • "DISABLED"

ssltriggertimeout

any

Time, in milliseconds, after which encryption is triggered for transactions that are not tracked on the Citrix ADC because their length is not known. There can be a delay of up to 10ms from the specified timeout value before the packet is pushed into the queue.

state

string

The state of the resource being configured by the module on the NetScaler ADC node.

When present, the resource will be added/updated configured according to the module’s parameters.

When absent, the resource will be deleted from the NetScaler ADC node.

When unset, the resource will be unset on the NetScaler ADC node.

Choices:

  • "present" ← (default)

  • "absent"

  • "unset"

strictcachecks

any

Enable strict CA certificate checks on the appliance.

Choices:

  • "YES"

  • "NO"

strictsigdigestcheck

any

Parameter indicating to check whether peer entity certificate during TLS1.2 handshake is signed with one of signature-hash combination supported by Citrix ADC.

Choices:

  • "ENABLED"

  • "DISABLED"

tls1

any

State of TLSv1.0 protocol support for the SSL profile.

Choices:

  • "ENABLED"

  • "DISABLED"

tls11

any

State of TLSv1.1 protocol support for the SSL profile.

Choices:

  • "ENABLED"

  • "DISABLED"

tls12

any

State of TLSv1.2 protocol support for the SSL profile.

Choices:

  • "ENABLED"

  • "DISABLED"

tls13

any

State of TLSv1.3 protocol support for the SSL profile.

Choices:

  • "ENABLED"

  • "DISABLED"

tls13sessionticketsperauthcontext

any

Number of tickets the SSL Virtual Server will issue anytime TLS 1.3 is negotiated, ticket-based resumption is enabled, and either (1) a handshake completes or (2) post-handhsake client auth completes.

This value can be increased to enable clients to open multiple parallel connections using a fresh ticket for each connection.

No tickets are sent if resumption is disabled.

validate_certs

boolean

If false, SSL certificates will not be validated. This should only be used on personally controlled sites using self-signed certificates.

Choices:

  • false

  • true ← (default)

zerorttearlydata

any

State of TLS 1.3 0-RTT early data support for the SSL Virtual Server. This setting only has an effect if resumption is enabled, as early data cannot be sent along with an initial handshake.

Early application data has significantly different security properties - in particular there is no guarantee that the data cannot be replayed.

Choices:

  • "ENABLED"

  • "DISABLED"

Notes

Note

Examples


Return Values

Common return values are documented here, the following are the fields unique to this module:

Key

Description

changed

boolean

Indicates if any change is made by the module

Returned: always

Sample: true

diff

dictionary

Dictionary of before and after changes

Returned: always

Sample: {"after": {"key2": "pqr"}, "before": {"key1": "xyz"}, "prepared": "changes done"}

diff_list

list / elements=string

List of differences between the actual configured object and the configuration specified in the module

Returned: when changed

Sample: ["Attribute `key1` differs. Desired: (<class 'str'>) XYZ. Existing: (<class 'str'>) PQR"]

failed

boolean

Indicates if the module failed or not

Returned: always

Sample: false

loglines

list / elements=string

list of logged messages by the module

Returned: always

Sample: ["message 1", "message 2"]

Authors

  • Sumanth Lingappa (@sumanth-lingappa)