您如何检查 IIS 网站是否成功使用 Kerberos 并且不依赖 NTLM?
James Newton-King
问问题
11234 次
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 回答