3

您如何检查 IIS 网站是否成功使用 Kerberos 并且不依赖 NTLM?

4

6 回答 6

4

我发现在您使用 Kerberos 的代码中进行测试的一种方法是 NTLM 的 HTTP_AUTHORIZATION 标头始终以以下内容开头:

Negotiate TlRMTVNTUA

如果标头不是以文本开头,则浏览器正在使用 Kerberos 进行身份验证。

于 2008-11-25T23:24:27.817 回答
4

Fiddler2将指示身份验证标头是 NTLM 还是 Kerberos。

    Authorization Header (Negotiate) appears to contain a Kerberos ticket:
60 82 13 7B 06 06 2B 06 01 05 05 02 A0 82 13 6F  `.{..+..... .o

    WWW-Authenticate Header (Negotiate) appears to be a Kerberos reply:
A1 81 A0 30 81 9D A0 03 0A 01 00 A1 0B 06 09 2A  ¡ 0 ....¡...*
于 2009-03-03T03:58:19.283 回答
3

我能想到的最简单的方法是使用wireshark 来观察网络数据包并验证您的IIS 服务器是否正在从您的DC 请求Kerberos 票证。

于 2008-11-25T04:58:17.313 回答
1

您可以在 Web 服务器的事件查看器中查看安全日志。

您还可以在客户端计算机上启动 KerbTray 并检查它是否使用了正确的 SPN。Kerbtray 在这里可用(别担心,它不仅限于 Win2000)。

于 2008-11-25T07:01:09.580 回答
1

我使用事件查看器中的安全日志来检查已经提到的人。这是一个成功的遏制身份验证:

Successful Network Logon:
User Name:  {Username here}
Domain:     {Domain name here}
Logon ID:   (0x0,0x########)
Logon Type: 3
Logon Process:  Kerberos
Authentication Package: Kerberos
Workstation Name:   
Logon GUID: {########-####-####-####-############}
Caller User Name:   -
Caller Domain:  -
Caller Logon ID:    -
Caller Process ID: -
Transited Services: -
Source Network Address: -
Source Port:    -


For more information, see Help and Support Center at http://go.microsoft.com/fwlink/events.asp.
于 2009-03-03T04:09:28.290 回答
0

好吧,Negotiate 也可以是 Kerberos,因为它是 Kerberos 和 NTLM 的包装器。就像其他人说的那样,Wireshark(或网络监视器)和安全事件日志不会欺骗你。

于 2008-11-29T11:31:07.397 回答