之前也从来没有碰到过 CC 攻击,所以这次也是个学习机会。。感谢小学生。
CC 攻击本质上是比较难防的, CC 攻击的原理就是模拟用户发起大量正常的 http 连接,从而是 nginx 的 cpu 占有率到 100% 处理不过来,从而访问不了。目前最有效的办法就是把攻击 IP 一个个找出来然后 drop 掉。。这次小学生用的是 wordpress 的 pingback 攻击,特征很明显,算是比较低级的 CC 了。
特征是有大量的 wordpress 的 pingback 字符。如图:
如果是 wordpress 的 pingback 攻击,这里有 80host 老板提供的一个日志分析自动封 ip 的代码,简单快速。
cat www.91yun.org.log | grep 'WordPress' | awk '{print "iptables -I INPUT -p tcp --dport 80 -s ", $1, "-j DROP"}'| sort -n | uniq | sh service iptables save service iptables restart
iptables 的反应较慢,需要过一段时间才能感觉的到。而且这种道高一尺魔高一丈的事情只要换 ip 之类的就很难解决,而且永远都是被攻击了才能拿到 ip 才能封,总是慢一步。
另外还有个比较简单的方法就是 Cloudflare 的 I’m under attack! 的功能,强制所有访问倒计时 5 秒后才跳转,效果很好。但是缺点就是 api 也将访问不到源文件。就像前几天我开了后,锐速下载的文件就是 cf 的这个防御页面,而不是源文件,导致锐速安装不了。。
除了这个 I’m under attack 外,其他的 CDN 是基本没法防 CC 的。。因为 CC 是以请求做为攻击的,用了 CDN 取不到 CC 攻击的 IP ,反而无法有效的采用封 IP 的方式来解决 CC 攻击。
91yun.org无法访问
那你怎么留言的。。。
加WWW 就可以访问
不会自动跳转么
我自己的SS站估计是域名被人盯上整天被DDOS,反正去你爹上7块钱买的干脆扔了
国内ddcc太普遍了。还是应该有点经验会好对付些。
那防CC究竟有什么好的办法?
性能好的机子有助于缓解cc攻击,然后就是封IP了。。不过我今天发现CF20美元的防护有个功能很好用
如果是通过pingback实现攻击行为,可以试试把wp的pingback功能关闭。
怎么关闭啊?
不如以后老大专门开一片文章讲讲ddos和cc防御吧,感觉挺有用的。
我也是初学,还在斗争中。哈哈
用了CDN后iptables没卵用了。
是啊。。这两天我就开开关关。。。不过cf的im under attack确实可用,不过损伤太大,搜索引擎的蜘蛛都进不来好像。。