【问题标题】:Nginx rate limiting for unique IPsNginx 对唯一 IP 的速率限制
【发布时间】:2021-01-12 18:41:24
【问题描述】:

我们一直在处理对我们的身份验证 URL 的持续攻击,我们每天要处理数百万个请求,我猜他们正在尝试暴力破解密码。

每当我们使用服务器防火墙阻止 IP 时,几秒钟后,攻击就会从另一个 IP 再次开始。

我们最终通过机架攻击和自定义代码实现了节流的组合,以动态阻止防火墙中的 IP。但是随着我们提高软件的安全性,攻击者也提高了,现在我们看到他们发出的每一个请求都是从不同的 IP 完成的,每个 IP 调用一次,每秒仍然调用几次,虽然没有那么多,但仍然是个问题。

现在我想弄清楚我还能做些什么来防止这种情况发生,我们尝试了 recaptcha,但很快就用完了每月配额,然后没有人可以登录。

我正在研究 Nginx 速率限制器,但据我所见,它也使用 IP,考虑到他们现在为每个请求轮换 IP,有没有办法可行?

关于如何处理这个问题的任何其他建议,也许你们中的一个人经历过同样的事情?

堆栈:Nginx 和 Rails 4、Ubuntu 16。

【问题讨论】:

    标签: ruby-on-rails security nginx brute-force


    【解决方案1】:

    根据您的情况,防止这种攻击的最有效方法是使用验证码。您提到您使用了recaptcha,并且很快就会用完,但是如果您自己开发验证码,您将拥有无限的验证码图像。

    至于其他的阻止方法,比如锁定IP,当攻击者使用IP池时,这总是无用的,IP太多(包括一些物联网设备的IP),即使你也无法识别/锁定它们您使用商业威胁情报池。 所以这样的建议

    1. 自行开发验证码,并在您的 api 上实现,
    2. 识别并锁定您认为恶意的 IP
    3. 设置一些规则来识别http请求的UA和Cookie(通常是正常的请求远离攻击)
    4. 使用 WAF(如果您有足够的预算)

    【讨论】:

      猜你喜欢
      • 2018-03-17
      • 2021-03-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-11-11
      • 2020-09-02
      • 2011-11-29
      相关资源
      最近更新 更多