<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: A writeup: KV store / mongo TLS configuration needs serious work in Security</title>
    <link>https://community.splunk.com/t5/Security/A-writeup-KV-store-mongo-TLS-configuration-needs-serious-work/m-p/704442#M18201</link>
    <description>&lt;P&gt;Sorry for the late reply. As I've changed my mail over the years, I don't receive email notifications from replies. Here's the app: &lt;A href="https://github.com/skalliger/encryption_and_vulnerability_check" target="_blank"&gt;https://github.com/skalliger/encryption_and_vulnerability_check&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Thu, 14 Nov 2024 20:11:28 GMT</pubDate>
    <dc:creator>skalliger</dc:creator>
    <dc:date>2024-11-14T20:11:28Z</dc:date>
    <item>
      <title>A writeup: KV store / mongo TLS configuration needs serious work</title>
      <link>https://community.splunk.com/t5/Security/A-writeup-KV-store-mongo-TLS-configuration-needs-serious-work/m-p/665766#M17341</link>
      <description>&lt;P&gt;Hello everyone,&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;so, many hours went by. It all started with the parameters which were introduced in Splunk 9 (&lt;A href="https://docs.splunk.com/Documentation/Splunk/9.1.1/Security/EnableTLSCertHostnameValidation#Configure_TLS_host_name_validation_for_the_App_Key_Value_Store_service" target="_self"&gt;docs reference&lt;/A&gt;).&lt;/P&gt;&lt;P&gt;Specificially, we should harden the KV store. I've spent several hours in many environments and not a single time I was able to do so. Today, I spent many hours trying to solve it with no success. Here's the problem:&lt;/P&gt;&lt;P&gt;I've configured everything and everything is working fine, except KV store.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;LI-CODE lang="markup"&gt;[sslConfig]
cliVerifyServerName = true
sslVerifyServerCert = true
sslVerifyServerName = true
sslRootCAPath = $SPLUNK_HOME/etc/your/path/your_CA.pem

[kvstore]
sslVerifyServerCert = true
sslVerifyServerName = true
serverCert = $SPLUNK_HOME/etc/your/path/your_cert.pem
sslPassword =

[pythonSslClientConfig]
sslVerifyServerCert = true
sslVerifyServerName = true

[search_state]
sslVerifyServerCert = true&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;(btw, search_state is neither listed in the docs nor does the value display in the UI, however an error is logged if it's not set).&lt;/P&gt;&lt;P&gt;You can put the sslPassword parameter in or not, doesn't matter.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;What you'll always end up when enabling sslVerifyServerCert and sslVerifyServerName is in the mongod.log:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;LI-CODE lang="markup"&gt;2023-10-22T00:11:28.557Z I CONTROL [initandlisten] ** WARNING: This server will not perform X.509 hostname validation
2023-10-22T00:11:28.557Z I CONTROL [initandlisten] ** This may allow your server to make or accept connections to
2023-10-22T00:11:28.557Z I CONTROL [initandlisten] ** untrusted parties
2023-10-22T00:11:28.557Z I CONTROL [initandlisten]
2023-10-22T00:11:28.557Z I CONTROL [initandlisten] ** WARNING: No client certificate validation can be performed since no CA file has been provided
2023-10-22T00:11:28.557Z I CONTROL [initandlisten] ** Please specify an sslCAFile parameter.&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;Splunk doesn't seem to be parsing the required parameters to Mongo as it's expecting them, let's dig a bit. This is what you'll find at startups:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;LI-CODE lang="markup"&gt;2023-10-21T22:31:54.640+0200 W CONTROL [main] Option: sslMode is deprecated. Please use tlsMode instead.
2023-10-21T22:31:54.640+0200 W CONTROL [main] Option: sslPEMKeyFile is deprecated. Please use tlsCertificateKeyFile instead.
2023-10-21T22:31:54.640+0200 W CONTROL [main] Option: sslPEMKeyPassword is deprecated. Please use tlsCertificateKeyFilePassword instead.
2023-10-21T22:31:54.640+0200 W CONTROL [main] Option: sslCipherConfig is deprecated. Please use tlsCipherConfig instead.
2023-10-21T22:31:54.640+0200 W CONTROL [main] Option: sslAllowInvalidHostnames is deprecated. Please use tlsAllowInvalidHostnames instead.
2023-10-21T20:31:54.641Z W CONTROL [main] net.tls.tlsCipherConfig is deprecated. It will be removed in a future release.
2023-10-21T20:31:54.644Z W NETWORK [main] Server certificate has no compatible Subject Alternative Name. This may prevent TLS clients from connecting
2023-10-21T20:31:54.645Z W ASIO [main] No TransportLayer configured during NetworkInterface startup&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;Has anyone ever tested the TLS verification settings? All of the tlsVerify* settings are just very inconsistent in Splunk 9 and I don't see them mentioned often. Also I don't find any bugs or issues listed with KV store encryption.&lt;/P&gt;&lt;P&gt;If you list those parameters on the docs, I expect them to work. A "ps -ef | grep mongo" will list you what options are parsed from Splunk to Mongo, formatted for readability.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;LI-CODE lang="markup"&gt;mongod --dbpath=/data/splunk/var/lib/splunk/kvstore/mongo
--storageEngine=wiredTiger
--wiredTigerCacheSizeGB=3.600000
--port=8191
--timeStampFormat=iso8601-utc
--oplogSize=200
--keyFile=/data/splunk/var/lib/splunk/kvstore/mongo/splunk.key
--setParameter=enableLocalhostAuthBypass=0
--setParameter=oplogFetcherSteadyStateMaxFetcherRestarts=0
--replSet=8B532733-2DEF-42CC-82E5-38E990F3CD04
--bind_ip=0.0.0.0 --sslMode=requireSSL
--sslAllowInvalidHostnames
--sslPEMKeyFile=/data/splunk/etc/auth/newCerts/machine/deb-spl_full.pem
--sslPEMKeyPassword=xxxxxxxx
--tlsDisabledProtocols=noTLS1_0,noTLS1_1
--sslCipherConfig=ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-SHA384:DHE-DSS-AES256-GCM-SHA384:DHE-DSS-AES256-SHA256:DHE-DSS-AES128-GCM-SHA256:DHE-DSS-AES128-SHA256:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES128-SHA256:ECDH-ECDSA-AES256-GCM-SHA384:ECDH-ECDSA-AES256-SHA384:ECDH-ECDSA-AES128-GCM-SHA256:ECDH-ECDSA-AES128-SHA256
--nounixsocket --noscripting&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;I even tried messing around with old server.conf parameters like&lt;/P&gt;&lt;P&gt;caCertFile or sslKeysPassword, but it seems like the CA is simply never parsed as an argument. Why did no one stumple upon this?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;How did I find all of that? I have developed an app which gives an overview of the Splunk environment's mitigation status against current Splunk Vulnerabity Disclosures (SVDs) as well as recommended best practice encryption settings.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;If anyone has a working KV store TLS config, I'm eager to see that.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Skalli&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Sun, 22 Oct 2023 00:47:05 GMT</pubDate>
      <guid>https://community.splunk.com/t5/Security/A-writeup-KV-store-mongo-TLS-configuration-needs-serious-work/m-p/665766#M17341</guid>
      <dc:creator>skalliger</dc:creator>
      <dc:date>2023-10-22T00:47:05Z</dc:date>
    </item>
    <item>
      <title>Re: A writeup: KV store / mongo TLS configuration needs serious work</title>
      <link>https://community.splunk.com/t5/Security/A-writeup-KV-store-mongo-TLS-configuration-needs-serious-work/m-p/665981#M17344</link>
      <description>&lt;P&gt;Hey,&lt;/P&gt;&lt;P&gt;Nice write-up, this is certainly an interesting subject. The whole SSL/TLS implementations seems a bit rushed and indeed not very well documented.&lt;/P&gt;&lt;P&gt;Did you try this on a Search Head Cluster? Because it clearly states "&lt;SPAN&gt;TLS host name validation only works for search head clusters that use App Key Value Store.&lt;/SPAN&gt;" on the docs page you referred to.&lt;/P&gt;&lt;P&gt;Also in the server.conf.spec for the [kvstore] serverCert setting, it says:&lt;/P&gt;&lt;PRE&gt;* Only used when Common Criteria is enabled (SPLUNK_COMMON_CRITERIA=1)
  or FIPS is enabled (i.e. SPLUNK_FIPS=1).&lt;/PRE&gt;&lt;P&gt;My conclusion is that when KV-Store is in stand-alone mode there is no need to verify certificates since there will never be external connections in either direction. When traffic is localhost only I guess Splunk consider it "secure" enough - unless FIPS or CC is enabled.&lt;/P&gt;&lt;P&gt;But I find it very annoying that you get a warning at each start-up that the KV-store is not "secure" even though it is stand-alone.&lt;/P&gt;&lt;P&gt;I haven't had the opportunity to test this out in a clustered environment yet, but I will for sure let you know if I do.&lt;/P&gt;&lt;P&gt;Please let me know if you make any progress in this matter.&lt;/P&gt;</description>
      <pubDate>Tue, 24 Oct 2023 09:06:48 GMT</pubDate>
      <guid>https://community.splunk.com/t5/Security/A-writeup-KV-store-mongo-TLS-configuration-needs-serious-work/m-p/665981#M17344</guid>
      <dc:creator>arcsight_guru</dc:creator>
      <dc:date>2023-10-24T09:06:48Z</dc:date>
    </item>
    <item>
      <title>Re: A writeup: KV store / mongo TLS configuration needs serious work</title>
      <link>https://community.splunk.com/t5/Security/A-writeup-KV-store-mongo-TLS-configuration-needs-serious-work/m-p/678635#M17633</link>
      <description>&lt;BLOCKQUOTE&gt;&lt;HR /&gt;&lt;a href="https://community.splunk.com/t5/user/viewprofilepage/user-id/203859"&gt;@skalliger&lt;/a&gt;&amp;nbsp;wrote:&lt;BR /&gt;&lt;P&gt;How did I find all of that? I have developed an app which gives an overview of the Splunk environment's mitigation status against current Splunk Vulnerabity Disclosures (SVDs) as well as recommended best practice encryption settings.&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;&amp;nbsp;Nice work &lt;a href="https://community.splunk.com/t5/user/viewprofilepage/user-id/203859"&gt;@skalliger&lt;/a&gt;&amp;nbsp;. Is this app publically available? I would be interested in this functionality.&lt;/P&gt;</description>
      <pubDate>Mon, 26 Feb 2024 07:15:26 GMT</pubDate>
      <guid>https://community.splunk.com/t5/Security/A-writeup-KV-store-mongo-TLS-configuration-needs-serious-work/m-p/678635#M17633</guid>
      <dc:creator>jmartens</dc:creator>
      <dc:date>2024-02-26T07:15:26Z</dc:date>
    </item>
    <item>
      <title>Re: A writeup: KV store / mongo TLS configuration needs serious work</title>
      <link>https://community.splunk.com/t5/Security/A-writeup-KV-store-mongo-TLS-configuration-needs-serious-work/m-p/704442#M18201</link>
      <description>&lt;P&gt;Sorry for the late reply. As I've changed my mail over the years, I don't receive email notifications from replies. Here's the app: &lt;A href="https://github.com/skalliger/encryption_and_vulnerability_check" target="_blank"&gt;https://github.com/skalliger/encryption_and_vulnerability_check&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 14 Nov 2024 20:11:28 GMT</pubDate>
      <guid>https://community.splunk.com/t5/Security/A-writeup-KV-store-mongo-TLS-configuration-needs-serious-work/m-p/704442#M18201</guid>
      <dc:creator>skalliger</dc:creator>
      <dc:date>2024-11-14T20:11:28Z</dc:date>
    </item>
    <item>
      <title>Re: A writeup: KV store / mongo TLS configuration needs serious work</title>
      <link>https://community.splunk.com/t5/Security/A-writeup-KV-store-mongo-TLS-configuration-needs-serious-work/m-p/712054#M18355</link>
      <description>&lt;P&gt;You must be running in FIPS mode.&lt;/P&gt;&lt;P&gt;The settings will work fine in non-FIPS, but in FIPS mode if you even add the 1 setting of 'sslRootCAPath' your kvstore will fail.&lt;/P&gt;&lt;P&gt;The only way to get kvstore to run in FIPS mode with your own certs is to rename your certs to be the default filepaths, which is $SPLUNK_HOME/etc/auth/server.pem and cacert.pem&lt;/P&gt;&lt;P&gt;You will also have to cat 'appsCA.pem' to the end of your cacert.pem so that the Manage Apps UI works.&lt;/P&gt;&lt;P&gt;Note that the kvstore is only needed on Search Heads, so you could disable or ignore it on non-SHs.&lt;/P&gt;&lt;P&gt;The other problem you will still have is you cannot set 'requireClientCert=true' in FIPS mode, possibly in non-FIPS I have to confirm that again.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 20 Feb 2025 06:03:48 GMT</pubDate>
      <guid>https://community.splunk.com/t5/Security/A-writeup-KV-store-mongo-TLS-configuration-needs-serious-work/m-p/712054#M18355</guid>
      <dc:creator>moliminous</dc:creator>
      <dc:date>2025-02-20T06:03:48Z</dc:date>
    </item>
    <item>
      <title>Re: A writeup: KV store / mongo TLS configuration needs serious work</title>
      <link>https://community.splunk.com/t5/Security/A-writeup-KV-store-mongo-TLS-configuration-needs-serious-work/m-p/751775#M18480</link>
      <description>&lt;P&gt;Hi! I had tried everything to raise the kvstore with mongo embedded version 7, had other errors that were already solved, but still did not take the certificates, I changed the database paths, I was raising mongo manually with certificates created for it and it worked, so I found your answer that matched what I wanted to do ... Putting the default names, so that was the only thing I was missing to finish solving it in a FIPS environment, so your solution with the default names, encouraged me to do it definitely! Splunk does not indicate in its official documentation this ‘casuistry’, so I wanted to put a comment to say that in my case with FIPS it works! Thank you very much!&lt;/P&gt;</description>
      <pubDate>Sun, 17 Aug 2025 19:13:22 GMT</pubDate>
      <guid>https://community.splunk.com/t5/Security/A-writeup-KV-store-mongo-TLS-configuration-needs-serious-work/m-p/751775#M18480</guid>
      <dc:creator>apolo</dc:creator>
      <dc:date>2025-08-17T19:13:22Z</dc:date>
    </item>
    <item>
      <title>Re: A writeup: KV store / mongo TLS configuration needs serious work</title>
      <link>https://community.splunk.com/t5/Security/A-writeup-KV-store-mongo-TLS-configuration-needs-serious-work/m-p/751785#M18481</link>
      <description>&lt;P&gt;Sorry for the delay, somehow I didn't get notifications for this topic.&amp;nbsp;&lt;BR /&gt;My app is here:&amp;nbsp;&lt;A href="https://github.com/skalliger/encryption_and_vulnerability_check" target="_blank"&gt;https://github.com/skalliger/encryption_and_vulnerability_check&lt;/A&gt;&lt;/P&gt;&lt;P&gt;It needs some little SPL changes but that's for another topic, not really KV / TLS-related.&lt;/P&gt;</description>
      <pubDate>Mon, 18 Aug 2025 07:52:02 GMT</pubDate>
      <guid>https://community.splunk.com/t5/Security/A-writeup-KV-store-mongo-TLS-configuration-needs-serious-work/m-p/751785#M18481</guid>
      <dc:creator>skalliger</dc:creator>
      <dc:date>2025-08-18T07:52:02Z</dc:date>
    </item>
  </channel>
</rss>

