Token 加固 · 2025 年 1 月
全面禁用 `alg: none`
`alg: none` 原本用于调试,如今常被攻击者利用来绕过签名验证。只要任何系统接受未签名 Token,整条信任链都会被击穿。
常见的出现原因
- 开发者在测试环境关闭验证后忘记恢复。
- 第三方库默认允许 `alg: none`。
- 网关或代理层缺少算法白名单。
三步审计
- 在代码库中搜索关闭验证的配置或参数。
- 在 CI/CD 中添加单元测试,发送 `alg: none` Token,必须返回失败。
- 在网关层配置允许的算法(如 RS256、ES256、HS256)。
检测剧本
每次部署前执行自动化脚本,向关键接口发送未签名 Token。若收到 2xx 响应,则阻止上线。
使用 JWTSecrets 加固
企业版支持为每个服务配置算法白名单,未签名或降级 Token 会被立即拒绝,并生成审计日志。