个人网站再次遭受CC攻击总结—wdcp环境下抵御CC攻击的方法

Posted by

2014年底,文武双全个人网站刚刚遭受了一次CC攻击,详见文武双全个人网站遭遇严重CC攻击之总结 。2015年新年刚过,个人博客这又被攻击了。此次攻击是从2015年1月18日凌晨3点开始的,大约在2015年1月22日凌晨0点网站可以正常访问了。下面是此次应对CC攻击的总结,希望能够对大家以后防黑防CC有帮助。文武双全个人网站是在WDCP环境下和阿里云主机上,此文可能对以上用户有帮助。

阿里云的云盾和云监控在CC面前很无力

网站被CC攻击后的CPU走势图
网站被CC攻击后的CPU走势图

此次被CC攻击后,服务器一度无法VNC。无奈之下,我只能再次将网站加入云盾,寻求短暂保护。将云盾的罚值调整到最低的时候,云盾依然会不工作。云监控里,一点服务器的相关数据都获取不到。发生这种情况很有可能是CC攻击导致服务器内存溢出,linux将云盾和云监控的进程给杀掉了,这是我猜测的哈。而且那个蛋疼的wdcp后台,无法在云盾下获取真实ip的问题,我依然没解决。很有可能是wdcp的后台用的是单独的apache进程,需要修改wdcp的apache进程的配置文件,以后有时间再研究吧。

此次CC攻击类型和上次几乎一样

还是针对www.jicker.cn这个网站的域名发动的DDOS攻击,手法跟上次几乎可以说一模一样。利用大量ip伪装成百度蜘蛛,不停的访问主域名,把服务器带宽给占满了。这次同样出现了内存爆掉的情况,只是云监控里竟然显示不出来,很容易给人造成错觉。

下面说说此次解决CC攻击的应对之策:

第一步:关闭被CC攻击的网站保证能够远程登录

我的wdcp用的是lnamp环境,wdcp使用了一个独立的apache进程。这一点我非常欣赏,这保证了在前端的nginx关闭后,我依然可以轻松自如的登陆wdcp的后台,在图形化界面里进行大量繁芜的操作。在被CC攻击的环境中,我多次重启服务器,然后利用间隙用VNC链接上服务器。赶紧关掉nginx,然后登陆wdcp后台关掉了www.jicker.cn网站。

第二步:关闭网站后开启nginx

因为不开启nginx的话,wdcp的apache拿不到被攻击者的ip。cc攻击直接针对www.jicker.cn主域名,我只需把这个网站关掉,而cc攻击也没有停止,但是已经不会对服务器造成什么影响了。

第三步:查看linux系统状态

使用top命令并且按下shift+M,linux会按照占用内存的多少把进程排序,赶紧查看linux服务器的系统状态。文武双全发现实际上阿里云的云盾以及云监控,都没有占用太多的内存,nginx更是强大的无法用言语来形容。6000多的链接数下,nginx只占用了几十M的内存,我非常有更新系统然后只用nginx的冲动啊。

问题来了,这时文武双全发现apache的httpd进程竟然有好多个,每个都占用了上百M的内存。原来apache才是服务器内存溢出的元凶啊,我艹,我立马就意识到问题出在哪里了。

第四步:修改apache配置文件,降低apache内存占用

apache本身是多进程,单个进程处理能力有限。于是在被攻击的情况下,linux就会出现N个apache的进程导致内存爆掉了。之前有位大神给我说过,“CC攻击的特点就是尿的特别快”。哈哈,这些CC攻击产生的apache进程,完全可以在最短的时间把他们杀掉。腾出内存,应对接下来的访问请求。

打开apache的配置文件一看,MaxRequestsPerChild设置为10000。我去他大爷的,我记得我之前明明改成1的。不知道怎么变了,立马改回啦。再用top查看,^_^内存占用好小哦。1G的物理内存,整个服务器只用了10%,用这么少好浪费啊,O(∩_∩)O哈哈~。CC攻击对服务器的影响被大大减弱了,终于能够自由的爽快的远程操作了。

以上操作只是解决了服务器内存溢出的问题,CC攻击的问题并没有彻底解决,只是单纯的提高了服务器抗攻击的能力。

第五步:用seo日志分析软件分析网站日志

^_^找了很久实际上都没找到windows下,能够方便的分析nginx和apache日志的工具。不过我很聪明的解决了这个问题,除了在wdcp的后台通过ip地址的链接数排名之外,还可以通过seo日志分析工具来分析伪装成蜘蛛的发动CC攻击的ip地址。

攻击者把ip地址都伪装成百度蜘蛛,本来用作seo的蜘蛛分析的工具,就变成了查找cc攻击者真实ip的有力武器。此类工具很多,这里就不推荐了。

第六步:用iptables封掉几千万ip地址

通过wdcp后台和网站在被攻击时间段的日志,我找到了很多发动CC攻击的ip。我把每一个ip地址去百度、谷歌、站长工具的ip查询、淘宝ip查询工具里多次查询。

1,国外的ip一律封掉,我直接封掉了好几个类似52.0.0.0这样的国外ip段,找一个ip段后面就是一千多万个ip地址啊;

2,发现是代理服务器ip的,一律封掉;

3,不能确定是否代理服务器ip的,但是攻击次数很高的,一律封掉;

这一次封ip的行动很辛苦,上百个ip及ip段一个一个的多次查询,晚上回家基本都要弄到凌晨1点。但是一切的辛苦都是值得的,我认为把这些垃圾ip全部封掉,才是彻底解决CC攻击的终极办法。

最为搞笑的是,到后来发现的攻击ip,竟然只有台湾一个地方的。而且单个ip的链接数极为有限,超过10以上的我全部拉倒防火墙里了。剩下的ip,也就没心情再屏蔽了,我这的很累很累了。

第七步:个人博客再次浴火重生

到2015年1月22日凌晨0点,我把被攻击的网站打开,也就是www.jicker.cn。神奇的一幕出现了,网站竟然能够正常访问了。虽然服务器依然被很多ip攻击者,但是已经能够打开网站了。成功熬过去了,真他妈的不容易啊。

文武双全的防CC攻击之总结

1,不要害怕被攻击,加强学习是王道。黑客们用碎片化的知识来攻击你,你也要学习碎片化的知识来防御他们;

2,加强对linux的学习,top命令很好用,vim必须会,iptables防火墙要好好研究啊;

3,加强对nginx和apache的学习,nginx真的很牛叉,不服不行;

4,wdcp后台也挺好用的,但是要善于利用;

5,日志分析很重要,但是好用的windows下中文的日志分析工具真的不多;

废话不多说了,感谢攻击者们,再次促进我学习。哈哈,每一次被攻击事实上我都挺开心的。这一次处理被攻击的时间,比上一次缩短很多。每一次被干,我都学到好多好多东西。O(∩_∩)O哈哈~,云盾都不需要了,^_^

5 comments

  1. 还是用虚拟机省心,之前用了两年虚拟机都没出过任何问题

  2. :razz: ^_^ 不明白的事情多着呢!
    从2011年建站到现在,已经不知道被干了多少次了。
    最近,才慢慢开始学习防御的东西。

  3. 我不明白,你的个人博客站点,为什么有人攻击呢?

    黑客吃饱了没事做吗?无利益的事他们是不会做的。

Leave a Reply

您的电子邮箱地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据