配置自定义记录日志Trace ID
在处理复杂的Web应用时,开发人员和安全团队经常面临WAF日志与业务日志脱节的问题,导致在安全攻击、接口异常或访问异常发生时难以快速定位问题根源。
自定义记录日志Trace ID支持根据实际业务自定义请求头或响应头字段,提取并记录到WAF日志的custom_traceid字段中,通过统一Trace ID串联前端、WAF、网关、后端服务全链路,解决WAF日志与业务日志脱节的痛点,实现WAF日志与业务日志的联动关联,大幅提升日志追踪、问题排障与安全溯源的效率。
原理介绍
- 字段提取:当业务请求经过WAF时,WAF会根据您配置的规则,从请求头或响应头中,提取指定的自定义字段内容。
- 日志写入:WAF将提取到的字段内容,统一写入日志的custom_traceid字段,与WAF默认日志字段(如访问IP、请求方法、防护动作等)关联存储。
- 日志流向:包含custom_traceid的WAF日志,会同步至华为云日志服务(LTS),支持后续检索、分析与可视化。
- 性能保障:整个提取、写入过程为轻量级操作,仅对日志进行补充记录,不修改业务报文、不增加额外延迟,开启后对WAF处理性能几乎无影响。
典型应用场景
| 场景 | 场景说明 | 解决方案 |
|---|---|---|
| 微服务全链路追踪 | 业务采用微服务架构(前端→CDN→WAF→网关→多个后端服务),当某一接口出现超时、报错时,需要快速定位问题出在哪个环节。 | 业务系统在前端请求中携带自定义Trace ID,并在网关、后端服务中透传该字段;开启WAF自定义Trace ID配置,提取该字段写入WAF日志;通过该Trace ID,可串联前端日志、WAF日志、网关日志、后端服务日志,快速定位问题环节(如WAF拦截、网关转发异常、后端服务报错)。 |
| 安全事件溯源 | WAF检测到攻击请求(如SQL注入、XSS)并拦截,需要定位该攻击请求对应的原始业务用户、访问路径,排查攻击来源。 | 业务系统将用户ID、会话ID等信息融入自定义Trace ID,WAF提取该字段写入日志;当发生攻击事件时,通过WAF日志中的custom_traceid,可关联业务日志,定位发起攻击的用户、访问时间、访问页面,为安全溯源提供依据。 |
| 运维排障(接口异常定位) | 业务反馈某一接口偶发5xx错误,但后端服务日志未发现异常,需要排查是否是WAF拦截、请求转发异常导致。 | 通过业务日志中的自定义Trace ID,检索WAF日志中的custom_traceid,查看该请求在WAF的处理记录(如是否被拦截、请求头是否异常、转发是否成功),快速判断WAF是否为问题根源,避免盲目排查。 |
| 合规审计 | 金融、医疗等需合规的行业,要求对每一条业务访问记录进行精准追溯,确保可审计、可核查。 | 自定义Trace ID包含审计所需的关键信息(如用户ID、操作时间、操作内容),WAF日志记录该字段后,可与业务审计日志联动,形成完整的访问审计链路,满足合规要求。 |
约束条件
- 云模式-CNAME接入、独享模式:支持该功能。
- 云模式-ELB接入:不支持。Trace ID需要WAF主动向请求头注入唯一标识。ELB接入为旁路模式,无报文修改能力,无法注入追踪ID。
配置自定义记录日志Trace ID
- 登录Web应用防火墙控制台。
- 在控制台左上角,单击
图标,选择区域或项目。 - (可选) 如果您已开通企业项目,在左侧导航栏上方单击“按企业项目筛选”下拉框,选择您所在的企业项目。完成后,页面将为您展示该企业项目下的相关数据。
- 在左侧导航栏,单击“网站设置”。
- 在“网站设置”页面,单击目标网站域名。
- 在“高级配置”区域,单击“自定义记录日志Trace ID”下的“修改”,选择“记录类型”后,填写对应的“自定义参数”。 图1 自定义记录日志Trace ID
完成以上配置后,访问防护网站,在LTS中查看访问日志中是否存在custom_traceid字段,且对应的value值为已配置的值。在LTS中查看访问日志的方法,请参见通过LTS记录WAF全量日志。
