测试网站是否使用 Kerberos 身份验证
如何检查 IIS 网站是否成功使用 Kerberos 并且不依赖 NTLM?
How do you go about checking that an IIS website is successfully using Kerberos and not falling back on NTLM?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(6)
好吧,Negotiate 也可以是 Kerberos,因为它是 Kerberos 和 NTLM 的包装。 正如其他人所说,Wireshark(或网络监视器)和安全事件日志不会欺骗您。
Well, Negotiate can also be Kerberos, because it is a wrapper over Kerberos and NTLM. Like other guys said, Wireshark (or Network Monitor) and Security event log will not cheat you.
我发现在使用 Kerberos 的代码中测试的一种方法是 NTLM 的 HTTP_AUTHORIZATION 标头始终以以下内容开头:
如果标头不以文本开头,则浏览器将使用 Kerberos 进行身份验证。
One way I found to test in code that you are using Kerberos is that that the HTTP_AUTHORIZATION header for NTLM always starts with the following:
If the header doesn't start with text then the browser is authenticating using Kerberos.
Fiddler2 将指示身份验证标头是 NTLM 还是 Kerberos。
Fiddler2 will indicate if the authentication header is NTLM vs Kerberos.
我能想到的最简单的方法是使用wireshark 来监视网络数据包并验证您的IIS 服务器是否正在从您的DC 请求Kerberos 票证。
The easiest way that I can think of is to use wireshark to watch the network packets and verify that your IIS server is requesting Kerberos Tickets from your DC.
您可以在 Web 服务器的事件查看器中检查安全日志。
您还可以在客户端计算机上启动 KerbTray 并检查它是否使用正确的 SPN。 Kerbtray 可在此处(别担心,这不仅仅是Win2000)。
You can check the security log in the event viewer of the web server.
You can also launch KerbTray on the client machine and check if it's using the correct SPN. Kerbtray is available here (don't worry, it's not Win2000 only).
我使用事件查看器中的安全日志来检查,就像有人已经提到的那样。 这是一个成功的遏制身份验证:
I use the security log in the event viewer to check like someone already mentioned. Here is a successful kerb auth: