gpt4 book ai didi

active-directory - NTLMv2 和 Kerberos 有什么区别?

转载 作者:行者123 更新时间:2023-12-02 02:52:18 29 4
gpt4 key购买 nike

我的理解:

  • NTLMv1/v2 是 Net-NTLMv1/v2 的简写,因此是同一回事。
  • NTLM(没有 v1/v2)意味着完全不同的东西。
  • NTLM 哈希存储在安全帐户管理器 (SAM) 数据库和域 Controller 的 NTDS.dit 数据库中。
  • Net-NTLM 哈希用于网络身份验证(它们源自质询/响应算法,并基于用户的 NT 哈希)。
  • Kerberos 使用票证进行身份验证

我的问题:

  1. 当您可以使用 Kerberos 代替身份验证(即 SMB)时,为什么要使用 NTLMv2
  2. 为什么您要登录的帐户需要 Kerberos 的 SPN?不能只使用 Kerberos 登录任何帐户吗?
  3. NTLMv2 是否仅用于登录帐户?
  4. NTLMv2 是否用于 SMB?
  5. Kerberos 在 LDAP 中使用,对吧?
  6. 听说 Kerberos 用于从域 Controller 检索资源,有哪些资源?
  7. 为什么仍在使用 NTLMv2,在哪里使用
  8. 除了使用 SPN 登录帐户之外,Kerberos 还用于哪些地方
  9. Kerberos 真正让您登录的是什么?如 hell ?帐号?
  10. NTLMv2 真正让您登录的是什么?如 hell ?帐户?文件共享?
  11. 什么是 SPN,用途和用途

最佳答案

这里有太多问题无法单独回答,所以这里有一个更好的思考方式。

NTLM 是一种 p2p 身份验证协议(protocol)。客户端直接向服务器发送票证,服务器可以直接对其进行验证或将其发送给域 Controller 进行验证。这就是为什么工作组 PC 到工作组 PC 只需用户名和密码即可成功。但是,对于 NTLM,您无法证明您将票证发送到的服务器实际上就是您要将票证发送到的服务器。这意味着没有服务器身份验证,因此也意味着没有相互身份验证。

Kerberos 始终依赖第三台服务器来验证您您尝试验证的服务器。为此,您首先向 KDC(域 Controller )进行身份验证,然后使用生成的票证向目标服务请求新票证。 KDC 使用 SPN 在目录中查找目标服务的详细信息,并将身份加密为只有目标服务知道的 key 。

然后客户端将新票发送给目标服务,服务解密票,然后使用加密票中共享的 key 加密响应给客户端。由于只有指定的服务器才能解密票证(因此可以看到共享的加密 key ),客户端有证据表明它正在与具有给定 SPN 的服务对话。这提供了服务器身份验证,因此提供了相互身份验证。如果您没有 SPN,则无法要求 KDC 创建只有服务器知道的票证。

如果您没有 SPN,则有一个鲜为人知的 Kerberos 流程,称为用户到用户,它需要一个带外进程来交换额外的票证。这很少使用,因为它更复杂并且只是转移了服务器身份验证问题。

这解释了为什么这两种协议(protocol)都存在。 NTLM 存在于没有 KDC 或服务未配置 SPN 的地方。缺点是 NTLM 不太安全。

在 Windows 领域,NTLM 和 Kerberos 大多可以互换,因为它们被包装在一个名为 SPNEGO 的单独协议(protocol)中,这是一种身份验证协商协议(protocol)。通常首先尝试 Kerberos,如果 Kerberos 失败则回退到 NTLM。在大多数情况下,SPNEGO 用于代替 Kerberos 或 NTLM,因此使用 Kerberos 还是 NTLM 完全取决于客户端是否可以获得 Kerberos 票证。

通常总是尝试使用 Kerberos。当您登录到加入域的计算机时,始终使用 Kerberos。无需额外工作即可使用 NTLM,因为它是您输入的凭据的产物。

关于active-directory - NTLMv2 和 Kerberos 有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61744995/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com