全部产品
Search
文档中心

CDN:防范流量盗刷最佳实践

更新时间:Aug 21, 2024

当您的域名因被恶意攻击或流量被恶意盗刷,产生了突发高带宽或者大流量消耗,导致产生高于日常消费金额的高额账单。因恶意攻击或流量盗刷产生的高额账单无法免除/退款,为尽量避免此类风险,本文为您介绍这一类情况的应对办法。

及时止损

当您已经发现域名因被恶意攻击或流量被恶意盗刷,并且产生了高额账单,请先设置带宽上限和单请求限速,以此来减少进一步的损失,设置完成后再进一步分析日志做出针对性的安全设置。

控制带宽用量

通过设置带宽上限,来控制带宽用量。当指定加速域名在统计周期(1分钟)内产生的平均带宽超出预设上限,CDN将停止为该域名提供加速服务,且该域名会被解析到无效地址offline.***.com,无法继续访问。因此设置带宽封顶带宽值时,可根据日常业务峰值预留适当带宽空间。具体操作请参见配置带宽封顶

image

限制下行速率

通过配置单请求限速,对用户访问到CDN节点的所有请求进行下行速率限速,以此来压制加速域名的全网带宽峰值。具体操作请参见配置单请求限速

image

分析原因

查询账单明细,确认流量异常的时间段

您可以在费用与成本明细账单页面查看云产品相关的消费明细。根据实际需求选择统计维度和统计周期,查看不同维度的报表。详细操作请参见明细账单

统计周期选择明细产品选择CDN,仔细审查账单,注意流量和带宽的异常增加,以及流量异常的时间段。具体请参见账单查询

检查日志文件,识别异常流量

基础查询:离线日志

通过下载离线日志,查看相关时间段的访问日志,分析HTTP请求的详细信息,识别可疑的IP地址、User-Agent等。离线日志字段数据相对较少,如果您想查看更多数据,可使用实时日志功能。

获得离线日志文件后,您可以使用命令行工具来快速解析日志文件,提取访问量TOP10的IP地址或User-Agent等信息,详情请参见CDN访问日志的分析方法

进阶查询:运营报表和实时日志

重要
  • 运营报表需定制后才会进行生产统计分析,如果您之前已配置过实时日志推送或订阅运营报表,您可以查看到过去的日志信息。运营报表为CDN自带免费功能,无需额外付费。

  • 实时日志需要开通日志服务(SLS)并成功投递日志后,才会生成实时日志。实时日志为付费功能,具体计费请参见计费详情

  • 实时日志和运营报表均需要提前配置,如果您在产生高额账单之前未配置过这两项功能,只能通过离线日志进行历史数据分析。

运营报表

定制运营报表后,您可以看到用户访问的PV/UV地区和运营商域名排行热门referer热门URL回源热门URLTop客户端IP等报表内容。具体操作请参见定制和订阅运营报表

image

实时日志

如果您想查询更多日志信息,例如Referer和URI等信息,需要开通日志服务SLS,将采集到的实时日志实时推送至日志服务。开启实时日志,并成功投递日志后,根据日志投递条数产生计费。

  1. 参考配置实时日志推送为需要分析用户访问数据的CDN加速域名配置实时日志推送。

  2. 在实时日志功能页面找到需要分析日志的Project名称,单击日志分析

    image

  3. 进入日志分析页面,在右上角过滤时间段,单击左侧原始日志页签,找到refer_domain字段,您可以看到由高到低排列的Referer信息。

    image

解决问题

当您获取到了日志或报表数据后,您可以通过数据特征来分析攻击类型。通常您可以分析Top信息(Top IP、Top User-Agent、Top Referer等)提取特征。

限制可疑IP访问

通过配置IP黑名单,限制访问源IP。分析日志后,筛选出一些可疑的攻击IP,您需要将这些可疑的IP地址列入黑名单。具体操作请参见配置IP黑白名单

image

过滤可疑User-Agent

攻击者通过伪造User-Agent字段发送大量请求,试图绕过安全检查。伪造的User-Agent可能是空值、随机字符串或常见浏览器的伪造字符串。您可以配置User-Agent白名单或黑名单,拒绝非正常的User-Agent请求。例如,拒绝空User-Agent或不符合规范的随机字符串,您可以使用参数this-is-empty-uaRandomString分别来表示空User-Agent和随机字符串。具体操作请参见配置UA黑白名单

image

添加可疑Referer至黑名单

攻击者在请求头中伪造Referer字段,以假冒合法的引用来源,进行恶意请求。配置Referer黑白名单,允许合法的Referer访问,防止未经授权的第三方网站链接到资源,拒绝带有恶意Referer的请求。在规则输入框中填写日志中查询出的异常Referer,建议勾选忽略scheme。具体操作请参见配置Referer防盗链

image

升级CDN至DCDN开通DCDN-WAF功能

建议您将域名迁移至DCDN产品,并开通DCDN-WAF进行防护。DCDN为您提供集应用加速、边缘计算和安全防护于一体的服务。DCDN-WAF可以配置IP黑白名单、频次控制、Bot防护、CC防护、区域封禁等多项防护规则,有效拦截恶意请求,避免大额异常流量费用产生。

  1. 将域名迁移至DCDN产品,具体请参见将CDN域名升级至DCDN产品。域名在升级之前产生的费用由CDN产品计费,升级之后产生的费用由DCDN产品计费。

  2. 升级至DCDN后,请开通边缘WAF功能。具体请参见开通边缘WAF

  3. 购买WAF资源包。WAF使用SeCU作为费用计量单元,支持按量后付费和资源包抵扣模式。计费详情,请参见边缘WAF计费(新版)

    说明

    新版WAF资源包购买:点击购买

配置WAF防护规则

CC限速

参考配置自定义防护策略完成规则策略配置。

接口访问量突增会触发监控告警,查看实时日志时,在被攻击的时间段内,60秒内单IP对该接口访问量达到3000多次;在未被攻击时间段内,60秒内单IP访问该接口最多只有100次。根据未被攻击时间段内60秒内访问频次的2~3倍配置CC防护策略。

说明
  • 您需要查看实时日志,定位到被攻击的资源,对比攻击时间段和未被攻击时间段内的访问频率,若存在差距可以配置该防护策略。

  • 正常业务中服务器通过公网接口调用资源,如果存在内网IP被集中访问,您需要添加IP不被统计的匹配条件。

  • 您需要根据自身业务和实时日志中攻击者访问频次,调整防护路径和触发防护的阈值,以下是配置案例。

image

配置项

取值示例

说明

规则名称

您自定义的规则名称。名称需符合:

  • 支持使用中文字符、英文字符(大小写)、数字(0~9)及下划线(_)。

  • 最多支持64个字符。

表示当被请求的路径中包含/且不属于目标IP地址时,则请求命中该规则。

匹配条件

  • 匹配字段选择URI逻辑符选择包含匹配内容输入/

  • 匹配字段选择IP逻辑符选择不属于匹配内容输入目标IP地址

频率设置

打开频率设置开关。

表示如果某个客户端IP在60秒内命中匹配条件的次数超过300次,则对该IP触发黑名单处置。

统计对象

选择IP

统计时长(秒)

输入60

统计阈值(次)

输入300

响应码

默认关闭。

表示将命中频率检测条件的统计对象加入黑名单,在3600秒内,对来自该对象的所有请求,执行拦截处置。

黑名单生效范围

选择作用于整个域名

黑名单超时(秒)

输入3600

规则动作

选择拦截

异常UA拦截

参考配置自定义防护策略完成规则策略配置。

说明
  • 针对App场景,正常业务为空UA,则无需使用该策略。

  • 如果UA取值是App名称,需要将UA中正常业务的App名称加入匹配内容。

image

配置项

取值示例

说明

规则名称

您自定义的规则名称。名称需符合:

  • 支持使用中文字符、英文字符(大小写)、数字(0~9)及下划线(_)。

  • 最多支持64个字符。

表示当请求的User-Agent中不包含Android,iPhone,iPad,Mac,Windows,Linux时,则请求被拦截。

匹配条件

  • 匹配字段选择User-Agent

  • 逻辑符选择不等于任一值

  • 匹配内容输入Android,iPhone,iPad,Mac,Windows,Linux

频率设置

默认关闭。

规则动作

选择拦截

异常UA限速

参考配置自定义防护策略完成规则策略配置。

某个域名或接口被攻击者大量访问导致DCDN流量费用突增,查看实时日志发现访问IP分散,但User-Agent非常集中,和正常业务不符。您可以查看未被攻击的时间段,同一个User-Agent的访问量远远低于被攻击时间段。

说明

您需要根据自身业务和实时日志中攻击者特征和频次,调整防护路径和触发防护的阈值,以下是配置案例。

image

配置项

取值示例

说明

规则名称

您自定义的规则名称。名称需符合:

  • 支持使用中文字符、英文字符(大小写)、数字(0~9)及下划线(_)。

  • 最多支持64个字符。

表示当被请求的路径中包含/时,则请求命中该规则。

匹配条件

  • 匹配字段选择URI

  • 逻辑符选择包含

  • 匹配内容输入/

频率设置

打开频率设置开关。

表示如果某个客户端的请求中包含User-Agent,同一个User-Agent中,在60秒内命中匹配条件的次数超过400次,则对该IP触发黑名单处置。

统计对象

选择自定义Header,输入User-Agent

统计时长(秒)

输入60

统计阈值(次)

输入400

响应码

默认关闭。

表示将命中频率检测条件的统计对象加入黑名单,在1800秒内,对来自该对象的所有请求,执行拦截处置。

黑名单生效范围

选择作用于整个域名

黑名单超时(秒)

输入1800

规则动作

选择拦截

拦截异常IP

参考配置IP黑名单完成规则策略配置。

image

爬虫拦截

参考配置Bot管理完成规则策略配置,根据实际需要开启相关防护项。

image

后续防护

设置实时监控

设置对CDN产品下指定域名的带宽峰值监控,达到设定的带宽峰值后将会给管理员发送告警(短信、邮件和钉钉),便于更加及时地发现潜在风险。详情请参见设置报警

设置费用预警

您可以在控制台右上方菜单栏费用选择费用与成本,通过设置以下这三个功能来更好地控制账户的消费额度,避免产生过高的账单。

  • 可用额度预警:您可以设置账户余额低于一定金额时即向您发送短信告警。

  • 启用延停额度:您可以选择关闭该功能,这样在账号欠费时会立即关闭业务,以避免产生更多消费。

  • 高额消费预警:您可以开启预警,设置产品日账单大于预警阈值时将会发送短信告警。

说明

为了保证计量数据统计的完整性,确保账单的准确性,CDN产品需要在记账周期结束后大约3个小时才能生成实际的账单,因此实际扣款时间与对应的资源消费时间存在一定的时延,无法通过账单来实时反馈资源消耗情况,这是由CDN产品自身的分布式节点特性决定的,每个CDN服务商都采用类似的处理办法。