【问题标题】:Prevent DDoS and Webserver breaking防止 DDoS 和 Web 服务器中断
【发布时间】:2020-01-27 20:15:08
【问题描述】:

目前,我们使用 TWIG、PHP、Elasticache、MySQL、NodeJS (socket.io) 将 NGINX 作为反向代理运行在 MVC 框架中

我们的网站具有不错的加载速度,但我们经常不得不重新加载 PHP,因为人们一直在对我们的网站进行 DDoSing。我们不知道如何缓解这种情况,但我们在 CloudFlare 中为每 10 秒 60 个请求创建了速率限制规则。我们唯一的运气是将网站置于重度攻击模式,但这会导致用户在浏览网站时经常等待 5 秒。虽然我们不知道谁在实施这些攻击,但我们希望阻止其中的大部分攻击,因为该网站几乎每隔一天就会被关闭。

我们可以做些什么来防止网站在 DDoS 攻击后为用户提供 502 页面?

我们可以采取哪些步骤来尽早定位和阻止攻击源?

我们没有大笔的钱来花钱请一家喜欢 imperva 的公司来处理这个问题,但我们希望继续开发我们的平台,而不需要我们的用户经常加载 502 或等待 5 秒他们加载的页面(来自 cloudflare)。

【问题讨论】:

    标签: php security amazon-ec2 ddos


    【解决方案1】:

    我假设您使用 CloudFlare 拥有的帐户是基本计划,默认情况下不提供第 3/4/7 层 DDOS 缓解,但是当 DDOS 存在时,您仍然可以通过在 CloudFlare 中应用相关 WAF 规则来保护您的站点免受常见 DDOS 攻击继续进行,但为此您必须观察 Web 服务器日志和 CloudFlare 面板才能查看攻击模式。

    第一步应该是降低您当前的速率限制,即 60 个请求/10 秒。

    其次,我建议寻找正在进行的 DDOS 攻击的模式,这将帮助您通过在 CloudFlare 中应用相应的规则来缓解它们(每个 DDOS 都有不同的模式,需要不同的缓解步骤)。

    作为一般规则:在您网站的某些页面/端点或超过某个速率限制时通过 CloudFlare 启用 Javascript 或 Captcha 质询。这很有帮助,因为 DDOS 攻击是通过使用机器人进行的,当您在网站上应用 Javascript 或 Captcha 挑战时,只有实际的人类用户才能通过这些挑战并且机器人会被过滤掉。

    另外,我建议通过 CloudFlare 设置 DDOS 警报,这将帮助您及时采取措施(如上所述)在您的用户受到影响和托管服务器被阻塞之前阻止这些攻击。

    【讨论】:

      猜你喜欢
      • 2019-01-04
      • 1970-01-01
      • 2013-11-19
      • 2019-12-25
      • 2021-12-07
      • 1970-01-01
      • 2019-03-13
      • 2019-03-06
      • 1970-01-01
      相关资源
      最近更新 更多