我为托管在亚马逊弹性豆茎上的应用程序使用的烧瓶 API 提供了生产服务。每隔几个小时,黑客就会扫描地址以查找易受攻击的路由,例如/phpmyadmin
. 该 api 仅使用我们自己的代码,因此他们不太可能获得访问权限。但问题是它托管在一个微实例上,因为我们通常每小时几乎不会收到超过 1000 个请求,但是这种扫描会在几分钟内发送超过数百个请求,从而导致对我们用户的短暂拒绝服务。
所以我正在寻找解决方案,到目前为止我已经有了:
- 设置 elastic-beanstalk 以生成具有网络活动扩展的新实例,目前仅在 cpu 使用情况下生成。会产生费用,不好。
- 阻止ips,但ip地址总是改变。
- 在烧瓶处理程序中尝试 5 次后缓存 404 请求的 ip 并阻止。
- 优化了烧瓶错误处理程序,非常类似于将错误日志发送到 loggly,将它们保存到数据库并发送电子邮件,但问题仍然存在。
这些解决方案对我来说似乎都不是最佳的,有人有处理此类问题的经验吗?