免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1282 | 回复: 0
打印 上一主题 下一主题

SYN Flood攻击的检测和防范 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2010-01-20 19:37 |只看该作者 |倒序浏览

版权声明:原创作品,允许转载,转载时请务必以超链接形式标明文章
原始出处
、作者信息和本声明。否则将追究法律责任。
http://wxjsr.blog.51cto.com/92602/79237
netstat 工具来检测SYN攻击

# netstat -n -p -t
tcp 0  0 10.11.11.11:23  124.173.152.8:25882  SYN_RECV -
tcp 0  0 10.11.11.11:23  236.15.133.204:2577  SYN_RECV -
tcp 0  0 10.11.11.11:23  127.160.6.129:51748  SYN_RECV -
...
LINUX系统中看到的,很多连接处于SYN_RECV状态(在WINDOWS系统中是SYN_RECEIVED状态),
源IP地址都是随机的,表明这是一种带有IP欺骗的SYN攻击。

# netstat -n -p -t | grep SYN_RECV | grep :80 | wc -l
324

查看在LINUX环境下某个端囗的未连接队列的条目数,显示TCP端囗22的未连接数有324个,
虽然还远达不到系统极限,但应该引起管理员的注意。

[root@pub wxjsr]# netstat -na | grep SYN_RECV
tcp        0      0 58.193.192.20:80            221.0.108.162:32383         SYN_RECV   
tcp        0      0 58.193.192.20:80            125.85.118.231:2601         SYN_RECV   
tcp        0      0 58.193.192.20:80            222.242.171.215:2696        SYN_RECV   
tcp        0      0 58.193.192.20:80            116.52.10.51:2629           SYN_RECV   
tcp        0      0 58.193.192.20:80            218.171.175.157:1117        

[root@pub wxjsr]# netstat -na | grep SYN_RECV |wc
     11      66     979

查看系统SYN相关的配置

Linux内核提供了若干SYN相关的配置,用命令: sysctl -a | grep syn
[root@metc apache2]# /sbin/sysctl -a | grep syn
net.ipv6.conf.default.max_desync_factor = 600
net.ipv6.conf.all.max_desync_factor = 600
net.ipv6.conf.eth0.max_desync_factor = 600
net.ipv6.conf.lo.max_desync_factor = 600
net.ipv4.netfilter.ip_conntrack_tcp_timeout_syn_recv = 60
net.ipv4.netfilter.ip_conntrack_tcp_timeout_syn_sent = 120
net.ipv4.tcp_max_syn_backlog = 1280
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_synack_retries = 2
net.ipv4.tcp_syn_retries = 5
fs.quota.syncs = 18

防范SYN攻击设置

#缩短SYN- Timeout时间:
iptables -A FORWARD -p tcp --syn -m limit --limit 1/s -j ACCEPT
iptables -A INPUT -i eth0 -m limit --limit 1/sec --limit-burst 5 -j ACCEPT

#每秒 最多3个 syn 封包 进入 表达为 :
iptables -N syn-flood
iptables -A INPUT -p tcp --syn -j syn-flood
iptables -A syn-flood -p tcp --syn -m limit --limit 1/s --limit-burst 3 -j RETURN
iptables -A syn-flood -j REJECT

#设置syncookies:
sysctl -w net.ipv4.tcp_syncookies=1
/sbin/sysctl -w net.ipv4.tcp_max_syn_backlog=3000
/sbin/sysctl -w net.ipv4.tcp_synack_retries=1
/sbin/sysctl -w net.ipv4.tcp_syn_retries=1

sysctl -w net.ipv4.conf.all.send_redirects=0
sysctl -w net.ipv4.conf.all.accept_redirects=0
sysctl -w net.ipv4.conf.all.forwarding=0
/sbin/sysctl -w net.ipv4.icmp_echo_ignore_broadcasts=1

/sbin/sysctl -w net.ipv4.conf.default.accept_source_route=0   # 禁用icmp源路由选项
/sbin/sysctl -w net.ipv4.icmp_echo_ignore_broadcasts=1         # 忽略icmp ping广播包,应开启
/sbin/sysctl -w net.ipv4.icmp_echo_ignore_all=1                      # 忽略所有icmp ping数据,覆盖


本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u3/107231/showart_2155216.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP