Microsoft Graph 安全性 API 给出 206,空“值”
Microsoft Graph Security API Gives 206, Empty `values`
我正在尝试从 Microsoft Graph Security API. The end goal is to get EOP 事件中检索安全事件 and/or 警报。
当我提交请求时:
GET https://graph.microsoft.com/v1.0/security/alerts
我明白了:
HTTP/1.1 206 Partial Content
Cache-Control: private
Warning: 199 - "Microsoft/WDATP/401/16"
Content-Type: application/json;odata.metadata=minimal;odata.streaming=true;IEEE754Compatible=false;charset=utf-8
request-id: [REDACTED]
client-request-id: [REDACTED]
x-ms-ags-diagnostic: {"ServerInfo":{"DataCenter":"West US","Slice":"SliceC","Ring":"5","ScaleUnit":"003","Host":"AGSFE_IN_22","ADSiteName":"WUS"}}
OData-Version: 4.0
Duration: 399.4425
Strict-Transport-Security: max-age=31536000
Date: Thu, 18 Oct 2018 00:36:42 GMT
Content-Length: 90
{"@odata.context":"https://graph.microsoft.com/v1.0/$metadata#Security/alerts","value":[]}
我觉得值得注意的是,我在 Office 365 安全与合规中心的报告仪表板上看到了一个网络钓鱼活动的警报,总共有 11 次尝试,今天有 1 次尝试(真是满口)。
我试着把它当作一个正确的 206,但是 Accept-Ranges 没有设置,HEAD
是不允许的,传递 Range: bytes=0-10000
没有任何改变。我还注意到 Warning: 199 - "Microsoft/WDATP/401/16"
header、which follows {Vendor}/{Provider}/{StatusCode}/{LatencyInMs},但我不确定为什么会这样。即使它发生了,我也需要 EOP 日志,而不是 Windows Defender ATP 日志,所以我希望我可以忽略它。
附加信息:
- 我按照 this document 设置应用程序(除了我授予 SecurityEvents.Read.All 作为应用程序权限)。
- 我正在使用 Python 请求,并且只设置了
Authorization
header(除了我在乱用 Range
header ).我也用 Fiddler 试过这个。
- 我的组织有 EOP(随 Exchange 提供),但没有 Office 365 ATP。让 ATP 工作会很好,但不是必需的。获得 EOP logs/events/alerts/whatever 是我的邮件目标。
编辑:EOP 日志的解决方案
我终于找到了一个以编程方式获取 EOP 日志的端点。访问它的用户不能有 MFA,并且有一些记录不详的速率限制,但除此之外它看起来不错。有关详细信息,请参阅 this page. Specifically, I GET
this page to view my permissions, and GET
this page 查看消息(不要被浏览器的 RSS 提要视图所迷惑,那里有很多数据)。
您没有从安全 API 收到任何警报的原因是 Office 365 目前尚未完全集成到 API。 Microsoft Graph Security API 页面上的当前提供商列表中将 Office 365 列为即将推出。
从您收到的警告 header 来看,您似乎订阅了 WDATP,但在 WDATP 中没有所需的角色。
为了从 WDATP 获得警报,用户必须具有正确的角色才能查看警报。 WDATP 中需要的权限是 View data
以访问门户和 API 以获取警报,以及 Investigate alerts
以在 WDATP 中修补警报。有关添加所需角色的步骤,请阅读 Create and manage roles for role-based access control。
如果你想从安全 API 获得警报,你可以在 Azure 安全中心注册试用并在你的租户中生成警报。
如何生成 ASC 警报:
在您的计算机上安装安全中心代理后,在您希望成为警报的被攻击资源的计算机上执行以下步骤:
- 将可执行文件(例如 calc.exe)复制到计算机桌面或您方便的其他目录。
- 将此文件重命名为 ASC_AlertTest_662jfi039N.exe。
- 打开命令提示符并使用参数(只是一个假参数名称)执行此文件,例如:ASC_AlertTest_662jfi039N.exe -foo
我正在尝试从 Microsoft Graph Security API. The end goal is to get EOP 事件中检索安全事件 and/or 警报。
当我提交请求时:
GET https://graph.microsoft.com/v1.0/security/alerts
我明白了:
HTTP/1.1 206 Partial Content
Cache-Control: private
Warning: 199 - "Microsoft/WDATP/401/16"
Content-Type: application/json;odata.metadata=minimal;odata.streaming=true;IEEE754Compatible=false;charset=utf-8
request-id: [REDACTED]
client-request-id: [REDACTED]
x-ms-ags-diagnostic: {"ServerInfo":{"DataCenter":"West US","Slice":"SliceC","Ring":"5","ScaleUnit":"003","Host":"AGSFE_IN_22","ADSiteName":"WUS"}}
OData-Version: 4.0
Duration: 399.4425
Strict-Transport-Security: max-age=31536000
Date: Thu, 18 Oct 2018 00:36:42 GMT
Content-Length: 90
{"@odata.context":"https://graph.microsoft.com/v1.0/$metadata#Security/alerts","value":[]}
我觉得值得注意的是,我在 Office 365 安全与合规中心的报告仪表板上看到了一个网络钓鱼活动的警报,总共有 11 次尝试,今天有 1 次尝试(真是满口)。
我试着把它当作一个正确的 206,但是 Accept-Ranges 没有设置,HEAD
是不允许的,传递 Range: bytes=0-10000
没有任何改变。我还注意到 Warning: 199 - "Microsoft/WDATP/401/16"
header、which follows {Vendor}/{Provider}/{StatusCode}/{LatencyInMs},但我不确定为什么会这样。即使它发生了,我也需要 EOP 日志,而不是 Windows Defender ATP 日志,所以我希望我可以忽略它。
附加信息:
- 我按照 this document 设置应用程序(除了我授予 SecurityEvents.Read.All 作为应用程序权限)。
- 我正在使用 Python 请求,并且只设置了
Authorization
header(除了我在乱用Range
header ).我也用 Fiddler 试过这个。 - 我的组织有 EOP(随 Exchange 提供),但没有 Office 365 ATP。让 ATP 工作会很好,但不是必需的。获得 EOP logs/events/alerts/whatever 是我的邮件目标。
编辑:EOP 日志的解决方案
我终于找到了一个以编程方式获取 EOP 日志的端点。访问它的用户不能有 MFA,并且有一些记录不详的速率限制,但除此之外它看起来不错。有关详细信息,请参阅 this page. Specifically, I GET
this page to view my permissions, and GET
this page 查看消息(不要被浏览器的 RSS 提要视图所迷惑,那里有很多数据)。
您没有从安全 API 收到任何警报的原因是 Office 365 目前尚未完全集成到 API。 Microsoft Graph Security API 页面上的当前提供商列表中将 Office 365 列为即将推出。
从您收到的警告 header 来看,您似乎订阅了 WDATP,但在 WDATP 中没有所需的角色。
为了从 WDATP 获得警报,用户必须具有正确的角色才能查看警报。 WDATP 中需要的权限是 View data
以访问门户和 API 以获取警报,以及 Investigate alerts
以在 WDATP 中修补警报。有关添加所需角色的步骤,请阅读 Create and manage roles for role-based access control。
如果你想从安全 API 获得警报,你可以在 Azure 安全中心注册试用并在你的租户中生成警报。
如何生成 ASC 警报: 在您的计算机上安装安全中心代理后,在您希望成为警报的被攻击资源的计算机上执行以下步骤:
- 将可执行文件(例如 calc.exe)复制到计算机桌面或您方便的其他目录。
- 将此文件重命名为 ASC_AlertTest_662jfi039N.exe。
- 打开命令提示符并使用参数(只是一个假参数名称)执行此文件,例如:ASC_AlertTest_662jfi039N.exe -foo