目的
记一次CDN被恶意刷流量,以及如何配置CDN避免CDN被刷流量。
使用环境
CDN平台:又拍云
CDN配置
1.缓存配置。缓存配置不能选择缓存全部,后台脚本会出问题。缓存设置只缓存静态文件,将后台交互性的文件设置禁止缓存白名单。例:json、php、asp、jsp格式
2.CDN加速模式。CDN加速模式需选择全部加速,否则只加速部分会暴露源IP。
3.参数跟随。参数跟随要选择全部参数跟随,否则例如https://abcd.com/a?abcd.index中”?“后的参数会被过滤不传回源站。
4.设备适配。设配适配Auto_Device需设置关闭,否则手机端访问会出问题。
5.告警监控。1个人较为频繁的访问网站下1天流量通常约为20m。个人小站通常只有5-8人访问,日流量为100m以内较为正常。故告警监控设置为40m(5分钟内流量瞬时值达40m)最合适。
6.防盗链。User-Agent 防盗链开启设置为禁止为空,其它防盗链关闭,不然会出问题。
7.地区访问。开启地区访问,访问地区内屏蔽掉国外IP,因为通常都是国外IP进行恶意攻击。
8.压缩等级。压缩等级最好不要超过3级,设置2级较为合适。
9.HTTP 302调度。开启HTTP 302调度。
事件记录
1.发现近2-3天CDN日志统计流量日均达300-500m。因本站为新建小站,热度及访问量低,正常情况下访客人数如果过多,日流量应当也只会有几十兆,故日均300-500m流量消耗明显异常。
2.查看2024-02-18CDN日志统计,发现流量异常,同一地区定时大量访问,每次消耗60-70m流量:
3.排查CDN日志,详细分析后发现近七天该地区共消耗流量约1G:
4.使用CDN访问分析功能,获取2024-02-17日志,发现同一地区,同一网段,多个连续IP定时大量访问数据(本人测试过,模拟用户访问一次查看页面最多约只需消耗1m流量),数据明显异常:
5.继续使用CDN访问分析功能,获取2024-02-18日志,仍然发现此地区,同一网段,多个连续IP定时大量访问数据:
采取措施
1.将此IP全部记录,加入CDN访问黑名单。
2.开启User-Agent 防盗链,设置禁止User-Agent为空。
3.重新调整CDN告警监控,设置5分钟告警峰值为40m,以便出现高消耗异常情况时及时将异常IP封禁。
最终结果
1.2024-02-19查询CDN日志,流量访问已恢复正常.
总结反思
整理此次事件经过,吸取成功经验。
✔CDN防止刷流量策略
注:普通用户访问频繁情况下消耗流量一般约为20m。
1.进入CDN“服务统计”中,通过CDN的网络访问日志功能查询近几天消耗流量最大的地区。
2.执行以下任务:
if (同地区同宽带消耗流量超过50m)
{
获取并记录该地区和宽带运营商,进入CDN访问分析功能。
if ("CDN访问分析功能显示该地区和宽带运营商所属IP消耗流量排名 > 2" && 该地区IP为同一网段)
{
记录该IP。
if(查询到该IP为高风险)
{
拉黑该IP。
}
if(查询到该IP非个人宽带)
{
拉黑该IP。
}
}
}
评论区