奇怪的请求不断出现在我的 AWS 网关 API 上

奇怪的请求不断出现在我的 AWS 网关 API 上

我有一个简单的 HTTP 服务,使用 AWS lambda 和 API 网关构建。指向网关的域由 Route53 托管,网关使用来自证书管理器的证书。它是全新的,索引页上只有“服务正在运行”文本。相当标准的设置。所有都使用 Terraform 整齐地连接起来,运行良好……除了每隔几秒钟就会向 API 发出奇怪的请求(!)。我检查了 AWS 上所有可能的探测和健康检查——一切都被禁用了,但请求仍在不断涌来。

来自 lambda 的请求的转储:

{
    ...
    "headers": {
        "accept": "*/*", "accept-encoding": "gzip, deflate", "content-length": "0",
        "host": "sub-b.sub-a.my-domain.com", 
        "user-agent": "python-requests/2.26.0", 
        "x-amzn-trace-id": "Root=1-6158e0d5-0d266e5d0a84add227005a79", 
        "x-forwarded-for": "3.85.226.144", "x-forwarded-port": "443", 
        "x-forwarded-proto": "https"
    }, 
    ...
    "http": {
        "method": "GET", "path": "/", "protocol": "HTTP/1.1",
        "sourceIp": "3.85.226.144", "userAgent": "python-requests/2.26.0"
    }, 
    "requestId": "GmgRbgATFiAEMtQ=",
    "routeKey": "$default", 
    "stage": "$default", 
    "time": "02/Oct/2021:22:44:37 +0000"
    ...
}

IP3.85.226.144是北弗吉尼亚的 EC2 实例,因此它是us-east-1AWS 区域(我的是 eu-central-1)。还有那个代理python-requests/2.26.0。它看起来像 AWS 服务。特别是我尝试过更改子域名,这不会改变最终结果,因为在使用不同的子域名再次设置我的服务后,请求会立即开始出现。每 1 小时的请求量约为 3000 个。

我已经花了几个小时在谷歌上搜索和检查我想到的任何东西,但即使我经常与基础设施打交道,我还是无能为力。

这些请求到底由谁来负责?!

非常感谢各种想法和建议。

编辑:

我用一个全新的根域进行了测试,以确保它来自 AWS。查询在中断期间停止(显然),但在服务恢复后立即恢复(几秒钟)。terraform apply从 9:52 开始,到 9:59 完成。新域名在 9:59 之前稍早一点附加(一些不相关的修改需要等待几分钟),因此请求开始出现。据我所知,没有任何东西可以如此快地检测到新的根域,因此它一定与 AWS 本身有关。 在此处输入图片描述

答案1

好的,所以这原来是与 Route 53 路线或证书管理器相关的问题。

当我应用地形定义的资源时某种竞争条件肯定已经发生,并导致某种初始化探测永远持续下去,而不是在资源创建后立即停止。所以我的结论是,当同时创建 API 网关、DNS 路由和证书时,Route53 或 CM 往往会处于某种奇怪的状态。使用 terraform 创建所有服务,然后删除路线,然后重新创建,解决了该问题。

答案2

请问您为什么认为这是由 AWS 服务本身生成的?我对 AWS 了解不多,但当我看到“python-requests/2.26.0”作为 UA 时,我立即想到有人出于某些原因编写了一个脚本来利用/探测 API。这些请求的回复实际上是什么?是否可以从中解析任何业务信息,例如价格/费率等?如果是,那么您可能只是让某人在 AWS 中租用服务器并编写脚本来解析您的数据。否则,他们可能会探测所有可能的域的所有可能的主机。发生在互联网上)

此外,看起来您不是第一个询问或报告该 IP 地址的人: https://www.abuseipdb.com/check/3.85.226.144 https://github.com/photoprism/photoprism/issues/1458

相关内容