エンドユーザーからWindowsログオン認証について質問を受けた。具体的な質問は自社のWindows Active Directory環境で有効になっている認証の種類を知りたいということだ。Windowsログオン認証について理解を深めることはトラブル発生時に効率的な手順で対応ができる。あまり普段は手を付けないところなのでまとめておく。
Windows認証
Windowsを利用していてファイルサーバーやメールサーバーなどにアクセスをするとユーザーIDとパスワードを入力するボックスが現れる。正しい組み合わせを入力するとサーバーのリソースにアクセスできる。この仕組みをWindowsのログオン認証と呼ぶ。
現在利用できるWindowsのログオン認証の仕組み(プロトコル)は歴史的な経緯から4種類ある。
- LM認証
- NTLM認証v1
- NTLM認証v2
- Kerberos認証
上記のうちLM認証からNTLM認証v2の3つはチャレンジレスポンス形式と呼ばれる方法をとっている。この方法はセキュリティ強度からみるとKerberos認証と比べると弱く、侵入を許してしまう可能性がある。これら3つの認証方法はWindows 2000以前の互換性のために用意されている。
LM認証
Windows NT以前のLANManagerで採用されていた方法。Windows9xでネットワーク接続するときに利用されていた。後継のNTLM認証のベースとなっている。
LM認証v1
Windows NTから採用された方式。
LM認証v2
Windows NT4 SP4から採用された方式。アルゴリズムは一緒。パスワードをハッシュする時の暗号化レベルを128bitに拡張している。
Kerberos認証
Windows 2000から採用された方式。チャレンジレスポンス方式は暗号化しているとはいえパスワードをネットワーク上でやり取りしているためにネットワークキャプチャなどによりパケットをモニタリングしパスワードが破られる可能性がある。Kerberos認証ではパスワードのやり取りをしないためにNTLM認証より安全である。
互換性維持のためにWindows 2000以降でもNTLM認証は利用できる。またドメイン外のクライアントの認証をする際にもNTLM認証は利用される。
チャレンジレスポンス方式の詳細については以下で詳しい
またNTLM認証の危険性については以下で記載されている。
OSで利用するセキュリティポリシーの設定については以下が詳しい。
Kerberos認証
Kerberos認証ではトラブルが起きるとデバックが難しい。これはKerberos認証がもつ安全性の高さとのトレードオフでもある。それでもいくつか利用できる方法があるので、紹介する。
Kerberos Authentication Tester
このツールではURLを入力して接続すると認証情報について表示をしてくれる。Kerberos認証がされると認証時に生成されたチケット情報も取得できる。また現在自分が持っているサイト毎のチケットも確認できる。
こちらでは日本語で紹介している。
netdiag
Windows 2008では利用できないが、Windows 2003環境であればnetdiagでKerberosについて設定確認ができる。
netdiag /debug /l /test:kerberos /test:ldap
Windowsログオン認証について詳細に知りたい場合には以下の2つの資料が役に立つ。
Logon and Authentication Technologies