实现这个解决方案有什么问题。
由于缺少CPU和RAM等资源,我的Linux内核在10.000连接上崩溃了。我想知道当有人试图从不同的主机打开100.000个连接时,如何安全地限制它不会在netfilter连接跟踪表或其他地方创建tcp/ip连接?
网卡是1 1GBps和最大缓冲区,它可以采取许多连接,但我想让它在同一时间只有5.000,其余的被丢弃,除非有免费的连接插槽。在内核级别,所以它不会污染netfilter或任何东西,而且它会尽快被删除。有以下因素:
这是为了使机器能够抵御DDoS攻击而不进行oops,一旦攻击发生,服务就会自动恢复正常的低速率服务方式。
这是关于服务器实例的物理层,而不是开关。假设交换机传递给我这么多我可以处理的流量,上游提供商并不总是有可能调整或保护从这一点。
发布于 2012-10-20 19:13:47
我不同意你什么也做不了。你可以做很多事情,取决于攻击的大小和你拥有的硬件的大小,你有很好的机会来保护自己。
对于SYN来说,google有点泛滥。您可能需要一个新的Linux内核,因为最近有了很多改进。选择3.6并启用syn cookie。还有几个其他可调的,你可以调整。一定要先把它读一遍,因为随机调优不是个好主意,而且会引起问题。
If is是HTTP洪流,这在当今很常见,您可能需要考虑Varnish。您可能可以通过某种模式识别攻击请求,并在vcl_recv中关闭它们。您可以部署屏蔽模块以终止这些连接,因为为错误页面提供服务是一种浪费。请注意:这不是一个快速的解决办法,将需要您的大量努力。
祝好运。
发布于 2012-08-15 21:58:59
没有真正的方法可以减轻被攻击的主机上的DDOS。
当流量到达主机时,它已经通过本地网络堆栈并消耗了本地资源。再多的黑客行为或摇摆也改变不了这一点。
首先,您需要与您的上游提供商合作,以防止流量到达您的机器。如果他们不提供这种服务,你很可能会从他们那里购买,或者你可以找到一个这样做的提供者。
发布于 2012-08-15 23:41:51
你在遭受什么样的ddos攻击?如果是系统洪水,您可以启用syn cookie。
https://serverfault.com/questions/417969
复制相似问题