乐め乐 发表于 2011-10-10 00:33:48

拒绝服务防御

本帖最后由 迈阿密的寒冷 于 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等过滤工具来将这些进行过滤

具体的操就不写了,太麻烦
当然这只是通常能想到和用到的简易方法,还有比如硬件防火墙之类的更好防御的解决办法

黑夜 发表于 2011-10-10 00:53:31

{:5_103:}硬防是最好的

祭奠、最后一抹笑 发表于 2011-10-10 07:16:33

路过、顶起。。。
页: [1]
查看完整版本: 拒绝服务防御