2

以下是我对 Kerberos 委托的理解:

1]无限制委托(W2000):Windows 2000 允许授权用户转发 TGT:他请求可转发的 TGT(身份验证服务),然后可以请求转发的 TGT(票证授予服务)。他可能只是将此 TGT(带有会话密钥)转发给服务(krb_cred 消息)。然后,该服务可以代表用户为任何服务请求票证服务,并且反过来也可以将带有用户会话密钥的 TGT 转发到任何其他服务[代理/代理票证超出范围,因为它似乎没有被使用,因为它需要的先决条件],

2]受限委托(自 W2003 起):IT 管理员可以在 AD (SPN) 中配置服务,以授权代表用户为一组服务 (SPN) 请求票证服务:“Allowed-To-Delegate -To" (A2D2) 参数。此外,新的扩展 (S4U2Proxy) 允许服务代表用户为其他服务请求票证服务,因为它能够代表用户为自己提供有效且可转发的票证(因此,这意味着存在不再需要从用户那里获取 TGT 及其关联的会话密钥)。要为自己获得可转发的票证,该服务应标记为“Trusted-To-Authenticate-For-Delegation”(T2A4D),

3]协议转换(S4U2self)(自 W2003 起):服务可以代表用户向 KDC 请求票证服务(为自己),而无需向 KDC 显示任何表明用户已通过 Kerberos 身份验证的证据。这可以通过在 AD 中的 SPN 配置中启用标志“使用任何协议”来完成。然后,如果为此服务设置了正确的标志(T2A4D 和 A2D2),它可以使用约束委派,

4]受约束的跨域委托(自 W2012 起):

¤ 以前无法使用跨域委托(因为无法在 SPN 的当前域之外设置 SPN),现在可以在目标服务而不是源服务上配置授权(从概念上讲,它更多逻辑)。

¤ 可以在目标服务上配置一个特定的 SID ($$),以在用户没有被 KDC 明确认证时授权或不授权委托(这意味着当服务使用其协议转换能力为自己获取票证时):为了使它起作用,这意味着(我猜)授予目标服务的源服务的票务服务包含此信息,

我不清楚的是:

1)阅读MS文章后,我了解到尽管TGT中有明显的“转发”标志,但转发的TGT不能用于进行约束委托。事实上,这与使用自己的 TGT 和自己的票证服务的服务完全不同,因为使用用户的 TGT,服务被认证为请求服务票证的用户。使用票证请求的“地址字段”是否有任何意义,它旨在包含请求者的 iP/DNS 地址(这当然可以修改)?当使用转发的 TGT 时,是否有任何参数可以拒绝票证请求?为什么不使用地址字段(客户端)来检查相关权限?是因为它不可靠(地址可能被欺骗)还是因为它不够精确而无法识别 SPN?

2) 引入 SID ($$) 对我来说意味着可转发的服务票证确实包含特定信息,表明该票证是通过 S42Uself 扩展获得或由用户直接获得的。但是不知道是什么

3)如果转发的 TGT 意味着不能限制委派,它似乎被“弃用”。因此,当我使用 klist(企业环境中的 Windows 10 机器,这适用于两个不同的公司)显示我的缓存票证时,我不明白为什么会有一个可转发的和一个转发的 TGT(因此用于委派)。是标准和推荐的做法还是我错过了什么?

非常感谢您的反馈!!祝你有美好的一天。

蛛形纲。

4

0 回答 0