询问空间商,说是:
這個域名是由於有太多的連接連到這域名,已超出這個域名的連線上限,所以才會出現無法顯示或連不到數據庫。這個域名的網站連線限制是 500。
我查了站长统计,发现IP和PV数和以前皆无甚出入。
找空间商要了近两日的空间访问日志,发现前天的日志文件只有22M左右,而昨天的日志(未满24小时)竟达169M,相差甚大。
分析了昨天的日志,发现有500多个不同IP共100多万次访问都是针对 /xxx.asp ,这个页面是产品的详情页面, 而正常情况下,用户是不可能访问到这个页面的,而只能通过其他页面的链接访问到/xxx.asp?id=xxx(必须带ID)。
而恰恰朋友用的这套程序居然没对这种不带ID的情况做处理,直接让数据库查询失败而出错。这样的错误达到一定量必然引起数据库挂掉,后来我修复这个错误后,但随着攻击力度的加大,突破了IIS分配给空间连接数的上限,还是彻底挂掉了。
从技术上分析,这应该算是DDOS攻击,近年常有发生,一些大型网站都屡屡遭殃,这小小的虚拟空间又如何禁受得起?!
今日空间商帮忙更换了IP,我也是灵机一动,想到一个绝妙的办法,竟然可以利用GFW来防御DDOS :
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
若当访问者未带ID时,认为是非法访问,自动跳转到/?minghui。
注意问号后面的词,这是被GFW屏蔽的一个词,只要用户访问的网站URL中包含这种词,用户会在短时间内(大概一分钟吧)不能访问该网站。(相关示例)
这样一来,世界上最强大的防火墙就为我挡掉了许多攻击,一直被我们痛恨的GFW终于为我立功了!
最后总结一下,此法需要注意两点:
1. 所托管服务器必须非大陆空间(而攻击源来自大陆);
2. 真正应用时,要在你的程序中判断那些是来自DDOS的访问比较困难;
此文仅供技术参考,若发生不良反映,后果自负!
28 comments:
orz
[...] This post was mentioned on Twitter by Peter Guo, Jerry Lee ♺ , zhubaining and others. zhubaining said: RT: @akira_cn: http://soido.org/blog/857 牛人用GFW来防DDos攻击 // 赞,要好好利用政府的高科技。。。 [...]
会不会到达一个阀值,然后服务器ip被gfw彻底block?
回 #3
未知, 危险动作, 切勿模仿, 呵呵.
博主这招很有创意,赞一个。
Haha, very nice ;)
汗! 哪位兄弟转到Twitter上了, 今日访问量飙升, 低调! 低调!
做爱
做的事
做什么事?
防范cc页面攻击可能可以,ddos是发送无用的数据包,源地址为假 这个办法可能不行
强人
回ruyalplaza,
是的,
首先空间必须在大陆之外而攻击源必须来自大陆,
其次要真正判断出哪些是攻击并不容易.
也不能说利用gfw完全把攻击挡住了吧,据我了解,gfw只是先于你的服务器往客户的浏览器发送了一个错误信息;但实际上这次请求还是到了你的服务器的,也就是说这次请求的资源消耗还是存在的
回pf_miles ,
兄弟所言不假, 第一次请求总是会发送到服务器的.
我做了测试, 一分钟内,访问不带敏感词和带敏感词的url, 分别刷新20次, 查看服务器log发现:
不带敏感词的20次访问都写入了log, 而后者只写入了3次.
经多次测试, 有时候也不只3次, 但被过滤的还是大部分.
这种方法很危险的~
博主好想法。
博主的文中的广告是自动生成的还是手动添加到啊,请博主赐教。
回OceanBan,
我是手动添加的Adsense代码, 其实WP有相关插件可以自动加
厉害啊……
谁实验下利用gfw发动ddos攻击,哈哈
[...] 走走歪路,利用GFW来防DDOS攻击 Posted on 七月 3, 2010 by xijie 来源:http://soido.org/blog/857 [...]
[...] 原始来源:http://soido.org/blog/857 备注说明:好神奇~~ 一朋友的香港空间昨天挂了,起初是数据库连接出错,后来干脆不能访问了,出现Service Unavailable。 询问空间商,说是: 這個域名是由於有太多的連接連到這域名,已超出這個域名的連線上限,所以才會出現無法顯示或連不到數據庫。這個域名的網站連線限制是 500。 [...]
哇哈哈,创意真是好啊。 从BUZZ过来
[...] @dingchen: RT @CatChen: RT @akira_cn: http://soido.org/blog/857 牛人用GFW来防DDos攻击 [...]
这个办法好。推广之。
[...] 继前几天帮朋友的一个站阻挡了DDOS攻击后,他的另一个站又遭受了CC攻击。 该站用的是ECSHOP系统,朋友给我截图,底部显示当前在线人数接近3000。呆我去访问时,网站已经挂掉,显示: The table ‘ecs_sessions’ is full [...]
请问“若当访问者未带ID时,认为是非法访问,自动跳转到/?minghui。”
怎么让识别访问者是否带ID?这个ID是什么???
然后这个跳转是怎么做的?!
GFW检测是双向的。国外访问国内服务器如果链接也有敏感词照样无法访问。
老大的这招真的不错啊。
Post a Comment