1.
方案概述与设计目标
(1)目标:建立基于百度云加速(Baidu Cloud Accelerator)WAF与源站服务器日志的可落地溯源体系,支持事件响应与取证。
(2)范围:覆盖CDN边缘日志、WAF拦截日志、源站Nginx/Apache访问与错误日志、系统审计与网络流量采样。
(3)指标:检测精度(误报率<5%)、响应时效(30分钟内完成初步定位)、日志保存期30天以上(合规可延长至90天)。
(4)部署原则:在不影响业务情况下开启WAF放行与拦截并行策略,保留原始报文头X-Forwarded-For/CF-Connecting-IP等。
(5)产出:标准化告警模板、IP信誉库、溯源流程文档与自动化脚本(日志收集与关联)。
2.
日志采集与格式规范
(1)采集项:时间戳(UTC)、请求方法、URI、状态码、响应时延、客户端IP、上游IP、User-Agent、Referer、WAF规则ID。
(2)格式推荐:使用JSONL或ELF格式,字段名统一(ts, src_ip, method, uri, status, latency_ms, waf_action, waf_rule)。
(3)时间同步:所有节点需启用NTP或chrony,误差小于1秒,便于跨节点事件关联。
(4)传输与存储:日志通过TLS+压缩传至日志聚合平台(例如ELK/Elastic或腾讯日志服务),保存策略分级归档。
(5)隐私合规:IP、Cookie等敏感字段在跨境或长期存储前做脱敏或加密,保留原始日志以备司法请求。
3.
WAF与CDN边缘日志关联策略
(1)边缘日志优先:CDN/WAF拦截记录通常接触到真实客户端IP(由X-Forwarded-For链条确认),作为第一手证据。
(2)串联索引:用请求ID或时间窗口(1秒级)在WAF、CDN和源站日志中建立索引关联,便于回溯单次请求链路。
(3)规则映射:保存WAF规则ID与规则描述映射表,便于快速定位触发类型(SQLi/XSS/命令注入/暴力破解)。
(4)异常流量阈值:设置阈值如同一IP短时间内请求数>1000/分钟即标记为异常并触发速率限制或封禁。
(5)示例字段:waf_action=BLOCK/ALLOW/CHALLENGE,cdn_node=cn-beijing-01,edge_ts=2026-10-09T12:34:56Z。
4.
具体数据演示(日志样例与统计表)
(1)说明:下表为某次WAF拦截汇总样例,展示顶级攻击来源、URI热点与拦截次数便于可视化判断。
(2)采样窗口:2026-10-01 00:00:00 — 2026-10-01 01:00:00(UTC)。
(3)统计口径:仅统计waf_action=BLOCK记录,按源IP与URI聚合。
(4)表格说明:count为触发次数,waf_rule为触发规则ID。
(5)结论示例:IP 203.0.113.45在1小时内对/login.php发起1500次注入型请求,被WAF完全拦截并加入临时封禁列表。
| src_ip |
uri |
waf_rule |
count |
| 203.0.113.45 |
/login.php |
WAF_SQLI_001 |
1500 |
| 198.51.100.22 |
/api/v1/transfer |
WAF_RCE_007 |
420 |
| 192.0.2.88 |
/index.php?search= |
WAF_XSS_003 |
980 |
5.
真实案例:工商站点遭遇自动化注入攻击
(1)背景:某中小企业网站使用百度云加速WAF + 源站为Ubuntu 20.04 + Nginx 1.18,配置为4vCPU/8GB内存VPS。
(2)攻击表现:短时内/login.php与/register.php出现大量POST请求,User-Agent为python-requests/2.25,单IP峰值请求达2000r/m。
(3)处理措施:启用WAF高灵敏度规则、临时上调rate-limit(nginx limit_req_zone),并在CDN层启用挑战(JS挑战)。
(4)溯源步骤:从WAF日志提取攻击IP列表->WHOIS与RDNS->结合CDN边缘节点日志确认请求路径->通过BGP/AS信息判断攻击链属地。
(5)结果:通过封禁并配合ISP/上游运营商进行流量过滤,72小时内攻击量下降95%,业务恢复正常。
6.
源站与防护服务器配置示例
(1)示例Nginx配置(概要):worker_processes auto; worker_rlimit_nofile 65536; limit_req_zone $binary_remote_addr zone=one:10m rate=20r/s;。
(2)系统配置:Ubuntu 20.04, 4vCPU, 8GB RAM, io quota SSD,ulimit -n 调整为65536,sysctl net.ipv4.tcp_tw_reuse=1等。
(3)iptables样例:iptables -A INPUT -p tcp --dport 22 -m conntrack --ctstate NEW -m recent --set --name SSH; iptables -A INPUT -p tcp --dport 22 -m recent --update --seconds 60 --hitcount 10 --name SSH -j DROP。
(4)日志轮换与压缩:使用logrotate每日切割并保留30日,压缩后推送至中央ELK集群或对象存储备份。
(5)自动化脚本:定期从WAF API拉取拦截统计,脚本示例可用Python requests调用百度云加速API列出waf_events并入库。
7.
攻击溯源流程与技术要点
(1)第一层:快速隔离与证据保全,导出WAF原始日志(含头信息)与CDN边缘快照。
(2)第二层:IP信誉与ASN分析,使用whois、Team Cymru等工具解析ASN与运营商信息。
(3)第三层:路径分析,利用tcpdump在源站抓取样本包(非持久抓包),记录三次握手与请求负载。
(4)第四层:多维判定,结合User-Agent、Referer、请求特征(相似payload)判断是否为同一攻击群组。
(5)第五层:跨机构协调,如需继续封堵可向ISP/上游清洗服务提供商提交证据与封堵请求。
8.
运维与后续优化建议
(1)持续调优WAF规则库,结合误报回溯定期调整白名单与自定义规则。
(2)建立SLA告警:当单位时间内触发BLOCK次数超过阈值(例如5000次/小时)自动升级告警。
(3)演练与响应:每季度进行一次模拟攻击演练,验证日志链路与溯源流程是否完备。
(4)长期趋势分析:对30天/90天的日志做聚合,识别慢速扫描与复杂持久威胁。
(5)合规与取证:保留原始日志用于司法取证时遵守本地法律,必要时配合第三方安全团队进行深入溯源。
来源:百度云加速waf防火墙 日志分析与攻击溯源落地方案