手头有几个网站:1个Z-Blog的博客、1个phpwind论坛、1个Discuz!论坛,流量又都不高,所以用个512M内存的VPS也足够用了,平时速度也还不错。
但是……网站算是网络安全类的,所以,对网站的攻击隔三差五也是有的。还好,多数时候是扫描、踩点,用某安全监控软件检测到的攻击企图最多的一天居然有8万次……不过由于装有安全软件,一般的SQL注入等攻击还是没什么问题的——直到遇到CC攻击。
最开始的表现是w3wp.exe耗费CPU资源,从30%一直到100%。
刚开始以为是程序或者数据库问题,查看了VPS上的程序,发现没有被篡改,然后对.mdb数据库进行了压缩,但是发现没效果。这个时候,我感觉,是遇到攻击了……于是下载了分析软件,发现大量请求是对Z-Blog博客程序的catalog.asp进行多参数提交,这个文件可以读取tags,而我网站的tags又比较多,所以频繁的查询必然造成性能的急剧下降。
可以看到,catalog.asp文件(其实还有几个,但是这个文件最明显)的执行速度,已经到了让人无可忍受的地步!
我想过把catalog.asp等文件删除或改名:但是并不能解决问题。删除了这个文件造成的流量损失和功能损失是我不能接受的;改名的话攻击者照样可以用改名后的文件进行攻击。
其实,针对这样的攻击,手工能做的事情非常有限!
找了几款安全防护软件,多数对CC的防范效果都不算好,不能说完全无效,却只有有限的防御效果。于是,最终我装上了安全狗!
安全狗分为2个版本:服务器安全狗、网站安全狗。前者主要对服务器进行安全防范,后者主要对WEB服务器进行安全防护。对于Web服务器而言,建议2个一起装。
在服务器安全狗开启DDoS防护功能:
在网站安全狗上开启CC攻击防护功能:
然后……对,和我想的一样,服务器的CPU占用率就下来了。虽然还会有瞬间占用过高,但是网站的浏览不再受到影响,目的已经达到。