Tag: 拒绝服务

在会话ID中包含工作端口号的安全影响

我写了一个多进程实时WebSocket服务器,它使用会话ID来根据正在监听的端口号将stream量负载平衡到相关的worker。 会话ID包含主机名,源端口号,工作端口号以及工作人员用来唯一标识客户端的实际哈希ID。 典型的会话ID如下所示: localhost_9100_8000_0_AoT_eIwV0w4HQz_nAAAV 我想知道将工作端口号(在这种情况下为9100)作为会话ID的一部分的安全含义。 我有点担心拒绝服务(DoS)威胁 – 理论上,这可能会允许恶意用户生成大量针对特定端口号的HTTP请求(例如,使用包含该端口号的假sessionID ) – 但是这是一个严重的威胁? (假设你有体面的防火墙)? 像Google这样的大公司如何从安全angular度处理粘性会话? 还有其他的威胁我应该考虑吗? 我这样devise服务器的原因是要考虑到最初的HTTP握手,以及什么时候客户端不支持WebSocket(在这种情况下,使用HTTP长轮询 – 因此,来自客户端的后续HTTP请求需要去在后端的同一个工人)。

一个socket.io/node.js服务器是否可以被一个发送大于服务器内存大小的消息的客户端阻塞?

如果是这样,我该如何防止呢? 有没有最大的邮件大小设置? 如果不是,那么阻止它的机制是什么?

nodejs服务器对DOS攻击

我正在使用nodejs写一个高度可扩展的基于浏览器的Web聊天服务器。 涉及的概念很简单 – 首先检查浏览器是否支持websocket。 如果不支持,或者与服务器规范不兼容,则只是优雅地降级到传统的长轮询。 利用其高度均衡的I / O模型,我无法find任何其他的框架,到目前为止这么好,适合这种工作nodejs。 但是,我有一个与DOS攻击有关的问题,因此我决定提出一个简单的解决scheme。 不过,我不太确定这是否是打击这些大规模洪水袭击的最理想的方法。 我计划做的是 – 如果来自单个IP地址的50个请求或更多请求在特定时间长度(例如1秒)内击中服务器,则拒绝来自该IP的所有进一步请求,直到该特定时间间隔达到失误等等。 这会好吗?