本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
在你的 Web 应用程序中嵌入 Honeypot 链接(可选)
如果您在步骤 1 中选择了 yes “激活恶意机器人保护” 参数。启动堆栈, CloudFormation 模板为低交互生产蜜罐创建陷阱端点。此陷阱旨在检测和转移来自内容抓取器和恶意机器人的入站请求。有效用户不会尝试访问此端点。
除了 honeypot 机制外,该组件还通过监控与 Application Load Balancer (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 标签筛选器记录机器人活动。
使用以下过程之一为来自任一 CloudFront 分配的请求嵌入 honeypot 链接。
为 Honeypot 端点创建 CloudFront 起源
对于使用 CloudFront 发行版部署的 Web 应用程序,请使用此过程。使用 CloudFront,您可以添加一个robots.txt
文件来帮助识别忽略机器人排除标准的内容抓取者和机器人。完成以下步骤以嵌入隐藏链接,然后在您的robots.txt
文件中明确禁止该链接。
-
登录 A WS CloudFormation 控制台
。 -
选择您在步骤 1 中构建的堆栈。启动堆栈
-
选择输出选项卡。
-
从BadBotHoneypotEndpoint密钥中复制终端节点 URL。
-
行为路径 (
/ProdStage
)
-
-
在指向 honeypot 的内容中嵌入此端点链接。向您的人类用户隐藏此链接。举个例子,查看以下代码示例:
<a href="/behavior_path" rel="nofollow" style="display: none" aria-hidden="true">honeypot link</a>
。 -
修改网站根目录中的
robots.txt
文件以明确禁止 honeypot 链接,如下所示:
User-agent: <*> Disallow: /<behavior_path>
重要
不需要在中注册路径,因为请求 CloudFront 是:被 WAF BadBotRuleFilter阻止。解决方案会自动收集到日志中。由日志解析器 lambda 处理。这种简化的方法直接使用 WAF 日志,无需进行额外的端点配置,从而通过日志分析提高了恶意机器人检测过程的效率
注意
您有责任验证哪些标签值在您的网站环境中起作用。rel="nofollow"
如果您的环境没有观察到它,请不要使用。有关机器人元标记配置的更多信息,请参阅 Google 开发者指南robots.txt
文件以明确禁止 honeypot 链接,如下所示:
将 Honeypot 端点嵌入为外部链接
注意
这些规则使用 Web 请求源中的源 IP 地址。如果您的流量通过了一个或多个代理或负载均衡器,则 Web 请求源将包含最后一个代理的地址,而不是客户端的源地址。
对于 Web 应用程序,请使用此程序。
-
登录 A WS CloudFormation 控制台
。 -
选择输出选项卡。
-
从BadBotHoneypotEndpoint密钥中复制终端节点 URL。
<a href="<BadBotHoneypotEndpoint value>" rel="nofollow" style="display: none" aria-hidden="true"><honeypot link></a>
注意
此过程
rel=nofollow
用于指示机器人不要访问蜜罐 URL。但是,由于链接是在外部嵌入的,因此您不能包含明确禁止该链接的robots.txt
文件。您有责任验证哪些标签在您的网站环境中起作用。rel="nofollow"
如果您的环境没有观察到它,请不要使用。