引言:记一次 CC 攻击。本文首发腾云阁技术社区,授权转载
12 月 30 日下午,宝贝回家论坛一台服务器( server4 )开始出现异常的高负载情况。首先是自动触发了自动扩容机制,增加了新服务器进来分担压力,保障了服务的持续可用,给问题解决争取了时间窗口。
随后手机收到告警短信,登录腾讯云控制台,首先排除了 DDOS ,因为外网入带宽和出带宽都正常。异常的是内网出带宽和入带宽。难道有内网的服务器发起攻击?
登录到服务器上来看, top 没有看出什么异常,没有特别高的进程, php-fpm 进程确实多了一些,每个进程的 cpu 时间也确实长了一些,但是也不说明什么问题。看 access_log 也没有看到 ip 聚集的请求。
怀疑服务器本身有异常,把服务器重启了一下,问题没解决。
把出现问题的服务器( server4 )从负载均衡中踢出,问题立刻消失。加回到负载均衡集群中,问题没有再出现了。
随后发现,另一台原来没有问题的服务器( server1 )现在变成高负载了。一样从负载均衡中踢出来再加回去,这下两台都高负载了。
没有什么头绪,只好继续分析 access_log 。这次看出来问题了。
有一批来自世界各地的肉鸡(也可能是伪造的 ip )在根据用户 ID 一个一个的访问用户资料。这些 ip 都来自哪里的呢?
所以问题很清晰了,这是一个 CC 攻击,并且攻击 ip 是分散的,不能通过封 ip 来化解。
攻击者借助代理服务器生成指向受害主机的合法请求,实现 DDOS 和伪装就叫: CC(ChallengeCollapsar)。
对于 CC 攻击, discuz 是有对应的设计的,可以在 config_global.php 中配置,不过对抗手段都会或多或少的影响到正常访问。针对这次攻击我启用了 $_config['security']['attackevasive']=4
也就是要求每个用户第一次访问的时候都要看一个 2 秒的等候页面,然后自动进入原来的访问地址,这是目前对于用户访问体验伤害最小的方式(用户什么都不用做,只要第一次等 2 秒就一切正常了)。如果 CC 攻击没有继续升级对抗这个策略的话,这次攻击应该就到此为止了。
这是一个公益网站,全国最大的寻亲论坛,不知道这黑客攻击它干啥呢?不怕报应在自己孩子身上吗?不过还好他选择了放假前三个小时而不是放假的时候攻击,希望能过个安心的假期。
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.