Linux系统下的SYN攻击抵御

如果在Linux系统下怀疑有Dos攻击的时候,可以输入

netstat -an | grep -i “服务器ip地址:80″ | awk ‘’{print }'’ | sort | uniq -c | sort -n

netstat -an | grep "SYN" | wc -l

这个命令会自动统计Tcp连接各个状态的数量,如果SYN_RECV很高的话,就不能排除有基于tcp协议的ddos攻击的可能,这个时候可以打开tcp_syncookies,输入如下命令

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

如果没有 /proc/sys/net/ipv4/tcp_syncookies说明你的内核不支持,需要重新编译内核

同时 降低syn重试次数

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

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

加大syn_backlog,以保证用户的访问(消耗内存为代价,设的太高。。)

echo “2048″ > /proc/sys/net/ipv4/tcp_max_syn_backlog

如果还是不行,那么只能交给相应的硬件防火墙了。

相关推荐