首页/安全/渗透测试与安全评估速查/SAML 单点登录配置检查
常见漏洞验证121 条

SAML 单点登录配置检查

SAML 断言需校验签名与受众:检查断言签名、加密配置、受众与时效校验,以及注销与重放防护。

SAML 校验链

SAML 单点登录里,身份提供方签发断言交给服务提供方,服务提供方凭断言内容决定放行谁。断言是明文 XML,靠数字签名保证来源可信、靠受众与时效字段保证不能被挪用。检查的重点就是这条校验链是否完整:签名有没有强制校验、受众是否绑定到本系统、时间窗口是否检查、断言是否只能使用一次。

基本信息

核查对象断言签名、受众限制、时效校验、重放防护
签名要求强制验签,明确允许的签名算法
证书管理证书轮换与过期安排,避免长期使用同一对密钥
传输与配置服务提供方与身份提供方元数据保持一致
边界只做配置核查与受控验证,不改动身份提供方

典型使用场景

  • 上线前核查:确认断言校验项在投产后仍然开启
  • 多方接入评估:不同业务接入同一身份平台时核对受众配置
  • 证书轮换演练:确认轮换后旧断言不再被接受
  • 自查复核:验证开发声称的校验逻辑是否真的生效
  • 故障排查:登录失败时区分是校验策略严格,还是配置错位

核查清单

核查清单
断言是否强制验签,允许哪些签名算法
受众字段是否绑定到本系统标识,防止断言被挪用到其他系统
时间窗口字段是否校验,时钟偏差容忍范围是多少
断言标识是否做一次性消费,防止重放
注销流程是否通知身份提供方,会话是否真正失效

断言要素与校验点

要素作用缺失后果
签名与证书证明断言由可信方签发断言可被伪造
受众字段限定断言的使用对象断言可被挪到其他系统使用
时间窗口限定断言有效时段长期有效断言被重复利用
断言标识支持一次性消费相同断言可重复提交
会话与注销控制登录后的状态注销后会话仍然可用
SAML 配置问题常与身份提供方约定不一致:核查时与身份平台管理员一起看两端配置,比单独看服务提供方更快定位问题。
放宽校验换取兼容性是有代价的:关闭签名校验或扩大时间窗口能解决登录报错,但会同时抹掉断言的可信性基础。

易错点

  • 只看登录成功路径,忽略断言校验配置
  • 证书轮换后旧断言仍被接受
  • 为兼容客户端放宽时钟容忍,时间窗口形同虚设
  • 注销只清本地会话,未通知身份提供方

数据来源与参考

  • OASIS SAML 2.0 规范
  • OWASP SAML Security Cheat Sheet
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌