WebSphere Kerberos 多跳失败
WebSphere Kerberos multi-hop failing
我们在 Linux 上有一个新的第 3 方应用程序 IBM WebSphere,它为我们的 Windows AD 启用了 SSO 的 SPNEGO。除一种情况外,这按预期工作。
WebSphere 调用现有的 Windows Web 服务,该服务使用直通身份验证,因此最终用户凭据被提供给 SQL 服务器。
此 Windows 设置也有效。
什么不起作用:WebSphere 凭据不会多跳到 SQL 服务器
总结
- Windows 浏览器 -> IIS Web 服务 -> SQL 服务器 = OK
- Windows 浏览器 -> IIS GUI -> IIS Web 服务 -> SQL 服务器 = OK
- Windows 浏览器 -> IBM Web Sphere -> IIS Web 服务 -> SQL 服务器 = 在 "IIS to SQL" 跃点失败
失败:
- 在 IIS Web 服务中,它因 "Cannot generate SSPI context"、不正确的目标主体名称等而失败
- 在 IIS 服务器事件日志中(启用 Kerberos 日志记录)
Error Code: 0x24 KRB_AP_ERR_BADMATCH
Server Realm: XXX.CH.OURDOMAIN.COM
Server Name: MSSQLSvc/oursqlserver.xxx.ch.ourdomain.com:50025
Target Name: MSSQLSvc/oursqlserver.xxx.ch.ourdomain.com:50025@XXX.CH.OURDOMAIN.COM
其他信息
- IIS Web 服务被配置为委托(不受约束)并且它从 Windows 客户端工作
- IBM WebSphere 服务帐户设置为出站约束委派
- 最终用户 SSO 适用于 IBM WebSphere(因此 Kerberos 机制等没问题)
- IBM WebSphere 向 IIS Web 服务验证 OK(同上)
- SQL 服务器的 SPN 正确(也使用 SQL 服务器 Kerberos 工具和 sys.dm_exec_connections 验证)
- 这里的所有步骤都完成了https://www.ibm.com/support/knowledgecenter/en/SSAW57_8.5.5/com.ibm.websphere.nd.doc/ae/tsec_SPNEGO_config.html
- IIS GUI 和 Web 服务在同一台机器上
- 所有 SPN、密钥表、A2D2 设置等都正常
对于从 IBM WebSphere 到 SQL 服务器的直通跃点,我们缺少什么?
这是一个很长的 Kerberos 缓存。
重新启动服务器,修复它。
Linux 管理员曾说过 "No need to reboot: it isn't Windows"
我们在 Linux 上有一个新的第 3 方应用程序 IBM WebSphere,它为我们的 Windows AD 启用了 SSO 的 SPNEGO。除一种情况外,这按预期工作。
WebSphere 调用现有的 Windows Web 服务,该服务使用直通身份验证,因此最终用户凭据被提供给 SQL 服务器。 此 Windows 设置也有效。
什么不起作用:WebSphere 凭据不会多跳到 SQL 服务器
总结
- Windows 浏览器 -> IIS Web 服务 -> SQL 服务器 = OK
- Windows 浏览器 -> IIS GUI -> IIS Web 服务 -> SQL 服务器 = OK
- Windows 浏览器 -> IBM Web Sphere -> IIS Web 服务 -> SQL 服务器 = 在 "IIS to SQL" 跃点失败
失败:
- 在 IIS Web 服务中,它因 "Cannot generate SSPI context"、不正确的目标主体名称等而失败
- 在 IIS 服务器事件日志中(启用 Kerberos 日志记录)
Error Code: 0x24 KRB_AP_ERR_BADMATCH
Server Realm: XXX.CH.OURDOMAIN.COM
Server Name: MSSQLSvc/oursqlserver.xxx.ch.ourdomain.com:50025
Target Name: MSSQLSvc/oursqlserver.xxx.ch.ourdomain.com:50025@XXX.CH.OURDOMAIN.COM
其他信息
- IIS Web 服务被配置为委托(不受约束)并且它从 Windows 客户端工作
- IBM WebSphere 服务帐户设置为出站约束委派
- 最终用户 SSO 适用于 IBM WebSphere(因此 Kerberos 机制等没问题)
- IBM WebSphere 向 IIS Web 服务验证 OK(同上)
- SQL 服务器的 SPN 正确(也使用 SQL 服务器 Kerberos 工具和 sys.dm_exec_connections 验证)
- 这里的所有步骤都完成了https://www.ibm.com/support/knowledgecenter/en/SSAW57_8.5.5/com.ibm.websphere.nd.doc/ae/tsec_SPNEGO_config.html
- IIS GUI 和 Web 服务在同一台机器上
- 所有 SPN、密钥表、A2D2 设置等都正常
对于从 IBM WebSphere 到 SQL 服务器的直通跃点,我们缺少什么?
这是一个很长的 Kerberos 缓存。 重新启动服务器,修复它。
Linux 管理员曾说过 "No need to reboot: it isn't Windows"