如何防止DOS攻击?

我能用软件或硬件(防火墙)来防止DOS攻击吗?

我使用Ubuntu的我的networking服务器。

谢谢

一般来说,您无法有效地减轻受攻击机器上的DoS攻击。

也就是说,你可以做一些事情来帮助,比如阻止与本地防火墙的连接,以便它们不会到达Web服务器,调整你的Web服务器只接受来自特定IP或子网的有限数量的连接等。 – 但要记住的重要一点是,你的机器仍然在消耗资源来应对攻击,而足够大的攻击最终将压倒一切。

同样的,你也不能真正减轻一个主要的DoS攻击(一个威胁到你的带宽或每秒通过你的防火墙的最大数据包),在你networking的末端有一个防火墙 – 如果你是通过吸pipe喝酒,一个攻击者坚持一个樱桃,最后你将被拒绝你的饮料。 最好是让你的ISP(上级服务提供商)尽可能过滤stream量(继续比喻 – 如果你的攻击者只有樱桃,你的位置会更好)。


如果你能给我们提供更多的信息(你正在经历或期待的攻击?什么types的),我们可能会给你更好的答案…

如果你的公共服务只有Apache,首先你要确保MaxServers的数量不是太多,你的可用内存或者你的networking服务器可能会被垃圾焚烧 ,不仅是DOS攻击,还有持续的stream量。

其次,你可能想看看limitipconn ( 它允许networking服务器pipe理员限制从一个IP地址允许同时下载的数量 )。 这有助于缓解问题,但对分布式DOS无济于事。

你实际上遇到DOS攻击还是理论上的问题?

DoS或DDoS攻击有目的和成本。 每MB的stream量成本。 所以它很难阻止它(说我即将把你的服务器降低2万美元),你无能为力。 但是你可以投入一些资源来使你的系统更可靠:

1. Block by GeoIP some Chinese(Asian) region. 2. Install and configure **ipset** -- it can handle much more connections than iptables 3. Prepare project image for some cloud hosting for fast deployment 4. Configure Frontend with nginx/or something similar and backends with apache/or other 5. You can buy some SSD hardware for **nginx's static** or make some RAM-hdd for static files. T 6. During DDoS you must check what type of attack it is. This attack can just require index file and youcan make it static. 7. Its hard for me now to block poison traffic (slow http attacks) so cant help with this. 8. Dont forget to optimize nginx/apache/php... configs. 

这应该有所帮助。