在乌云看到一个帖子:WordPress怎么防止刷流量?,内容如下:


主题:WordPress怎么防止刷流量?

作者:小一 (http://tianyi.me)

时间:2012-07-29 19:18

内容:

WordPress快被刷爆了,小流量主机伤不起啊,再刷要关门了。所以请教一下怎么WordPress怎么防止刷流量?

http://www.shellsec.com/tech/11222.html 看这篇文章说可以通过这些代码来封IP,不过真心不知道代码该加在哪里啊。

而且这代码在网上流传已广,都不知道靠谱不。所以请教一下各位大神,谢谢了。


然后激发了大家一系列讨论,以下为摘录部分讨论内容:


小一 (http://tianyi.me) | 2012-07-29 19:32

十万火急啊,大神快快现身啊 @xsser @核攻击

 

_Evil (性趣是最好的老师.) | 2012-07-29 19:58

@小一 主机是win可以用第三方软件CC终结者和各种 @核攻击 核老大博客也有很多资料,因为他经常被CC @_@

http://user.qzone.qq.com/435420828/blog/1324634202

 

小一 (http://tianyi.me) | 2012-07-29 20:07

@_Evil 核总的是ASP模块的。。。他没工夫改成PHP模块的,悲剧啊。。。https://lcx.cc/post/2094/

 

wormcy | 2012-07-29 20:12

如果是虚拟主机 CC的话 可以 去数字的网站宝看看

 

小一 (http://tianyi.me) | 2012-07-29 20:23

@wormcy 没备案,我想死的心都有了。。。

 

_Evil (性趣是最好的老师.) | 2012-07-29 20:58

@小一 http://user.qzone.qq.com/435420828/blog/1324634202

 

小一 (http://tianyi.me) | 2012-07-29 22:36

@_Evil 这个没搞定。。和我第一楼发的是一样的。

 

_Evil (性趣是最好的老师.) | 2012-07-29 22:43

@小一 CC终结者

 

蟋蟀哥哥 (<-帅得一塌糊涂) | 2012-07-30 03:31

上cdn吧,亲

 

wormcy | 2012-07-30 11:36

@蟋蟀哥哥 +1

 

小一 (http://tianyi.me) | 2012-07-31 12:36

@蟋蟀哥哥 @_Evil 加了个脚本防刷新,也不知道有木有用 http://www.90blog.org/archives/869.html

 

lxsec | 2012-07-31 14:14

@_Evil 核老大的博客是多少啊?

 

imlonghao (imlonghao.com) | 2012-07-31 15:42

@lxsec https://lcx.cc

 

[点此查看更多评论]


其实CC攻击与防御一直是一个热论话题,CC攻击本事是一个很经典的攻击方式,从十几年前它诞生开始,一直到现在,仍然魅力无限,广为流传……

关于它的防御方式,其实早已在若干年前就被讨论烂了,但仍然每隔几年就会再次被拉出来热论一番,这是由于CC攻击成本低廉、攻击效果显著,并且经久不衰……

关于CC的攻击方法与原理,这里就不废话了,还不知道的同学可以自行去谷歌一下,资料真的是成吨算……

我这里就简单的介绍一下CC的防御方法:

首先,在该贴中楼主提到过使用脚本进行防御,那么它的可行性如何?防御程度又如何?

如果单纯的依靠脚本进行判断的话(建立内存全局数组或依靠Session,判断每个IP的访问频率,例如我曾经写的轻量级防御脚本:Asp 防御CC攻击模块 (Anti-CC.asp)),只能防止一些轻量级CC攻击、恶意刷新、恶意点击,大量占连接型CC攻击是不能防御的,因为当 IIS 或其他提供 Web 的程序的连接数占满后(例如 IIS 会显示服务不可用:Service Unavailable),脚本压根不执行了,鸡肋的地方就体现出来了。

但是,这里有个简单的窍门,可以使用全局脚本收集使用代理访问的IP(CC攻击的特点之一,Http头:HTTP_X_FORWARDED_FOR)然后写入到一个指定文本文件中(很简单的功能,各种脚本都可以做到,比较客户端IP和HTTP头的值是否一致,几行代码即可),然后调用程序“IIS 6.0 IP 地址限制辅助工具 v1.0”进行批量封禁(具体用法里边有写),你可以写一个批处理定时循环调用iis.exe(上边提到的工具),就可以实现定式循环屏蔽了(过几天后可以考虑解封),很绝的防御方式(现在很多IIS防火墙的CC防御功能中就采用的这种方案),直接一刀切!24小时全自动免疫一切CC攻击……

其实在2006年,邪八的大牛“Fr. Qaker [E.S.T]”就曾写过一款专门防御CC攻击的工具,叫做:Anti Attack FireWall (AAFW),效果强大,曾经火爆一时,并且它是开源的!

他的防御方案大家可以参考一下,手法相当精彩,例如他当年提到的:采用ASP的随机生成Session、而且session值绑定在访问者的IP记录下的方法,具体内容可以参考:抗CC防火墙AntiAttackFireWall(AAFW)开源公告及源代码下载

这里摘录一段该工具简介(抗CC防火墙:AntiAttackFireWall(AAFW)):


[原创]抗CC防火墙AntiAttackFireWall(AAFW)开源公告及源代码下载

文章作者:Fr. Qaker [E.S.T]

信息来源:邪恶八进制信息安全团队(www.eviloctal.com)

备注:AXLFilter研究中

本软件开源目的

防御CC类型攻击,共享ISAPI编程思路,追求共享精神。

开源花絮

AAFW在2005年12月底就已经完成,现在需要的就是一些功能的补充和界面的优化,所以还是具有一定学习意义的。
原来发布过CC的源代码,但是发生了一些很不开心的事。这次要发布代码,很多朋友因此建议我不要开源。但是,代码放在手里,放着也是浪费,也不符合自己的共享精神。当初,我自己成长的时候也是读别人的代码提高自身的过程,乘凉不忘栽树人。虽然有不少小人,就让他去吧,真理永远变不了,小人得逞只是一时,大家技术的共同提高,共享精神的保持才是最重要的。

AntiAttackFireWall(AAFW)介绍

AA防火墙是一款IIS ISAPI防火墙,利用ISAPI FILTER进行系统保护,利用ISAPI EXTENTION进行管理。

目前代码已经实现了,有效防止盗链,有效防止CC攻击,有效控制文件下载,有效IP连接限制等功能,而且很多功能都考虑到了扩充问题,所以很容易的修改代码进行功能添加。

特别提下,里面的Base64的编码功能是我从网络上复制的一段代码改编来的。

IP管理用的是二叉树进行内存查找,正常情况下,十万次IP记录(十万数量级)的查找能在0.01秒内完成,建议修改的时候将数据进行hash算法。

原创SQL注入保护代码混合在Decode里面,过滤了()<>&#39;;=  因为<>=是判断符号,没有这三个符号,基本无法进行条件语句的构造,用()限制了decalre这样的使用和sql语句的套用,用&#39;;杜绝了SQL语句的分隔,应该说,这样的过滤是相对比较安全,而且有效的。

程序本身有访问者按IP管理,所以很方便进行下载限制。

盗链问题,用的是IP判断,看访问者是否访问过本站,用以判断,而不是refer判断,建议加上refer判断增加精确性,接下来会专门研究这个问题。

防止CC攻击用的就是原来我给出的asp防御的思路,采用IIS ASP的随机生成Session的方法,而且session值绑定在访问者的IP记录下。

控制文件下载,也是基于IP的,建议参考后台管理的登录代码,运用Base64的解码,可以很方便的开发会员区这样专业级别的登录控制,甚至可以考虑使用数据库存储用户,比ASP的管理有效的多,而且安全。


相关资料:

IIS 6.0 IP 地址限制辅助工具 v1.0

Asp 防御CC攻击模块 (Anti-CC.asp)

IIS 批量封禁 IP 地址、网站被 CC 攻击的解决办法

抗CC防火墙AntiAttackFireWall(AAFW)开源公告及源代码下载

留言评论(旧系统):

小一 @ 2012-07-31 21:02:09

核总你要是能把ASP防御模块改写成PHP的多少啊。。。另外喷一下网上的那些傻逼,错误的代码还抄来抄去,真有意思。

本站回复:

这个并没有多复杂,PHP我不是很精通,最近也没有时间去搞这个东西……

safe121 @ 2012-07-31 21:55:36

X_FORWARDED_FOR误封的几率也很高。。。我经常开着HTTP头编辑器,用X_FORWARDED_FOR伪造IP。。(你懂的:IP from North Korea)然后经常忘记关,一访问lcx.ccIP就被封了,,,二级ISP没法自行换IP,得给运营商打电话换出口IP- -#

本站回复:

误封几率极低,1000个IP中不会超过50个,这是最简单、最有效、最高效的防御方案……