CDN流量异常分析以及安全防护

问题分析

CDN流量出现突增时,先要检查是否是有一些业务上的推广导致的流量增加。如果不是业务推广,却突然产生了大量的异常流量,则很可能是被恶意攻击或者刷流量导致,需要定位客户端来源信息来加以防护。通常是借助CDN提供的监控统计以及日志来加以分析。

一.监控统计
CDN控制台提供了监控统计分析,包含七个部分:PV/UV、Top客户端IP、地区和运营商、域名排名、热门Referer、热门URL、热门URLs(回源)、域名排行。用户可以导出原始详细数据,如网络带宽、流量、域名按流量占比排名以及访客区域、运营商分布等。用户可以通过这些监控统计分析客户端的来源信息、请求URL、Top客户端等信息。其中中等是分析Top客户端IP以及Top Referer信息,具体可以看如下图

CDN流量异常分析以及安全防护

CDN流量异常分析以及安全防护

注意:Referer为"-"则表示是空Referer的请求。


二.日志分析
CDN控制台的显示统计分析报表数据会有延迟,对于正在发生的恶意刷流量或攻击行为,往往无法获取实时的信息,这种情况下需要借助CDN提供的日志来分析定位客户端的来源信息。目前CDN提供的日志分为两种:离线日志和实时日志。
(1)离线日志:默认开启,日志文件延迟一般情况下延迟在24小时之内,但是也有可能超过24小时。登录CDN控制台,下载日志文件,日志相关字段说明请参日志下载。可以借助Linux命令来分析日志,例如执行如下命令,查询访问量前十的IP:

 
cat [$Log_Txt] | awk '{print $3}' |sort|uniq -c|sort -nr |head -10

用同样的方法可以分析访问量前10的Top Referer、URL信息,更多请参考日志分析

(2)实时日志:属于计费服务,默认不开启,需要手动开启,日志数据延迟不超过3分钟。阿里云CDN通过与日志服务融合,将采集到的实时日志实时推送至日志服务,并进行日志分析。通过日志的实时分析,用户可以快速发现和定位问题。除此之外,通过对日志数据的挖掘,提高数据的决策能力,将您的业务推向一个新的高度,更多请参考实时日志帮助文档。


安全防护

通过分析出客户端来源信息以后,可以按照以下处理流程图来处理

CDN流量异常分析以及安全防护

(1)配置IP黑白名单:通过监控统计分析和日志查看是否存在异常IP地址访问资源。如果有短时间大量访问的恶意IP地址,请将IP地址配置为黑名单。
(2)配置Referer防盗链:该功能是根据HTTP请求的Referer字段来对请求来源的域名进行筛选和链接。CDN支持三种防盗链设置:白名单、黑名单以及是否允许空refer。防盗链功能主要通过URL过滤的方法对来源Host的地址进行过滤,其中黑名单和白名单只能有一种生效,可以将恶意Referer加入黑名单或将正常业务Referer加入白名单,通过该功能可以对请求来源进行限制。
(3)配置频次控制:如果恶意IP量比较大且不固定,不容易配置IP黑名单,可以考虑配置频次控制。可以根据实际场景自定义配置频次控制功能,设定单位时间内单IP访问频次超过设定的阈值则触发阻断,通过频次控制功能,可以秒级阻断访问该网站的请求,提升网站的安全性。
(4)配置URL鉴权:URL鉴权功能主要用于保护用户站点的资源不被非法站点下载盗用。通过防盗链方法添加Referer黑名单和白名单的方式可以解决一部分盗链问题,由于Referer内容可以伪造,所以Referer防盗链方式无法彻底保护站点资源。因此,可以采用URL鉴权方式保护源站资源更为安全有效。
(5)配置UA黑白名单:可以通过配置User-Agent黑名单和白名单来实现对访客身份的识别和过滤,从而限制访问CDN资源的用户,提升CDN的安全性。


安全加速

阿里云CDN是公共的加速服务,承载着成千上万的域名加速,默认不提供抗攻击能力。所以当用户域名遭受大量攻击时,CDN系统会自动将对应域名切入沙箱,防止影响其他正常用户的加速服务,域名进入沙箱后,服务质量不再保证且无法恢复,因此做好防护工作十分重要。
(1)对于CC攻击,可以考虑配置WAF防护功能,使用CDN WAF功能不能解决恶意刷流量问题,但是可以防数据泄密,避免因黑客的注入入侵攻击,导致网站核心数据被拖库泄露;阻止木马上传网页篡改,保障网站的公信力;提供虚拟补丁,针对网站被曝光的最新漏洞,最大可能地提供快速修复规则。
(2)如果域名经常遭受攻击,可以根据自身业务需求考虑使用SCDN来做安全加速。SCDN(Secure Content Delivery Network),即拥有安全防护能力的CDN服务,提供稳定加速的同时,深度集成抗DDoS、CC攻击的防护功能。基于阿里云飞天平台的计算能力,使用深度学习的算法,智能预判攻击行为,通过智能的调度系统将DDoS恶意请求平滑切换至高防IP完成清洗,保护源站。


系统监控

CDN被恶意刷流量导致流量异常时,会产生一定的经济损失,因此建议提前做好监控和安全防护工作。通常我们可以通过CDN的带宽封顶功能以及云监控的阈值报警功能来做监控。

一.带宽封顶
带宽封顶功能是指当统计周期(5分钟)产生的平均带宽超出设置的带宽最大值时,为了保护CDN域名安全,此时域名会自动下线,所有的请求会回到源站,CDN将停止加速服务,避免异常流量给用户带来的异常消费。域名下线后,可以在控制台重新启用该域名,具体请参考带宽封顶

注:因为触发带宽封顶以后域名会停止CDN加速,域名会解析到源站,因此相当于会把源站地址暴露出去,这里也带宽安全隐患,因此建议根据实际情况考虑使用启用该功能。

二. 云监控报警规则
结合阿里云的云监控服务,通过设置云监控的报警功能,可以设置带宽峰值和下行流量的报警规则。当流量达到阈值时,系统自动通过电话、短信、邮件等方式通知用户,请及时采取措施。登录云监控控制台,依次选择【报警服务】>【报警规则】>【阈值报警】>【创建报警规则】,选择产品 CDN以后去设定规则。创建针对CDN的报警规则,详情请参见创建阈值报警规则

CDN流量异常分析以及安全防护

上一篇:CDN访问异常篇之404错误


下一篇:阿里云三维空间重建产品商业化发布