【问题标题】:How to prevent a DOS attack with to many servlet sessions?如何防止多个 servlet 会话的 DOS 攻击?
【发布时间】:2016-08-15 17:20:52
【问题描述】:

我编写了一个小测试用例,它在循环中请求相同的 URL 而无需重新发送 cookie。几分钟后,我的 Jetty 服务器因 OutOfMemoryError 而崩溃。原因是每个请求都会产生一个新会话。

Jetty 服务器或 servlet API 是否有任何功能可以防止此类攻击?

【问题讨论】:

  • 这是负载均衡器/代理的职责,而不是 webserver/servlet。
  • @BalusC 没有负载均衡器或代理。

标签: servlets jetty out-of-memory denial-of-service


【解决方案1】:

考虑以下技术之一:

  • 不要使用内存会话管理技术。 (使用数据库)
  • 将会话过期/超时设置得更低
  • 设置一个DoSFilter 来管理它
  • 设置QoSFilter 以更好地缓解这种行为。

【讨论】:

  • 这似乎不是很有用的答案。在数据库中移动会话不会改变任何内容。将会话超时设置为几秒钟将是致命的。在这种情况下,QoSFilter 无助于防止任何情况。 QoS 是另一个问题。 DoS 过滤器可以提供帮助,但什么是有用的设置?你自己用吗?
  • 针对不同的用例和不同的公司在不同的服务器上使用了这些技术中的每一种。有时一种技术是合适的,有时不止一种。他们确实有帮助,每个人的有效性在我的回答中以相同的顺序列出。
猜你喜欢
  • 2011-05-26
  • 2020-10-03
  • 2018-03-22
  • 2011-04-04
  • 1970-01-01
  • 1970-01-01
  • 2021-02-20
  • 2014-02-06
  • 2011-12-19
相关资源
最近更新 更多