Configure TLS certificate host name validation for secured connections between Splunk software components (2024)

If you have configured your Splunk platform instances to use transport layer security (TLS) certificates for secure network connections with one another, you can also configure the instances to verify host names in the certificates to ensure that the machines that the instances communicate with are who they say they are. This added configuration step improves security across your entire Splunk Cloud Platform forwarding tier and Splunk Enterprise deployment. The procedures in this topic are valid for both Splunk Cloud Platform forwarding tier and Splunk Enterprise instances.

For more information about the security updates, how they operate, and the modes that affect how they work, see Security updates.

Introduction

TLS certificate host name validation consists of three separate configurations:

TLS certificate requirement configuration

The server.conf configuration file controls the TLS certificate requirement. You can only configure TLS certificate requirements by editing the configuration file and specifying the appropriate setting and value. This means you can only perform this configuration on Splunk Enterprise, or on collection and forwarding infrastructure for Splunk Cloud Platform that you manage. You must enable the TLS certificate requirement for the certificate host name validation to work.

The sslVerifyServerCert setting controls the TLS certificate requirement feature. When you give this setting a value of "true", the Splunk platform instance requires that any Splunk platform instance to which it connects provides a valid TLS certificate before that connection can complete. If the connected instance does not provide a valid certificate, the requirement check fails and the connection terminates.

If the requirement check succeeds, and you have also configured TLS certificate host name validation, then the validation check happens, as explained in the next section of this topic.

TLS certificate host name validation configuration

The server.conf configuration file also controls TLS certificate host name validation. Like with the certificate requirement, you can only configure validation by editing the configuration file and specifying the appropriate setting and value. You can only perform this configuration on Splunk Enterprise, or on collection and forwarding infrastructure for Splunk Cloud Platform that you manage.

In nearly all cases, the sslVerifyServerName setting controls the TLS certificate host name validation feature. When you give this setting a value of "true", the connecting Splunk platform instance verifies that the TLS certificate that it received is valid and has either a Common Name (CN) or Subject Alternative Name (SAN) X.509 cryptography standard certificate field that matches the host name of the instance that sent the certificate. This verification must happen before the connection can complete. If the connected server provides a certificate that does not meet these criteria, the validation check fails and the connection terminates.

Before validation can start, the connected instance must first pass the TLS certificate requirement check.

TLS certificate host name validation configuration for the Splunk CLI

The Splunk CLI has a slightly different setting name for TLS certificate host name validation. When you run the CLI to connect to either a local or remote Splunk platform instance, the CLI uses the cliVerifyServerName setting to determine whether or not it is to verify host names on the TLS certificates it receives.

A value of "true" for this setting, like the sslVerifyServerName setting, means that the CLI performs TLS hostname validation. The validation works the same as validation does for other Splunk platform instances.

After you turn on TLS hostname validation for the CLI, you can temporarily disable it by using the --no-host-name-check CLI argument.

Prerequisites to enabling TLS certificate host name validation

You must have the following items before you can enable TLS certificate host name validation:

  • All Splunk platform instances where you want to enable TLS certificate host name validation must run version 9.0.0 or higher.
  • You must have already secured your Splunk platform instances with valid, current certificates that you either created or obtained from a third party. The certificates cannot be the ones that Splunk ships with Splunk platform installation packages. See "What is a valid certificate?" later in this topic for specifics on what a valid certificate is.
  • You must have already installed the certificates on all Splunk platform instances in your deployment. The configuration for each instance must already reference the correct certificates.
  • You must have already enabled TLS certificate requirements for each instance in your deployment. TLS certificate host name validation doesn't work if your instances do not require TLS certificates in the first place.

What is a valid certificate?

A valid certificate is one that satisfies all of the following criteria:

  • It must not be one of the default certificates that come with the Splunk platform installation packages.
  • It must be in privacy enhanced mail (PEM) format. Validation doesn't work with certificates that are in other formats.
  • It must be a full certificate chain. Validation doesn't work with only a leaf certificate.
  • It must contain any intermediate certificates, along with the root and server certificate, where applicable.
  • It must be valid within its date range. Expired certificates and certificates whose validity has not yet come into force do not work.
  • It must contain a valid Common Name (CN) or Subject Alternative Name (SAN) X.509 certificate standard field.
    • Either of those fields must contain a value that matches the host name of the machine that serves the certificate to the connecting client.

Configure TLS certificate host name validation

Before you attempt to configure TLS certificate host name validation, confirm you have met all the requirements. Then, choose the procedure from the following list for the service or instance type you want to secure with certificate host name validation.

You can only configure certificate host name validation using configuration files. It is not possible to configure this using Splunk Web.

Configure TLS host name validation for Splunk-to-Splunk communication

Follow this procedure to secure Splunk-to-Splunk communication between instances like indexers, search heads, clusters, and deployment and license servers.

  1. Confirm that you have installed the certificates on all your Splunk platform instances.
  2. On one of the instances, edit the $SPLUNK_HOME/etc/system/local/server.conf configuration file.
  3. In the server.conf file, add the following settings and values to enable TLS certificate validation:
    [sslConfig]# turns on TLS certificate requirementssslVerifyServerCert = true# turns on TLS certificate host name validationsslVerifyServerName = trueserverCert = <path to your server certificate>
  4. Copy the configuration to the remainder of your Splunk platform instances.

    You might want to use a deployment server to deliver configurations to other Splunk platform instances.

  5. Restart the Splunk platform instances.
  6. Test the instance to confirm that it uses the certificate and that TLS host name validation works as you expect.

Configure TLS host name validation for Splunk Python modules

Follow this procedure if you want to enable TLS certificate host name validation for Python version 3 modules. TLS host name validation does not work with Python version 2 and lower modules.

  1. Confirm that you have installed the certificates on all your Splunk platform instances.
  2. On one of the instances, edit the $SPLUNK_HOME/etc/system/local/server.conf configuration file.
  3. In the server.conf file, add the following settings and values to enable TLS certificate validation:
    [pythonSslClientConfig]sslVerifyServerCert = truesslVerifyServerName = true
  4. Edit the $SPLUNK_HOME/etc/system/local/web.conf configuration file.
  5. In the web.conf file, add the following settings and values to specify the server certificate location:
    [settings]serverCert = <path to your server certificate>
  6. Edit the $SPLUNK_HOME/etc/splunk-launch.conf configuration file.
  7. In the splunk-launch.conf file, add the following settings and values to enable Python module verification:
    PYTHONHTTPSVERIFY = 1
  8. Distribute the configuration files to the remainder of your Splunk platform instances.
  9. Restart the Splunk platform instances.
  10. Test the instance to confirm that it uses the certificate and that TLS host name validation works as you expect. You can review the splunkd.log and python.log log files and, if necessary, change the default logging level temporarily.

Configure TLS host name validation for the App Key Value Store service

Follow this procedure if you want to enable TLS certificate host name validation for App Key Value Store. TLS host name validation only works for search head clusters that use App Key Value Store.

  1. Confirm that you have installed the certificates on all your Splunk platform instances.

    For App Key Value Store, certificates must contain an Organization (O), Organizational Unit (OU), or Domain Component (DC).

  2. On one of the instances, edit the $SPLUNK_HOME/etc/system/local/server.conf configuration file.
  3. In the server.conf file, add the following settings and values to enable TLS certificate validation:
    [kvstore]sslVerifyServerCert = truesslVerifyServerName = trueserverCert = <path to your server certificate>
  4. Distribute the configuration file to the remainder of your Splunk platform instances.
  5. Restart the Splunk platform instances.
  6. Test the instance to confirm that it uses the certificate and that TLS host name validation works as you expect. You can review the splunkd.log and mongod.log log files and, if necessary, change the default logging level temporarily.

Configure TLS host name validation for the Splunk CLI

Follow this procedure if you want to enable TLS certificate host name validation for the Splunk CLI. You must perform the procedure on any instance where you use the CLI to connect to a Splunk platform instance.

  1. Confirm that you have installed the certificates on all your Splunk platform instances.
  2. On an instance where you plan to use the CLI, edit the $SPLUNK_HOME/etc/system/local/server.conf configuration file.
  3. In the server.conf file, add the following settings and values to enable TLS certificate validation:
    [sslConfig]# turns on TLS certificate host name validationcliVerifyServerName = true# Reference the file that contains all root certificate authority certificates combined togethersslRootCAPath = <path to you server certificate>
  4. Save the configuration file.
  5. Distribute the configuration file to all Splunk platform instances where you want to run the CLI.
  6. You do not need to restart the Splunk platform instances. The Splunk CLI picks up the changed configuration when you run it.

  7. Test the instance to confirm that it uses the certificate and that TLS host name validation works as you expect. You can review the output of the CLI command.

    To temporarily disable TLS certificate host name validation from the CLI, supply --no-server-name-check as an argument to the CLI command.

Configure universal forwarder management security

Follow this procedure to improve security on universal forwarders by changing the accessibility of the management port.

  1. Where applicable, confirm that you have installed TLS certificates on all your universal forwarders.
  2. On one of the forwarders, edit the $SPLUNK_HOME/etc/system/local/server.conf configuration file.
  3. In the server.conf file, add the following settings and values:
    [httpServer]disableDefaultPort = true
  4. Edit the $SPLUNK_HOME/etc/system/local/web.conf configuration file.
  5. In the web.conf file, add the following settings and values to force the universal forwarder to accept requests on the management port locally:
    [settings]mgmtHostPort = localhost:8089 # if 'mgmtport' is not already set to "localhost" or is blank
  6. Edit the $SPLUNK_HOME/etc/splunk-launch.conf configuration file.
  7. In the splunk-launch.conf file, add the following settings and values to force the universal forwarder to accept inbound network requests from 127.0.0.1::
    SPLUNK_BINDIP = 127.0.0.1 # if 'SPLUNK_BINDIP' is not already set to "localhost"
  8. Save the configuration files.
  9. Distribute the configuration files to the remainder of your Splunk platform instances.
  10. Restart the Splunk platform instances.
  11. Test the forwarder to confirm that it does not allow connections to the management port from other machines.
Configure TLS certificate host name validation for secured connections between Splunk software components (2024)

FAQs

How to set up SSL TLS certificate? ›

Building an SSL/TLS certificate is as easy as one-two-three-four-five.
  1. Determine the number of domains that need to be secured. ...
  2. Decide the level of identity assurance you want to provide to website visitors. ...
  3. Set aside a budget. ...
  4. Generate a certificate signing request, CSR.
Mar 6, 2019

How TLS certificates work for securing communication between two hosts? ›

How does SSL/TLS work?
  • Secure communication begins with a TLS handshake, in which the two communicating parties open a secure connection and exchange the public key.
  • During the TLS handshake, the two parties generate session keys, and the session keys encrypt and decrypt all communications after the TLS handshake.

How do I enable SSL certificate in Splunk? ›

In Splunk Web, select Settings > System > Server settings, and then click General Settings. Under Splunk Web, for Enable SSL (HTTPS) in Splunk Web?, select the Yes radio button. Restart Splunk Web.

What are the two components of a certificate presented by the server in a TLS session? ›

Each TLS certificate consists of a key pair made of a public key and private key. These keys are important because they interact behind the scenes during website transactions.

How to get a valid TLS certificate? ›

Purchase an SSL/TLS certificate from a trusted Certificate Authority (CA).
  1. Create a private key.
  2. Create a certificate signing request (CSR) with a private key. ...
  3. Send the CSR to the trusted CA authority.
  4. The CA authority will send you the SSL certificate signed by their root certificate authority and CA private key.
Oct 26, 2023

How do I enable TLS certification? ›

Activating TLS on a domain

Go to Security > TLS management > Domains. Find the card for the domain with the certificates on which you want to activate TLS. Certificates in a disabled state will have the status of Ready to activate .

What is the difference between SSL certificate and TLS certificate? ›

SSL supports older algorithms with known security vulnerabilities. TLS uses advanced encryption algorithms. An SSL handshake is complex and slow. A TLS handshake has fewer steps and a faster connection.

How does TLS certificate validation work? ›

Authentication. The server sends the public key in the SSL/TLS certificate to the browser. The browser verifies the certificate from a trusted third party. Hence, it can verify that the web server is who it claims to be.

How to verify TLS certificate? ›

Go to a site where TLS inspection is applied by your web filter. Verify the building icon is in the address bar. Click it to see details about permissions and the connection. (Optional) To see details about the certificate, click Certificate information.

How to create a self-signed certificate in Splunk? ›

  1. Prerequisites. Log in to the Splunk server. ...
  2. Create a Root Certificate Authority. Create a Certificate Authority Private Key, by using the following command: ...
  3. Create a Server Certificate. ...
  4. Import the Response. ...
  5. Update the Splunk Configuration. ...
  6. Update the Splunk SSL Settings. ...
  7. Import the Certificate.

How to configure SSL certificates? ›

  1. Step 1) Create your Certificate Signing Request (CSR)
  2. Step 2) Order your certificate.
  3. Step 3) Have your company validated.
  4. Step 4) Install your SSL Certificate.

What is server.conf in Splunk? ›

The server. conf file is a key configuration file in a distributed Splunk Enterprise deployment in that it controls what functional role each node will play in the solution, and how these nodes communicate with each other.

How SSL and TLS certificates are used to ensure that secure sharing of data between a browser and website takes place? ›

HTTPS Connection: When a user connects to an HTTPS-secured website, the site sends its SSL/TLS certificate to the user's browser. This certificate verifies the site's identity. Encryption: If the browser trusts the certificate, it creates, encrypts, and sends back a session key using the website's public key.

Can you use TLS without a certificate? ›

It's possible to do it without a certificate either by generating a transient certificate (which the other end cannot validate), or by using a key exchange algorithm that doesn't use certificates.

How does TLS work step by step? ›

For this reason, TLS uses asymmetric cryptography for securely generating and exchanging a session key. The session key is then used for encrypting the data transmitted by one party, and for decrypting the data received at the other end. Once the session is over, the session key is discarded.

How do I configure an SSL certificate? ›

Let's dive in!
  1. Step 1: Generate SSL Certificate.
  2. Step 2: Configure Apache.
  3. Step 3: Enable SSL Module.
  4. Step 4: Enable SSL Virtual Host.
  5. Step 5: Restart Apache.
  6. Step 6: Verify SSL Configuration.
  7. Step 7: Test SSL Connection.
  8. Step 8: Renew SSL Certificate (Optional)
Feb 21, 2024

How to install SSL and TLS certificate in Windows 10? ›

Installation Instructions
  1. Access Server in IIS. Launch IIS Manager and click the server name in the Connections menu on the left.
  2. Open Server Certificates Manager. ...
  3. Open Complete Certificate Request Wizard. ...
  4. Specify Certificate Authority Response. ...
  5. Set Certificate Bindings.

How do I create a secure SSL certificate? ›

Introduction
  1. Step 1: Install and run OpenSSL. ...
  2. Step 2: Generate the root private key. ...
  3. Step 3: Create a self-signed certificate. ...
  4. Step 4: Install the root certificate on the workstation(s) ...
  5. Step 5: Create a private key. ...
  6. Step 6: Generate the certificate signing request. ...
  7. Step 7: Upload the certificates to your Teramind server.

Is SSL TLS certificate free? ›

Cloudflare offers free SSL/TLS encryption and was the first company to do so, launching Universal SSL in September 2014. The free version of SSL shares SSL certificates among multiple customer domains.

Top Articles
Risk Reduction
The Speed of Python: It Ain’t That Bad!
Cpmc Mission Bernal Campus & Orthopedic Institute Photos
Walgreens Harry Edgemoor
Joe Taylor, K1JT – “WSJT-X FT8 and Beyond”
Bild Poster Ikea
Joi Databas
Patreon, reimagined — a better future for creators and fans
Frederick County Craigslist
Federal Fusion 308 165 Grain Ballistics Chart
Yi Asian Chinese Union
Mercy MyPay (Online Pay Stubs) / mercy-mypay-online-pay-stubs.pdf / PDF4PRO
How to watch free movies online
REVIEW - Empire of Sin
5808 W 110Th St Overland Park Ks 66211 Directions
Moparts Com Forum
Kvta Ventura News
Puretalkusa.com/Amac
Grayling Purnell Net Worth
Water Trends Inferno Pool Cleaner
Why Should We Hire You? - Professional Answers for 2024
MLB power rankings: Red-hot Chicago Cubs power into September, NL wild-card race
Rufus Benton "Bent" Moulds Jr. Obituary 2024 - Webb & Stephens Funeral Homes
Military life insurance and survivor benefits | USAGov
Academy Sports Meridian Ms
Hdmovie2 Sbs
Lacey Costco Gas Price
Marokko houdt honderden mensen tegen die illegaal grens met Spaanse stad Ceuta wilden oversteken
Access a Shared Resource | Computing for Arts + Sciences
Danielle Ranslow Obituary
NV Energy issues outage watch for South Carson City, Genoa and Glenbrook
Current Students - Pace University Online
Tire Pro Candler
Diana Lolalytics
Appraisalport Com Dashboard /# Orders
Xemu Vs Cxbx
CVS Near Me | Somersworth, NH
Srg Senior Living Yardi Elearning Login
Otter Bustr
Empires And Puzzles Dark Chest
Jason Brewer Leaving Fox 25
Best Restaurants Minocqua
The Listings Project New York
Jamesbonchai
Quest Diagnostics Mt Morris Appointment
Divisadero Florist
Ubg98.Github.io Unblocked
How to Find Mugshots: 11 Steps (with Pictures) - wikiHow
Ark Silica Pearls Gfi
Varsity Competition Results 2022
Latest Posts
Article information

Author: Prof. Nancy Dach

Last Updated:

Views: 6236

Rating: 4.7 / 5 (77 voted)

Reviews: 92% of readers found this page helpful

Author information

Name: Prof. Nancy Dach

Birthday: 1993-08-23

Address: 569 Waelchi Ports, South Blainebury, LA 11589

Phone: +9958996486049

Job: Sales Manager

Hobby: Web surfing, Scuba diving, Mountaineering, Writing, Sailing, Dance, Blacksmithing

Introduction: My name is Prof. Nancy Dach, I am a lively, joyous, courageous, lovely, tender, charming, open person who loves writing and wants to share my knowledge and understanding with you.