nodejs服务器对DOS攻击

我正在使用nodejs写一个高度可扩展的基于浏览器的Web聊天服务器。 涉及的概念很简单 – 首先检查浏览器是否支持websocket。 如果不支持,或者与服务器规范不兼容,则只是优雅地降级到传统的长轮询。

利用其高度均衡的I / O模型,我无法find任何其他的框架,到目前为止这么好,适合这种工作nodejs。 但是,我有一个与DOS攻击有关的问题,因此我决定提出一个简单的解决scheme。 不过,我不太确定这是否是打击这些大规模洪水袭击的最理想的方法。

我计划做的是 – 如果来自单个IP地址的50个请求或更多请求在特定时间长度(例如1秒)内击中服务器,则拒绝来自该IP的所有进一步请求,直到该特定时间间隔达到失误等等。

这会好吗?

这不涉及DDOS攻击 – 分布式拒绝服务 – 使用许多IP,以及何时需要继续为与攻击中涉及的机器相同的防火墙内的某些机器提供服务。

DDOS中使用的机器通常是已被接pipe的僵尸机器。 当针对大型目标的DDOS启动时,每个IP节stream可能禁止来自同一个防火墙局域网的所有机器。 当纽约时报的机器被DDOS感染和使用时,这可能会给大公司造成非常不好的结果,而Times的记者们会检查公司的网站是否已经closures,并且被阻止导致他们报告这次袭击比实际上要成功得多。

要继续面对DDOS提供服务,您确实需要根据请求本身的常见元素来阻止请求,而不仅仅是IP。 security.se可能是有关如何做到这一点的具体build议的最佳论坛。