1.
视频业务面对大流量且对时延敏感,单靠CDN本身并不能完全辨识攻击源。
日志是唯一记录请求来源、路径和回源行为的证据链。
通过边缘/CDN回溯与源站日志可以区分真实用户和攻击流量。
结合防火墙、BGP高防和主机日志能定位攻击节点与攻击链路。
本文聚焦于实操日志解析、命令示例与真实案例,便于运维快速响应。
2.
CDN边缘日志:记录边缘节点接收的客户端IP、URI、响应码与时间戳(通常由CDN控制台导出)。
回源日志(CDN向源站回传的请求):显示哪些请求被回源到源站,便于判断穿透情况。
源站access.log:Nginx/Apache记录的真实到达源服务器的请求详细信息。
防火墙/主机网络日志:如iptables/nftables、BGP高防告警日志用于识别流量特征。
操作系统层日志(/var/log/messages、syslog):用于发现异常连接数、系统负载与内核丢包。
3.
第一步:汇总时间窗口,按攻击开始/结束时间截取CDN与源站日志。示例:awk '$4>="[01/Jul/2026:12:00:00"'。
第二步:统计高频源IP:awk '{print $1}' access.log | sort | uniq -c | sort -nr | head -n 20。
第三步:对比CDN边缘和回源日志,识别仅在边缘暴增但未回源的IP段(可能被CDN拦截)。
第四步:查看User-Agent、URI与请求包大小,若大量重复短时小包或相同UA并发为攻击特征。
第五步:利用traceroute/looking glass与BGP数据确认可疑IP段的归属与路径,判断是否存在源地址伪造。
第六步:将可疑IP批量导入阻断列表或提交给CDN厂商进行清洗,再观察日志中回源比与客户端RPS变化。
4.
下面给出一个典型access.log样本并演示统计:
表格展示了样本日志提取的关键字段与统计结果。
通过表格可以快速看到异常IP、请求率与单次请求大小分布,辅助决策。
表格示例后给出命令如何还原该统计。
常用命令:cut、awk、sort、uniq、wc、grep结合时间窗口过滤进行深挖。
| 时间 | 源IP | 方法 | URI | 字节 | UA |
|---|---|---|---|---|---|
| 2026-07-01T12:01:03 | 203.0.113.45 | GET | /video/12345/stream | 1024 | curl/7.68.0 |
| 2026-07-01T12:01:04 | 198.51.100.10 | GET | /video/12345/stream | 1024 | curl/7.68.0 |
| 2026-07-01T12:01:05 | 203.0.113.45 | GET | /video/12345/stream | 1024 | curl/7.68.0 |
5.
背景:某视频平台高峰期被突发HTTP-Flood,CDN告警总带宽峰值达3.2Gbps。
日志对比:CDN边缘日志显示短时间内边缘请求400万次,回源日志仅120万次,表明大部分被CDN清洗。
源站发现:access.log中短时内大量203.0.113.0/24来源请求,单IP并发较高(conn数>200)。
服务器配置示例:源站为4核8GB VPS,Nginx worker_processes 4, worker_connections 4096, keepalive_timeout 10s。
处置结果:封禁可疑IP段、调整CDN清洗策略并临时提高回源限速,30分钟内回源RPS下降70%,服务恢复。
6.
配置建议:Nginx设置limit_conn、limit_req并结合nginx-plus或WAF规则,worker_connections建议≥8192以应对突发。
CDN策略:启用全局与路径级别白名单/黑名单,开启基于UA与URI的速率限制与验证码挑战。
监控建议:持续汇总边缘/回源/源站三类日志,建立每分钟IP热度表与异常告警(阈值如某IP1分钟>500次)。
取证与追责:导出攻击时间段的原始日志、pcap或防火墙会话用于与CDN供应商和ISP协同溯源。
恢复验证:在实施阻断后通过日志再次确认回源流量与错误率下降,确保观众端播放体验恢复。
