近日,阿里云云盾安全团队协助处理了多例金融证券直播行业的客户的网站攻击事件。有专业的攻击团伙,针对网上的金融证券直播类网站业务发起集中的网络攻击、意在破坏网站的正常运营,进而勒索钱财。云盾安全专家经过分析攻击、采用对应安全策略,最终成功的保障了网站业务正常平稳。
在安全专家的分析过程中,发现了一种经久不衰的反射CC攻击手法的身影。这是种什么攻击?攻击特点是什么?我们该如何应对类似的这种攻击呢?这里为您一一道来。
一、Pingback ,让数十万网站服务器成为了帮凶
众所周知,WordPress是一种非常流行的博客平台,公网上有千百万网站均是基于此搭建。Pingback是其用来通知网站系统文章被引用的一种手段,一个简单的POST请求就可以让它把包含引用的链接和引用页面地址的内容发送给一个被引用的站点或博客。当WordPress收到一个pingback请求时,它会自动回复一个响应给请求来源的页面去确认这个链接是否真实存在。利用这个机制,恶意攻击者就可以指定受害者的地址,构造包含真实链接的pingback请求,通过“反弹”来打到CC攻击的目的。这种请求非常容易构造,一个curl命令就足够了,所以只要手上掌握了一定数量的Wordpress站点,就特别容易批量发动攻击。
二、攻击者特点:海量、真实、分散、慢速
从上面攻击的原理不难看出,一旦攻击者控制利用了数十万这种类型的服务器集中时间统一对您网站发起攻击,其特点“海量真实源IP、IP地址分散、访问频率控制在较低速率”,将使得传统的安全防护手段如单IP频率限速、cookie验证等在这种攻击面前无可奈何。
三、攻击致命弱点:攻击特征固定、不可伪造
看到这,您或许已经在默默祈祷:这种事千万别发生在我这才好。其实也不用过于忧虑,虽然这种变种的攻击乍一看来势汹汹,悄悄告诉你:它也有一个致命弱点,那就是从肉鸡发过来的攻击请求有部分特征是固定的、并且不能被攻击者伪造的。
这个东西就是User-Agent.它是一个特殊字符串头,使得服务器能够识别客户使用的操作系统及版本、CPU 类型、浏览器及版本、浏览器渲染引擎、浏览器语言、浏览器插件等。而这种pingbck反弹攻击的致命弱点就是请求中的User-Agent必然包含pingback等关键词。这是由WordPress本身决定的,恶意利用者也不能进行伪造篡改。
四、如何发现并应对类似攻击?
既然上面我们掌握了这种攻击的特点,那么检测防护的应对之策也就手到拈来了。
1)看
以Nginx为例,当发现网站异常,CPU、内存、数据库等性能飙升时,先看看网站的访问日志:
cat /var/log/nginx/access.log | grep "verifying pingback from" > pingback_attack.log
一旦发现有大量此类日志,毫无疑问,你中招了。
2)配
打开网站的Nginx配置文件,找到server定义的部分(/etc/nginx/nginx.conf,或/etc/nginx/sites-enabled/your-site等,具体路径根据具体的Nginx和Linux版本来定),添加以下if声明到server定义的某个地方(大小写敏感):
if ($http_user_agent ~ (WordPress|pingback) {
return 403;
}
并且需要将Nginx reload。
3)验
配置完后,可以用curl或者wget命令,带上特定的UA去测试一下,如果能收到403的响应,说明配置成功了。
OK,现在你的服务器已经能够拦截这类攻击了。但是值得注意的是:即使以上种种都做了,也仅仅只能,因为攻击请求在达到网站服务器后,即使你第一时间处理掉,也仅能减轻对消耗服务器的性能。当这种攻击是海量的情况下,足以达到网站服务器的上限瓶颈,同样会导致网站瘫痪。换句话说,您必须得有足够多的服务器资源能帮助。这种情况下,或许云上的弹性安全防护模式更适合您。
云盾Web应用防火墙一直致力于为客户提供网站安全防护的解决方案,针对各类Web应用攻击、CC变种攻击、撞库、爬刷接口等均有完善的防护策略。在面对海量CC攻击上,云防护模式下的弹性安全计算资源能够帮助您从容应对,保障异常、攻击请求在到达网站的服务器之前就被扼杀干净。您只需配置一条简单的User-Agent访问控制即可100%过滤恶意请求.