integration-docs
Loading

Microsoft Defender XDR integration

Serverless Observability Serverless Security Stack 9.1.4

Version 5.3.0 (View all)
Subscription level
What's this?
Basic
Developed by
What's this?
Elastic
Ingestion method(s) API, Azure Event Hub

The Microsoft Defender XDR integration allows you to monitor Alert, Incident (Microsoft Graph Security API), Event (Streaming API) Logs, and Vulnerability (Microsoft Defender for Endpoint API) Logs. Microsoft Defender XDR is a unified pre and post-breach enterprise defense suite that natively coordinates detection, prevention, investigation, and response across endpoints, identities, email, and applications to provide integrated protection against sophisticated attacks.

The integration works by collecting data from the Microsoft Azure Event Hub, Microsoft Graph Security v1.0 REST API, and the Microsoft Defender Endpoint API.

This integration supports below API versions to collect data.

  • Microsoft Graph Security v1.0 REST API
  • Microsoft Defender XDR Streaming API
  • Supported Microsoft Defender XDR streaming event types: | Resource types | Description | | - | - | | AlertEvidence | Files, IP addresses, URLs, users, or devices associated with alerts. | | AlertInfo | Alerts from M365 Defender XDR services, including severity and threat categorization. | | DeviceEvents | Event types, including events triggered by security controls. | | DeviceFileCertificateInfo | Certificate information of signed files obtained from certificate verification events on endpoints. | | DeviceFileEvents | File creation, modification, and other file system events. | | DeviceImageLoadEvents | DLL loading events. | | DeviceInfo | Machine information, including OS information. | | DeviceLogonEvents | Sign-ins and other authentication events on devices. | | DeviceNetworkEvents | Network connection and related events. | | DeviceNetworkInfo | Network properties of devices, as well as connected networks and domains. | | DeviceProcessEvents | Process creation and related events. | | DeviceRegistryEvents | Creation and modification of registry entries. | | EmailAttachmentInfo | Information about files attached to emails. | | EmailEvents | Microsoft 365 email events, including email delivery and blocking events. | | EmailPostDeliveryEvents | Security events that occur post-delivery, after Microsoft 365 delivers the emails to the recipient mailbox. | | EmailUrlInfo | Information about URLs in emails. | | IdentityInfo | Account information from various sources, including Microsoft Entra ID. | | IdentityLogonEvents | Authentication events on Active Directory and Microsoft online services. | | IdentityQueryEvents | Queries for Active Directory objects, such as users, groups, devices, and domains. | | IdentityDirectoryEvents | Events involving an on-premises domain controller running Active Directory (AD). This table covers a range of identity-related events and system events on the domain controller. | | CloudAppEvents | Events involving accounts and objects in Office 365 and other cloud apps and services. | | UrlClickEvent | Safe Links clicks from email messages, Teams, and Office 365 apps. |
  • Microsoft Defender for Endpoint API

The Microsoft Defender XDR integration collects logs for four types of events: Alert, Event, Incident, and Vulnerability.

Alert: This data streams leverages the Microsoft Graph Security API to collect alerts including suspicious activities in a customer's tenant that Microsoft or partner security providers have identified and flagged for action.

Event: This data stream leverages the Microsoft Defender XDR Streaming API to collect Alert, Device, Email, App and Identity Events. Events are streamed to an Azure Event Hub. For a list of supported events exposed by the Streaming API and supported by Elastic's integration, please see Microsoft's documentation here.

Incidents and Alerts: This data streams leverages the Microsoft Graph Security API to ingest a collection of correlated alert instances and associated metadata that reflects the story of an attack in Microsoft Defender XDR. Incidents stemming from Microsoft Defender XDR, Microsoft Defender for Endpoint, Microsoft Defender for Office 365, Microsoft Defender for Identity, Microsoft Defender for Cloud Apps, and Microsoft Purview Data Loss Prevention are supported by this integration.

Vulnerability: This data stream uses the Microsoft Defender for Endpoint API to collect vulnerability assessments.

Note: Alert data stream ingests individual detection events surfaced by Microsoft and partner security providers, while Incidents and Alerts data stream ingests correlated collections of alerts that represent a broader attack.

Use the data from this integration to consolidate and correlate security alerts from multiple sources. Also, by looking into the alert, incident, and vulnerability a user can take an appropriate action in the Microsoft Defender XDR Portal.

Version 4.0.0 of the Microsoft Defender XDR integration adds Elastic latest transforms. For more details, check the Transform setup and requirements.

Follow the steps below to configure data collection from Microsoft sources.

  • Register a new Azure Application.
  • Assign the required permission: SecurityIncident.Read.All. See more details here.
  • Once the application is registered, note the following values for use during configuration:
    • Client ID
    • Client Secret
    • Tenant ID
  • Register a new Azure Application.
  • Assign the required permissions: Vulnerability.Read.All. See more details here.
  • After registration, retrieve the following credentials needed for configuration:
    • Client ID
    • Client Secret
    • Tenant ID

This integration supports both Elastic Agentless-based and Agent-based installations.

Agentless integrations allow you to collect data without having to manage Elastic Agent in your cloud. They make manual agent deployment unnecessary, so you can focus on your data instead of the agent that collects it. For more information, refer to Agentless integrations and the Agentless integrations FAQ.

Agentless deployments are only supported in Elastic Serverless and Elastic Cloud environments. This functionality is in beta and is subject to change. Beta features are not subject to the support SLA of official GA features.

Elastic Agent must be installed. For more details, check the Elastic Agent installation instructions. You can install only one Elastic Agent per host.

  1. In the top search bar in Kibana, search for Integrations.

  2. In the search bar, type Microsoft Defender XDR.

  3. Select the Microsoft Defender XDR integration from the search results.

  4. Select Add Microsoft Defender XDR to add the integration.

  5. Enable and configure only the collection methods which you will use.

    • To Collect logs from Microsoft Defender XDR API, you'll need to:

      • Configure Client ID, Client Secret and Tenant ID.
    • To Collect logs from Microsoft Defender for Endpoint API, you'll need to:

      • Configure Client ID, Client Secret and Tenant ID. Configure either Subscription ID or Management Group Name as the scope.
    • To Collect logs from Azure Event Hub, you'll need to:

      • Configure Azure Event Hub, Connection String, Storage Account, and storage_account_key.
  6. Select Save and continue to save the integration.

  1. In the top search bar in Kibana, search for Dashboards.
  2. In the search bar, type Microsoft Defender XDR.
  3. Select a dashboard for the dataset you are collecting, and verify the dashboard information is populated.
  1. In the top search bar in Kibana, search for Transforms.
  2. Select the Data / Transforms from the search results.
  3. In the search bar, type m365_defender.
  4. All transforms from the search results should indicate Healthy under the Health column.

A full sync pulls in a large volume of data, which can lead to storage issues or index overflow over time. To avoid this, we have set up an Index Lifecycle Management (ILM) policy that automatically deletes data older than 7 days. This helps keep storage usage under control.

Note

The user or service account associated with the integration must have the following index privileges on the relevant index have the following permissions delete, delete_index.

The values used in event.severity are consistent with Elastic Detection Rules.

Severity Name event.severity
Low (or Informational) 21
Medium 47
High 73
Critical 99
  • Expiring SAS URLs: The option SAS Valid Hours in vulnerability data stream controls the duration that the Shared Access Signature (SAS) download URLs are valid for. The default value of this option is 1h i.e., 1 hour, and the maximum allowed value is 6h i.e., 6 hours. Increase the value of the option SAS Valid Hours when you see error.message indicates signatures are invalid, or when you notice invalid signature errors inside CEL trace logs.

For more information on architectures that can be used for scaling this integration, check the Ingest Architectures documentation.

This is the alert dataset.

This is the event dataset.

This is the incident dataset.

This is the vulnerability dataset.

These inputs are used in this integration:

This integration dataset uses the following APIs:

This integration includes one or more Kibana dashboards that visualizes the data collected by the integration. The screenshots below illustrate how the ingested data is displayed.