提取 Microsoft Defender XDR 事件
适用于:
备注
使用 MS Graph 安全 API 试用我们的新 API。 有关详细信息,请查看: 使用 Microsoft Graph 安全 API - Microsoft Graph |Microsoft Learn。
备注
此操作由 MSSP 执行。
有两种方法可以提取警报:
- 使用 SIEM 方法
- 使用 API
若要将事件提取到 SIEM 系统中,需要执行以下步骤:
- 步骤 1:Create第三方应用程序
- 步骤 2:从客户的租户获取访问和刷新令牌
- 步骤 3:允许应用程序Microsoft Defender XDR
需要创建一个应用程序,并向其授予从客户的Microsoft Defender XDR租户提取警报的权限。
登录到 Microsoft Entra 管理中心。
选择“Microsoft Entra ID>应用注册”。
单击“ 新建注册”。
指定以下值:
名称: <Tenant_name> SIEM MSSP 连接器 (Tenant_name替换为租户显示名称)
支持的帐户类型:仅限此组织目录中的帐户
重定向 URI:选择“Web”并键入
https://<domain_name>/SiemMsspConnector
(将domain_name>替换为<租户名称)
单击“注册”。 该应用程序显示在你拥有的应用程序列表中。
选择应用程序,然后单击“ 概述”。
将“ 应用程序 (客户端) ID ”字段中的值复制到安全位置,在下一步中将需要此值。
在新应用程序面板中选择“ 证书 & 机密 ”。
单击“ 新建客户端密码”。
- 说明:输入密钥的说明。
- 过期:选择 “1 年内”
单击“ 添加”,将客户端密码的值复制到安全位置,在下一步中将需要此值。
本部分介绍如何使用 PowerShell 脚本从客户的租户获取令牌。 此脚本使用上一步中的应用程序通过 OAuth 授权代码流获取访问和刷新令牌。
提供凭据后,需要向应用程序授予许可,以便在客户的租户中预配应用程序。
Create新文件夹并将其命名为:
MsspTokensAcquisition
。下载 LoginBrowser.psm1 模块 并将其保存在
MsspTokensAcquisition
文件夹中。备注
在第 30 行中,将 替换为
authorzationUrl
authorizationUrl
。Create包含以下内容的文件,并使用文件夹中的名称
MsspTokensAcquisition.ps1
将其保存:param ( [Parameter(Mandatory=$true)][string]$clientId, [Parameter(Mandatory=$true)][string]$secret, [Parameter(Mandatory=$true)][string]$tenantId ) [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12 # Load our Login Browser Function Import-Module .\LoginBrowser.psm1 # Configuration parameters $login = "https://login.microsoftonline.com" $redirectUri = "https://SiemMsspConnector" $resourceId = "https://graph.windows.net" Write-Host 'Prompt the user for his credentials, to get an authorization code' $authorizationUrl = ("{0}/{1}/oauth2/authorize?prompt=select_account&response_type=code&client_id={2}&redirect_uri={3}&resource={4}" -f $login, $tenantId, $clientId, $redirectUri, $resourceId) Write-Host "authorzationUrl: $authorizationUrl" # Fake a proper endpoint for the Redirect URI $code = LoginBrowser $authorizationUrl $redirectUri # Acquire token using the authorization code $Body = @{ grant_type = 'authorization_code' client_id = $clientId code = $code redirect_uri = $redirectUri resource = $resourceId client_secret = $secret } $tokenEndpoint = "$login/$tenantId/oauth2/token?" $Response = Invoke-RestMethod -Method Post -Uri $tokenEndpoint -Body $Body $token = $Response.access_token $refreshToken= $Response.refresh_token Write-Host " ----------------------------------- TOKEN ---------------------------------- " Write-Host $token Write-Host " ----------------------------------- REFRESH TOKEN ---------------------------------- " Write-Host $refreshToken
在
MsspTokensAcquisition
文件夹中打开提升的 PowerShell 命令提示符。运行以下命令:
Set-ExecutionPolicy -ExecutionPolicy Bypass
输入以下命令:
.\MsspTokensAcquisition.ps1 -clientId <client_id> -secret <app_key> -tenantId <customer_tenant_id>
- 将 client_id> 替换为<从上一步获取的应用程序 (客户端) ID。
- 将 app_key> 替换为<在上一步中创建的客户端密码。
- 将 customer_tenant_id> 替换为<客户的租户 ID。
系统将要求你提供凭据和同意。 忽略页面重定向。
在 PowerShell 窗口中,你将收到访问令牌和刷新令牌。 保存刷新令牌以配置 SIEM 连接器。
需要允许在 Microsoft Defender XDR 中创建的应用程序。
需要具有 “管理门户系统设置” 权限才能允许该应用程序。 否则,你需要请求客户为你允许该应用程序。
转到
https://security.microsoft.com?tid=<customer_tenant_id>
(将customer_tenant_id>替换为<客户的租户 ID。单击 “设置>终结点>API>SIEM”。
选择“ MSSP ”选项卡。
输入第一步中的 应用程序 ID 和 租户 ID。
单击“ 授权应用程序”。
现在可以下载 SIEM 的相关配置文件并连接到 Microsoft Defender XDR API。 有关详细信息,请参阅 将警报拉取到 SIEM 工具。
- 在 ArcSight 配置文件/Splunk 身份验证属性文件中,通过设置机密值手动写入应用程序密钥。
- 无需在门户中获取刷新令牌,而是使用上一步中的脚本来获取刷新令牌 (或通过其他方式获取刷新令牌) 。
有关如何使用 REST API 提取警报的信息,请参阅 使用 REST API 拉取警报。
使用 Microsoft Graph 安全 API - Microsoft Graph |Microsoft Learn
提示
想要了解更多信息? Engage技术社区中的 Microsoft 安全社区:Microsoft Defender XDR技术社区。