本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
架构概述
本节提供了此解决方案所部署组件的参考实施架构图。
架构图
使用默认参数部署此解决方案将在您的 AWS 账户中部署以下组件。
CloudFormation 模板部署 AWS WAF 和其他 AWS 资源来保护您的 Web 应用程序免受常见攻击。

设计的核心是 AWS WAF
该解决方案的组件可以分为以下保护区域。
注意
群组标签不反映 WAF 规则的优先级。
-
AWS 托管规则 (A)-此组件包含 AWS 托管规则 IP 信誉规则组、基准规则组和特定于用例的规则组。这些规则组可以防止对常见应用程序漏洞或其他有害流量的利用,包括 OWASP
出版物中描述的漏洞,而无需自己编写规则。 -
手动 IP 列表(B 和 C)-这些组件创建了两个 AWS WAF 规则。使用这些规则,您可以手动插入要允许或拒绝的 IP 地址。您可以使用亚马逊 EventBridge
规则和 Amazon DynamoD B 配置 IP 保留并删除允许或拒绝的 IP 集上的过期 IP 地址。有关更多信息,请参阅在允许和拒绝的 AWS WAF IP 集上配置 IP 保留。 -
SQL 注入 (D) 和 XSS (E)-这些组件配置了两个 AWS WAF 规则,这些规则旨在防止 URI、查询字符串或请求正文中常见的 SQL 注入或跨站脚本 (XSS) 模式。
-
HTTP Flood (F)-此组件可防范由来自特定 IP 地址的大量请求构成的攻击,例如 Web 层 DDo S 攻击或暴力登录尝试。使用此规则,您可以设置配额,该配额定义了在默认五分钟内允许来自单个 IP 地址的最大传入请求数(可使用 Athena Query 运行时间计划参数进行配置)。突破此阈值后,将暂时阻止来自该 IP 地址的其他请求。您可以通过使用基于 AWS WAF 速率的规则来实现此规则,也可以使用 Lambda 函数或 Athena 查询处理 AWS WAF 日志。有关与 HTTP 洪水缓解选项相关的权衡的更多信息,请参阅日志解析器选项。
-
S@@ canner and Probe (G)-此组件解析应用程序访问日志,搜索可疑行为,例如源生成的异常数量错误。然后,它会在客户定义的一段时间内屏蔽这些可疑的源 IP 地址。您可以使用 Lambda 函数或 Athena 查询
来实现此规则。 有关与扫描器和探测器缓解选项相关的权衡的更多信息,请参阅日志解析器选项。 -
IP 信誉列表 (H)-此组件是
IP Lists Parser
Lambda 函数,它每小时检查第三方 IP 信誉列表,寻找要屏蔽的新范围。这些列表包括 Spamhaus Don't Route Or Peer (DROP) 和 Extended DROP (EDROP) 列表、Proofpoint 新兴威胁 IP 列表和 Tor 退出节点列表。 -
Ba@@ d Bot (I)-除了蜜罐机制外,此组件还通过监控与应用程序负载均衡器 (ALB) 或 Amazon CloudFront 的直接连接来增强恶意机器人的检测。如果机器人绕过蜜罐尝试与 ALB 或交互 CloudFront,则系统会分析请求模式和日志以识别恶意活动。当检测到恶意机器人时,系统会提取其 IP 地址并将其添加到 AWS WAF 阻止列表中,以防止进一步访问。恶意机器人检测通过结构化的逻辑链运行,确保全面的威胁覆盖:
-
HTTP Flood Protection Lambda 日志解析器 — 在洪水分析期间 IPs 从日志条目中收集恶意机器人。
-
Scanner & Probe Protection Lambda 日志解析器 — IPs 从与扫描仪相关的日志条目中识别不良机器人。
-
HTTP Flood Protection Athena 日志解析器 — 使用跨查询运行的分区 IPs 从 Athena 日志中提取恶意机器人。
-
Scanner & Probe Protection Athena 日志解析器 — 使用相同的分区策略 IPs 从与扫描仪相关的 Athena 日志中检索恶意机器人。
-
回退检测-如果同时禁用 HTTP 洪水防护和扫描器和探测器保护,则系统将依赖日志 Lambda 解析器,该解析器基于 WAF 标签筛选器记录机器人活动。
-
此解决方案中的三个自定义 Lambda 函数均向发布运行时指标。 CloudWatch有关这些 Lambda 函数的更多信息,请参阅组件详细信息。