

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

# 在你的 Web 应用程序中嵌入 Honeypot 链接（可选）
<a name="embed-the-honeypot-link-in-your-web-application-optional"></a>

如果您在[步骤 1 中选择了 `yes` “**激活恶意机器人保护**” 参数。启动堆栈](step-1.-launch-the-stack.md)， 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 解析器，该解析器基[于](https://docs.aws.amazon.com/waf/latest/developerguide/waf-labels.html) WAF 标签筛选器记录机器人活动。

使用以下过程之一为来自任一 CloudFront 分配的请求嵌入 honeypot 链接。

## 为 Honeypot 端点创建 CloudFront 起源
<a name="create-a-cloudfront-origin-for-the-honeypot-endpoint"></a>

对于使用 CloudFront 发行版部署的 Web 应用程序，请使用此过程。使用 CloudFront，您可以添加一个`robots.txt`文件来帮助识别忽略机器人排除标准的内容抓取者和机器人。完成以下步骤以嵌入隐藏链接，然后在您的`robots.txt`文件中明确禁止该链接。

1. 登录 A [WS CloudFormation 控制台](https://console.aws.amazon.com/cloudformation/)。

1. 选择您在[步骤 1 中构建的堆栈。启动堆栈](step-1.-launch-the-stack.md) 

1. 选择**输出**选项卡。

1. 从**BadBotHoneypotEndpoint**密钥中复制终端节点 URL。
   + 行为路径 (`/ProdStage`)

1. 在指向蜜罐的内容中嵌入此端点链接。向您的人类用户隐藏此链接。例如，请查看以下代码示例：`<a href="/behavior_path" rel="nofollow" style="display: none" aria-hidden="true">honeypot link</a>`。

1. 修改网站根目录中的`robots.txt`文件以明确禁止 honeypot 链接，如下所示：

```
User-agent: <*>
        Disallow: /<behavior_path>
```

**重要**  
不需要在中注册路径，因为请求 CloudFront 是：被 WAF **BadBotRuleFilter**阻止。解决方案会自动收集到日志中。由**日志解析器** lambda 处理。这种简化的方法直接使用 WAF 日志，无需进行额外的端点配置，从而通过日志分析提高了恶意机器人检测过程的效率

**注意**  
您有责任验证哪些标签值在您的网站环境中起作用。`rel="nofollow"`如果您的环境没有观察到它，请不要使用。有关机器人元标记配置的更多信息，请参阅 [Google 开发者指南](https://developers.google.com/search/reference/robots_meta_tag)。修改网站根目录中的`robots.txt`文件以明确禁止 honeypot 链接，如下所示：

## 将 Honeypot 端点嵌入为外部链接
<a name="embed-the-honeypot-endpoint-as-an-external-link"></a>

**注意**  
这些规则使用 Web 请求源中的源 IP 地址。如果您的流量通过了一个或多个代理或负载均衡器，则 Web 请求源将包含最后一个代理的地址，而不是客户端的源地址。

对于 Web 应用程序，请使用此程序。

1. 登录 A [WS CloudFormation 控制台](https://console.aws.amazon.com/cloudformation/)。

1. 选择您在[步骤 1 中构建的堆栈。Launch the stack](step-1.-launch-the-stack.md)。

1. 选择**输出**选项卡。

1. 从**BadBotHoneypotEndpoint**密钥中复制终端节点 URL。

   ```
   <a href="<BadBotHoneypotEndpoint value>" rel="nofollow" style="display: none" aria-hidden="true"><honeypot link></a>
   ```
**注意**  
此过程`rel=nofollow`用于指示机器人不要访问蜜罐 URL。但是，由于链接是在外部嵌入的，因此您不能包含明确禁止该链接的`robots.txt`文件。您有责任验证哪些标签在您的网站环境中起作用。`rel="nofollow"`如果您的环境没有观察到它，请不要使用。