CDN防刷——之监控告警

随着互联网的快速发展,CDN(内容分发网络)已经成为网站性能优化的关键组件。然而,一些攻击者会恶意刷流量,从而产生大量的流量账单和费用,从而给网站带来不必要的损失和巨额账单,因此采取必要的防刷策略是很有必要的。

操作背景

目前腾讯云 CDN 提供的防刷手段包括 IP 限频、IP 黑白名单、带宽或流量封顶等等,但除此之外,监控报警也是防刷中的重要一环,监控可以帮助用户迅速发现流量异常情况,并及时告警提醒用户对异常流量进行处理,以免产生高额账单或达量封顶后暂停服务影响正常业务。

操作步骤

本文将指导您使用腾讯云可观测平台对 CDN 流量和带宽进行监控告警。

配置告警基本信息

1.登陆腾讯云可观测平台-告警管理,并点击新建策略。

策略管理

2.配置告警基本信息

基本信息

说明: 策略名称:填写告警策略的名称,可根据实际需要进行配置,便于告警通知时进行区分; 备注:可根据实际需要进行填写; 监控类型:云产品监控; 策略类型:CDN-CDN域名国内(根据业务实际情况填写); 策略所属项目:根据实际需要选择设置,无需设置可默认; 所属标签:根据实际需要选择设置,无需设置可留空;

配置告警规则

完成告警信息配置之后,配置告警规则,在这里我们主要监控带宽和流量两个指标,从而对异常流量进行判断

告警规则
步骤一:告警对象的选择

选择需要监控的CDN域名,并点击确定保存

选择告警对象
步骤二:配置触发条件
方式一:动态阈值(推荐)

告警管理中的动态阈值告警功能,依托于腾讯云时间序列智能异常检测方案(Intelligent Anomaly Detection,IAD),采用业内领先的机器学习技术并结合业务特性来学习指标数据的历史变化规律,在不需要用户设定阈值的情况下,为您智能地检测指标异常并发送告警,操作和学习成本较低。

动态阈值需要您选择灵敏度,一般来讲保持默认的中灵敏度即可,否则可能会收到较多的告警信息,对告警接收人造成打扰。

动态阈值
方式二:手动配置阈值

1.此处勾选启用告警分级功能,其他保持默认即可

策略配置

2.配置告警阈值

可点击小箭头查看过往数据,根据正常业务量配置不同等级的告警规则。

配置告警阈值
步骤三:配置告警通知模板

在此处选择告警通知模板,包括通知方式、接受告警人员等信息,腾讯云目前支持短信、电话、微信、企业微信、接口回调等多种方式进行触达,具体可以参考https://cloud.tencent.com/document/product/248/50410。

告警模板

效果验证

这里可以自己给自己刷一波流量,但笔者7月份刚被攻击过,直接放旧图了

邮件通知

建议配置一下电话告警,以便被刷的时候及时收到通知。

告警后的处置

以下处置方式没有先后顺序

通过业务日志判断异常请求

可前往日志服务查看,可以分析判断请求IP非常集中、访问频率过高等请求,并针对性的配置QPS、IP封禁等;

查看日志

配置带宽或流量封顶

带宽封顶

设置黑白名单及QPS

IP限频

配置下行限速

通过对单链接下行速度的设置,一定程度上控制 CDN 访问带宽。

下行限速

UA黑白名单配置

一些恶意请求的来源可能是Python采集器等自动化证书,这时我们可以通过屏蔽UA的方式来拦截部分攻击,当然这个方式不一定会有效,有经验的攻击者通常会伪造UA

UA黑白名单

配置区域访问限制

通常来讲大部分的攻击流量都来源于海外,这时我们可以配置区域限制拦截海外的请求https://console.cloud.tencent.com/cdn/plugins。

区域访问控制