# Version 20170103 # # This file contains the set of attributes and values you can use to # configure server options in server.conf. # # There is a server.conf in $SPLUNK_HOME/etc/system/default/. To set custom # configurations, place a server.conf in $SPLUNK_HOME/etc/system/local/. # For examples, see server.conf.example. You must restart Splunk to enable # configurations. # # To learn more about configuration files (including precedence) please see # the documentation located at # http://docs.splunk.com/Documentation/Splunk/latest/Admin/Aboutconfigurationfiles # GLOBAL SETTINGS # Use the [default] stanza to define any global settings. # * You can also define global settings outside of any stanza, at the top # of the file. # * Each conf file should have at most one default stanza. If there are # multiple default stanzas, attributes are combined. In the case of # multiple definitions of the same attribute, the last definition in the # file wins. # * If an attribute is defined at both the global level and in a specific # stanza, the value in the specific stanza takes precedence. ############################################################################ # General Server Configuration ############################################################################ [general] serverName = * The name used to identify this Splunk instance for features such as distributed search. * Defaults to -. * Shall not be an empty string * May contain environment variables * After any environment variables have been expanded, the server name (if not an IPv6 address) can only contain letters, numbers, underscores, dots, and dashes; and it must start with a letter, number, or an underscore. hostnameOption = * The option used to specify the detail in the server name used to identify this Splunk instance. * Can be one of "fullyqualifiedname" , "clustername", "shortname" * Is applicable to Windows only * Shall not be an empty string sessionTimeout = [smhd] * The amount of time before a user session times out, expressed as a search-like time range * Examples include '24h' (24 hours), '3d' (3 days), '7200s' (7200 seconds, or two hours) * Defaults to '1h' (1 hour) trustedIP = * All logins from this IP address are trusted, meaning password is no longer required * Only set this if you are using Single Sign On (SSO) allowRemoteLogin = always|never|requireSetPassword * Controls remote management by restricting general login. Note that this does not apply to trusted SSO logins from trustedIP. * If 'always', enables authentication so that all remote login attempts are allowed. * If 'never', only local logins to splunkd will be allowed. Note that this will still allow remote management through splunkweb if splunkweb is on the same server. * If 'requireSetPassword' (default): * In the free license, remote login is disabled. * In the pro license, remote login is only disabled for "admin" user if default password of "admin" has not been changed. tar_format = gnutar|ustar * Sets the default tar format. * defaults to gnutar access_logging_for_phonehome = true|false * Enables/disables logging to splunkd_access.log for client phonehomes * defaults to true (logging enabled) hangup_after_phonehome = true|false * Controls whether or not the (deployment) server hangs up the connection after the phonehome is done. * By default we use persistent HTTP 1.1 connections with the server to handle phonehomes. This may show higher memory usage for a large number of clients. * In case we have more than maximum concurrent tcp connection number of deployment clients, persistent connections do not help with the reuse of connections anyway, so setting this to false helps bring down memory * usage. * defaults to false (persistent connections for phonehome) pass4SymmKey = * Authenticates traffic between: * License master and its license slaves. * Members of a cluster; see Note 1 below. * Deployment server (DS) and its deployment clients (DCs); see Note 2 below. * Note 1: Clustering may override the passphrase specified here, in the [clustering] stanza. A clustering searchhead connecting to multiple masters may further override in the [clustermaster:stanza1] stanza. * Note 2: By default, DS-DCs passphrase auth is disabled. To enable DS-DCs passphrase auth, you must *also* add the following line to the [broker:broker] stanza in restmap.conf: requireAuthentication = true * In all scenarios, *every* node involved must set the same passphrase in the same stanza(s) (i.e. [general] and/or [clustering]); otherwise, respective communication (licensing and deployment in case of [general] stanza, clustering in case of [clustering] stanza) will not proceed. listenOnIPv6 = no|yes|only * By default, splunkd will listen for incoming connections (both REST and TCP inputs) using IPv4 only * To enable IPv6 support in splunkd, set this to 'yes'. splunkd will simultaneously listen for connections on both IPv4 and IPv6 * To disable IPv4 entirely, set this to 'only', which will cause splunkd to exclusively accept connections over IPv6. You will probably also need to change mgmtHostPort in web.conf (use '[::1]' instead of '127.0.0.1') * Note that any setting of SPLUNK_BINDIP in your environment or splunk-launch.conf will override this value. In that case splunkd will listen on the exact address specified. connectUsingIpVersion = auto|4-first|6-first|4-only|6-only * When making outbound TCP connections (for forwarding eventdata, making distributed search requests, etc) this controls whether the connections will be made via IPv4 or IPv6. * If a host is available over both IPv4 and IPv6 and this is set to '4-first', then we will connect over IPv4 first and fallback to IPv6 if the connection fails. * If it is set to '6-first' then splunkd will try IPv6 first and fallback to IPv4 on failure * If this is set to '4-only' then splunkd will only attempt to make connections over IPv4. * Likewise, if this is set to '6-only', then splunkd will only attempt to connect to the IPv6 address. * The default value of 'auto' will select a reasonable value based on listenOnIPv6 setting. If that value is set to 'no' it will act like '4-only'. If it is set to 'yes' it will act like '6-first' and if it is set to 'only' it will act like '6-only'. * Note that connections to literal addresses are unaffected by this. For example, if a forwarder is configured to connect to "10.1.2.3" the connection will be made over IPv4 regardless of this setting. guid = * This setting now (as of 5.0) belongs in the [general] stanza of SPLUNK_HOME/etc/instance.cfg file; please see specfile of instance.cfg for more information. useHTTPServerCompression = * Whether splunkd HTTP server should support gzip content encoding. For more info on how content encoding works, see http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html (section 14.3). * Defaults to true. defaultHTTPServerCompressionLevel = * If useHTTPServerCompression is enabled, this setting constrols the compression "level" we attempt * This number must be in the range 1 through 9 * Higher numbers produce smaller compressed results but require more CPU usage * The default value of 6 is appropriate for most environments skipHTTPCompressionAcl = * Lists a set of networks or addresses to skip compressing data for. These are addresses that are considered so close that network speed is never an issue, so any CPU time spent compressing a response is wasteful. * Note that the server may still respond with compressed data if it already has a compressed version of the data available. * These rules are separated by commas or spaces * Each rule can be in the following forms: 1. A single IPv4 or IPv6 address (examples: "10.1.2.3", "fe80::4a3") 2. A CIDR block of addresses (examples: "10/8", "fe80:1234/32") 3. A DNS name, possibly with a '*' used as a wildcard (examples: "myhost.example.com", "*.splunk.com") 4. A single '*' which matches anything * Entries can also be prefixed with '!' to negate their meaning. * Defaults to localhost addresses. site = * Specifies the site that this splunk instance belongs to when multisite is enabled. * Valid values for site-id include site1 to site63 useHTTPClientCompression = true|false|on-http|on-https * Whether gzip compression should be supported when Splunkd acts as a client (including distributed searches). Note that in order for the content to be compressed, the HTTP server that the client is connecting to should also support compression. * If the connection is being made over https and useClientSSLCompression=true (see below), then setting this option to true would result in double compression work without much compression gain. It is recommended that this value be set to on-http (or to true, and useClientSSLCompression to false). * Defaults to false. embedSecret = * When using report embedding, normally the generated URLs can only be used on the search head they were generated on * If "embedSecret" is set, then the token in the URL will be encrypted with this key. Then other search heads with the exact same setting can also use the same URL. * This is needed if you want to use report embedding across multiple nodes on a search head pool. parallelIngestionPipelines = * Data being loaded into splunk, whether for indexing or forwarding, progresses through a series of steps arranged into "pipelines". By setting this to more than one, more processor threads can be set up to perform this work. * Defaults to 1. * NOTE: Be careful when changing this. By increasing the CPU used by data ingestion, less is available for other tasks such as searching. For most installs the default setting is optimal. * NOTE: Enabling multiple ingestion pipelines can change the behavior of some settings in limits.conf. Each ingestion pipeline enforces the limits independently: 1. maxKBps 2. max_fd 3. maxHotBuckets 4. maxHotSpanSecs instanceType = * Should not be modified by users. * Informs components (such as the SplunkWeb Manager section) which environment Splunk is running in, to allow for more customized behaviors. * Defaults to "download", meaning no special behaviors. requireBootPassphrase = * Prompt the user for a boot passphrase when starting Splunk. * Splunk uses this passphrase to grant itself access to platform-provided secret storage facilities, like the GNOME keyring. * For more information about secret storage, see the [secrets] stanza in $SPLUNK_HOME/etc/system/README/authentication.conf.spec. * Defaults to true if Common Criteria mode is enabled. * Defaults to false if Common Criteria mode is disabled. * NOTE: Splunk plans to submit Splunk Enterprise for Common Criteria evaluation. Splunk does not support using the product in Common Criteria mode until it has been certified by NIAP. See the "Securing Splunk Enterprise" manual for information on the status of Common Criteria certification. remoteStorageRecreateIndexesInStandalone = * Controls re-creation of remote storage enabled indexes in standalone mode. * Defaults to true. cleanRemoteStorageByDefault = * Allows 'splunk clean eventdata' to clean the remote indexes when set to true. * Defaults to false. ############################################################################ # Deployment Configuration details ############################################################################ [deployment] pass4SymmKey = * Authenticates traffic between Deployment server (DS) and its deployment clients (DCs). * By default, DS-DCs passphrase auth is disabled. To enable DS-DCs passphrase auth, you must *also* add the following line to the [broker:broker] stanza in restmap.conf: requireAuthentication = true * If it is not set in the deployment stanza, the key will be looked in the general stanza ############################################################################ # SSL Configuration details ############################################################################ [sslConfig] * Set SSL for communications on Splunk back-end under this stanza name. * NOTE: To set SSL (eg HTTPS) for Splunk Web and the browser, use web.conf. * Follow this stanza name with any number of the following attribute/value pairs. * If you do not specify an entry for each attribute, Splunk will use the default value. enableSplunkdSSL = * Enables/disables SSL on the splunkd management port (8089) and KV store port (8191). * Defaults to true. * Note: Running splunkd without SSL is not generally recommended. * Distributed search will often perform better with SSL enabled. useClientSSLCompression = * Turns on HTTP client compression. * Server-side compression is turned on by default; setting this on the client side enables compression between server and client. * Enabling this potentially gives you much faster distributed searches across multiple Splunk instances. * Defaults to true. useSplunkdClientSSLCompression = * Controls whether SSL compression would be used when splunkd is acting as an HTTP client, usually during certificate exchange, bundle replication, remote calls etc. * NOTE: this setting is effective if, and only if, useClientSSLCompression is set to true * NOTE: splunkd is not involved in data transfer in distributed search, the search in a separate process is. * Defaults to true. sslVersions = * Comma-separated list of SSL versions to support for incoming connections. * The versions available are "ssl3", "tls1.0", "tls1.1", and "tls1.2". * The special version "*" selects all supported versions. The version "tls" selects all versions tls1.0 or newer. * If a version is prefixed with "-" it is removed from the list. * SSLv2 is always disabled; "-ssl2" is accepted in the version list but does nothing. * When configured in FIPS mode, ssl3 is always disabled regardless of this configuration. * Defaults to "*,-ssl2" (anything newer than SSLv2). sslVersionsForClient = * Comma-separated list of SSL versions to support for outgoing HTTP connections from splunkd. This includes distributed search, deployment client, etc. * This is usually less critical, since SSL/TLS will always pick the highest version both sides support. However, this can be used to prohibit making connections to remote servers that only support older protocols. * The syntax is the same as the sslVersions setting above * Note that for forwarder connections, there is a separate "sslVersions" setting in outputs.conf. For connections to SAML servers, there is a separate "sslVersions" setting in authentication.conf. * Defaults to "*,-ssl2" (anything newer than SSLv2). supportSSLV3Only = * DEPRECATED. SSLv2 is now always disabled. The exact set of SSL versions allowed is now configurable via the "sslVersions" setting above. sslVerifyServerCert = * Used by distributed search: when making a search request to another server in the search cluster. * Used by distributed deployment clients: when polling a deployment server. * If this is set to true, you should make sure that the server that is being connected to is a valid one (authenticated). Both the common name and the alternate name of the server are then checked for a match if they are specified in this configuration file. A certificiate is considered verified if either is matched. * Default is false. sslCommonNameToCheck = , , ... * If this value is set, and 'sslVerifyServerCert' is set to true, splunkd will limit most outbound HTTPS connections to hosts which use a cert with one of the listed common names. * The most important scenario is distributed search. * This feature does not work with the deployment server and client communication over SSL. * Optional. Defaults to no common name checking. sslCommonNameList = , , ... * DEPRECATED; use 'sslCommonNameToCheck' instead. sslAltNameToCheck = , , ... * If this value is set, and 'sslVerifyServerCert' is set to true, splunkd will also be willing to verify certificates which have a so-called "Subject Alternate Name" that matches any of the alternate names in this list. * Subject Alternate Names are effectively extended descriptive fields in SSL certs beyond the commonName. A common practice for HTTPS certs is to use these values to store additional valid hostnames or domains where the cert should be considered valid. * Accepts a comma-separated list of Subject Alternate Names to consider valid. * Items in this list are never validated against the SSL Common Name. * This feature does not work with the deployment server and client communication over SSL. * Optional. Defaults to no alternate name checking requireClientCert = * Requires that any HTTPS client that connects to splunkd internal HTTPS server has a certificate that was signed by a CA (Certificate Authority) specified by 'sslRootCAPath'. * Used by distributed search: Splunk indexing instances must be authenticated to connect to another splunk indexing instance. * Used by distributed deployment: the deployment server requires that deployment clients are authenticated before allowing them to poll for new configurations/applications. * If true, a client can connect ONLY if a certificate created by our certificate authority was used on that client. * Default is false. cipherSuite = * If set, Splunk uses the specified cipher string for the HTTP server. * If not set, Splunk uses the default cipher string provided by OpenSSL. This is used to ensure that the server does not accept connections using weak encryption protocols. * Must specify 'dhFile' to enable any Diffie-Hellman ciphers. ecdhCurveName = * DEPRECATED; use 'ecdhCurves' instead. * ECDH curve to use for ECDH key negotiation * We only support named curves specified by their SHORT name. * The list of valid named curves by their short/long names can be obtained by executing this command: $SPLUNK_HOME/bin/splunk cmd openssl ecparam -list_curves * Default is empty string. ecdhCurves = * ECDH curves to use for ECDH key negotiation. * The curves should be specified in the order of preference. * The client sends these curves as a part of Client Hello. * The server supports only the curves specified in the list. * We only support named curves specified by their SHORT names. (see struct ASN1_OBJECT in asn1.h) * The list of valid named curves by their short/long names can be obtained by executing this command: $SPLUNK_HOME/bin/splunk cmd openssl ecparam -list_curves * Default is empty string. * e.g. ecdhCurves = prime256v1,secp384r1,secp521r1 serverCert = * Full path to the PEM format server certificate file. * Certificates are auto-generated by splunkd upon starting Splunk. * You may replace the default cert with your own PEM format file. * Default is $SPLUNK_HOME/etc/auth/server.pem. sslKeysfile = * DEPRECATED; use 'serverCert' instead. * This file is in the directory specified by 'caPath' (see below). * Default is server.pem. sslPassword = * Server certificate password. * Default is "password". sslKeysfilePassword = * DEPRECATED; use 'sslPassword' instead. sslRootCAPath = * Full path to the operating system's root CA (Certificate Authority) certificate store. * The must refer to a PEM format file containing one or more root CA certificates concatenated together. * Required for Common Criteria. * NOTE: Splunk plans to submit Splunk Enterprise for Common Criteria evaluation. Splunk does not support using the product in Common Criteria mode until it has been certified by NIAP. See the "Securing Splunk Enterprise" manual for information on the status of Common Criteria certification. * This setting is not used on Windows. * Default is unset. caCertFile = * DEPRECATED; use 'sslRootCAPath' instead. * Used only if 'sslRootCAPath' is unset. * File name (relative to 'caPath') of the CA (Certificate Authority) certificate PEM format file containing one or more certificates concatenated together. * Default is cacert.pem. dhFile = * PEM format Diffie-Hellman parameter file name. * DH group size should be no less than 2048bits. * This file is required in order to enable any Diffie-Hellman ciphers. * Not set by default. caPath = * DEPRECATED; use absolute paths for all certificate files. * If certificate files given by other settings in this stanza are not absolute paths, then they will be relative to this path. * Default is $SPLUNK_HOME/etc/auth. certCreateScript =