MIT Kerberos 1.10をDebianサーバーにインストールし、Debianクライアントに認証してもらいました。しかし、Windows7マシンで同じことを実行するのに問題があります。
ksetup
を使用して、マシンを次のように構成しました。
default realm = EXAMPLE.COM (external)
EXAMPLE.COM:
(no kdc entries for this realm)
Realm Flags = 0x5 SendAddress Delegate
Mapping all users (*) to a local account by the same name (*).
これにより、システムの名前とワークグループの設定も変更されました。
Computer name: lysander
Full computer name: lysander.EXAMPLE.COM
Workgroup EXAMPLE.COM
ドキュメントによると、レルムのKDCまたはパスワードのエントリがない場合、WindowsはDNSを使用するため、次のエントリも構成されています。
_kerberos._udp.example.com. 300 SRV 10 100 88 kdc.example.com.
_kerberos-adm._tcp.example.com. 300 SRV 10 100 749 kdc.example.com.
kdc
には、サーバーのIPアドレスを指すAレコードがあります。
Windowsシステムを構成した後、再起動してログインしようとしましたが、ログイン画面にEXAMPLE
ドメインへのログインが表示されたことがわかりました。ただし、[email protected]
にマップする必要があるローカルユーザーsam
としてログインしようとすると、少し間を置いた後、ログオン要求を処理するために使用できるログオンサーバーがないと言われます。 Windowsイベントログに関連するものが何も表示されず、クライアントとサーバー間のネットワークトラフィックを調べたところ、WindowsマシンがKDCに接続しようとしていることすらわかりません。
しかし、それはすべて悪いニュースではありません。私に希望を与えるのは、runas
を使用してTGT
を取得できることです。
>runas /user:[email protected] cmd
Enter the password for [email protected]:
Attempting to start cmd as user "[email protected]" ...
そして、表示される新しいウィンドウで:
>klist
Current LogonId is 0:0x14e6649
Cached Tickets: (1)
#0> Client: sam @ EXAMPLE.COM
Server: krbtgt/EXAMPLE.COM @ EXAMPLE.COM
KerbTicket Encryption Type: AES-256-CTS-HMAC-SHA1-96
Ticket Flags 0x40e10000 -> forwardable renewable initial pre_authent name_canonicalize
Start Time: 2/14/2012 11:54:24 (local)
End Time: 2/14/2012 21:54:24 (local)
Renew Time: 2/21/2012 11:54:24 (local)
Session Key Type: AES-256-CTS-HMAC-SHA1-96
次に、そのコマンドプロンプトからPuTTYを起動すると、SSPIを使用して他のサーバーにSSH接続し、正常に認証できます。
Windows画面で完全なユーザー名[email protected]
を入力すると、ログオンが正常に機能することを発見しました。 sam
またはEXAMPLE\sam
はマスタードをカットしないでください。これが期待される動作であることを確認するものは何も見つかりませんが、ksetup
の出力を注意深く読んだことと一致しています。
Mapping all users (*) to a local account by the same name (*).
つまり、[email protected]
としてログインすると、ローカルアカウントsam
がログインします。これは、sam
としてログインし、システムに[email protected]
としてKDCで認証させることができることを意味するものではありません。