Bootstrap unique certificates for Splunk forwarders
Configure each universal forwarder that connects to your Splunk Cloud Platform deployment to automatically replace the shared client certificate in its forwarder bundle with a unique certificate on first startup, reducing the security risk of a shared certificate across all of your forwarders.
Universal forwarder (UF) bundles that you download from Splunk Cloud Platform include a single shared client certificate. Every forwarder that you provision from the same bundle uses that certificate to authenticate its Splunk-to-Splunk (S2S) connections to your indexers. Because all of these forwarders share the same credential, a security breach that exposes one forwarder's certificate can compromise the authentication of every other forwarder in your environment. The Secure Forwarder Bootstrap feature eliminates this risk by automatically provisioning each forwarder with a unique client certificate the first time it connects, without requiring any manual certificate management.
How forwarders receive unique certificates
When forwarders connect to a Splunk Cloud Platform deployment using mutually authenticated TLS (mTLS), each forwarder presents a client certificate during the TLS handshake. Forwarders that the same universal forwarder bundle provisions share an identical client certificate, which means that a compromised forwarder certificate can expose all of your forwarders. The Secure Forwarder Bootstrap feature resolves this by adding a bootstrap marker to the shared certificate in the UF bundle.
The Secure Forwarder Bootstrap marker takes the form of an X.509 standard Subject Alternative Name (SAN) DNS entry, called the bootstrap SAN, with a value of bootstrap.forwarders.stack_name.env.splunkcloud.com. When a forwarder with a true value for the autoCertRotation setting in its outputs.conf configuration file starts and detects this bootstrap SAN in its current certificate, it initiates the certificate rotation workflow through its existing S2S connection to the indexer. The Splunk Cloud Platform provisions a unique certificate and delivers it to the forwarder. When the forwarder installs the unique certificate, it uses the unique certificate for all S2S connections without requiring a restart.
This feature applies to universal forwarders that run on Windows and Linux and connect directly to indexers on a Splunk Cloud Platform deployment. Forwarders that route traffic through a heavy forwarder cannot use this feature. It does not apply to on-premises indexer deployments.
When the forwarder obtains a unique certificate, it does not repeat the bootstrap workflow on subsequent restarts because the unique certificate does not contain the bootstrap SAN. The forwarder automatically renews the certificate based on the value you set in the certRotationThresholdPct setting in the outputs.conf configuration file.
Prerequisites for certificate bootstrapping
Before you begin, confirm that your environment meets the following requirements:
-
Your Splunk Cloud Platform deployment runs version 10.6 or higher.
-
Your universal forwarder instances run version 10.6 or higher.
-
Splunk Support has turned on the Secure Forwarder Bootstrap feature for your deployment.
-
You have downloaded and deployed the updated UF bundle from Splunk Web after Splunk Support confirms that the update is complete. This bundle contains a certificate with a special X.509 Subject Alternative Name (SAN) DNS entry, called the bootstrap SAN, that marks the certificate for automatic replacement on first startup.
-
The forwarder machine runs Windows or Linux and connects directly to indexers, not through a heavy forwarder.
Procedure for bootstrapping unique certificates for Splunk forwarders
Configure universal forwarders connected to Splunk Cloud Platform to replace their shared bundle certificate automatically with a unique client certificate on first startup.
Review the prerequisites for certificate bootstrapping earlier in this topic.
Follow these steps to configure the Secure Forwarder Bootstrap feature on your universal forwarder instances.
Each forwarder now uses a unique certificate for all S2S connections to Splunk Cloud Platform.
To monitor progress and verify certificate installation, see Monitor bootstrap progress and verify unique certificate installation later in this topic.
For large UF fleets, deploy the updated bundle and turn on the autoCertRotation setting in batches to avoid overwhelming Splunk Cloud Platform with simultaneous certificate signing requests. If Splunk Cloud Platform throttles a request, S2S forwarding continues uninterrupted on the existing certificate and the forwarder retries automatically. The next retry occurs between 18 and 30 hours after the throttled request. Monitor bootstrap progress in splunkd.log on each forwarder to confirm that the forwarder has replaced the bootstrap certificate with a unique certificate.
Monitor bootstrap progress and verify unique certificate installation
Review forwarder log messages to confirm that certificate bootstrapping started and that the forwarder installed its unique client certificate successfully.
To monitor bootstrapping and verify that the forwarder installed its unique certificate, review the splunkd.log log file on each forwarder for entries on the S2SCertUpdater log channel. This channel logs at the INFO logging level by default, and you do not need to change the level to see these log entries.
The log file locations depend on your operating system:
-
Linux: $SPLUNK_HOME/var/log/splunk/splunkd.log
-
Windows: %SPLUNK_HOME%\var\log\splunk\splunkd.log
Confirm that the forwarder initiated the bootstrapping process
When the forwarder detects the bootstrap SAN and initiates the rotation process, the following lines appear together in the log. The CertificateData line shows the certificate details, including the bootstrap SAN in the subjectAltName field. The S2SCertUpdater line immediately following it confirms that the rotation process started:
INFO CertificateData [...] - channel=CertificateSigningRequest, subject="CN=*.stack.splunkcloud.com", subjectAltName="DNS:*.stack.splunkcloud.com, DNS:bootstrap.forwarders.stack.splunkcloud.com", serial=..., notValidBefore=..., notValidAfter=..., issuer="...", sha256-fingerprint=...
INFO S2SCertUpdater [...] - Starting rotation process for group=group_name
INFO S2SCertUpdater [...] - Will check cert rotation in 23 hours, 12 minutes, 40 seconds
The scheduling line appears immediately because the forwarder schedules the next check immediately after it queues the certificate signing request. The response from the indexer arrives later.
Confirm that the forwarder installed its unique certificate
There is no explicit success log line at the default INFO logging level. If bootstrapping succeeds, the following line appears with no subsequent ERROR entries on the PKI or S2SCertUpdater log channels:
INFO S2SCertUpdater [...] - Start processing cert rotation for response origin=
origin= field is blank in all cases. Splunk designed this behavior intentionally.
After this line, a successful bootstrap results in a tcpout configuration reload in the log and no errors. If you see no ERROR entries on the PKI or S2SCertUpdater log channels after this line, the forwarder installed its unique certificate successfully.
Troubleshoot a failed bootstrap
Use forwarder log messages to identify certificate bootstrapping failures and turn on DEBUG logging for additional details about the certificate request.
If the bootstrap fails, the PKI channel logs an error first, followed immediately by an error on S2SCertUpdater:
ERROR PKI [...] - The certificate signing response contains errors. Errors=..., Json response=...
ERROR S2SCertUpdater [...] - Error processing cert rotation for response origin=
The PKI error gives the specific reason. You might see the following additional failure patterns:
ERROR S2SCertUpdater [...] - Error processing cert rotation for responseo origin =
WARN S2SCertUpdater [...] - Received invalid resposne with non-empty origin: value
INFO S2SCertUpdater [...] - S2S certificate request interrupted by tcpout reload; retrying soon. exception text
INFO S2SCertUpdater [...] - No feature enabled TcpOutput group to send the certificate request
The first pattern is the empty-payload case. The third pattern ("S2S certificate request interrupted") indicates that a tcpout reload interrupted the request; the forwarder retries automatically. The fourth pattern ("No feature enabled") means that a named [tcpout:target_group] stanza lacks the autoCertRotation setting.
Add the following line to the $SPLUNK_HOME/etc/log-local.cfg configuration file on the forwarder to raise the logging level on the PKI channel to DEBUG:
category.PKI=DEBUG
Restart splunkd.
With DEBUG logging turned on, the bootstrap SAN detection and certificate signing request (CSR) creation steps appear in the log before the CertificateData line.
Turn off certificate bootstrapping
Contact Splunk Support and deploy an updated forwarder bundle to turn off certificate bootstrapping and restore the standard shared certificate on your forwarders.
Use this procedure to turn off certificate bootstrapping for your forwarders.
- Contact Splunk Support to submit a support case requesting that they turn off the Secure Forwarder Bootstrap feature for your deployment.
- After Splunk Support performs a certificate rotation to regenerate the UF bundle without the bootstrap SAN, download the updated splunkclouduf.spl bundle from Splunk Web.
- Deploy the updated bundle to your UF instances to restore the standard shared certificate.