前两天用网上找的个软件模拟了一下SYN Flood攻击,攻击源是局域网的一台计算机,攻击对象是RouterOS,在RouterOS里我对外开放了FTP服务,在攻击的同时用RouterOS Ping网关检测效果,然后开始攻击。
攻击开始后Ping值立即上升,间断性掉包,位于RouterOS下的笔记本立即不能打开网页。看来这种攻击方式真不是盖的。哈哈。
在论坛看别人讨论的时候偶尔会看到有求助解决SYN Flood攻击的帖子,高手们给的解决办法是降低等待时间,不过这个办法对于DDoS好像也起不了多大效果。今晚看了篇论文,里面说了三种方法:
- SYN网关
防火墙收到客户端的SYN包时,直接转发给服务器;防火墙收到服务器的SYN/ACK包后,一方面将SYN/ACK 包转发给客户端,另一方面以客户端的名义给服务器回送一个ACK包,完成TCP的三次握手,让服务器端由半连接状态进入连接状态。当客户端真正的ACK包到达时,有数据则转发给服务器,否则丢弃该包。由于服务器承受连接状态要比半连接状态高得多,所以这种方法能有效地减轻对服务器的攻击。
- 被动式SYN网关
设置防火墙的SYN请求超时参数,让它远小于服务器的超时期限。防火墙负责转发客户端发往服务器的SYN包,服务器发往客户端的SYN/ACK包、以及客户端发往服务器的ACK包。这样,如果客户端在防火墙计时器到期时还没发送ACK包,防火墙则往服务器发送RST包,以使服务器从队列中删去该半连接。由于防火墙的超时参数远小于服务器的超时期限,因此这样能有效防止SYN Flood攻击。
- SYN中继
防火墙在收到客户端的SYN包后,并不向服务器转发而是记录该状态信息然后主动给客户端回送SYN/ACK包,如果收到客户端的ACK包,表明是正常访问,由防火墙向服务器发送SYN 包,并完成三次握手。这样由防火墙作为代理来实现客户端和服务器端的连接,可以完全过滤不可用连接发往服务器。
以上三种方式可以在一定程序上减轻服务器的压力但并不能完全解决问题,并且防火墙承受的压力也随之上升,防火墙的能力成了关键的因素。这三种方式并不能解决DDoS攻击,防火墙所采取的依旧是挨打的策略,所以提高防火墙的强壮性是非常必要的。
由此可以看出,不管用哪种办法都是治标不治本的,究其原因是因为TCP/IP协议的缺陷所造成的。
如果是网吧或者单位遭到DoS或者DDoS攻击的话,要想解决的话只有让ISP给你换IP了。如果是网站或者服务器遭受攻击,那就只有换更好的防火墙或者报案了。
本文写到最后的时候我突然想到个东西——蜜罐。不知道蜜罐可不可以用在防治DDoS攻击上面呢?为此我Google了一下还真有这样的文献,不过资料都不多,但是至少提供了另外一种解决方案。
参考资料:
校园网网络安全防护体系的研究——仙木
5 Comments
我一直有一个疑惑,请你这个高手指点一下:
A 无线网卡 连接的网关是 192.168.1.1
B 有线网卡 连接的网关是 10.0.0.1
两个连接都能连接到互联网。
请问:我现在打开浏览器,【怎么知道】浏览器取回的页面是从那条线路来的?【如何控制】浏览器或其他程序采用其中一条线路?
操作系统是Windows XP
weeper 回应:
十二月 25th, 2009 at 下午 7:49
你故意的是吧?明知道我答不上来还问我。哈哈。
我只知道这个问题潜水的时候看别人也问过,人们回答的是抓包就知道了。
但是我知道老版本的Maxthon即1.6.X.X有个功能,在状态栏可以显示自己的ip,我想这个也许可以让你知道当前走的是那根线路吧。
不过我不得不说一句,除非是带宽叠加,否则多线路是没有意义的。
哥们不是考你,而是向你请教。
这个问题我一直没弄明白。我就是想了解宽带叠加在Windows下如何实现。
weeper 回应:
十二月 28th, 2009 at 下午 7:05
我搜了一下相关的资料,显示要做带宽叠加(也就是网上说的负载均衡)的话,至少需要两块相同的网卡,你不符合这个要求所以别奢望了。
不过你可以了解下NIC Express这款软件,就是靠它实现负载均衡的。
元旦了,更新一下吧。来了几次,你都不报告行踪。
开车旅游去了?
weeper 回应:
一月 6th, 2010 at 上午 11:19
没有,放假就好好休息,远离电脑嘛。你都还去海边骑车呢,我也可以睡睡懒觉啥的,呵呵。
前几天遇到很奇怪的问题局域网里面不能用二级路由,查找之后排除了我这边的问题,还是在上级路由器那里。
现在的状况一天比一天更严重,我已经打算明年自己装ADSL了。没法上网啊,打不开任何页面。
感冒伴随着这个元旦度过的。这边下雨,没有去海边。
对了,干脆你来个局域网攻击,让所有人都上不了网,然后就有人出来治理了。呵呵。这个办法不错吧?