<?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 inputs.conf requireClientCert being ignored in Security</title>
    <link>https://community.splunk.com/t5/Security/inputs-conf-requireClientCert-being-ignored/m-p/363273#M9088</link>
    <description>&lt;P&gt;So I have been trying to get a solution where you do not need to have an SSL certificate on a universal forwarder for sending data base to Splunk on port 9997. However I can't seem to get it to work.&lt;/P&gt;

&lt;P&gt;&lt;A href="https://docs.splunk.com/Documentation/Splunk/6.6.1/Admin/Inputsconf"&gt;https://docs.splunk.com/Documentation/Splunk/6.6.1/Admin/Inputsconf&lt;/A&gt;&lt;BR /&gt;
and&lt;BR /&gt;
&lt;A href="https://docs.splunk.com/Documentation/Splunk/6.6.1/Admin/Outputsconf"&gt;https://docs.splunk.com/Documentation/Splunk/6.6.1/Admin/Outputsconf&lt;/A&gt;&lt;/P&gt;

&lt;P&gt;This from the inputs.conf seems to indicate by default you do not need to have a SSL certificate on the forwarder at all&lt;/P&gt;

&lt;PRE&gt;&lt;CODE&gt;requireClientCert = &amp;lt;bool&amp;gt;
* Determines whether a client must present an SSL certificate to authenticate.
* Full path to the root CA (Certificate Authority) certificate store.
* The &amp;lt;path&amp;gt; must refer to a PEM format file containing one or more root CA
  certificates concatenated together.
* Defaults to false.
&lt;/CODE&gt;&lt;/PRE&gt;

&lt;P&gt;My working conf with SSL certs on both ends.&lt;/P&gt;

&lt;P&gt;&lt;STRONG&gt;inputs.conf&lt;/STRONG&gt;&lt;/P&gt;

&lt;PRE&gt;&lt;CODE&gt;###############################
# Encrypted receiver
###############################
# Ref : &lt;A href="http://docs.splunk.com/Documentation/Splunk/latest/Security/ConfigureSplunkforwardingtousethedefaultcertificate" target="test_blank"&gt;http://docs.splunk.com/Documentation/Splunk/latest/Security/ConfigureSplunkforwardingtousethedefaultcertificate&lt;/A&gt;
# Ref : &lt;A href="http://docs.splunk.com/Documentation/Splunk/latest/Security/ConfigureSplunkforwardingtousesignedcertificates" target="test_blank"&gt;http://docs.splunk.com/Documentation/Splunk/latest/Security/ConfigureSplunkforwardingtousesignedcertificates&lt;/A&gt;
[splunktcp-ssl:9997]
disabled = 0
# requireClientCert = false

#############
# IMPORTANT: If this configuration is placed within an local/inputs.conf in an app the password will not be encrypted. 
#            If you require encryption the inputs.conf definitions must be in $SPLUNK_HOME/system/local/inputs.conf
[SSL]
serverCert = $SPLUNK_HOME/etc/apps/cfgd_ssl_certs_servers/auth/myFullIndexerMediaCertificate.pem
sslPassword = *************
&lt;/CODE&gt;&lt;/PRE&gt;

&lt;P&gt;&lt;STRONG&gt;outputs.conf&lt;/STRONG&gt;&lt;/P&gt;

&lt;PRE&gt;&lt;CODE&gt;# &lt;A href="http://docs.splunk.com/Documentation/Splunk/latest/Admin/Outputsconf" target="test_blank"&gt;http://docs.splunk.com/Documentation/Splunk/latest/Admin/Outputsconf&lt;/A&gt;

[tcpout]
defaultGroup = indexers
indexAndForward = false

[tcpout:indexers]
server = 192.168.55.55:9997

# IMPORTANT: Ensure indexer is also configured &lt;A href="http://docs.splunk.com/Documentation/Splunk/latest/Security/ConfigureSplunkforwardingtousethedefaultcertificate" target="test_blank"&gt;http://docs.splunk.com/Documentation/Splunk/latest/Security/ConfigureSplunkforwardingtousethedefaultcertificate&lt;/A&gt; a configuration app is also available for that.

sslCertPath = $SPLUNK_HOME/etc/apps/cfgd_fwd_to_idx_ssl/auth/myFullForwarderCertificate.pem

sslPassword = *******

sslVerifyServerCert = false
# sslCommonNameToCheck = indexer.mydomain.com

# While compression should not add too much overhead if there are performance issues this could be disabled to see if this alieviates the problem.
useClientSSLCompression = true
&lt;/CODE&gt;&lt;/PRE&gt;

&lt;P&gt;Now trying this next configuration does not work. If I try to use the requireClientCert set to false (even though it defaults to false) I never see any data from the forwarder.&lt;/P&gt;

&lt;P&gt;&lt;STRONG&gt;inputs.conf&lt;/STRONG&gt;&lt;/P&gt;

&lt;PRE&gt;&lt;CODE&gt;###############################
# Encrypted receiver
###############################
# Ref : &lt;A href="http://docs.splunk.com/Documentation/Splunk/latest/Security/ConfigureSplunkforwardingtousethedefaultcertificate" target="test_blank"&gt;http://docs.splunk.com/Documentation/Splunk/latest/Security/ConfigureSplunkforwardingtousethedefaultcertificate&lt;/A&gt;
# Ref : &lt;A href="http://docs.splunk.com/Documentation/Splunk/latest/Security/ConfigureSplunkforwardingtousesignedcertificates" target="test_blank"&gt;http://docs.splunk.com/Documentation/Splunk/latest/Security/ConfigureSplunkforwardingtousesignedcertificates&lt;/A&gt;
[splunktcp-ssl:9997]
disabled = 0
requireClientCert = false

#############
# IMPORTANT: If this configuration is placed within an local/inputs.conf in an app the password will not be encrypted. 
#            If you require encryption the inputs.conf definitions must be in $SPLUNK_HOME/system/local/inputs.conf
[SSL]
serverCert = $SPLUNK_HOME/etc/apps/cfgd_ssl_certs_servers/auth/myFullIndexerMediaCertificate.pem
sslPassword = ***********
&lt;/CODE&gt;&lt;/PRE&gt;

&lt;P&gt;&lt;STRONG&gt;outputs.conf&lt;/STRONG&gt;&lt;/P&gt;

&lt;PRE&gt;&lt;CODE&gt;# &lt;A href="http://docs.splunk.com/Documentation/Splunk/latest/Admin/Outputsconf" target="test_blank"&gt;http://docs.splunk.com/Documentation/Splunk/latest/Admin/Outputsconf&lt;/A&gt;

[tcpout]
defaultGroup = indexers
indexAndForward = false

[tcpout:indexers]
server = 192.168.55.55:9997

# IMPORTANT: Ensure indexer is also configured &lt;A href="http://docs.splunk.com/Documentation/Splunk/latest/Security/ConfigureSplunkforwardingtousethedefaultcertificate" target="test_blank"&gt;http://docs.splunk.com/Documentation/Splunk/latest/Security/ConfigureSplunkforwardingtousethedefaultcertificate&lt;/A&gt; a configuration app is also available for that.

sslVerifyServerCert = false
# sslCommonNameToCheck = indexer.mydomain.com

# While compression should not add too much overhead if there are performance issues this could be disabled to see if this alieviates the problem.
useClientSSLCompression = true
&lt;/CODE&gt;&lt;/PRE&gt;

&lt;P&gt;So the takeaway here is what does the requireClientCert do if it doesn't work when a forwarder contacts the server without a certificate?&lt;/P&gt;</description>
    <pubDate>Fri, 23 Jun 2017 05:43:12 GMT</pubDate>
    <dc:creator>phoenixdigital</dc:creator>
    <dc:date>2017-06-23T05:43:12Z</dc:date>
    <item>
      <title>inputs.conf requireClientCert being ignored</title>
      <link>https://community.splunk.com/t5/Security/inputs-conf-requireClientCert-being-ignored/m-p/363273#M9088</link>
      <description>&lt;P&gt;So I have been trying to get a solution where you do not need to have an SSL certificate on a universal forwarder for sending data base to Splunk on port 9997. However I can't seem to get it to work.&lt;/P&gt;

&lt;P&gt;&lt;A href="https://docs.splunk.com/Documentation/Splunk/6.6.1/Admin/Inputsconf"&gt;https://docs.splunk.com/Documentation/Splunk/6.6.1/Admin/Inputsconf&lt;/A&gt;&lt;BR /&gt;
and&lt;BR /&gt;
&lt;A href="https://docs.splunk.com/Documentation/Splunk/6.6.1/Admin/Outputsconf"&gt;https://docs.splunk.com/Documentation/Splunk/6.6.1/Admin/Outputsconf&lt;/A&gt;&lt;/P&gt;

&lt;P&gt;This from the inputs.conf seems to indicate by default you do not need to have a SSL certificate on the forwarder at all&lt;/P&gt;

&lt;PRE&gt;&lt;CODE&gt;requireClientCert = &amp;lt;bool&amp;gt;
* Determines whether a client must present an SSL certificate to authenticate.
* Full path to the root CA (Certificate Authority) certificate store.
* The &amp;lt;path&amp;gt; must refer to a PEM format file containing one or more root CA
  certificates concatenated together.
* Defaults to false.
&lt;/CODE&gt;&lt;/PRE&gt;

&lt;P&gt;My working conf with SSL certs on both ends.&lt;/P&gt;

&lt;P&gt;&lt;STRONG&gt;inputs.conf&lt;/STRONG&gt;&lt;/P&gt;

&lt;PRE&gt;&lt;CODE&gt;###############################
# Encrypted receiver
###############################
# Ref : &lt;A href="http://docs.splunk.com/Documentation/Splunk/latest/Security/ConfigureSplunkforwardingtousethedefaultcertificate" target="test_blank"&gt;http://docs.splunk.com/Documentation/Splunk/latest/Security/ConfigureSplunkforwardingtousethedefaultcertificate&lt;/A&gt;
# Ref : &lt;A href="http://docs.splunk.com/Documentation/Splunk/latest/Security/ConfigureSplunkforwardingtousesignedcertificates" target="test_blank"&gt;http://docs.splunk.com/Documentation/Splunk/latest/Security/ConfigureSplunkforwardingtousesignedcertificates&lt;/A&gt;
[splunktcp-ssl:9997]
disabled = 0
# requireClientCert = false

#############
# IMPORTANT: If this configuration is placed within an local/inputs.conf in an app the password will not be encrypted. 
#            If you require encryption the inputs.conf definitions must be in $SPLUNK_HOME/system/local/inputs.conf
[SSL]
serverCert = $SPLUNK_HOME/etc/apps/cfgd_ssl_certs_servers/auth/myFullIndexerMediaCertificate.pem
sslPassword = *************
&lt;/CODE&gt;&lt;/PRE&gt;

&lt;P&gt;&lt;STRONG&gt;outputs.conf&lt;/STRONG&gt;&lt;/P&gt;

&lt;PRE&gt;&lt;CODE&gt;# &lt;A href="http://docs.splunk.com/Documentation/Splunk/latest/Admin/Outputsconf" target="test_blank"&gt;http://docs.splunk.com/Documentation/Splunk/latest/Admin/Outputsconf&lt;/A&gt;

[tcpout]
defaultGroup = indexers
indexAndForward = false

[tcpout:indexers]
server = 192.168.55.55:9997

# IMPORTANT: Ensure indexer is also configured &lt;A href="http://docs.splunk.com/Documentation/Splunk/latest/Security/ConfigureSplunkforwardingtousethedefaultcertificate" target="test_blank"&gt;http://docs.splunk.com/Documentation/Splunk/latest/Security/ConfigureSplunkforwardingtousethedefaultcertificate&lt;/A&gt; a configuration app is also available for that.

sslCertPath = $SPLUNK_HOME/etc/apps/cfgd_fwd_to_idx_ssl/auth/myFullForwarderCertificate.pem

sslPassword = *******

sslVerifyServerCert = false
# sslCommonNameToCheck = indexer.mydomain.com

# While compression should not add too much overhead if there are performance issues this could be disabled to see if this alieviates the problem.
useClientSSLCompression = true
&lt;/CODE&gt;&lt;/PRE&gt;

&lt;P&gt;Now trying this next configuration does not work. If I try to use the requireClientCert set to false (even though it defaults to false) I never see any data from the forwarder.&lt;/P&gt;

&lt;P&gt;&lt;STRONG&gt;inputs.conf&lt;/STRONG&gt;&lt;/P&gt;

&lt;PRE&gt;&lt;CODE&gt;###############################
# Encrypted receiver
###############################
# Ref : &lt;A href="http://docs.splunk.com/Documentation/Splunk/latest/Security/ConfigureSplunkforwardingtousethedefaultcertificate" target="test_blank"&gt;http://docs.splunk.com/Documentation/Splunk/latest/Security/ConfigureSplunkforwardingtousethedefaultcertificate&lt;/A&gt;
# Ref : &lt;A href="http://docs.splunk.com/Documentation/Splunk/latest/Security/ConfigureSplunkforwardingtousesignedcertificates" target="test_blank"&gt;http://docs.splunk.com/Documentation/Splunk/latest/Security/ConfigureSplunkforwardingtousesignedcertificates&lt;/A&gt;
[splunktcp-ssl:9997]
disabled = 0
requireClientCert = false

#############
# IMPORTANT: If this configuration is placed within an local/inputs.conf in an app the password will not be encrypted. 
#            If you require encryption the inputs.conf definitions must be in $SPLUNK_HOME/system/local/inputs.conf
[SSL]
serverCert = $SPLUNK_HOME/etc/apps/cfgd_ssl_certs_servers/auth/myFullIndexerMediaCertificate.pem
sslPassword = ***********
&lt;/CODE&gt;&lt;/PRE&gt;

&lt;P&gt;&lt;STRONG&gt;outputs.conf&lt;/STRONG&gt;&lt;/P&gt;

&lt;PRE&gt;&lt;CODE&gt;# &lt;A href="http://docs.splunk.com/Documentation/Splunk/latest/Admin/Outputsconf" target="test_blank"&gt;http://docs.splunk.com/Documentation/Splunk/latest/Admin/Outputsconf&lt;/A&gt;

[tcpout]
defaultGroup = indexers
indexAndForward = false

[tcpout:indexers]
server = 192.168.55.55:9997

# IMPORTANT: Ensure indexer is also configured &lt;A href="http://docs.splunk.com/Documentation/Splunk/latest/Security/ConfigureSplunkforwardingtousethedefaultcertificate" target="test_blank"&gt;http://docs.splunk.com/Documentation/Splunk/latest/Security/ConfigureSplunkforwardingtousethedefaultcertificate&lt;/A&gt; a configuration app is also available for that.

sslVerifyServerCert = false
# sslCommonNameToCheck = indexer.mydomain.com

# While compression should not add too much overhead if there are performance issues this could be disabled to see if this alieviates the problem.
useClientSSLCompression = true
&lt;/CODE&gt;&lt;/PRE&gt;

&lt;P&gt;So the takeaway here is what does the requireClientCert do if it doesn't work when a forwarder contacts the server without a certificate?&lt;/P&gt;</description>
      <pubDate>Fri, 23 Jun 2017 05:43:12 GMT</pubDate>
      <guid>https://community.splunk.com/t5/Security/inputs-conf-requireClientCert-being-ignored/m-p/363273#M9088</guid>
      <dc:creator>phoenixdigital</dc:creator>
      <dc:date>2017-06-23T05:43:12Z</dc:date>
    </item>
    <item>
      <title>Re: inputs.conf requireClientCert being ignored</title>
      <link>https://community.splunk.com/t5/Security/inputs-conf-requireClientCert-being-ignored/m-p/363274#M9089</link>
      <description>&lt;P&gt;well, yes, on the inputs.conf examples also, they say "false" and specify both certificates. &lt;BR /&gt;
the splunk SSL documentation very confusing one.&lt;/P&gt;

&lt;P&gt;&lt;A href="https://docs.splunk.com/Documentation/Splunk/6.6.1/Admin/Inputsconf" target="_blank"&gt;https://docs.splunk.com/Documentation/Splunk/6.6.1/Admin/Inputsconf&lt;/A&gt;&lt;BR /&gt;
[SSL]&lt;BR /&gt;
serverCert=$SPLUNK_HOME/etc/auth/server.pem&lt;BR /&gt;
password=password&lt;BR /&gt;
rootCA=$SPLUNK_HOME/etc/auth/cacert.pem&lt;BR /&gt;
requireClientCert=false&lt;/P&gt;

&lt;P&gt;Please check this, incase if you have read it already - &lt;BR /&gt;
IMPORTANT NOTE ABOUT "requireClientCert" :&lt;/P&gt;

&lt;P&gt;As of Splunk 4.2.4, setting "requireClientCert = true" in the indexer's inputs.conf will cause forwarding to fail! A bug (SPL-37637) is currently open to address this issue. In the meantime, keep requireClientCert set to "false". &lt;/P&gt;

&lt;P&gt;We have set "requireClientCert = true". This requires the following conditions to be met : &lt;/P&gt;

&lt;P&gt;a) "rootCA" must point to a file containing the CA's public key. In our example, it's the myCACertificate.pem file we generated in step 1.&lt;BR /&gt;
 b) The forwarder's server certificate defined by "sslCertPath" in outputs.conf (see step 4) is signed by that CA.&lt;BR /&gt;
 c) The forwarder has the password to read his own certificate ("sslPassword" in outputs.conf, as defined in step 4). This password is "server_privkey_password" in our example.&lt;/P&gt;

&lt;P&gt;&lt;A href="https://wiki.splunk.com/Community:Splunk2Splunk_SSL_SelfSignedCert_NewRootCA" target="_blank"&gt;https://wiki.splunk.com/Community:Splunk2Splunk_SSL_SelfSignedCert_NewRootCA&lt;/A&gt;&lt;/P&gt;

&lt;P&gt;The purpose of this setup is to ensure that only forwarders that you have distributed a signed certificate to can connect to this indexer. &lt;/P&gt;</description>
      <pubDate>Tue, 29 Sep 2020 14:34:06 GMT</pubDate>
      <guid>https://community.splunk.com/t5/Security/inputs-conf-requireClientCert-being-ignored/m-p/363274#M9089</guid>
      <dc:creator>inventsekar</dc:creator>
      <dc:date>2020-09-29T14:34:06Z</dc:date>
    </item>
    <item>
      <title>Re: inputs.conf requireClientCert being ignored</title>
      <link>https://community.splunk.com/t5/Security/inputs-conf-requireClientCert-being-ignored/m-p/363275#M9090</link>
      <description>&lt;P&gt;Granted I can see why it would be a safe guaranteed way to stop a imposter forwarder from sending in data.&lt;/P&gt;

&lt;P&gt;That said though it appears Splunk is completely ignoring the requireClientCert because even when I set it to false it still doesn't work.&lt;/P&gt;</description>
      <pubDate>Fri, 23 Jun 2017 08:22:26 GMT</pubDate>
      <guid>https://community.splunk.com/t5/Security/inputs-conf-requireClientCert-being-ignored/m-p/363275#M9090</guid>
      <dc:creator>phoenixdigital</dc:creator>
      <dc:date>2017-06-23T08:22:26Z</dc:date>
    </item>
  </channel>
</rss>

