Configuring Universal Webhook Responder Connectors
Use the Universal Webhook Responder connector to configure a Webhook action that can be triggered manually or that can enhance Automated Threat Hunting (ATH) actions.
You can configure the Universal Webhook Responder in two ways, either by using predefined templates or by configuring your own Custom type. Each Universal Webhook Responder supports a single response action.
The Universal Webhook Responder can be customized for API integrations with various vendors. Using the Custom type, you can define your own responder. For example, if you want to configure a firewall with a Block IP action, you define an API request for the action.
Universal Webhook templates can be used to dynamically create new responders. Contact Stellar Cyber Customer Support to assist with templates.
You can also reuse a Universal Webhook Responder in ATH rules.
This document describes how to configure the Universal Webhook Responder connector. To manually trigger an action with the Universal Webhook Responder, refer to External Actions: Webhook on the Threat Hunting page. To perform ATH actions with the Universal Webhook Responder, refer to Webhook Responder Action on the ATH Playbook page.
For the best practices, refer to Best Practices for Universal Webhook Responder.
Connector Overview: Universal Webhook Responder
Capabilities
-
Collect: No
-
Respond: Yes
-
Native Alerts Mapped: No
-
Runs on: DP or Sensor
-
Interval: N/A
Collected Data
N/A
Domain
N/A
Response Actions
-
Webhook actions: either predefined from a template file or created from a Custom type
Third Party Native Alert Integration Details
N/A
Required Credentials
Hostname, Protocol, and Authentication Type:
-
For Basic authentication: Username and Password
-
For Header authentication: Header Name and Header Value
-
For OAuth2 authentication: Token URL, Client ID, Client Secret
Let us know if you find the above overview useful.
Adding a Webhook Connector
To add a Webhook connector:
Authentication Credentials
Depending on the Authentication Type that is used in a predefined template or that you plan to configure with Custom, you need to have the credentials for that type of authentication, (Basic, OAuth2, or Header), handy for the next section.
Adding the Connector in Stellar Cyber
To add a Universal Webhook connector in Stellar Cyber:
-
Log in to Stellar Cyber.
-
Click System | Integrations | Connectors. The Connector Overview appears.
-
Click Create. The General tab of the Add Connector screen appears. The information on this tab cannot be changed after you add the connector.
The asterisk (*) indicates a required field.
-
Choose Webhook from the Category drop-down.
-
Choose Custom from the Type drop-down. If there are template files, the drop-down may also contain predefined template options that you can choose. The default Type is Custom.
-
For this connector, the supported Function is Respond, which is enabled already.
-
Enter a Name. This is both the responder name and the action name.
This field does not accept multibyte characters.
-
Choose a Tenant Name. This identifies which tenant is allowed to use the connector. In addition to specific tenants, this connector supports All Tenants, which means that the Universal Webhook Responder connector can be used across tenants.
-
Choose the device on which to run the connector.
-
Certain connectors can be run on either a Sensor or a Data Processor. The available devices are displayed in the Run On menu. If you want to associate your collector with a sensor, you must have configured that sensor prior to configuring the connector or you will not be able to select it during initial configuration.
-
If the device you're connecting to is on premises, we recommend you run on the local sensor. If you're connecting to a cloud service, we recommend you run on the DP.
-
-
Click Next. The Configuration tab appears.
The asterisk (*) indicates a required field.
-
When the Type selected is a predefined template:
-
Enter the Hostname.
Do not enter http or https in the Hostname field.
-
(Optional) Enter the Port.
-
Choose a Protocol. The HTTP and HTTPS protocols are supported.
-
The Authentication Type for a predefined template is preselected. Enter the credentials for that Authentication Type: Basic, OAuth2, or Header.
-
Click Next. When the Type selected is a predefined template, the Done tab appears. Skip to the last step in this procedure.
-
-
When the Type selected is Custom:
-
Enter the Hostname.
Do not enter http or https in the Hostname field.
-
(Optional) Enter the Port.
-
Choose a Protocol. The HTTP and HTTPS protocols are supported.
-
Choose an Authentication Type.The Basic, OAuth2, Header, and None authentication types are supported. Depending on the Authentication Type, the authentication fields differ.
-
If you choose None, there are no more fields on the Configuration tab to configure, so you can click Next to go to the next step in this procedure.
The asterisk (*) indicates a required field.
-
If you choose Basic, in addition to Hostname, Port, and Protocol:
-
Enter a Username.
-
Enter a Password.
The asterisk (*) indicates a required field.
-
-
If you choose Header, in addition to Hostname, Port, and Protocol:
-
Enter a Header Name.
-
Enter a Header Value.
The asterisk (*) indicates a required field.
-
-
If you choose OAuth2, in addition to Hostname, Port, and Protocol:
-
Enter a Token URL.
-
Enter a Client ID.
-
Enter a Client Secret.
-
(Optional) Enter API Scopes.
The asterisk (*) indicates a required field.
-
-
-
-
Click Next. When the Type selected is Custom, the Customized tab appears.
The asterisk (*) indicates a required field.
-
(Optional) Enter Custom Headers. Enter Name and Value. Click the button to add multiple pairs of Name and Value.
The Name must be unique. For example, you cannot configure two Content-Type header names with different values.
-
Choose a Method. The GET, POST, PUT, PATCH, and DELETE methods are supported.
The asterisk (*) indicates a required field.
-
Enter a Path and Query. The notation for double curly braces is supported. Use the notation as a placeholder for fields that are later replaced with values.
-
(Optional) Enter the JSON Body in JSON body format. You can leave the JSON Body empty or you can enter string values or curly brace expressions.
The notation for double curly braces is supported. Use the notation as a placeholder for fields that are later replaced with values. For example, use double curly braces as follows, "name": "{{name}}", to fetch the name field from a log. The name can be complex, such as nameA.nameB.nameC. Complex name searches in nested JSON objects are supported. For example, use {{microsoft_defender.id}} in the path to retrieve the nested id field from {"microsoft_defender": {"id": "123456"}}.
If the JSON format is incorrect, an error message, Invalid JSON Body, is displayed. In the following example, there is a semi-colon (;) instead of a comma (,) at the end of the "comment" line.
When the Universal Webhook Responder is triggered manually, you can edit the Path and Query and the JSON Body when you issue the action.
-
-
Click Next. The final confirmation tab, Done, appears.
-
Click Submit.
Testing the Connector
When you define a Universal Webhook Responder, we recommend that you run a test to validate the connectivity parameters you entered. (The test validates authentication / connectivity).
For connectors running on a sensor, Stellar Cyber recommends that you allow 30-60 seconds for new or modified configuration details to be propagated to the sensor before performing a test.
-
Click System | Integrations | Connectors. The Connector Overview appears.
-
Locate the connector that you want to test.
-
Click Test at the right side of that row. The test runs immediately.
Note that you may run only one test at a time.
Stellar Cyber conducts a basic connectivity test for the connector and reports a success or failure result. A successful test indicates that you entered all of the connector information correctly.
To aid troubleshooting your connector, the dialog remains open until you explicitly close it by using the X button. If the test fails, you can select the button from the same row to review and correct issues.
The connector status is updated every five (5) minutes. A successful test clears the connector status, but if issues persist, the status reverts to failed after a minute.
Repeat the test as needed.
Using Actions
With the Universal Webhook Responder, you can:
Manually Triggering an Action
To manually trigger an action with the Universal Webhook Responder, refer to External Actions: Webhook on the Threat Hunting page:
-
Click Investigate | Threat Hunting. The Interflow Search tab appears.
-
Change the Indices for the record type, for example, Syslog.
-
Scroll down the page and click the icon for More Info in the Actions column.
-
Click the Actions tab. Webhook actions appear under External Actions.
-
Click a configured Webhook action.
-
(Optional) Modify the Path and Query or JSON Body.
-
To perform the action, click Submit.
Viewing a Performed Action
To view a performed action, refer to Viewing Webhook Actions:
Performing an ATH Action
To perform an ATH action with the Universal Webhook Responder, refer to Webhook Responder Action on the Automated Threat Hunting page:
-
Click Respond | Automation.
-
Click Create.
-
Scroll down to Actions.
-
Click the button to add an action. Another action appears below the existing action.
-
Select the Trigger on condition.
-
Select Webhook Responder for the Type.
-
Select a previously configured Webhook Responder from the drop-down menu. The Path and Query and JSON Body fields populate.
You cannot modify the Path and Query or JSON Body.
-
Click the Override Default Settings option to override the playbook's mute settings and mute just this action.
-
Click Submit.