Windows 集成 (NTLM) 身份验证与 Windows 集成 (Kerberos)
Posted
技术标签:
【中文标题】Windows 集成 (NTLM) 身份验证与 Windows 集成 (Kerberos)【英文标题】:Windows integrated (NTLM) authentication vs Windows integrated (Kerberos) 【发布时间】:2011-10-08 08:03:57 【问题描述】:Windows 集成 (NTLM) 身份验证和 Windows 集成 (Kerberos) 有什么区别?
如何在 IIS6 中实现这些
w.r.t. MSDN
【问题讨论】:
另见serverfault.com/questions/254813/… 【参考方案1】:Kerberos 和 NTLM 是用于验证用户密码的不同算法,无需向服务器透露密码。有关NTLM 和Kerberos 的更多信息,请访问***。
如果您启用 Windows 身份验证,通常会首选 Kerberos,如果不可用,它将回退到 NTLM。
NTLM 仅需要客户端与 Web 服务器通信才能进行身份验证。 Web 服务器处理与域控制器的通信。对于无法从 Internet 访问 DC 的公共站点来说,这是一个优势。不幸的是,NTLM 使用的密码学已经过时,不再被认为是安全的。 NTLM 只能通过 https 使用。 Kerberos 需要客户端从域控制器获取票证,这使得它更适合 Intranet 场景。然而,Kerberos 更安全并且可以处理委托,其中 Web 服务器可以使用客户端的身份访问其他资源(例如文件服务器)。【讨论】:
【参考方案2】:这是一个很好的链接:
http://msdn.microsoft.com/en-us/library/aa480475.aspx
这还会显示 kerberos (Negotiate) 是否开启(在您的网络服务器上):
cscript adsutil.vbs get w3svc/nnn/NTAuthenticationProviders
注意:nnnn 是 MetaBase 站点 ID
过去,kerberos 给我带来了一些问题(当用户拥有太多权限时)导致“400 Bad Request”错误
见: http://blogs.technet.com/b/surama/archive/2009/04/06/kerberos-authentication-problem-with-active-directory.aspx
【讨论】:
【参考方案3】:NTLM(Windows 质询/响应)是在包括运行 Windows 操作系统的系统和独立系统在内的网络上使用的身份验证协议。NTLM 凭据基于交互式登录过程中获得的数据,并由域名组成、用户名和用户密码的单向哈希。
Kerberos 是一种基于票证工作的计算机网络身份验证协议,允许通过非安全网络进行通信的节点以安全的方式相互证明其身份。它基于客户端-服务器模型工作,并提供相互验证——用户和服务器都验证彼此的身份。
请参阅以下链接以获得清晰的信息。
http://msdn.microsoft.com/en-us/library/windows/desktop/aa378749(v=vs.85).aspx
http://technet.microsoft.com/en-us/library/cc780469(v=ws.10).aspx
http://windowsitpro.com/security/comparing-windows-kerberos-and-ntlm-authentication-protocols
【讨论】:
【参考方案4】:Kerberos 可以被认为是比 NTLM 更好的选择: 1. 更快的身份验证 2. 相互认证 3. Kerberos 是一个开放标准 4.支持认证委托
以下链接是我研究此主题的最佳答案:
Comparing Windows Kerberos and NTLM Authentication Protocols
【讨论】:
以上是关于Windows 集成 (NTLM) 身份验证与 Windows 集成 (Kerberos)的主要内容,如果未能解决你的问题,请参考以下文章
Safari 访问受 Windows 集成身份验证 (aka NTLM) 保护的网站时出现问题
NTLM 身份验证 - 在 PHP 中获取 Windows 登录名、域和主机