Chrome 访问了我的 Django 后端,但我只制作了一个 iOS 应用程序

Chrome hitting my Django backend but I only made an iOS app

所以我在 Google App Engine 上部署了一个 Django 后端。此后端支持 iOS 应用程序。在我的服务器日志中,我可以看到所有传入的请求以及发出请求的位置。过去我只会收到来自 Joon/7.** 的请求(即 iOS 应用程序名称 + 版本)。但是,最近我收到了来自 Chrome 72 的请求,这没有意义,因为该应用程序不应该能够在 Chrome 上使用。此外,这些请求在我的后端中产生了很多错误,因为它没有发送身份验证令牌。有谁知道这里发生了什么?我的服务器被黑客入侵了吗?

似乎有人发现了您的 App Engine 应用的 URL。您可以使用 Ingress controls to only allow access via Cloud Load Balancing and then Google Cloud Armor in front to protect that with rules 看起来像:

has(request.headers['user-agent']) && request.headers['user-agent'].contains('Godzilla')

看到 App Engine 应用程序的各种点击(从我所说的垃圾邮件机器人)是很常见的。从技术上讲,GCP 希望您使用 Google 防火墙规则来阻止这些。但挑战在于,这些机器人通常会频繁更改其 IP 地址或使用多个 IP 地址。我没有 'perfect' 解决方案。

a) 你可以试试@jeff-williams 的方法(我从来没有试过)

b) 你也可以尝试 GCP 的防火墙规则(我使用这个但我尝试阻止一系列 IP 而不是一个一个地阻止它们)

c) 有时我也会将我的服务置于特定的非直观路径之后。这样,垃圾邮件机器人只会攻击 default/base url 然后我有一个单独的服务 returns 404 对于所有对该基地的调用 url