视频学习
大家好,云吞铺子又和大家见面了;我叫枫凡,是技术服务中心的工程师;借这个机会主要和大家分享一下,Web网站应用在受到CC攻击的情况分析以及防护的一些心得。
一键防护
当网站受到CC攻击时,第一优先级为想办法恢复业务;可以尝试直接在Web应用防火墙开启CC安全防护 攻击紧急,需要注意的是,攻击紧急模式适用于网页/H5页面,但不适用于API/Native App业务(会造成大量误杀),针对后面这个情况,我们建议使用CC自定义防护;根据攻击者所攻击的特征配置防护规则。
CC防护思路
- 分析请求日志找出攻击者的特征;
- 针对攻击者的特征,使用工具将恶意的请求进行封堵;
在分析日志之前,我们先来看看常见的网站CC攻击一般有哪些特征。
1、攻击的目标URL异常集中;
2、攻击的源IP异常集中;
3、攻击的源IP在某几个IP段或者某几个省;
4、使用相同的Referer或者User-Agent等;
操作实践
有了这些概念,那么我们根据这几个特征去通过分析日志。 我们以这个网站为例:www.xxxx.cn 在如图的这个时间段内,峰值最高打了13W左右的QPS。
碰到这个情况,我们根据之前的CC攻击特征;先分析被攻击的URL是哪个?我们这里使用的是自动化的分析工具sls日志服务;
分析日志
使用sls日志服务查询得到结果绝大部分的请求都在访问 //xxx/index.php这个URL,而正常情况下这个URL,不太可能有那么高的访问
发现了这个攻击特征之后,那么在WAF的控制台上查到CC自定义防护中配置这个路径进行防护。
配置防护
配置如下:URI使用我们通过日志分析出来的路径完全匹配;检测10S,单一源IP访问5次,执行封禁,封禁30分钟;
可以理解为,一个源IP在10S内访问超过5次,就触发封禁;這是一个比较严格的策略;这个频率可以根据自己业务的经验进行调整;
当然如果发现防护效果不好,可以初步的设置更加严格的策略。同时也可以选“人机识别”进行防护,人机识别是WAF返回一段特殊的代码给客户端(WAF返回200状态码),判断客户端是否可能正常执行这个代码;如果能够执行则通过验证,然后放行;如果无法执行,这个客户端IP就会加黑对应的时间。如果在网站架构中,WAF前端有高防或者CDN之类的产品,推荐使用人机识别进行防护。
深挖攻击特征
在这个时候网站业务正在慢慢恢复;我们继续分析日志,找到更加精确的攻击特征加以防护,
1.分析客户端IP分布
我们通过分析客户端真实IP地址时,TOP10的IP地址以及地域分布情况如下,看不出明显的异常。
2.分析user_agent特征
有大量的请求使用到的UA是“"Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.4; en-US; rv:1.9b5) Gecko/2008032619 Firefox/3.0b5”这个UA,看着是一个MAC OS系统下FireFox的浏览器,由于业务是APP类型的;很少会有MAC OS系统下的访问,同时我们对比正常时间段访问记录的user_agent 没有发现 Firefox 字样的user_agent记录;可以判断该user_agent 是异常的;
根据这个攻击特征,我们使用WAF的精准访问控制策略对该user_agent进行控制,配置如下,对于包含Firefox进行封禁;阻断的策略
通过这种组合策略的防护策略能够更好保护业务正常对外提供服务。