Secure LDAP authentication with transport layer security (TLS) certificates
The Splunk platform uses both OpenLDAP and OpenSSL. You can secure your LDAP authentication with certificates by changing the configuration on your LDAP server.
The following examples are certificate configurations for LDAP. For more information on how you can configure certificates in LDAP, see the OpenLDAP documentation.
For more information on creating and managing certificates, see the OpenSSL documentation.
LDAP server configuration
To secure LDAP server authentications, use the following LDAP settings on your server:
Setting | Description |
---|---|
TLSCACertificateFile <filename> | The Privacy Enhanced Mail (PEM)-format file that contains certificates for the CAs that the LDAP server daemon is to trust, including the certificate for the CA that signed the server certificate. You can append multiple certificates to the file in no particular order. |
TLSCertificateKeyFile <filename> | The file that contains the private key that matches the certificate stored in the TLSCertificateFile file. |
TLSCipherSuite <cipher-suite-spec> | Ciphers will be accepted and the preference order. <cipher-suite-spec> must be a cipher specification for OpenSSL. Use "openssl ciphers -v ALL" for a list of available cipher specifications. |
TLSRandFile <filename> | the file to obtain random bits from when the /dev/urandom file is not available. If the system provides the /dev/urandom file, then this option is not needed, otherwise you must configure a source of random data. |
TLSEphemeralDHParamFile <filename> | the file that contains parameters for Diffie-Hellman ephemeral key exchange. |
TLSVerifyClient [never | allow | try | demand] | Specifies the checks to perform on client certificates in an incoming TLS session, if any. This option is set to never by default, in which case the server never asks the client for a certificate. |
LDAP client configuration
This directive specifies the file that contains the client certificate. This is a user-only directive. You can only specify the directive in an .ldaprc configuration file.
If you host two or more LDAP servers, you might not want to use self-signed certificates, since each client has to be configured to work with each certificate. In that case, it is easier to create a certificate authority to sign your server certificates.
Setting | Description |
---|---|
TLS_KEY <filename> | Specifies the file that contains the private key that matches the certificate stored in the TLS_CERT file. The same constraints mentioned for TLSCertificateKeyFile apply here. This is also a user-only directive. |
TLS_RANDFILE <filename> | The same as the server TLSRandFile setting. |
TLS_REQCERT [ never | allow | try | demand ] |
LDAP prerequisites and considerations | How the Splunk platform works with multiple LDAP servers for authentication |
This documentation applies to the following versions of Splunk® Enterprise: 7.0.0, 7.0.1, 7.0.2, 7.0.3, 7.0.4, 7.0.5, 7.0.6, 7.0.7, 7.0.8, 7.0.9, 7.0.10, 7.0.11, 7.0.13, 7.1.0, 7.1.1, 7.1.2, 7.1.3, 7.1.4, 7.1.5, 7.1.6, 7.1.7, 7.1.8, 7.1.9, 7.1.10, 7.2.0, 7.2.1, 7.2.2, 7.2.3, 7.2.4, 7.2.5, 7.2.6, 7.2.7, 7.2.8, 7.2.9, 7.2.10, 7.3.0, 7.3.1, 7.3.2, 7.3.3, 7.3.4, 7.3.5, 7.3.6, 7.3.7, 7.3.8, 7.3.9, 8.0.0, 8.0.1, 8.0.2, 8.0.3, 8.0.4, 8.0.5, 8.0.6, 8.0.7, 8.0.8, 8.0.9, 8.0.10, 8.1.0, 8.1.1, 8.1.2, 8.1.3, 8.1.4, 8.1.5, 8.1.6, 8.1.7, 8.1.8, 8.1.9, 8.1.11, 8.2.0, 8.2.1, 8.2.2, 8.2.3, 8.2.4, 8.2.5, 8.2.6, 8.2.7, 8.2.8, 8.2.9, 8.2.10, 8.2.11, 8.2.12, 9.0.0, 9.0.1, 9.0.2, 9.0.3, 9.0.4, 9.0.5, 9.0.6, 9.0.7, 9.0.8, 9.0.9, 9.0.10, 9.1.0, 9.1.1, 9.1.2, 9.1.3, 9.1.4, 9.1.5, 9.1.6, 9.1.7, 9.2.0, 9.2.1, 9.2.2, 9.2.3, 9.2.4, 9.3.0, 9.3.1, 9.3.2, 8.1.10, 8.1.12, 8.1.13, 8.1.14
Feedback submitted, thanks!