WAF日志怎么查看?攻击日志分析入门

速读摘要:WAF 日志记录了每一次攻击请求的完整信息——时间、源 IP、URI、攻击类型、处置动作、命中规则等。分析日志是规则调优和攻击溯源的基础。本文讲清日志的关键字段含义、分析流程和几个实用的排查角度。
WAF 日志怎么看?
WAF 配置与管理篇 · 第 44 问 · 主机吧 WAF 知识库

一、为什么必须看日志

很多站长开了 WAF 就再也没看过日志。结果两个问题:一是规则误杀了正常流量,业务受影响却不知道;二是攻击在持续,但规则没配好,一直没拦住。

日志是 WAF 的”体检报告”,定期看才能发现问题和优化方向。

二、日志里的关键字段

字段说明重点关注
时间戳请求发生的具体时间攻击是否有周期性
源 IP攻击来源是否集中在少数 IP/网段
请求方法GET/POST 等异常方法(PUT/DELETE)
URI请求路径被打的是什么页面
请求头UA、Referer 等UA 是否伪装
攻击类型分类标签主要威胁是什么
命中规则规则 ID 或名称哪条规则在起作用
处置动作拦截/放行/验证拦截率如何
响应码403/200/302 等业务是否受影响

三、日志分析的五个角度

3.1 时间维度:看趋势

把日志按小时聚合,画个柱状图。正常业务有规律(白天高、夜里低),如果某个时间点突然飙升,就是攻击或异常。

# 统计每小时请求数(源站 Nginx 日志示例)
awk '{print $4}' /www/wwwlogs/access.log | cut -d: -f2 | sort | uniq -c

# 统计每小时的 403(被 WAF 拦)数量
grep " 403 " /www/wwwlogs/access.log | awk '{print $4}' | cut -d: -f2 | sort | uniq -c

3.2 来源维度:看 IP 排行

# 访问量 Top 20 的 IP
awk '{print $1}' /www/wwwlogs/access.log | sort | uniq -c | sort -rn | head -20

# 被拦截 Top 20 的 IP
grep " 403 " /www/wwwlogs/access.log | awk '{print $1}' | sort | uniq -c | sort -rn | head -20

3.3 目标维度:看 URI 排行

# 被访问最多的路径 Top 20
awk '{print $7}' /www/wwwlogs/access.log | sort | uniq -c | sort -rn | head -20

# 关注这些异常路径:
#   /wp-login.php   → 后台爆破
#   /.env           → 敏感文件扫描
#   /xmlrpc.php     → WordPress 接口滥用
#   /phpmyadmin     → 数据库面板探测

3.4 类型维度:看攻击分类

WAF 控制台通常有”攻击类型分布”图表,一眼看出主要是 SQL 注入、XSS 还是 CC。这直接决定了你该加强哪类防护。

3.5 处置维度:看拦截效果

统计”拦截/总攻击”的比例。如果某类攻击大量是”放行”状态,说明规则没配好,需要调整。

四、U-A 分析:识别攻击者画像

# 统计 UA 分布 Top 20
awk -F'"' '{print $6}' /www/wwwlogs/access.log | sort | uniq -c | sort -rn | head -20

# 可疑 UA 特征:
#   python-requests/2.x    → Python 脚本
#   curl/7.x               → 命令行工具
#   (空或 -)               → 未设置 UA
#   Mozilla/4.0 (compatible; MSIE 6.0) → 老掉牙的伪装

五、日志的留存与合规

  • 建议留存至少 180 天(等保要求)
  • 日志集中存储,避免只存在单台服务器上
  • 敏感信息(密码、Token)在日志中做脱敏
  • 定期备份,防止攻击者入侵后删日志
  • 有条件的话发送到 SIEM/日志平台做关联分析

六、小结

WAF 日志的价值在于”看见”:看见攻击在发生、看见规则在拦截、看见误伤在出现。掌握”时间/来源/目标/类型/处置”五个分析角度,配合几条 awk 命令,就能快速摸清自己站点的安全态势。

给TA打赏
共{{data.count}}人
人已打赏
在线客服
在线客服
热线电话
QQ客服
电子邮箱
suduwangluo