用结构化字段和请求标识关联事件,避免把令牌、密码和完整请求正文写入日志,兼顾调查能力与数据保护。

排障时临时开启“记录全部请求”,可能把 Authorization、Cookie 或个人资料复制到更多系统。日志应提前设计,而不是遇到问题后无限增加原始数据。
先定义需要回答的问题
例如“哪次请求触发了拒绝”“配置在什么时候改变”“失败是否集中在某条依赖”。针对问题选择时间、请求标识、服务、动作、对象类别、结果与原因代码等字段。没有明确用途的敏感字段不应因为采集方便就保留。
OWASP 日志指南建议利用交互标识关联事件,并排除或保护访问令牌、密码、会话标识等秘密。跨信任边界的日志输入还需要校验与安全编码,避免换行或分隔符造成日志注入。
建立可复查的字段字典
| 字段类别 | 处理思路 |
|---|---|
| 请求关联 | 使用受控生成或验证后的请求标识 |
| 账号与对象 | 记录最少必要的内部标识,限制访问 |
| 认证秘密 | 默认不写入,避免依赖事后打码 |
| URL 与正文 | 按字段允许清单提取,过滤敏感参数 |
脱敏应覆盖应用、代理、错误追踪和第三方采集端。只在前端日志中隐藏秘密,后端仍完整记录,并不能降低整体暴露。
用测试标记验证数据路径
在隔离环境使用无效的专用测试标记,触发正常请求、认证失败和异常处理,检查它是否出现在不应出现的位置。不要用真实生产令牌作为测试材料。
同时验证日志访问权限、传输保护、留存期限和删除流程。测试采集故障与磁盘接近容量上限时的行为,确保日志系统本身不会轻易拖垮核心业务。最终验收应能用请求标识还原一条事件链,又不需要读取原始秘密。
参考:OWASP:Logging Cheat Sheet。核对日期:2026年10月4日。
