The Splunk management port (default 8089) supports both SSL and plain text connections. SSL is turned on by default for communications among Splunk servers. To make changes to SSL settings, edit server.conf.
Important: If you are using Firefox 3, enabling SSL for a Splunk deployment may result in an "invalid security exception" being displayed in the browser. Refer to this workaround documentation for more information.
Note: This only enables SSL for Splunk's back-end communication. To turn on SSL for the browser, see enable HTTPS.
ConfigurationWhen the Splunk server is turned on for the first time, the server generates a certificate for that instance. This certificate is stored in the $SPLUNK_HOME/etc/auth/ directory by default.
Change SSL settings by editing $SPLUNK_HOME/etc/system/local/server.conf. Edit this file in $SPLUNK_HOME/etc/system/local/, or your own custom application directory in $SPLUNK_HOME/etc/apps/. For more information on configuration files in general, see how configuration files work.
[sslConfig] enableSplunkdSSL = true keyfile = server.pem keyfilePassword = password caCertFile = cacert.pem caPath = $SPLUNK_HOME/etc/auth certCreateScript = $SPLUNK_HOME/bin/genSignedServerCert.py
Note: The path to the keyfile is relative to $SPLUNK_HOME. If your keyfile is kept outside $SPLUNK_HOME, you must specify a full path outside of $SPLUNK_HOME to reach it.
With the default script enabled, on startup, Splunk will generate a certificate in the caPath directory.
Deactivate SSLTo deactivate SSL, simply set enableSplunkdSSL to FALSE. This will disable SSL.
Generate signed certificatesBy default, all Splunk servers use the same self-signed certificate. The certificate's public and private keys are distributed with Splunk. This allows Splunk instances to connect to each other out of the box and lets you regenerate and sign your server certificates.
You can change this default behavior. There are scripts located in $SPLUNK_HOME/bin that you can use to generate and self-sign your server certificates.
| genRootCA.sh | Run this script when you want to regenerate the certificates Splunk uses. It generates cacerts.pem (public key) and ca.pem (public/private password protected PEM). When you run it, it checks to see if certs are already in place, and if they are, prompts you to overwrite them. It then wraps these files into an X509-formatted cert. Distribute cacerts.pem to clients as desired and keep ca.pem in a secure location. |
| genSignedServerCert.sh | This shell script is a wrapper for the Python script that Splunk runs to generate certificates when you start it for the first time. This script creates a CSR (certificate signing request), self-signs it, and outputs a signed server.pem that you can distribute to your Splunk servers. |
If your organization requires that your Splunk deployment use a certificate signed by an external CA, you can use the following procedure to generate the CSR to send to the CA:
openssl req -new -key [certificate name].pem -out [certificate name].csr
You are prompted for the following X.509 attributes of the certificate:
This creates a private key ([certificate name].key), which is stored locally on your server, and a CSR ([certificate name].csr), which contains the public key associated with the private key. You can then use this information to request a signed certificate from an external CA.
To copy and paste the information into your CA's enrollment form, open the .csr file in a text editor and save it as a .txt file.
Note: Do not use Microsoft Word; it can insert extra hidden characters that alter the contents of the CSR.
Comments
No comments have been submitted.