【问题标题】:Confusion about Kerberos, delegation and SPNs对 Kerberos、委派和 SPN 的困惑
【发布时间】:2010-03-15 11:33:18
【问题描述】:

我正在尝试编写一个执行 Kerberos 委派的概念验证应用程序。我已经编写了所有代码,并且似乎可以正常工作(我的身份验证很好),但是生成的安全上下文没有设置 ISC_REQ_DELEGATE 标志。

所以我在想也许其中一个端点(客户端或服务器)被禁止委托。但是,我没有针对 SPN 进行身份验证。只有一个域用户对抗另一个域用户。作为InitializeSecurityContext() 的SPN,我传递了“someuser@mydomain.lan”(这是运行服务器应用程序的用户帐户)。据我了解,域用户默认启用委派。反正我让管理员查了,“账号敏感,不能委派”复选框是关闭的。

我知道如果我的服务器作为网络服务运行并且我使用 SPN 连接到它,那么我需要 AD 中的计算机帐户选中“信任计算机以进行委派”复选框(默认情况下关闭),但是……事实并非如此,对吧?还是这样?

另外 - 设置计算机帐户中的复选框后,更改会立即生效,还是必须重新启动服务器 PC 或等待一段时间?

【问题讨论】:

  • Vilx 也在ServerFault 上发布了此消息。为了他人的利益,在此处链接。 :)

标签: kerberos sspi spn


【解决方案1】:

根据this ISC_REQ_DELEGATE 仅在您使用约束委派时才会被忽略。我很确定要发生约束委派,您必须明确说明允许帐户在 Active Directory 中委派给哪些服务(AD 管理单元中用户或计算机的委派选项卡)。

我不确定使用 UPN 与 SPN 的规则。您是否尝试过打开Kerberos event logging 并查看事件日志?这些消息通常很神秘,但通常可以破译。

您对网络服务场景的描述是准确的。委托信任默认关闭,但 NETWORK SERVICE 可能有权自行注册 SPN(我认为这可以通过组策略确定)。

当您勾选此框时,更改会立即发生,但可能必须在域中的所有域控制器中传播(我通常在具有单个 DC 的测试域中进行测试)。所以,重启你的服务应用就足够了,你不需要重启。

Curb 票证驻留在客户端计算机上。它们有过期时间,可以使用 klist 或 kerbtray 手动刷新。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-01-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多