Incoming feed - Microsoft Sentinel Alerts Feed#
Note
This article describes how to configure incoming feeds for a particular feed source. To see how to configure incoming feeds in general, see Create and configure incoming feeds.
Specifications |
|
---|---|
Transport types |
Microsoft Sentinel Alerts Feed |
Content type |
Microsoft Sentinel Alerts JSON |
Endpoint(s) |
|
Ingested data |
Ingests alerts from a given Microsoft Azure Log Analytics workspace. For more information, see How the feed works. |
Processed data |
See Data mapping. |
Requirements#
Your Microsoft Azure tenant ID.
A Microsoft Azure user to set up the service application. This use should have one of these roles:
Global Administrator
Application Administrator
Cloud Application Administrator
A service application.
This provides you with a
client_id
andclient_secret
that this incoming feed uses to set up OAuth2 authentication with Microsoft Azure.
Set up service application on Azure#
Before setting up an incoming feed with the Microsoft Sentinel Alerts Feed transport type, you must:
Register a service application in Azure.
The incoming feed connects to your Azure Log Analytics workspace using this service application.
Obtain
client_id
andclient_secret
from your new service application.You need the
client_id
andclient_secret
to Configure the incoming feed.Assign
Read Log Analytics data as user
permissions to your service application.Link your service application to your Azure Log Analytics workspace.
(Optional) Assign user or group to service application.
These steps are documented in the Azure Log Analytics REST API documentation.
Once done, Configure the incoming feed.
Configure the incoming feed#
Create or edit an incoming feed.
Under Transport and content, fill out these fields:
Note
Required fields are marked with an asterisk (*).
Field
Description
Transport type*
Select Microsoft Sentinel Alerts Feed from the drop-down menu.
Content type*
Select Microsoft Sentinel Alerts JSON from the drop-down menu.
API URL*
By default, this is set to
https://api.loganalytics.io/v1/
.Client ID*
Enter the
client_id
for your service application.For more information, see Set up service application on Azure.
Client secret*
Enter the
client_secret
for your service application.For more information, see Set up service application on Azure.
Tenant ID*
Enter the tenant ID of the tenant that your Azure Log Analytics workspace is located on.
Workspace ID*
Set this to your Azure Log Analytics workspace ID.
Start ingesting from*
Ingest alerts generated from this date onward.
For more information, see How the feed works.
Filter operator
(Optional) Select an operator from the list to apply to the value set in Filter value.
Must be set when a value is entered for Filter value.
For more information, see Filter operator and Filter value.
Filter value
(Optional) Enter a value to be used in combination with the Filter operator to filter alerts.
Must be set when a value is selected for Filter operator.
Values entered here are case-sensitive.
For more information, see Filter operator and Filter value.
Custom filter
(Optional) You can enter additional KQL queries here. Can be set without entering values for Filter operator and Filter value
For more information, see Custom filter.
SSL verification
Selected by default. Select this option to enable SSL for this feed.
Path to SSL certificate file.
Used when connecting to a feed source that uses a custom CA. Set this as the path to the SSL certificate to use when authenticating the feed source.
For more information, see SSL certificates.
Start ingesting from*
Ingest data from the feed source starting from this date and time. Use the drop-down calendar to select the date and time you want to start ingesting feed data from.
Store your changes by selecting Save.
SSL certificates#
To use an SSL certificate, it must be:
Accessible on the EclecticIQ Intelligence Center host.
Placed in a location that can be accessed by the
eclecticiq
user.Owned by
eclecticiq:eclecticiq
.
To make sure that EclecticIQ Intelligence Center can access the SSL certificate:
Upload the SSL certificate to a location on the EclecticIQ Intelligence Center host.
On the EclecticIQ Intelligence Center host, open the terminal.
Change ownership of the SSL certificate by running as root in the terminal:
chown eclecticiq:eclecticiq /path/to/cert.pem
Where
/path/to/cert.pem
is the location of the SSL certificate EclecticIQ Intelligence Center needs to access.
How the feed works#
The Microsoft Sentinel Alerts Feed ingests security alerts from your Azure Log Analytics workspace.
By default, it runs this KQL query:
SecurityAlert
| where TimeGenerated > todatetime(<Start ingesting from>)
to find and ingest all alerts generated in the given workspace after the date and time set in Start ingesting from.
Filter operator and Filter value#
Adding a Filter operator and Filter value sets the feed to only retrieve alerts that matches the combination of the two fields, and sends the following query to Azure Log Analytics:
SecurityAlert
| where TimeGenerated > todatetime(<Start ingesting from>)
| where AlertName <Filter operator> <Filter value>
Both fields must be set for the generated query to be valid.
For example, setting these values:
Filter operator |
Contains |
---|---|
Filter value |
APT42 |
retrieves alerts that have ‘APT42’ in their names with a KQL query that looks like this:
SecurityAlert
| where TimeGenerated > todatetime(<Start ingesting from>)
| where AlertName contains 'APT42'
The Filter operator options are KQL string operators, with these possible values:
Filter operator |
KQL/Description |
---|---|
Equals |
|
Not equals |
|
Contains |
|
Doesn’t contain |
|
Starts with |
|
Ends with |
|
Equals to one of the comma separated elements |
|
Custom filter#
Setting the Custom filter field allows you to add your own KQL queries to the incoming feed.
For example, entering the following in the Custom filter field:
where AlertName equals 'example'
Retrieves alerts with names that match ‘example’ exactly, with a KQL query that looks like this:
SecurityAlert
| where TimeGenerated > todatetime(<Start ingesting from>)
| where AlertName equals 'example'
Omit the leading pipe (|
) character
when setting the Custom filter.
For example:
Do |
Don’t |
---|---|
where AlertName equals ‘example’ |
| where AlertName equals ‘example’ |
When used in combination with Filter operator and Filter values fields, the resulting KQL query will look like this:
SecurityAlert
| where TimeGenerated > todatetime(<Start ingesting from>)
| where AlertName <Filter operator> <Filter value>
| <Custom filter>
Data mapping#
The feed ingests alerts from the given Azure Log Analytics workspace as sightings on the platform.
The following table shows how alerts are mapped to sightings. For more information about the Azure Log Analytics schema, see Azure Security alerts schemas documentation.
Map Alerts to Sightings#
Sighting field name |
Mapped from Azure Log Analytics schema |
Example value |
Description |
---|---|---|---|
Title |
|
Suspicious process executed [seen multiple times] alert - Sighting created by Microsoft Sentinel |
Name of sighting. |
Analysis |
|
Machine logs indicate that the suspicious process: ‘c:toolsmimikatzx64mimikatz.exe’ was running on the machine, often associated with attacker attempts to access credentials. This behavior was seen 24 times today on the following machines: VICTIM00 |
Description of sighting. |
Confidence |
|
High |
Confidence of sighting. For more information, see Map AlertSeverity to Sighting confidence Possible values:
|
Estimated time |
|
Various |
See Map timestamps. |
Tags |
|
|
Tags added to the sighting. |
Producer |
|
Various |
Map AlertSeverity to Sighting confidence#
Azure Log Analytics AlertSeverity value |
Sighting confidence value |
---|---|
Informational |
None |
Low |
Low |
Medium |
Medium |
High |
High |
Map timestamps#
Indicator estimated time field |
Azure Log Analytics schema |
---|---|
Estimated threat start time |
|
Estimated threat end time |
|
Estimated observed time |
|
Ingested |
|
Map information source#
Field name |
Example value |
---|---|
Identity |
Microsoft Sentinel |
Roles |
Initial Author |
References |
Map Alert Entities to Observables#
This feed ingests entities attached to a given alert as observables extracted from the resulting sighting.
Map Alert entity type to observable type#
Azure Log Analytics Entity type |
Observable Type |
Maps this Azure Log Analytics field name to observable value |
---|---|---|
filehash |
The platform checks the filehash length to assign one of these hash types:
|
|
ip |
ipv4 |
|
url |
url |
|
host |
host |
|
account |
person |
|
Map AlertSeverity to observable maliciousness#
Azure Log Analytics AlertSeverity value |
Sighting confidence value |
---|---|
Informational |
None |
Low |
Low |
Medium |
Medium |
High |
High |