Tuesday, July 6, 2010

加固你的ECSHOP,阻止CC攻击

前几天帮朋友的一个站阻挡了DDOS攻击后,他的另一个站又遭受了CC攻击
该站用的是ECSHOP系统,朋友给我截图,底部显示当前在线人数接近3000。待我去访问时,网站已经挂掉,显示:

The table 'ecs_sessions' is full...

汗!查了下数据库,ecs_sessions这个表的记录数居然达10多万条之多,清空该表后刷新网站,已能访问。
但不到一分钟,又变得极慢,再查数据库,该表又有了2万多条数据。

ecs_sessions表是ECSHOP用来记录当前在线用户的,每次有新的用户访问,都会将session信息写入该表。这无疑给CC攻击提供了机会,攻击者只要伪造大量用户请求,很快即可使该表爆掉。

查了一分多钟内的数据,约有40多IP在同时发起攻击,每IP的用户数在几百不等。
上次DDOS攻击的IP对比了下,有不少重复的肉鸡,应该是同一(伙)人所为。

在服务器上(利用.htaccess)将这些IP加入黑名单后,虽然攻击力度有所减弱,但ecs_sessions表的数据还是增长迅速,又有新的肉鸡加入,网站访问越来越慢,迟早还会挂。

这样手动去加黑名单总不是办法,写了个脚本检测攻击和加入黑名单,问题终于搞定!
分享出来,希望对相同遭遇的朋友有所帮助:

1.下载附件并将解压出来的两个文件上传到ECSHOP的data目录,注意修改black.list的属性为可写;
2.修改你的config.php(也在data目录),在末尾加上一行:


1 comments:

七夕鹊 said...

怎么博客这么就不更新了