目的
记一次CDN被恶意刷流量,以及如何配置CDN避免CDN被刷流量。
使用环境
CDN平台:又拍云
CDN配置
1.缓存配置。缓存配置不能选择缓存全部,后台脚本会出问题。缓存设置只缓存静态文件,将后台交互性的文件设置禁止缓存白名单。例:json、php、asp、jsp、xml(抓取站点rss文章)格式
2.CDN加速模式。CDN加速模式需选择全部加速,否则只加速部分会暴露源IP。
3.参数跟随。参数跟随要选择全部参数跟随,否则例如https://abcd.com/a?abcd.index中”?“后的参数会被过滤不传回源站。
4.设备适配。设配适配Auto_Device需设置关闭,否则手机端访问会出问题。
5.告警监控。1个人较为频繁的访问网站下1天流量通常约为50m。故告警监控设置为80m(当前IP在5分钟内流量瞬时值达80m)最合适。
6.防盗链。User-Agent 防盗链开启设置为禁止为空,其它防盗链关闭,不然会出问题。
7.HTTP 302调度。开启HTTP 302调度。
8.参数顺序识别。关闭。
9.浏览器缓存配置。/*.(png,jpg,mp4,mp3,jpeg,webp,ico,svg,woff2)缓存时间365天。
10.智能压缩。关闭。
11.页面压缩。关闭。
12.重定向跟随。关闭。
13.webp自适应。关闭。
14.h265自适应。关闭。
15.地区访问限制。关闭。
16.WAF保护。开启。
17.CC防护。开启,添加白名单。
18.IP访问限制。开启,将刷流量IP拉黑。
事件记录
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分钟告警峰值为80m,以便出现高消耗异常情况时及时将异常IP封禁。
最终结果
1.2024-02-19查询CDN日志,流量访问已恢复正常.
总结反思
整理此次事件经过,吸取成功经验。
✔CDN防止刷流量策略
注:普通用户访问频繁情况下消耗流量一般约为50m。
1.进入CDN“服务统计”中,通过CDN的网络访问日志功能查询近几天消耗流量最大的地区。
判定方式:同一地区连续3天日均流量消耗超过600m以上则为异常,进入下一环节。
2.执行以下任务:
//进入CDN“访问分析”中,分析异常地区单个IP日均消耗流量。
if (异常地区IP连续3天出现日均消耗流量超过50m || 异常地区相同网段IP连续3天出现累计消耗流量超过50m)
{
记录该IP。
if(查询到该IP为高风险)
{
拉黑该IP。
}
if(查询到该IP非个人宽带)
{
拉黑该IP。
}
else
{
持续观察。
}
}
}
评论区