IIS Web サイトが正常に Kerberos を使用しており、NTLM にフォールバックしていないことを確認するにはどうすればよいでしょうか?
6 に答える
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 ....¡...*
コードで Kerberos を使用していることをテストするために私が見つけた 1 つの方法は、NTLM の HTTP_AUTHORIZATION ヘッダーが常に次で始まることです。
Negotiate TlRMTVNTUA
ヘッダーがテキストで始まらない場合、ブラウザは Kerberos を使用して認証しています。
私が考える最も簡単な方法は、wireshark を使用してネットワーク パケットを監視し、IIS サーバーが DC から Kerberos チケットを要求していることを確認することです。
イベント ビューアーのセキュリティ ログを使用して、既に述べたように確認します。成功した縁石認証は次のとおりです。
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.
Web サーバーのイベント ビューアでセキュリティ ログを確認できます。
クライアント マシンで KerbTray を起動して、正しい SPN を使用しているかどうかを確認することもできます。Kerbtray はここから入手できます(心配しないでください。Win2000 だけではありません)。
Negotiate は Kerberos と NTLM のラッパーであるため、Kerberos にすることもできます。他の人が言ったように、Wireshark (またはネットワーク モニター) とセキュリティ イベント ログはあなたを欺くことはありません。