快好知 kuaihz

linux如何防止ddos攻击

互联网如同现实社会一样充满钩心斗角,网站被DDOS也成为站长最头疼的事。在没有硬防的情况下,寻找软件代替是最直接的方法,比如用 iptables,但是iptables不能在自动屏蔽,只能手动屏蔽。linux如何防止ddos攻击?常见电脑黑客攻击类型与预防方法是什么?一起和本站看看吧。

用squid是利用端口映射的功能,可以将80端口转换一下,其实一般的DDOS攻击可以修改/proc/sys/net/ipv4/tcp_max_syn_backlog里的参数就行了,默认参数一般都很小,设为8000以上,一般的DDOS攻击就可以解决了。上升到timeout阶段,可以将/proc/sys/net/ipv4/tcp_fin_timeout设小点。

大家都在讨论DDOS,个人认为目前没有真正解决的方法,只是在缓冲和防御能力上的扩充,跟黑客玩一个心理战术,看谁坚持到最后,网上也有很多做法,例如syncookies等,就是复杂点。

sysctl -w net.ipv4.icmp_echo_ignore_all=1

echo 1 > /proc/sys/net/ipv4/tcp_syncookies

sysctl -w net.ipv4.tcp_max_syn_backlog="2048"

sysctl -w net.ipv4.tcp_synack_retries="3"

iptables -A INPUT -i eth0 -p tcp --syn -j syn-flood

# Limit 12 connections per second (burst to 24)

iptables -A syn-flood -m limit --limit 12/s --limit-burst 24 -j RETURN

iptbales -A FORWARD -p tcp --syn -m limit --limit 1/s -j ACCEPT

虚拟主机服务商在运营过程中可能会受到黑客攻击,常见的攻击方式有SYN,DDOS等。

通过更换IP,查找被攻击的站点可能避开攻击,但是中断服务的时间比较长。比较彻底的解决方法是添置硬件防火墙。不过,硬件防火墙价格比较昂贵。可以考虑利用Linux系统本身提供的防火墙功能来防御。

抵御SYN

SYN攻击是利用TCP/IP协议3次握手的原理,发送大量的建立连接的网络包,但不实际建立连接,最终导致被攻击服务器的网络队列被占满,无法被正常用户访问。

Linux内核提供了若干SYN相关的配置,用命令:

sysctl -a | grep syn

看到:

net.ipv4.tcp_max_syn_backlog = 1024

net.ipv4.tcp_syncookies = 0

net.ipv4.tcp_synack_retries = 5

net.ipv4.tcp_syn_retries = 5

tcp_max_syn_backlog是SYN队列的长度,tcp_syncookies是一个开关,是否打开SYN Cookie功能,该功能可以防止部分SYN攻击。tcp_synack_retries和tcp_syn_retries定义SYN的重试次数。加大SYN队列长度可以容纳更多等待连接的网络连接数,打开SYN Cookie功能可以阻止部分SYN攻击,降低重试次数也有一定效果。

以上是小编的整理,希望对大家有帮助,学习更多的网络安全小知识请关注本站。


本站资源来自互联网,仅供学习,如有侵权,请通知删除,敬请谅解!
搜索建议:防止  防止词条  攻击  攻击词条  如何  如何词条  linux  linux词条  ddos  ddos词条