走走歪路,利用GFW来防DDOS攻击

2010年8月9日 | 分类: 乱七八糟 | 标签: ,

一朋友的香港空间昨天挂了,起初是数据库连接出错,后来干脆不能访问了,出现Service Unavailable。

询问空间商,说是:

這個域名是由於有太多的連接連到這域名,已超出這個域名的連線上限,所以才會出現無法顯示或連不到數據庫。這個域名的網站連線限制是 500。

我查了站长统计,发现IP和PV数和以前皆无甚出入。

找空间商要了近两日的空间访问日志,发现前天的日志文件只有22M左右,而昨天的日志(未满24小时)竟达169M,相差甚大。

分析了昨天的日志,发现有500多个不同IP共100多万次访问都是针对 /xxx.asp ,这个页面是产品的详情页面, 而正常情况下,用户是不可能访问到这个页面的,而只能通过其他页面的链接访问到/xxx.asp?id=xxx(必须带ID)。

而恰恰朋友用的这套程序居然没对这种不带ID的情况做处理,直接让数据库查询失败而出错。这样的错误达到一定量必然引起数据库挂掉,后来我修复这个错误后,但随着攻击力度的加大,突破了IIS分配给空间连接数的上限,还是彻底挂掉了。

从技术上分析,这应该算是DDOS攻击,近年常有发生,一些大型网站都屡屡遭殃,这小小的虚拟空间又如何禁受得起?!

今日空间商帮忙更换了IP,我也是灵机一动,想到一个绝妙的办法,竟然可以利用GFW来防御DDOS :

若当访问者未带ID时,认为是非法访问,自动跳转到/?minghui。

注意问号后面的词,这是被GFW屏蔽的一个词,只要用户访问的网站URL中包含这种词,用户会在短时间内(大概一分钟吧)不能访问该网站。(相关示例

这样一来,世界上最强大的防火墙就为我挡掉了许多攻击,一直被我们痛恨的GFW终于为我立功了!

最后总结一下,此法需要注意两点:
1. 所托管服务器必须非大陆空间(而攻击源来自大陆);
2. 真正应用时,要在你的程序中判断那些是来自DDOS的访问比较困难;

此文仅供技术参考,若发生不良反映,后果自负!

原文:http://soido.org/blog/857

  1. 福音乐章
    2012年5月14日19:27

    聪明

  2. clfg
    2010年8月9日14:54

    呵呵,GFW立功了!