CARVIEW |
Securing Splunk Enterprise
- Secure and protect your Splunk Enterprise deployment network
- Install Splunk Enterprise securely
- Create secure administrator credentials
- About TLS encryption and cipher suites
- Harden the Splunk Enterprise installation directory on Windows
- Secure Splunk Enterprise on your network
- Disable unnecessary Splunk Enterprise components
- Secure Splunk Enterprise service accounts
- Deploy secure passwords across multiple servers
- Harden the network port that App Key Value Store uses
- Use network access control lists to protect your deployment
- Use access control to secure Splunk data
- About user authentication
- About configuring role-based user access
- Define roles on the Splunk platform with capabilities
- Create and manage users with Splunk Web
- Create and manage roles with Splunk Web
- Find existing users and roles
- Secure access for Splunk knowledge objects
- Password best practices for administrators
- Configure Splunk password policies
- Configure a Splunk Enterprise password policy using the Authentication.conf configuration file
- Password best practices for users
- Unlock a user account
- Change a user password
- Manage out-of-sync passwords in a search head cluster
- Set up user authentication with LDAP
- Manage Splunk user roles with LDAP
- LDAP prerequisites and considerations
- Secure LDAP authentication with transport layer security (TLS) certificates
- How the Splunk platform works with multiple LDAP servers for authentication
- Configure LDAP with Splunk Web
- Map LDAP groups to Splunk roles in Splunk Web
- Configure single sign-on with SAML
- Configure SSO with PingIdentity as your SAML identity provider
- Configure SSO with Okta as your identity provider
- Configure SSO with Microsoft Azure AD or AD FS as your Identity Provider
- Configure SSO with OneLogin as your identity provider
- Configure SSO with Optimal as your identity provider
- Configure SSO in Computer Associates (CA) SiteMinder
- Secure SSO with TLS certificates on Splunk Enterprise
- Configure Ping Identity with leaf or intermediate SSL certificate chains
- Configure SAML SSO for other IdPs
- Configure authentication extensions to interface with your SAML identity provider
- Configure advanced settings for SSO
- Map groups on a SAML identity provider to Splunk roles
- Modify or remove role mappings
- Refresh expiring SAML identity provider certificates
- Troubleshoot SAML SSO
- About multifactor authentication with Duo Security
- Configure Splunk Enterprise to use Duo Security multifactor authentication
- Configure Duo multifactor authentication for Splunk Enterprise in the configuration file
- Migrate from the Duo Traditional Prompt to the Duo Universal Prompt
- About multifactor authentication with RSA Authentication Manager
- Configure RSA authentication from Splunk Web
- Configure Splunk Enterprise to use RSA Authentication Manager multifactor authentication via the REST endpoint
- Configure Splunk Enterprise to use RSA Authentication Manager multifactor authentication in the configuration file
- User experience when logging into a Splunk instance configured with RSA multifactor authentication
- Introduction to securing the Splunk platform with TLS
- Steps for securing your Splunk Enterprise deployment with TLS
- How to obtain certificates from a third-party for inter-Splunk communication
- How to obtain certificates from a third-party for Splunk Web
- How to create and sign your own TLS certificates
- How to prepare TLS certificates for use with the Splunk platform
- Configure Splunk indexing and forwarding to use TLS certificates
- Configure TLS certificates for inter-Splunk communication
- Configure Splunk Web to use TLS certificates
- Test and troubleshoot TLS connections
- Renew existing TLS certificates
- Configure TLS certificate host name validation for secured connections between Splunk software components
- Configure TLS protocol version support for secure connections between Splunk platform instances
- Configure and install certificates in Splunk Enterprise for Splunk Log Observer Connect
- Configure secure communications between Splunk instances with updated cipher suite and message authentication code
- Securing distributed search heads and peers
- Secure deployment servers and clients using certificate authentication
- Configure communication and bundle download authentication for deployment servers and clients
- Secure Splunk Enterprise services with pass4SymmKey
- Protect PII, PHI, and other sensitive data with field filters
- Plan for field filters in your organization
- Turn on Splunk platform field filters
- Create field filters using Splunk Web
- Optimize field filter performance using Splunk Web
- Exempt certain roles from field filters using Splunk Web
- Create field filters using configuration files
- Optimize field filter performance using configuration files
- Use field filters in searches
- Turn off Splunk platform field filters
Test and troubleshoot TLS connections
After you configure TLS on your Splunk Platform instance endpoints, test them as soon as possible to ensure that they work properly and that the instances communicate using the certificates you have configured.
As a protocol, TLS is very descriptive when it encounters errors in configuration. A good sign that you have performed your TLS configurations properly is the lack of error messages that appear on startup of the Splunk daemon and during connections to other Splunk instances, services, and processes.
When you do encounter problems with TLS connections, the problems arise in one of the following areas:
- Host names or DNS misconfigurations. TLS certificates require valid hostnames and a working domain name service to function properly. If you haven't specified the correct hostnames in the certificates, or your DNS isn't working, machines won't be able to use the certificates to connect to other machines.
- Certificate misconfigurations. It is very important that TLS certificates be configured correctly. If you generated your own certificates you must ensure that the private key you used to create the certificate is also included in the certificate file. You must reference and include, where applicable, the correct certificate authority certificate. If you use a certificate chain, the certificates within the chain must be in the correct order, beginning with the server certificate, including any intermediate certificates, and final the certificate authority certificate.
- Configuration problems. Confirm that you reference the correct Splunk configuration file as well as the correct stanza within the file for the service that you want to secure. Confirm that settings within the TLS stanzas reference the correct files, the files are in the correct format, usually the privacy-enhanced mail format, and the files themselves are formatted properly, with the correct certificate and private key tags around each individual certificate text blob. If you use a password for your certificates, ensure that you have configured the Splunk platform with the passwords for those certificates.
In general, a TLS error usually does not prevent the splunk daemon from starting. This means that you can review the splunkd.log file during startup to see where TLS connection errors happen. You can also use Splunk Web or the CLI to run a search that shows the status of your TLS connections. The following search shows a list of all connections that the instance attempted to make using TLS:
index=_internal source=*metrics.log* group=tcpin_connections |
dedup hostname | table _time hostname version sourceIp destPort ssl
You can also view the splunkd.log file directly to validate and troubleshoot your configuration. The splunkd.log file is located at $SPLUNK_HOME/var/log/splunk/splunkd.log
.
Following is how a successful connection might appear in splunkd.log on an indexer:
TcpInputProc - Connection in cooked mode from 10.1.12.111 TcpInputProc - Valid signature found TcpInputProc - Connection accepted from 10.1.12.111
Following is how a successful connection might appear in the splunkd.log file on a forwarder:
TcpOutputProc - attempting to connect to 10.1.12.112:9997... TcpOutputProc - Connected to 10.1.12.112:9997
Troubleshoot TLS connections
- From a command or shell prompt, run the following command to test your certificates:
openssl s_client -connect {server}:{port}
whereserver
is the name of the instance to which you want to connect and <port> is the network port for the service on the instance that you want to test, or example 8000 For Splunk Web, 8089 for the management port,, 9997 or 9998 for forwarding data, etc.
The command returns a message similar to the following with a good certificate:
Verify return code: 0 (ok)
- On Splunk indexers and forwarders, review the $SPLUNK_HOME/var/log/splunk/splunkd.log file for errors.
- On indexers, look for messages from the TCP input processor (
TcpInputProc
). - On forwarders, check for messages from the TCP output processor (
TcpOutputProc
).
- On indexers, look for messages from the TCP input processor (
- If necessary, increase the logging level of the appropriate processors on the indexer and the forwarder by editing the $SPLUNK_HOME/etc/log.cfg file.
- On the forwarder, set
category.TcpOutputProc=DEBUG
. - On the indexer set
category.TcpInputProc=DEBUG
.
Restart Splunk Enterprise for these changes to take effect, then observe the start-up sequence for the pertinent component. This method reveals most configuration issues explicitly.
- On the forwarder, set
- Check the TLS configuration using the
splunk btool
command as follows:- On the indexer, run the following:
$SPLUNK_HOME/bin/splunk cmd btool inputs list --debug
- On the forwarder, run the following:
$SPLUNK_HOME/bin/splunk cmd btool outputs list --debug
- On the indexer, run the following:
Common problems with TLS and TLS certificates
Following are some common problems that you can
- The path to the server certificate file set as the value of the
serverCert
setting in the inputs.conf file is wrong, or the instance cannot read the file. This results in an error similar to the following:
- The password to the RSA private key that is in the server certificate file is wrong. This generates an error similar to the following:
On *nix, you can manually test the password of the RSA key that is in the file with the command:
On Windows, you can manually test the password of the RSA key using the following command:
Configure Splunk Web to use TLS certificates | Renew existing TLS certificates |
This documentation applies to the following versions of Splunk® Enterprise: 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.1.8, 9.1.9, 9.2.0, 9.2.1, 9.2.2, 9.2.3, 9.2.4, 9.2.5, 9.2.6, 9.3.0, 9.3.1, 9.3.2, 9.3.3, 9.3.4, 9.4.0, 9.4.1, 9.4.2
Comments
Test and troubleshoot TLS connections
You must be logged into splunk.com in order to post comments. Log in now.
Please try to keep this discussion focused on the content covered in this documentation topic. If you have a more general question about Splunk functionality or are experiencing a difficulty with Splunk, consider posting a question to Splunkbase Answers.
Your Comment Has Been Posted Above
Feedback submitted, thanks!