Send Splunk ES correlation search results to Splunk UBA
Perform the following tasks to send correlation search results from Splunk Enterprise Security to Splunk UBA to be processed for anomalies.
- Perform UBA setup to send correlation search results to Splunk UBA.
- Connect Splunk UBA to the Splunk platform using SSL.
- Send correlation search results and notable events to Splunk UBA.
Set up Splunk UBA to receive notable events from Splunk ES
In Splunk ES, perform the following tasks so that Splunk UBA can receive notable events from Splunk ES:
Splunk Cloud Platform customers must contact Splunk Cloud Platform Support to perform the Splunk UBA setup.
- From the Splunk ES menu bar, select Configure > UBA Setup. You can also select Apps > Manage Apps and select Set up next to this add-on.
- In the Management Server field, type the host name and port number of the Splunk ES output connector on the Splunk UBA management server using port 10008. For example,
<server IP address>:10008
. - In the Type field, select whether to use the TCP or UDP protocol to send the correlation search results to Splunk UBA.
Configure the Splunk platform to receive data from the Splunk UBA output connector
The connection between Splunk UBA and the Splunk platform uses TCP-SSL by default. Set up the Splunk platform to accept the encrypted connection so that the Splunk platform can receive data from the Splunk UBA output connector.
Splunk Cloud Platform customers must work with Splunk Cloud Platform Support to set up this connection.
The following procedure uses the Splunk default certificates and the global [SSL]
stanza in the inputs.conf file. For better security, consider using your own certificates, or commercially signed certificates from a trusted certificate authority.
- See About securing Splunk Enterprise with SSL in the Splunk Enterprise Securing the Splunk Platform manual.
- See TCP: in the Splunk Enterprise Admin Manual for more information about configuring tcp-ssl using inputs.conf.
Perform the following steps on the Splunk Enterprise search head. In a search head clustering environment, perform the changes on the search head that will receive UBA threats and anomalies:
- Create a
local
folder under$SPLUNK_HOME/etc/apps/Splunk_TA_ueba
. For example:cd /opt/splunk/etc/apps/Splunk_TA_ueba mkdir local cd local
- Create a file called inputs.conf and add the following stanza. The
sslPassword
holds the password for the server certificate. The value forsslPassword
must match what is in thesslConfig
stanza in the /etc/system/default/server.conf file:[tcp-ssl:10008] listenOnIPv6 = no index = ueba sourcetype = ueba serverCert = $SPLUNK_HOME/etc/auth/server.pem sslPassword = password
- Restart Splunk Enterprise.
- In Splunk Web, select System > Server controls.
- Click Restart Splunk.
- Verify that SSL is enabled for port 10008 in
$SPLUNK_HOME/var/log/splunk/splunkd.log
. For example:11-07-2019 15:07:42.661 -0800 INFO TcpInputProc - Creating raw Acceptor for IPv4 port 10008 with SSL
- Copy the root CA certificate from
/opt/splunk/etc/auth/cacert.pem
on the Splunk Enterprise instance to/home/caspida
on the Splunk UBA management server.
Perform the following tasks on the Splunk UBA management server:
- Log in to the Splunk UBA management server as the caspida user.
- Ensure that
$JAVA_HOME
is set correctly on your system. Run theCaspidaCommonEnv.sh
script to set this environment variable:. /opt/caspida/bin/CaspidaCommonEnv.sh
- Import the rootCA certificate to the Java certificate store.
On RHEL or CentOS systems, use the following command:sudo keytool -import -alias "splunk es" -keystore $JAVA_HOME/lib/security/cacerts -file ~/cacert.pem
On other Linux systems, use the following command:
sudo keytool -import -alias "splunk es" -keystore $JAVA_HOME/jre/lib/security/cacerts -file ~/cacert.pem
- When prompted, type the keystore password and trust the certificate. The default keystore password is
changeit
. - From the command line of the Splunk UBA management server, view the
/etc/caspida/local/conf/uba-site.properties
file to confirm the following parameter is set to "true" as shown:
connectors.output.splunkes.ssl=true
- Restart Splunk UBA. Run the following commands on the Splunk UBA management server:
/opt/caspida/bin/Caspida stop-all /opt/caspida/bin/Caspida start-all
Send notable events to Splunk UBA
Use any of the following methods to send notable events from Splunk ES to Splunk UBA:
- Send notable events and risk events using the Splunk ES Notables data source.
- Send notable events using Splunk Direct.
- Send notable events directly from the Incident Review dashboard.
- Send notable events automatically from correlation search results
Send notable events and risk events using the Splunk ES Notables data source
Use the Splunk ES Notables data source in Splunk UBA to integrate Splunk UBA with Splunk ES. Configure Splunk UBA to connect to the Splunk ES search head. The Splunk ES Notables data source automatically ingests notables and risk events from Splunk ES and properly maps categories from Splunk ES Content Updates. If you have custom correlation searches on Splunk ES, make sure the category
field is added correctly in the correlation search. The category
must be one of the categories listed in Filter the anomaly table.
Splunk UBA's external alarm model uses these events and category mappings to generate meaningful anomalies which can subsequently raise the appropriate threats.
Notable events that are closed in Splunk ES are not ingested by Splunk UBA.
- In Splunk UBA, select Manage > Data Sources.
- Click New Data Source.
- In the SIEM Connectors category, click Splunk ES Notables.
- On the Connection screen, provide connection and authentication details to connect to Splunk ES, then click Next. The user credentials must have permissions to access the notables and risk indexes.
- On the Time Range screen, select Live and All Time, then Click Next.
- On the Splunk Query screen, verify the SPL being used to retrieve the events and category mappings from Splunk ES, then click Next. If you need to modify the SPL, make sure
NOT (source="UEBA" OR source="UBA")
is included in the final SPL to exclude Splunk UBA anomalies and threats. - On the Test Mode screen, click Test Mode to validate the data source before ingesting all events, then click Next. See Add data sources to Splunk UBA in test mode for more information about test mode.
- Click OK.
Send notable events using Splunk Direct
Use Splunk Direct to send notable events from Splunk ES to Splunk UBA by configuring an external alarm data source. Write a custom query to handle the necessary data enrichment such as mapping the alarm category or severity.
- In Splunk ES, confirm that you get the desired notable events from the following query. The query analyzes notable events on Splunk ES that are not generated from Splunk UBA data sources and performs the proper mappings for the External Alarm category on Splunk UBA.
You will need this query in the following steps.
`notable` | search NOT (source="*UEBA*" OR source="*UBA*") | eval action=IF(action="deferred" OR action="blocked","blocked","allowed") | eval tag="attack,network,communicate", app='Authentication.app', dest_zone='dest_pci_domain', src_host='src_nt_host', src_zone='src_pci_domain' | eval severity="Critical",evcls=coalesce(signature,savedsearch_name,search_name) | eval signature=IF(isnull(signature),evcls,signature) | eval alarmCategories=CASE( like(lower(evcls),"%application%") OR like(lower(evcls),"%vulnerability%"),"ProductAttack", like(lower(evcls),"%intrusion%"),"SystemAttack", like(lower(evcls),"%data%loss%") OR like(lower(evcls),"%dlp%") OR like(lower(evcls),"%dlp%") OR like(lower(evcls),"%exfil%"),"Exfiltration", like(lower(evcls),"%malware%") OR like(lower(evcls),"%virus%") OR like(lower(evcls),"%botnet%") OR like(lower(evcls),"%backdoor%") OR like(lower(evcls),"%trojan%"),"MalwarePersistence", like(lower(evcls),"%malware%_operations") OR like(lower(evcls),"%cnc%") OR like(lower(evcls),"%callback%"),"MalwareActivity", like(lower(evcls),"%spam%") OR like(lower(evcls),"%phish%"),"MalwareInstall",1=1,"PolicyViolation") | eval user=IF(isnull(user) AND like(dest,"%@%"),dest,user), dest_ip=coalesce(dest_ip,'values(dest)'),eventtype=evcls, user=IF(like(user,"%wireless%"),"",user), src_ip=IF(isnull(src_ip) AND NOT like(src,"%@%"), src,src_ip), dest_ip=IF( like(dest_ip,"%@%"),'',dest_ip) | makemv delim="," tag | makemv delim=" " dest_ip | mvexpand dest_ip | fields action,alarmCategories,app,category,dest_host,dest_ip,dest_nt_domain, dest_zone,duration,eventtype,file_name,file_path,severity,signature, sourcetype,src_host,src_ip,src_zone,tag,url,user
- In Splunk UBA, select Manage > Data Sources.
- Click New Data Source.
- Under SIEM Connectors, select Splunk.
- Specify the connection details to Splunk ES. Select Splunk Direct as the connector type and specify the SSL management port for your Splunk ES instance.
- Select Live and All Time as the date range.
- In the Splunk Query field, specify the query that you verified at the beginning of this procedure.
- On the Data Format page, select External Alarm as the field category. Keep the default values in the Splunk Field column.
- Enter the query that you verified at the beginning of this procedure again.
- Make sure Test Mode is not selected, and then click OK.
Send notable events directly from the Incident Review dashboard
Send notable events created by correlation search results to Splunk UBA in an ad-hoc manner from the Incident Review dashboard.
- On the Incident Review dashboard, locate the notable event that you want to send to Splunk UBA.
- From the Actions column, select Run Adaptive Response Actions.
- Click Add New Response Action and select Send to UBA.
- (Optional) Type a Severity to set the score in Splunk UBA for the anomaly that might be created from the notable event. The notable event severity, if available, takes precedence over the provided value.
- Click Run to run the response action and send the notable event details to Splunk UBA.
Send notable events automatically from correlation search results
You can edit an existing correlation search or create a new correlation search to automatically send correlation search results to Splunk UBA.
- From the Splunk ES menu bar, select Configure > Content Management.
- Click the name of a correlation search or click Create New to create a new correlation search.
- Click Add New Response Action and select Send to UBA.
- Type a Severity to set the score in Splunk UBA for an anomaly that might be created from the correlation search result.
For example, type 7 to represent a high severity. - Save the correlation search.
Send Splunk UBA anomalies and threats to Splunk ES | Send audit events to Splunk ES |
This documentation applies to the following versions of Splunk® Add-on for Splunk UBA: 3.0.0
Feedback submitted, thanks!