From USM Anywhere, you can send an alarm or event notification to a Slack channel so that team members are alerted. This facilitates communication and collaboration within the same messaging tool that your organization uses for incident responseIncident response is a business process or plan dictating how an organization handles security incidents such as a security breach or attack.. When you have this integration configured in USM Anywhere, you can create orchestration rules to automatically send these notifications when an eventAny traffic or data exchange detected by AlienVault products through a Sensor, or through external devices such as a firewall. or alarmAlarms provide notification of an event or sequence of events that require attention or investigation. matches the rule criteria.
Edition: Notification integrations are available in the Standard and Premium editions of USM Anywhere.
For more information about the feature and data support provided by each of the USM Anywhere editions, go to https://www.alienvault.com/pricing.
Note: While the direct integration with USM Anywhere is the easiest and most straightforward way to send messages to your Slack team from USM Anywhere, you can use the Amazon SNS messaging service as an alternative.
In this case, you create the webhook in Slack and then set up the integration in the Lambda function that you created in AWS to support USM Anywhere messaging (see Sending Notifications Through Amazon SNSand Set Up a Slack Integration through Amazon SNS).
Slack provides a mechanism to create incoming webhooks as a way to post messages from external sources into Slack. They make use of normal HTTP requests with a JSON payload, which includes the message and some additional options. You must first create this webhook for your Slack team to configure the integration with USM Anywhere.
Important: To add an incoming webhook for the Slack team, you must be the team owner or be a team member where the owner has granted the permission to install apps and custom integrations to all team members.
To create the incoming webhook for Slack
- When you are logged into your Slack team, go to https://api.slack.com/incoming-webhooks.
Review the information and click the incoming webhook integration link to open the page for a new configuration.
Choose the channel you want to use for USM Anywhere notifications.
If you do not already have a channel for this purpose, you can click the create a new channel link. You could create a new usmanywhere channel, for example, as either a public or private channel and invite the appropriate team members.
- Click Add Incoming WebHooks integration.
- Copy the displayed Webhook URL.
After you have generated and copied the incoming webhook for your Slack team, you can configure Slack connection in USM Anywhere. After this configuration is in place, any orchestration rules set up for Slack notification will send the triggered notification to the Slack team channel.
To configure the connection between USM Anywhere and the Slack channel
- In the USM Anywhere web UI, go to SETTINGS > NOTIFICATIONS.
- Click Slack in the left navigation panel.
In the Slack Webhook URL field, paste the webhook URL that you copied in the Slack API tool.
- Click Save Credentials.
Create an orchestration rule to match new alarms or events and trigger a notification to the Slack channel. You can use an existing alarm or event with the desired characteristics to easily set the matching conditions for the rule.
To create an orchestration rule to trigger a Slack notification
- Navigate to ACTIVITY > ALARMS or ACTIVITY > EVENTS.
- Click the alarm or event to open the details.
Click Create Rule and select Create Notification Rule.
Enter the Rule Name and set the matching conditions you want for the rule.
The Create Rule dialog displays property values for the selected alarm or event that you can use to specify the match conditions. For more information, see Orchestration Rules.
- For Notification Method, select the Slack option.
Enter the Slack Alert Username.
This must be a valid team member for the Slack channel.
At the bottom of the dialog, set the Rule Condition parameters to specify the criteria for a matching alarm or event to trigger the rule.
- If you create the rule from an applied action, this section provides suggested property/value pairs from the selected alarm or event that you can use as conditions for the rule. Click the Delete () icon for items that you do not want to include in the matching conditions. You can also add other conditions that are not suggested.
- If you create the rule from the Rules page, you must use the Add Condition and Add Group functions to define the property/value pairs that you want to use as conditions for the rule.
Click the More... link at the bottom of the dialog to display the optional multiple occurrence and window length parameters.Conditional Expression
Choose an operator and add one or more conditions to form the conditional expression. You can include a condition group to evaluate a subset of conditions. The Current Rule box displays the constructed expression in standard syntax. The box displays a red border if the expression is syntactically invalid as currently specified. A valid expression is required to save the rule definition.
Select the operator used to determine the match for multiple conditions.
- Select AND to match all conditions.
- Select OR to match any one condition.
- Select AND NOT to exclude items matching all conditions after the first.
- Select OR NOT to include all items that do not match any conditions after the first.
Click Add Condition to add a condition. For each condition, specify the field name, evaluator, and value. If the evaluation returns true for the condition, it is a match.
Click Add Group to a condition group. A new group includes a condition and its own operator used to match the conditions within the group. You can nest condition groups.Occurrences
Specify the number of event or alarm occurrences that produce a match on the conditional expression to trigger the rule. The default value is 1. You can enter the number of occurrences or use the arrow to scroll the value up or down.
USM Anywhere uses this in conjunction with the Length option to specify the number of occurrences within a time period that will trigger the rule. For example, you can define a rule to trigger for an unauthorized access attempt when a failed SSHProgram to securely log into another computer over a network, to execute commands in a remote machine, and to move files from one machine to another through SCP. login occurs three times within a five minute window.Length
Specify the length of the window to identify a match for multiple occurrences. Enter the number and choose a time unit value of seconds, minutes, or hours. This time period identifies the amount of time that transpires from the first occurrence to the last occurrence. If the number of occurrences is not met within this period, the rule does not trigger.
- Click Save Rule.
If you prefer to use Amazon SNS to forward notifications to your Slack channel, you can add the webhook that you created to the Lambda function in your AWS account.
Important: For this integration type, you do not add the Slack webhook in USM Anywhere. When you create the orchestration rule, you select the Amazon SNS notification method.
Before you can complete this integration, you must have an SNS topic and a Lambda Function for USM Anywhere notifications set up in your AWS account (see Setting Up an SNS Topic and a Lambda Function) and a Slack incoming webhook (see Create the Slack Webhook).
To integrate the Slack webhook with the USM Anywhere through Amazon SNS
- In the Lambda function code, paste this code and replace [INSERT_WEBHOOK_URL] with the Slack Webhook URL.
Use the default Role setting (Create a new role from templates) and specify the Role name as lambda_basic_execution.
- Expand the Advanced settings and set the Timeout to 10 seconds.
- Click Next.
- Click Create function.
To check the integration with Slack
- Go to your Lambda function, click Monitoring and check the Invocation Count graph data.
- Check in your Slack channel for notifications.