本文总结了基于阿里云环境对透明代理场景下的日志采集与展示策略,并给出可执行的查询、告警与排查流程,帮助运维和安全工程师在出现异常时快速还原请求链路、定位根因并控制存储与成本。
在透明代理模式中,阿里云waf并不改变客户端与后端的连接方式,但会记录完整的流量元数据。常见日志字段包括时间戳、客户端IP(通过X-Forwarded-For还原)、目标URL、HTTP方法、状态码、响应时间、策略ID、触发规则与风险类型。理解这些字段有助于后续的日志可视化与故障排查,比如用状态码与响应时间交叉筛选性能问题或安全拦截误报。
推荐先将WAF日志推送到阿里云日志服务(SLS),再通过SLS的可视化或导出到ES/Kibana、Grafana、DataV等工具实现图表展示。具体步骤:在WAF控制台开启访问日志与攻击日志,配置目标为SLS日志库;在SLS中建索引与解析规则(包含X-Forwarded-For解析);按需设置日志采样与字段提取。采用这种链路,既能实现实时仪表盘,也便于后续按IP、URL、规则ID做聚合分析。
若发现日志不完整,优先在以下几处核查原始请求链:负载均衡(SLB/ALB)访问日志、后端应用服务器日志、以及WAF的原始请求记录(若开启)。透明代理常见问题是客户端IP未正确传递,检查SLB是否保留了X-Forwarded-For头,后端是否被网络设备或中间代理覆盖。将三处日志按时间戳、请求ID或URI关联,可以还原完整请求路径,定位是WAF未记录还是上游丢失。
日志丢失常见原因包括:WAF日志开关未启用、采样策略导致部分请求未入库、SLS写入失败或权限问题、网络中间设备剥离头信息等。逐步排查建议:1) 检查WAF日志配置和SLS写权限;2) 在SLB/后端确认同一请求是否存在;3) 查看SLS索引错误与写入延迟;4) 若有协议或头部问题,用抓包或tcpdump对比请求头。排查过程中注意时间同步(NTP)与时区,避免因时间偏差误判。
关键指标包括:单位时间内被拦截/放行请求数、4xx/5xx错误率、平均响应时延、触发特定规则的次数和异常IP增长速率。建议在SLS或云监控中为这些指标设定阈值告警,例如短时(1分钟)QPS突增、5xx率超过1%或某规则触发量急升。告警触发后联动自动化脚本(拉取最近N分钟日志、禁封IP、开短期debug)可以显著缩短故障响应时间。
日志保留策略应在合规与排查需求之间平衡:常见做法是将热数据(最近7-30天)保留在SLS以便实时查询,将历史数据定期归档到OSS或OSS Glacier类冷存储。可通过生命周期规则自动迁移或压缩日志,并在SLS中按规则存储摘要(比如按天聚合的攻击统计),以降低查询成本同时保留关键审计数据。
典型查询思路:以时间窗口为单位,先用聚合统计找到异常指标(如异常IP数、某URL的错误率),再基于规则ID或URI做筛选,按client_ip、user_agent、请求referer分组,看是否为单点攻击或爬虫。在SLS可用DSL或预定义视图实现这一流程。结合trace id或请求id可在WAF、SLB、后端日志之间做精确联动,快速锁定影响面。
