教程:在 Log Analytics 工作区中查询 Azure DDoS 防护日志

本教程介绍如何执行下列操作:

  • 查看 Azure DDoS 防护诊断日志,包括通知、风险缓解报表和缓解流日志。

DDoS 防护诊断日志使你能够在 DDoS 攻击后查看 DDoS 防护通知、缓解报告和缓解流日志。 可以在 Log Analytics 工作区中查看这些日志。

攻击缓解报告使用 Netflow 协议数据,这些数据聚合在一起,提供有关资源所受攻击的详细信息。 只要公共 IP 资源受到攻击,就会在缓解措施启动时开始生成报告。 每 5 分钟生成一份增量报告,整个缓解过程结束后,生成一份缓解后报告。 这是为了确保在 DDoS 攻击持续时间较长时,能够每隔 5 分钟查看一次最新的缓解报告快照,并在攻击缓解结束后查看完整总结。

先决条件

在 Log Analytics 工作区中查看

  1. 登录到 Azure 门户

  2. 在门户顶部的搜索框中,输入“Log Analytics 工作区”。 在搜索结果中选择“Log Analytics 工作区”。

  3. 在“Log Analytics 工作区”边栏选项卡下,选择工作区。

  4. 在左侧选项卡上,选择“日志”。 在这里,可以看到查询资源管理器。 退出“查询”窗格以利用“日志”页。

    查看 Log Analytics 工作区的屏幕截图。

  5. 在“日志”页中,输入查询,然后点击“运行”以查看结果。

    在 Log Analytics 工作区中查看 DDoS 防护通知日志的屏幕截图。

在 Log Analytics 工作区中查询 Azure DDoS 防护日志

有关日志架构的详细信息,请参阅查看诊断日志

DDoSProtectionNotifications 日志

  1. 在“日志分析工作区”边栏选项卡下,选择日志分析工作区。

  2. 在左侧窗格上,选择“日志”

    Log Analytics 工作区中的日志查询的屏幕截图。

  3. 在查询资源管理器中,键入以下 Kusto 查询,将时间范围更改为“自定义”,并将时间范围更改为过去 3 个月。 然后单击“运行”。

    AzureDiagnostics
    | where Category == "DDoSProtectionNotifications"
    
  4. 若要查看 DDoSMitigationFlowLogs,请将查询更改为如下所示,保留相同的时间范围,然后单击“运行”。

    AzureDiagnostics
    | where Category == "DDoSMitigationFlowLogs"
    
  5. 若要查看 DDoSMitigationReports,请将查询更改为如下所示,保留相同的时间范围,然后单击“运行”。

    AzureDiagnostics
    | where Category == "DDoSMitigationReports"
    

示例日志查询

DDoS 防护通知

通知会在公共 IP 资源遭受攻击以及攻击风险缓解结束时向你发出通知。

AzureDiagnostics
| where Category == "DDoSProtectionNotifications"

下表列出了字段的名称和描述:

字段名称 说明
TimeGenerated 创建通知时的日期和时间 (UTC)。
ResourceId 公共 IP 的资源 ID。
类别 对于通知,这将为 DDoSProtectionNotifications
ResourceGroup 包含公共 IP 和虚拟网络的资源组。
SubscriptionId 你的 DDoS 防护计划订阅 ID。
资源 公共 IP 的名称。
ResourceType 这将始终为 PUBLICIPADDRESS
OperationName 对于通知,这是 DDoSProtectionNotifications
消息 攻击的详细信息。
类型 通知的类型。 可能的值包括 MitigationStartedMitigationStopped
PublicIpAddress 你的公共 IP。

DDoS 缓解流日志

通过攻击缓解流日志,可近乎实时地查看活动的 DDoS 攻击期间的丢弃流量、转发流量和其他相关数据点。 可通过事件中心将此数据的恒定流引入 Microsoft Sentinel 或第三方 SIEM 系统,以实现近实时监视,还可采取可能的措施,解决防御运营需求。

AzureDiagnostics
| where Category == "DDoSMitigationFlowLogs"

下表列出了字段的名称和描述:

字段名称 说明
TimeGenerated 创建流日志时的日期和时间 (UTC)。
ResourceId 公共 IP 的资源 ID。
类别 对于流日志,这是 DDoSMitigationFlowLogs
ResourceGroup 包含公共 IP 和虚拟网络的资源组。
SubscriptionId 你的 DDoS 防护计划订阅 ID。
资源 公共 IP 的名称。
ResourceType 这将始终为 PUBLICIPADDRESS
OperationName 对于流日志,这是 DDoSMitigationFlowLogs
消息 攻击的详细信息。
SourcePublicIpAddress 客户端的公共 IP,该客户端生成到公共 IP 的流量。
SourcePort 端口号范围介于 0 到 65535 之间。
DestPublicIpAddress 你的公共 IP。
DestPort 端口号范围介于 0 到 65535 之间。
协议 协议的类型。 可能的值包括 tcpudpother

DDoS 缓解报告

AzureDiagnostics
| where Category == "DDoSMitigationReports"

下表列出了字段的名称和描述:

字段名称 说明
TimeGenerated 创建通知时的日期和时间 (UTC)。
ResourceId 公共 IP 的资源 ID。
类别 对于缓解报表,这是 DDoSMitigationReports
ResourceGroup 包含公共 IP 和虚拟网络的资源组。
SubscriptionId 你的 DDoS 防护计划订阅 ID。
资源 公共 IP 的名称。
ResourceType 这将始终为 PUBLICIPADDRESS
OperationName 对于缓解报表,这是 DDoSMitigationReports。 
ReportType 可能的值为 IncrementalPostMitigation
MitigationPeriodStart 风险缓解开始时的日期和时间 (UTC)。
MitigationPeriodEnd 风险缓解终止时的日期和时间 (UTC)。
IPAddress 你的公共 IP 地址。
AttackVectors 攻击类型的降级。 键包括 TCP SYN floodTCP floodUDP floodUDP reflectionOther packet flood
TrafficOverview 攻击流量的降级。 键包括 Total packetsTotal packets droppedTotal TCP packetsTotal TCP packets droppedTotal UDP packetsTotal UDP packets droppedTotal Other packetsTotal Other packets dropped
协议   所包含协议的明细。 键包括 TCPUDPOther。   
DropReasons 丢弃数据包的原因分析。 键包括 Protocol violation invalid TCPsyn Protocol violation invalid TCPProtocol violation invalid UDPUDP reflectionTCP rate limit exceededUDP rate limit exceededDestination limit exceededOther packet flood Rate limit exceededPacket was forwarded to service。 协议冲突无效的丢弃原因是指格式不正确的数据包。
TopSourceCountries 按入站流量划分的前 10 个源国家/地区的明细。
TopSourceCountriesForDroppedPackets 受限制的前 10 个攻击流量源国家/地区的分析。
TopSourceASNs 传入流量的前 10 个自治系统编号 (ASN) 源的分析。  
SourceContinents 入站流量的源洲的分析。
类型 通知的类型。 可能的值包括 MitigationStartedMitigationStopped

后续步骤

本教程介绍了如何在 Log Analytics 工作区中查看 Azure DDoS 防护诊断日志。 若要详细了解受到 DDoS 攻击时要采取的建议步骤,请参阅后续步骤。