【问题标题】:Throttling laravel app without authentication在没有身份验证的情况下限制 laravel 应用程序
【发布时间】:2016-09-01 14:30:02
【问题描述】:

我们正在运行 Laravel 4.2 站点。这只是一个新闻网站,没有用户认证。

自上周六以来,我们开始收到大量导致网站瘫痪的可疑请求。

为了缓解虚假请求,我们安装了 Apache mod_evasive (http://www.helicontech.com/ape/doc/mod_evasive.htm),但没有成功。我们也尝试过 fail2ban (http://www.fail2ban.org/),但没有成功。

目前我们正在考虑从 Laravel 本身执行此操作。我们的搜索给出了http://culttt.com/2015/12/28/dealing-with-brute-force-attacks-in-laravel/,但似乎对其有效性存在疑问。

接下来我们正在考虑升级到 Laravel 5 并使用限制 (https://laravel.com/docs/5.2/authentication#authentication-throttling),但意识到这仅适用于我们没有的身份验证/登录。

有没有办法在没有登录的情况下使用 Laravel 节流?基本上,我们需要的是保护控制器。在将请求传递给控制器​​之前,我们需要验证它不是 DoS 或 DDoS。

【问题讨论】:

    标签: php laravel ddos


    【解决方案1】:

    很少有工具可以防止这种情况发生。不确定 Laravel 的方式,但这更多的是在 Apache 或 DNS 级别上解决它。就个人而言,我认为这种不良流量应该在到达我们的应用程序甚至更好的服务器之前被阻止。一旦它到达我们的服务器/应用程序,即使我们对这些流量做出糟糕的响应,它也已经吃掉了资源

    1. 使用 Fail2Ban 分析您的 Apache 日志,它会自动识别不良 IP 并阻止它们。参考this

    2. 您实际上可以通过订阅付费服务在 DNS 级别阻止此问题来快速解决此问题。我可以解决的一个问题是,CloudFlare DDOS Protection

    【讨论】:

    • 最终我们将实施多级保护。与此同时,我们只需要一种快速恢复在线的方法。然后我们可以考虑长期的解决方案。如前所述,我们已经尝试过 Faio2Ban 和其他方法。并不是说它们不起作用,而是我们可能还没有学会如何正确地实现/集成它们。
    猜你喜欢
    • 2021-03-16
    • 2020-02-18
    • 2022-01-03
    • 1970-01-01
    • 1970-01-01
    • 2017-07-12
    • 2016-04-07
    • 2021-01-16
    • 1970-01-01
    相关资源
    最近更新 更多