指标和警报 - AWS DDoS弹性最佳实践

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

指标和警报

作为最佳实践,您应该使用基础设施和应用程序监控工具来检查应用程序的可用性,以确保您的应用程序不受DDoS事件的影响,作为一种选择,您可以为资源配置应用程序和基础架构 Route 53 运行状况检查,以帮助改善DDoS事件检测。有关运行状况检查的更多信息,请参阅AWS WAF《Fi rewall Manager 和 Shield 高级开发者指南》

当关键操作指标明显偏离预期值时,攻击者可能会试图瞄准应用程序的可用性。熟悉应用程序的正常行为意味着在检测到异常时可以更快地采取行动。Amazon CloudWatch 可以通过监控您运行的应用程序来提供帮助 AWS。例如,您可以收集和跟踪指标、收集和监控日志文件、设置警报以及自动响应 AWS 资源的变化。

如果您在设计应用程序时遵循DDoS弹性参考架构,那么常见的基础架构层攻击将在到达您的应用程序之前被阻止。如果您已订阅 AWS Shield Advanced,则可以访问许多 CloudWatch指标,这些指标可以表明您的应用程序已成为目标。

例如,您可以将警报配置为在DDoS攻击进行时通知您,这样您就可以检查应用程序的运行状况并决定是否参与攻击 AWS SRT。您可以配置该DDoSDetected指标以告知您是否检测到攻击。如果您想根据攻击量收到警报,也可以使用DDoSAttackBitsPerSecondDDoSAttackPacketsPerSecond、或DDoSAttackRequestsPerSecond指标。您可以通过 CloudWatch 与自己的工具集成或使用第三方提供的工具(例如 Slack 或 PagerDuty)来监控这些指标。

应用层攻击可以提升许多 Amazon CloudWatch 指标。如果您正在使用 AWS WAF,则可以使用 CloudWatch 来监控和激活已设置为允许、计数或阻止的 AWS WAF 请求数量增加时的警报。这样,当流量超出您的应用程序所能处理的流量时,您就可以收到通知。您还可以使用跟踪的亚马逊 CloudFront、亚马逊 Route 53、Application Load Balancer、Network Load Balancer EC2、Amazon 和 Auto Scaling 指标 CloudWatch 来检测可能表明DDoS攻击的变化。

下表列出了常用于检测和应对DDoS攻击的 CloudWatch 指标的描述。

表 3-推荐的亚马逊 CloudWatch 指标

主题 指标 描述
AWS Shield Advanced DDoSDetected 表示针对特定 Amazon 资源名称 (ARN) DDoS 的事件。
AWS Shield Advanced DDoSAttackBitsPerSecond 在特定DDoS事件期间观察到的字节数ARN。此指标仅适用于第 3 层或第 4 层DDoS事件。
AWS Shield Advanced DDoSAttackPacketsPerSecond 在特定DDoS事件期间观察到的数据包数量ARN。此指标仅适用于第 3 层或第 4 层DDoS事件。
AWS Shield Advanced DDoSAttackRequestsPerSecond 在事件期间观察到的针对特定DDoS事件的请求数ARN。此指标仅适用于第 7 层DDoS事件,并且仅报告最重要的第 7 层事件。
AWS WAF AllowedRequests 允许的 Web 请求数。
AWS WAF BlockedRequests 阻止的 Web 请求数。
AWS WAF CountedRequests 计数的 Web 请求数。
AWS WAF PassedRequests 已通过的请求数。这仅用于通过规则组评估但不匹配任何规则组规则的请求。
Amazon CloudFront Requests HTTP/S 请求的数量。
Amazon CloudFront TotalErrorRate HTTP状态码为4xx或的所有请求的百分比5xx
Amazon Route 53 HealthCheckStatus 运行状况检查端点的状态。
应用程序负载均衡器 ActiveConnectionCount

从客户端到负载均衡器以及从负载均衡器到目标的活动并发TCP连接总数。

应用程序负载均衡器 ConsumedLCUs 您的负载均衡器使用的负载均衡器容量单位 (LCU) 的数量。
应用程序负载均衡器 HTTPCode_ELB_4XX_Count HTTPCode_ELB_5XX_Count 负载均衡器生成的HTTP4xx5xx客户端错误代码的数量。
应用程序负载均衡器 NewConnectionCount 从客户端到负载均衡器以及从负载均衡器到目标的新TCP连接总数。
应用程序负载均衡器 ProcessedBytes 负载均衡器处理的总字节数。
应用程序负载均衡器 RejectedConnectionCount 由于负载均衡器达到连接数上限被拒绝的链接的数量。
应用程序负载均衡器 RequestCount 已处理的请求数。
应用程序负载均衡器 TargetConnectionErrorCount 负载均衡器和目标之间连接建立不成功的次数。
应用程序负载均衡器 TargetResponseTime 从请求离开负载均衡器到收到来自目标的响应所经过的时间(以秒为单位)。
应用程序负载均衡器 UnHealthyHostCount 被视为未正常运行的目标数量。
网络负载均衡器 ActiveFlowCount 从客户端到目标的并发TCP流(或连接)总数。
网络负载均衡器 ConsumedLCUs 您的负载均衡器使用的负载均衡器容量单位 (LCU) 的数量。
网络负载均衡器 NewFlowCount 一段时间内从客户端到目标的新TCP流(或连接)总数。
网络负载均衡器 ProcessedBytes 负载均衡器处理的总字节数,包括 TCP /IP 标头。
Global Accelerator NewFlowCount 一段时间内从客户端到端点的新UDP流量TCP和已建立的流(或连接)总数。
Global Accelerator ProcessedBytesIn 加速器处理的传入字节总数,包括 TCP /IP 标头。
Auto Scaling GroupMaxSize 自动扩缩组的最大大小。
Amazon EC2 CPUUtilization 当前正在使用的已分配EC2计算单元的百分比。
Amazon EC2 NetworkIn 实例在所有网络接口上收到的字节数。

有关使用 Amazon CloudWatch 检测应用程序DDoS攻击的更多信息,请参阅 Amazon 入门 CloudWatch

AWS 包括其他几个指标和警报,用于通知您攻击并帮助您监控应用程序的资源。 AWS Shield 控制台或API提供每个账户的事件摘要以及有关已检测到的攻击的详细信息。

检测到的全球活动 AWS Shield

检测到的全球活动 AWS Shield

此外,全球威胁环境控制面板还提供有关已检测到的所有DDoS攻击的摘要信息 AWS。这些信息可能有助于更好地了解更多应用程序群中的DDoS威胁以及攻击趋势,并与您可能观察到的攻击进行比较。

如果您已订阅 AWS Shield Advanced,服务控制面板会显示在受保护资源上检测到的事件的其他检测和缓解指标以及网络流量详细信息。 AWS Shield 从多个维度评估流向受保护资源的流量。检测到异常时, AWS Shield 会创建一个事件并报告观察到异常的流量维度。通过采取缓解措施,可以保护您的资源免于接收与已知DDoS事件签名匹配的过量流量和流量。

检测指标基于网络与受保护资源关联时采样的网络ACL流量或 AWS WAF 日志。缓解指标基于Shield的DDoS缓解系统观察到的流量。缓解指标可以更精确地衡量进入您的资源的流量。

网络贡献率最高的指标可以深入了解检测到的事件期间流量的来源。您可以查看容量最高的贡献者,并按协议、源端口和TCP标志等方面进行排序。贡献率最高的指标包括各个维度上在资源上观察到的所有流量的指标。它提供了其他指标维度,可用于了解事件期间发送到您的资源的网络流量。请记住,对于非反射第 3 层或第 4 层攻击,源 IP 地址可能已被欺骗,无法依赖。

服务仪表板还包含有关为缓解DDoS攻击而自动采取的操作的详细信息。这些信息使您可以更轻松地调查异常情况、探索流量维度,并更好地了解 Shield Advanced 为保护您的可用性而采取的措施。