Q

Active DirectoryでWindowsドメインを構成しています。クライアントをドメインにログオンさせようとすると,ある時から以下のエラー・メッセージが表示されて,ログオンができなくなってしまいました。


図A●クライアントに表示されたエラー・メッセージ
図A●クライアントに表示されたエラー・メッセージ

 そこで,クライアントのネットワーク設定(参照先DNSなど)を確認しましたが,特に問題は見つかりませんでした。また,ドメイン・コントローラ上にもログオンしたいパソコンのコンピュータ・オブジェクトはきちんと存在しています。そこで,ドメイン・コントローラのイベント・ログを見たところ,以下のようにNetlogonというソースからイベントIDが5722というイベントが発生したというログが記録されていました。いったい何が起こったのでしょうか?

図B●ドメイン・コントローラにはNetlogonのイベントID5722が記録されていた
図B●ドメイン・コントローラにはNetlogonのイベントID5722が記録されていた

A  

 NetlogonのイベントID:5722というエラーは,コンピュータがドメイン・レベルの情報のやりとりを必要としたときに,ドメイン・コントローラとのコンピュータ認証が成功していないためにアクセスを拒否された,ということを表しています。この問題はクライアントのパソコンを起動したときに,ドメイン・コントローラとの「セキュリティ・チャネル」が確立していないことで,発生していると考えられます。


 Active Directoryのドメイン環境では,クライアントのパソコンが起動した際に,ドメイン・コントローラとの間で暗号化したセッションを確立してドメインに参加するために必要な設定をします。この暗号化したセッションは「セキュリティ・チャネル」(あるいはセキュア・チャネル)と呼ばれ,ドメイン・コントローラ側のコンピュータ・アカウントを使って認証を処理します。

 具体的には,コンピュータがドメインに参加するときにコンピュータ自身のLSA(ローカル・セキュリティ機関)と,ドメイン・コントローラに登録されているコンピュータ・アカウントの間で同一のパスワードを持っています。そうして,コンピュータ起動時にこのパスワードでドメイン・コントローラとの間でKerberos認証を実行しています。これに成功すると,コンピュータはドメイン・コントローラに認証されて,ドメインにログオン可能になります。ところが,何らかの理由でLSAとドメイン・コントローラの間でパスワードが不一致の状態となってしまうと,コンピュータ・アカウントがKerberos認証に失敗します。そうした場合,そのコンピュータからのドメイン・レベルでの通信は拒否されるため,ドメインへのログオンが不可能になります。

図1●ドメイン・コントローラとクライアントの間ではセキュリティ・チャネルを確立する際に認証している。何らかの原因でパスワードが変わってしまうとログオンに失敗する。
図1●ドメイン・コントローラとクライアントの間ではセキュリティ・チャネルを確立する際に認証している。何らかの原因でパスワードが変わってしまうとログオンに失敗する。

 この状況が発生していることを確実に確かめるには,クライアントのパソコンにドメイン・アカウントでなくローカル・アカウントでログオンしてみます。それから,システム・ログにNetlogonイベントID:3210というログが記録されているかを確認します。

図2●クライアントにはNetlogonのイベントID3210というログが記録される
図2●クライアントにはNetlogonのイベントID3210というログが記録される

 また,この状態になる,副次的な影響として,例えばコンピュータ・ベースのグループ・ポリシーが適用できなくなります。これはアプリケーション・ログのUserenvイベントID:1053といった形で記録されます。

図3●グループ・ポリシーも適用できないというログも記録される
図3●グループ・ポリシーも適用できないというログも記録される

 なお,Windows XPを使っている場合,高速ログオン機能のためにコンピュータ認証に失敗していてもログオンできてしまうことがありますので,注意が必要です。