gpt4 book ai didi

node.js - 通过延迟和退避保护 Node/快速端点免受攻击

转载 作者:太空宇宙 更新时间:2023-11-03 22:49:19 25 4
gpt4 key购买 nike

我想保护某些端点免受黑客攻击以及 DoS/DDoS 攻击,例如登录、重置密码、注册。

我想通过线性或指数退避(而不是节流)实现延迟(即 setTimeout):

  • 要求 1:不延迟
  • 请求 2:1000 毫秒
  • 请求 3:1000ms + x
  • 请求 4:1000ms + x + y
  • ...

我以前做过这个,但没有在 Node 中做过。

我意识到攻击者无法通过启动 1000 个并发请求来耗尽我的线程池,因为 Node 中没有线程池。

但是,每个请求都会导致分配少量内存。因此攻击者可以发起数千个并发请求并耗尽我的服务器的内存。

我的理解正确吗?有没有一种优雅的方法来处理这个问题,或者它是不可避免的(所以我应该接受它,或者考虑像节流这样的替代方案)?

最佳答案

在应用程序级别添加 DDoS 安全性是一种不好的做法。这应该由前面的层实现,例如。 WAF/Cloudflare。

当您提供大量数据时,限制很有用。对于 HTML 内容,很难将它们视为真正的安全性。最好限制同时连接的数量,例如在 nginx 中。

只有最后您才能在应用程序中实现限制。 而且不应该延迟。您的目标是尽快处理请求。因此引入某种形式的速率限制(HTTP 429 Too Many Requests)

关于node.js - 通过延迟和退避保护 Node/快速端点免受攻击,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55137482/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com