linux防范DDOS攻击

虚拟主机服务商在运营过程中可能会受到黑客攻击,常见的攻击方式有SYNDDOS等。通过更换IP,查找被攻击的站点可能避开攻击,但是中断服务的时间比较长。比较彻底的解决方法是添置硬件防火墙。不过,硬件防火墙价格比较昂贵。可以考虑利用Linux系统本身提供的防火墙功能来防御。
抵御SYNSYN攻击是利用TCP/IP协议3次握手的原理,发送大量的建立连接的网络包,但不实际建立连接,最终导致被攻击服务器的网络队列被占满,无法被正常用户访问。
Linux内核提供了若干SYN相关的配置,用命令:sysctl-a|grepsyn看到:
net.ipv4.tcp_max_syn_backlog=1024net.ipv4.tcp_syncookies=0
net.ipv4.tcp_synack_retries=5net.ipv4.tcp_syn_retries=5
tcp_max_syn_backlogSYN队列的长度,tcp_syncookies是一个开关,是否打开SYNCookie功能,该功能可以防止部分SYN攻击。tcp_synack_retriestcp_syn_retries定义SYN的重试次数。加大SYN队列长度可以容纳更多等待连接的网络连接数,打开SYNCookie功能可以阻止部分SYN攻击,降低重试次数也有一定效果。
调整上述设置的方法是:
增加SYN队列长度到2048
sysctl-wnet.ipv4.tcp_max_syn_backlog=2048
打开SYNCOOKIE功能:
sysctl-wnet.ipv4.tcp_syncookies=1
降低重试次数:
sysctl-wnet.ipv4.tcp_synack_retries=3
sysctl-wnet.ipv4.tcp_syn_retries=3
为了系统重启动时保持上述配置,可将上述命令加入到/etc/rc.d/rc.local文件中。
防止同步包洪水(SyncFlood
#iptables-AFORWARD-ptcp--syn-mlimit--limit1/s-jACCEPT
也有人写作

#iptables-AINPUT-ptcp--syn-mlimit--limit1/s-jACCEPT
--limit1/s
限制syn并发数每秒1次,可以根据自己的需要修改

防止各种端口扫描
#iptables-AFORWARD-ptcp--tcp-flagsSYN,ACK,FIN,RSTRST-mlimit--limit1/s-jACCEPT
Ping
洪水攻击(PingofDeath

#iptables-AFORWARD-picmp--icmp-typeecho-request-mlimit--limit1/s-jACCEPT

你可能感兴趣的:(服务器,cookie,虚拟主机,黑客攻击,IP协议)