none
有关NTLM验证的疑问 RRS feed

  • 问题

  • 根据我的理解,NTLM同样只适用于域环境吧?因为质询/响应的方式,服务器端需要将challenge拿去给DC看,那么在workgroup环境下,没有DC角色如何进行NTLM验证?
    2014年11月11日 16:33

答案

  • 你好!

    NTLM 既可以用于workgroup环境,也可以用于域环境。

    用户记录存储在安全帐户管理器 (SAM) 数据库(workgroup环境)中或 Active Directory 数据库中(域环境)。

    如果是workgroup环境的,会由本地的SAM来验证用户所输入的凭据是否有效。

    详细信息,请参考以下文章,

    在 Windows 的 NTLM 用户身份验证

    http://support.microsoft.com/kb/102716

    希望这对你有帮助。



    Steven Lee

    TechNet Community Support

    2014年11月12日 12:01
    版主

全部回复

  • 你好!

    NTLM 既可以用于workgroup环境,也可以用于域环境。

    用户记录存储在安全帐户管理器 (SAM) 数据库(workgroup环境)中或 Active Directory 数据库中(域环境)。

    如果是workgroup环境的,会由本地的SAM来验证用户所输入的凭据是否有效。

    详细信息,请参考以下文章,

    在 Windows 的 NTLM 用户身份验证

    http://support.microsoft.com/kb/102716

    希望这对你有帮助。



    Steven Lee

    TechNet Community Support

    2014年11月12日 12:01
    版主
  • 如果用户靠本地SAM库验证的话是什么机制呢?首先用户将明文的username发给要访问的服务器,服务器送回一个challenge,然后用户用本地密码哈希值加密这个challenge形成response,然后发给谁?自己给自己验证?
    2014年11月12日 15:16
  • 你好!

    这个response依然是发给服务器。

    域环境和工作组环境的区别是:

    如果是域环境的话,服务器会将以下三部分信息转发给域控制器,并由域控制器返回该用户是否合法。

    1. 用户名
    2. 服务器发送的原始challenge
    3. 服务器收到的客户端返回的response

    如果是工作组环境的话,服务器将会在本地处理。机制和转发给域控制器相同:用该用户名所对应密码的哈希值来加密原始challenge,如果加密结果和客户端返回的response相同的话,则认为用户是合法的。

    另外,如果是域环境的话,身份验证优先采用Kerberos。

    以下文章详细的说明了NTLM在本地验证时的过程以及域环境下Kerberos验证的过程,

    How Interactive Logon Works(交互式登陆是如何工作的)

    http://technet.microsoft.com/en-us/library/cc780332(v=WS.10).aspx

    希望这对你有帮助!



    Steven Lee

    TechNet Community Support

    2014年11月16日 14:56
    版主
  • 感谢回复,但我仍有一点疑惑,工作组环境下,服务器是如何拿到用户密码哈希值的呢?如果是域环境,DC肯定会保存所有用户密码哈希值,但是工作组环境下客户端是在哪一步骤中将密码哈希值信息发给到服务器呢?谢谢
    2014年11月17日 1:38
  • 你好!

    在工作组环境下,用户名密码是存在服务器本地的SAM数据库中的。

    换一种说法,能用来在该服务器登陆的账户都是该服务器的本地账户。由于账户本身是在服务器创建的,又怎么会没有密码的哈希值呢?

    希望这对你有帮助!



    Steven Lee

    TechNet Community Support

    2014年11月17日 2:16
    版主
  • 哦也是哈。。。。谢谢
    2014年11月19日 14:16