nodejs服务器抵御DOS攻击

时间:2013-02-07 16:13:01

标签: javascript node.js denial-of-service

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

利用其高度优化的I / O模型,我找不到任何其他框架到目前为止这样的工作非常好和适合nodejs。但是,我有一个与DOS攻击有关的问题,我决定提出一个简单的解决方案。但是,我不太确定它是否是抵御那些大规模洪水袭击的最理想方式。

我的计划是 - 如果源自单个IP地址的50个或更多请求在特定时间长度(例如1秒)内命中服务器,则拒绝来自该IP的所有进一步请求,直到该特定时间间隔到来为止等等。 / p>

这会好吗?

1 个答案:

答案 0 :(得分:5)

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

DDOS中使用的机器通常都是被接管的僵尸机器。当针对大型目标的DDOS启动时,每IP限制可能会禁止来自同一防火墙LAN的所有计算机。例如,当纽约时报的机器被感染并在DDOS中使用时,这可能会给大公司带来非常糟糕的公关,而且时代的记者检查该公司的网站是否已关闭,并且被阻止导致他们报告这次袭击比实际上要成功得多。

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