Elastic SIEM (webhook)
Configure Elastic SIEM to forward alerts to Radiant Security via webhook.
In this guide, you'll establish a trusted relationship between Elastic SIEM and Radiant Security. Once set up, Radiant Security will receive alerts from your Elastic SIEM environment and use them to support automated triage and response.
Prerequisites
Add the data connector in Radiant Security
Log in to Radiant Security.
From the navigation menu, select Settings > Data Connector and click + Add Connector.
Select the Elastic SIEM (webhook) option from the list and click Data Feeds.
Under Select your data feeds, select Elastic SIEM and click Credentials.
Under Credential Name, give the credential an identifiable name (e.g.
Elastic Webhook Credentials
).Under Required Credentials, enter a Connector tag. This value can be any string, and will be used as salt for the token that will be generated to identify your connector.
Click Add Connector.
Open the newly created connector. Under Vendor Configuration, copy and save the
Webhook URL
and theToken
values, as you will use them later.Click Add Connector to save the changes.
Configure URL allow list
The xpack.action.allowedHosts
setting restricts the hosts that Elastic can connect to when executing actions such as webhooks. This is a security measure to prevent unauthorized or unintended network access.
The steps below must be applied to all Elasticsearch nodes on the cluster:
Navigate to the
config
directory and open theelasticsearch.yml
file.Locate the line
xpack.action.allowedHosts
.If the setting contains a value
["*”]
, there is no need to update itIf the setting contains any value different than
["*”]
, include the following entry: https://api.app.blastradius.ai
Save and close the file.
Restart the node to apply the new configuration.
Create the webhook connector
In this section, you’ll create the webhook connector by adding in the Token and Webhook URL values.
Access Kibana.
From the navigation menu, click Management > Stack Management > Connectors and click Create Connector.
Select Webhook from the list.
Scroll down and select the Webhook option
On the Configuration tab, enter the following values:
Connector name:
RadiantSecurity_Webhook
Method:
POST
URL: Paste in the Webhook URL that you copied during the data connector setup
Authentication:
None
Enable the Add HTTP Header option.
Click Add:
Key:
rs_token
Value: Paste in the Token that you copied during the data connector setup
Click Save and test.
In Edit connector, click the Test tab. Copy and paste the following payload to the Body section:
{ "name": "Radiant Security Webhook connection test", "isTest": "true" }
Click Run.
If the test is successful, click Close.
If the test fails, review the URL and the Token in the Configuration tab and make sure they match the values provided during the Add the data connector in Radiant Security section.
Configure rules to use the webhook action
In this step you'll configure the detection rules to use the webhook action to send alerts to Radiant Security.
Access Kibana.
From the navigation menu, click Security > Rules.
For each rule you want to forward notifications to Radiant Security, configure the following:
Click on the rule name.
Click Edit rule settings.
Navigate to the Actions tab.
Click Webhook and select the newly created Webhook connector (e.g.,
RadiantSecurity_Webhook
).On the Webhook connector section, select the newly created Webhook connector.
For Action frequency, select For each alert and then Per rule run.
Copy the following template and paste it in the Body section.
Click Save changes.
{ "rule_name": "{{rule.name}}", "alert_id": "{{context.alerts.0._id}}", "rule_uuid": "{{alert.uuid}}", "alert_timestamp": "{{context.alerts.0.kibana.alert.last_detected}}", "rule_severity": "{{context.rule.severity}}", "alert_count": "{{state.signals_count}}", "rule_description": "{{context.rule.description}}", "rule_index": "{{context.rule.index}}", "rule.tags": "{{rule.tags}}", "event": { "event_index": "{{context.alerts.0.kibana.alert.ancestors.0.index}}", "event_timestamp": "{{context.alerts.0.@timestamp}}", "hostname": "{{context.alerts.0.host.name}}", "srcIP": "{{context.alerts.0.source.ip}}", "destIP": "{{context.alerts.0.destination.ip}}", "srcport": "{{context.alerts.0.source.port}}", "destport": "{{context.alerts.0.destination.port}}", "url": "{{url.full}}", "username": "{{context.alerts.0.user.name}}", "action": "{{context.alerts.0.event.action}}", "filename": "{{context.alerts.0.event.file.name}}", "filepath": "{{context.alerts.0.event.file.path}}", "filemd5": "{{context.alerts.0.event.file.hash.md5}}", "filesha256": "{{context.alerts.0.event.file.hash.sha256}}", "vendor": "{{context.alerts.0.event.observer.vendor}}", "product": "{{context.alerts.0.event.observer.product}}", "threat": "{{context.alerts.0.kibana.alert.rule.parameters.threat}}", "category": "{{context.alerts.0.kibana.alert.rule.category}}", "rawData": "{{context.alerts}}" } }
Last updated