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
如果还是不行,那么只能交给相应的硬件防火墙了。
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
如果还是不行,那么只能交给相应的硬件防火墙了。