免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: platinum
打印 上一主题 下一主题

讨论一下如何防范SYN-FLOOD攻击的问题 [复制链接]

论坛徽章:
0
21 [报告]
发表于 2004-05-30 15:52 |只看该作者

讨论一下如何防范SYN-FLOOD攻击的问题

这个问题我也想到了
但是,一个单位的同事们会同时有20个人以上来访问吗?
何况HTTP协议不是一直ESTABLISHED的,读完网页就CLOSE
如果同一个IP有20个以上的ESTABLISHED,那肯定不正常
对吧:)

论坛徽章:
1
荣誉会员
日期:2011-11-23 16:44:17
22 [报告]
发表于 2004-05-30 23:18 |只看该作者

讨论一下如何防范SYN-FLOOD攻击的问题

purge觉得这是一个方法,思路的问题。以前看到过这样的讨论。

比如,可以这样:

做防火墙的机子收到客户端的SYN包时,直接转发给服务器;

然后,收到服务器回应的SYN/ACK包后,一方面将SYN/ACK包转发给客户端,不去管它;
另一方面以客户端的名义给服务器回送一个ACK包,完成TCP的三次握手;这样,可以使服务器完成连接状态。

当客户端真正的ACK包到达时,有数据则转发给服务器,否则丢弃该包。
理由是:服务器能承受连接状态要比半连接状态高得多,所以这种方法能有效地减轻对服务器的攻击。

没有实践过,但是这是一个思路。

论坛徽章:
0
23 [报告]
发表于 2004-05-30 23:56 |只看该作者

讨论一下如何防范SYN-FLOOD攻击的问题

……
去翻翻TCP/IP的资料先
然后想想实现的方法
……

论坛徽章:
44
15-16赛季CBA联赛之浙江
日期:2021-10-11 02:03:59程序设计版块每日发帖之星
日期:2016-07-02 06:20:0015-16赛季CBA联赛之新疆
日期:2016-04-25 10:55:452016科比退役纪念章
日期:2016-04-23 00:51:2315-16赛季CBA联赛之山东
日期:2016-04-17 12:00:2815-16赛季CBA联赛之福建
日期:2016-04-12 15:21:2915-16赛季CBA联赛之辽宁
日期:2016-03-24 21:38:2715-16赛季CBA联赛之福建
日期:2016-03-18 12:13:4015-16赛季CBA联赛之佛山
日期:2016-02-05 00:55:2015-16赛季CBA联赛之佛山
日期:2016-02-04 21:11:3615-16赛季CBA联赛之天津
日期:2016-11-02 00:33:1215-16赛季CBA联赛之浙江
日期:2017-01-13 01:31:49
24 [报告]
发表于 2004-05-31 00:05 |只看该作者

讨论一下如何防范SYN-FLOOD攻击的问题

原帖由 "弱智" 发表:
做防火墙的机子收到客户端的SYN包时,直接转发给服务器;
然后,收到服务器回应的SYN/ACK包后,一方面将SYN/ACK包转发给客户端,不去管它;
另一方面以客户端的名义给服务器回送一个ACK包,完成TCP的三次握手;这样,可以使服务器完成连接状态。
当客户端真正的ACK包到达时,有数据则转发给服务器,否则丢弃该包。


参见OpenBSD中pf的synproxy动作,例如:
pass in on $ext_if proto tcp from any to $web_server port www flags S/SA synproxy state

论坛徽章:
0
25 [报告]
发表于 2004-05-31 10:37 |只看该作者

讨论一下如何防范SYN-FLOOD攻击的问题

原帖由 "弱智" 发表:
purge觉得这是一个方法,思路的问题。以前看到过这样的讨论。

比如,可以这样:

做防火墙的机子收到客户端的SYN包时,直接转发给服务器;

然后,收到服务器回应的SYN/ACK包后,一方面将SYN/ACK包转发给客户..........


也不稳妥吧。
SYN半连接DOS,不是看消耗的资源多不多,而是到一定半连接数量时,服务器就不会接受SYN请求,这样来做到DOS,这个时候服务器资源占用的并不多。但你提出的完成握手,这样的话,系统很快可能达到进程/线程上限,整个系统的资源将有可能耗尽,比上一种情况更危险。
我是这么理解的 :)

论坛徽章:
33
荣誉会员
日期:2011-11-23 16:44:17天秤座
日期:2014-08-26 16:18:20天秤座
日期:2014-08-29 10:12:18丑牛
日期:2014-08-29 16:06:45丑牛
日期:2014-09-03 10:28:58射手座
日期:2014-09-03 16:01:17寅虎
日期:2014-09-11 14:24:21天蝎座
日期:2014-09-17 08:33:55IT运维版块每日发帖之星
日期:2016-04-17 06:23:27操作系统版块每日发帖之星
日期:2016-04-18 06:20:00IT运维版块每日发帖之星
日期:2016-04-24 06:20:0015-16赛季CBA联赛之天津
日期:2016-05-06 12:46:59
26 [报告]
发表于 2004-05-31 10:46 |只看该作者

讨论一下如何防范SYN-FLOOD攻击的问题

如果是正常的SYN是没办法的,因为,你总不能不让别人用吧?

如果是非正常的SYN,好象有办法吧?

论坛徽章:
0
27 [报告]
发表于 2004-05-31 11:02 |只看该作者

讨论一下如何防范SYN-FLOOD攻击的问题

原帖由 "弱智" 发表:
purge觉得这是一个方法,思路的问题。以前看到过这样的讨论。

比如,可以这样:

做防火墙的机子收到客户端的SYN包时,直接转发给服务器;

然后,收到服务器回应的SYN/ACK包后,一方面将SYN/ACK包转发给客户..........


问题是,怎么实现。如果把所有的SYN包现交给firewall,firewall又如何判别哪个包是合法的,哪些是不合法的。如果firewall无法判别,那垮掉的虽然不是apache server,但一定会使firewall,造成的损失更严重不是吗。

论坛徽章:
0
28 [报告]
发表于 2004-05-31 13:11 |只看该作者

讨论一下如何防范SYN-FLOOD攻击的问题

如果不从根本上修改TCP协议,TCP的SYN_FLOOD根本无法预防!
参见:
http://bbs.chinaunix.net/forum/viewtopic.php?t=23116&highlight=JohnBull

现在在Liunx平台上可以考虑用SCTP取代TCP.

论坛徽章:
0
29 [报告]
发表于 2004-05-31 14:18 |只看该作者

讨论一下如何防范SYN-FLOOD攻击的问题

对于syn攻击,有几种方法可以防御。
1、最有效的,增加带宽,做集群。
2、使用基于状态的防火墙,也就是以上各位说的三次握手。
3、从交换机上监听网络上的syn数据,当发送了syn包到服务器后,该地址一定时间内没有继续发送剩下的两个包。程序就冒充改ip和端口发送端开的IP包。

不能通过shell来解决,因为攻击者的IP和端口都是假冒的。

freebsd有非官方的解决方法,对dos有效,但是对ddos无法抵抗。
对于提供网络服务的话,我建议大家使用freebsd系统,毕竟是血统最纯正的unix系统,而且运算速度和网络响应速度比linux要高。

论坛徽章:
0
30 [报告]
发表于 2004-05-31 14:54 |只看该作者

讨论一下如何防范SYN-FLOOD攻击的问题

我那天用的那个攻击软件,是用真IP进行攻击的,netstat -an看到的是我的私网IP地址

另外“程序就冒充改ip和端口发送端开的IP包”这句不是很明白……
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP