马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 迈阿密的寒冷 于 2011-10-10 00:38 编辑
通常以这4种常见方法来对付SYN攻击 ( 什么是" SYN攻击" 百度一下就知道了)
1。增大SYN包队列
2。缩短超时值
3。启用SYN cookies
4。通过抓包筛选IP
1。增大SYN包队列
在#下我们来查看一下最大半连接容量是多大?
# sysctl -a|grep net.ipv4.tcp_max_syn_backog
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
net.ipv4.tcp_max_syn_backog=256
默认是256
256对于WEB服务器来说远远是不够的 也可说一次强度不大的SYN攻击就可以把半连接队列占用的满满的。
所以在增大这个值,例
#sysctl -w net.ipv4.tcp_max_syn_backog=2000
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
net.ipv4.tcp_max_syn_backog=2000
2。缩短超时值
# sysctl -a|grep net.ipv4.tcp_synack_retries
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
net.ipv4.tcp_synack_retries=5
我们把默认的“5”改成 1
# sysctl -w net.ipv4.tcp_synack_retries=1
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
net.ipv4.tcp_synack_retries=1
改这个值时可能会导致丢失合法的连接,但是在SYN攻击时不采取措施的话,那将会把所有连接丢失掉!!!
3。启用SYN cookies
SYN cookies 是什么。。。。百度一下就知道了
#echo "echo "1"> /proc/sys/net/ipv4/tcp_syncookies" >> /etc/rc.local
4。通过抓包筛选IP
如果系统正在被SYN攻击那么我们可以用tcpdump这个工具进行数据手抓包,然后来分析包里的IP,在对非法IP进行筛选,最后利用iptables等过滤工具来将这些进行过滤
具体的操就不写了,太麻烦
当然这只是通常能想到和用到的简易方法,还有比如硬件防火墙之类的更好防御的解决办法 |