Configuring Microsoft Defender for Endpoint Connectors

Microsoft Defender for Endpoint connectors allow Stellar Cyber to ingest logs or issue response actions with Microsoft Defender for Endpoint and add the records to the data lake. There can be any number of Microsoft Defender for Endpoint connectors active.

This connector requires one of the following Microsoft endpoint security plans: Microsoft Defender for Endpoint Plan 1 (P1) or Microsoft Defender for Endpoint Plan 2 (P2). To learn about plans, refer to Compare Microsoft endpoint security plans.

There may be two data sources for third party native alerts if you have integrated both Microsoft Defender for Endpoint (this connector) and Windows Defender Antivirus (free version).

If a tenant is using the Microsoft Defender for Endpoint connector and the status of the connector in System | Connectors is green, alerts from Windows Defender Antivirus will be suppressed in order to remove duplicate logs. If the status of the connector is not green, alerts from Windows Defender Antivirus will not be suppressed.

Stellar Cyber connectors with the Collect function (collectors) may skip collecting some data when the ingestion volume is large, which potentially can lead to data loss. This can happen when the processing capacity of the collector is exceeded.

Connector Overview: Microsoft Defender for Endpoint

Capabilities

  • Collect: Yes

  • Respond: Yes

  • Native Alerts Mapped: Yes

  • Runs on: DP

  • Interval: Configurable

Collected Data

Content Type

Index

Locating Records

Alerts

Host

Vulnerabilities

Syslog

Assets (for Host)

 

msg_class:

microsoft_defender_alerts

microsoft_defender_host

microsoft_defender_vulnerabilities

msg_origin.source:

microsoft_defender

msg_origin.vendor:

microsoft

msg_origin.category:

endpoint

Domain

https://login.microsoftonline.com

<API Endpoint URL>

where <API Endpoint URL> is a variable from the configuration of this connector

Response Actions

Action

Required Fields

Contain Host

(for Host and Alerts)

microsoft_defender.id (for Host data)

microsoft_defender.machineId (for Alerts data)

The required permission for response actions is Machine.Isolate.

Third Party Native Alert Integration Details

The Microsoft Defender ATP alerts are mapped to the Stellar Cyber Syslog Index. Select the Alerts content type.

Deduplication is by tenantid, host.ip, host.name, and microsoft_defender.id.

For details, see Integration of Third Party Native Alerts.

For full alert integration of Microsoft Defender for Endpoint, the following licenses are required:

  • Microsoft Defender for Endpoint Plan 1 (P1)

  • Microsoft Defender for Business

Required Credentials

Locating Records

Use the following to query for records:

  • msg_origin.source: microsoft_defender

  • msg_class: microsoft_defender_alerts

To search the alerts, use the query: msg_class: microsoft_defender_alerts AND (microsoft_defender.detectionSource: WindowsDefenderAv OR microsoft_defender.detectionSource: WindowsDefenderAtp)

Adding a Microsoft Defender for Endpoint Connector

To add a Microsoft Defender for Endpoint connector:

  1. Create an app
  2. Gather information
  3. Add the connector in Stellar Cyber
  4. Test the connector
  5. Verify ingestion

Creating an App in Microsoft Entra ID

You must create an app in Microsoft Entra ID (formerly Azure Active Directory) that can access Microsoft Defender for Endpoint. Refer to the following article: https://docs.microsoft.com/en-us/windows/security/threat-protection/microsoft-defender-atp/exposed-apis-create-app-webapp.

Enable the following role for the API:

  • Vulnerability.Read.All

Also enable the following roles for the application:

  • Machine.Isolate

  • Event.Write

  • Machine.Scan

  • Url.Read.All

  • Ip.Read.All

  • Ti.ReadWrite

  • User.Read.All

  • Machine.ReadWrite.All

  • Machine.StopAndQuarantine

  • Alert.Read.All

  • File.Read.All

  • Machine.Read.All

  • Alert.ReadWrite.All

  • AdvancedQuery.Read.All

Gathering the Microsoft Entra ID Information

The following is the Microsoft Entra ID (formerly Azure AD) information to gather as you create the app:

  • API Endpoint URL—this is the API URL for the server closest to your region:

    • https://api-us.securitycenter.microsoft.com

    • https://api-eu.securitycenter.microsoft.com

    • https://api-uk.securitycenter.microsoft.com

    • https://au.api.securitycenter.microsoft.com

    • https://swa.api.securitycenter.microsoft.com

  • Client ID—this is the Application (client) ID

  • Directory ID—this is the Directory (tenant) ID

  • Client Secret—this is the token you generated

Adding the Connector in Stellar Cyber

With the access information handy, you can add a Microsoft Defender for Endpoint connector in Stellar Cyber:

  1. Log in to Stellar Cyber.

  2. Click System | Connectors (under Integrations). The Connector Overview appears.

  3. 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.

  4. Choose Endpoint Security from the Category drop-down.

  5. Choose Microsoft Defender for Endpoint from the Type drop-down.

  6. Choose the FunctionCollect to collect logs; Respond to contain hosts. If you want Respond, choose both Collect and Respond because Respond uses fields present in Alerts and Host data to perform the Contain Host action.

  7. Enter a Name.

    Notes:
    • This field does not accept multibyte characters.
    • It is recommended that you follow a naming convention such as tenantname-connectortype.
  8. Choose a Tenant Name. The Interflow records created by this connector include this tenant name. If you create an automated response action, note that the Tenant for this connector (Collect and Respond) must be within the Tenant for the action. You can use All Tenants or match specific tenants.

  9. 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 you select Data Processor, you will need to associate the connector with a Data Analyzer profile as a separate step. That step is not required for a sensor, which is configured with only one possible profile.

    • 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.

  10. (Optional) When the Function is Collect, you can apply Log Filters. For information, see Managing Log Filters.

  11. Click Next. The Configuration tab appears.

    The asterisk (*) indicates a required field.

  12. Select the applicable Office 365 Subscription Plan from the menu:

    • Enterprise Plan—Select the API Endpoint URL for the server closest to your region for the best performance as listed in Gathering the Microsoft Entra ID Information

    • GCC Government Plan—Select the API Endpoint URL (the URL is: https://api-gcc.securitycenter.microsoft.us)

    • GCC High Government Plan—Select the API Endpoint URL (the URL is: https://api-gov.securitycenter.microsoft.us)

    • DoD Government Plan—Select the API Endpoint URL (the URL is: https://api-gov.securitycenter.microsoft.us)

    To learn about Office 365 government plans, refer to the following documentation: https://learn.microsoft.com/en-us/defender-endpoint/gov?view=o365-worldwide

  13. Enter the Client ID you copied earlier.

  14. Enter the Directory ID you copied earlier.

  15. Enter the Client Secret you copied earlier.

  16. Enter the Interval (min). This is how often the logs are collected.

    If data is not being pulled, you can increase the interval, for example, to 10 minutes.

  17. Choose the Lookback Time (hr). This is how far back in time, in hours, the connector will pull data when it either starts or restarts. (Configuring this field has no impact when the connector is running, only when the connector is started for the first time or when it is stopped and restarted.) This field is for Alerts and Vulnerabilities content types since Host already looks back in time. The default is 3 hours. The maximum is 730 hours, or one month.

    Use caution if setting the Lookback Time to a high value. It may take a long time to pull the data and may result in old alert types being retriggered.

  18. Choose the Content Type you would like to collect. The logs for Alerts, Host, and Vulnerabilities are supported.

  19. Click Next. The final confirmation tab appears.

  20. Click Submit.

    To pull data, a connector must be added to a Data Analyzer profile if it is running on the Data Processor.

  21. If you are adding rather than editing a connector with the Collect function enabled and you specified for it to run on a Data Processor, a dialog box now prompts you to add the connector to the default Data Analyzer profile. Click Cancel to leave it out of the default profile or click OK to add it to the default profile.

    • This prompt only occurs during the initial create connector process when Collect is enabled.

    • Certain connectors can be run on either a Sensor or a Data Processor, and some are best run on one versus the other. In any case, when the connector is run on a Data Processor, that connector must be included in a Data Analyzer profile. If you leave it out of the default profile, you must add it to another profile. You need the Administrator Root scope to add the connector to the Data Analyzer profile. If you do not have privileges to configure Data Analyzer profiles, a dialog displays recommending you ask your administrator to add it for you.

    • The first time you add a Collect connector to a profile, it pulls data immediately and then not again until the scheduled interval has elapsed. If the connector configuration dialog did not offer an option to set a specific interval, it is run every five minutes. Exceptions to this default interval are the Proofpoint on Demand (pulls data every 1 hour) and Azure Event Hub (continuously pulls data) connectors. The intervals for each connector are listed in the Connector Types & Functions topic.

    The Connector Overview appears.

The new connector is immediately active.

Testing the Connector

When you add (or edit) a connector, we recommend that you run a test to validate the connectivity parameters you entered. (The test validates authentication and connectivity).

  1. Click System | Connectors (under Integrations). The Connector Overview appears.

  2. Locate the connector by name that you added, or modified, or that you want to test.

  3. 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.

ClosedDisplay sample messages...

Success !

Failure with summary of issue:

Show More example detail:

If the test fails, the common HTTP status error codes are as follows:

HTTP Error Code HTTP Standard Error Name Explanation Recommendation
400 Bad Request This error occurs when there is an error in the connector configuration.

Did you configure the connector correctly?

401 Unauthorized

This error occurs when an authentication credential is invalid or when a user does not have sufficient privileges to access a specific API.

Did you enter your credentials correctly?

Are your credentials expired?

Are your credentials entitled or licensed for that specific resource?

403 Forbidden This error occurs when the permission or scope is not correct in a valid credential.

Did you enter your credentials correctly?

Do you have the required role or permissions for that credential?

404 Not Found This error occurs when a URL path does not resolve to an entity. Did you enter your API URL correctly?
429 Too Many Requests

This error occurs when the API server receives too much traffic or if a user’s license or entitlement quota is exceeded.

The server or user license/quota will eventually recover. The connector will periodically retry the query.

If this occurs unexpectedly or too often, work with your API provider to investigate the server limits, user licensing, or quotas.

For a full list of codes, refer to HTTP response status codes.

Verifying Ingestion

To verify ingestion:

  1. Click Investigate | Threat Hunting. The Interflow Search tab appears.

  2. Change the Indices for the type of content you collected:

    • For Alerts and Vulnerabilities, change the Indices to Syslog.

    • For Host only, change the Indices to Assets. Hosts discovered through this connector show Microsoft Defender for Endpoint as a data source.

    The table immediately updates to show ingested Interflow records.

If you configured the connector Respond actions, refer to External Actions: Contain Host to understand how to work with the Contain Host feature.