

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

# 架构概述
<a name="architecture-overview"></a>

本节提供了此解决方案所部署组件的参考实施架构图。

## 架构图
<a name="architecture-diagram"></a>

使用默认参数部署此解决方案将在您的 AWS 账户中部署以下组件。

 **CloudFormation 模板部署 AWS WAF 和其他 AWS 资源来保护您的 Web 应用程序免受常见攻击。**

![aws waf 架构概述](http://docs.aws.amazon.com/zh_cn/solutions/latest/security-automations-for-aws-waf/images/aws-waf-architecture-overview.png)


设计的核心是 [AWS WAF](https://aws.amazon.com/waf/) Web ACL，它充当 Web 应用程序所有传入请求的中心检查和决策点。在 CloudFormation 堆栈的初始配置过程中，用户定义要激活哪些保护组件。每个组件独立运行，并向 Web ACL 添加不同的规则。

该解决方案的组件可以分为以下保护区域。

**注意**  
群组标签不反映 WAF 规则的优先级。
+  **AWS 托管规则 (A)**-此组件包含 AWS 托管规则 [IP 信誉规则组](https://docs.aws.amazon.com/waf/latest/developerguide/aws-managed-rule-groups-ip-rep.html)、[基准规则组](https://docs.aws.amazon.com/waf/latest/developerguide/aws-managed-rule-groups-baseline.html)和[特定于用例的规则](https://docs.aws.amazon.com/waf/latest/developerguide/aws-managed-rule-groups-use-case.html)组。这些规则组可以防止对常见应用程序漏洞或其他有害流量的利用，包括 [OWASP](https://owasp.org/) 出版物中描述的漏洞，而无需自己编写规则。
+  **手动 IP 列表（B 和 C）**-这些组件创建了两个 AWS WAF 规则。使用这些规则，您可以手动插入要允许或拒绝的 IP 地址。您可以使用[亚马逊 EventBridge](https://aws.amazon.com/eventbridge)[规则](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-rules.html)和 Amazon [DynamoD](https://aws.amazon.com/dynamodb) B 配置 IP 保留并删除允许或拒绝的 IP 集上的过期 IP 地址。有关更多信息，请参阅[在允许和拒绝的 AWS WAF IP 集上配置 IP 保留](configure-ip-retention-on-allowed-and-denied-aws-waf-ip-sets.md)。
+  **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 洪水缓解选项相关的权衡的更多信息，请参阅[日志解析器](log-parser-options.md)选项。
+  S@@ **canner and Probe (G)**-此组件解析应用程序访问日志，搜索可疑行为，例如源生成的异常数量错误。然后，它会在客户定义的一段时间内屏蔽这些可疑的源 IP 地址。[您可以使用 [Lambda 函数或 Athena 查询](https://aws.amazon.com/lambda/)来实现此规则。](https://aws.amazon.com/athena/)有关与扫描器和探测器缓解选项相关的权衡的更多信息，请参阅[日志解析器](log-parser-options.md)选项。
+  **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 解析器，该解析器基[于](https://docs.aws.amazon.com/waf/latest/developerguide/waf-labels.html) WAF 标签筛选器记录机器人活动。

此解决方案中的三个自定义 Lambda 函数均向发布运行时指标。 CloudWatch有关这些 Lambda 函数的更多信息，请参阅[组件](component-details.md)详细信息。