如何防范Web Socket DDOS攻击?

2024-01-02

我刚刚从我的计算机上执行了一次基本的 DDOS:

websocket-bench -a 2500 -c 200 wss://s.example.com

令我非常沮丧的是,这使我的服务器崩溃了! WS 通过连接到我的 nginx 代理来工作:

    location / {
            proxy_pass http://sock;
            proxy_http_version 1.1;
            proxy_set_header Upgrade $http_upgrade;
            proxy_set_header Connection "upgrade";
            proxy_set_header        X-Real-IP               $remote_addr;
            proxy_read_timeout 60;
    }

    upstream sock {
            server 127.0.0.1:1203 fail_timeout=1s;
    }

以及本地服务器上的端口1203 is ratchet http://socketo.me/。棘轮的设置是我允许任何连接并且第一个onMessage执行身份验证,如果无效则关闭连接。

我还尝试通过在第一个连接上传递标头进行身份验证,如果无效,则套接字关闭,但这根本没有帮助,nginx 仍然达到 100% 资源,然后崩溃。

我应该分析什么来防止这些崩溃?

当将上游更改为另一个关闭的端口(即禁用它)时,服务器仍然崩溃。


要么更改您的身份验证逻辑,以便 Nginx 处理它,要么实施请求和连接限制 http://nginx.org/en/docs/http/ngx_http_limit_conn_module.html在 Nginx 中控制接受多少连接并将其传递到上游服务器

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何防范Web Socket DDOS攻击? 的相关文章

随机推荐