vistaから玄箱にアクセスしようとすると、
ユーザー名、パスワードは正しいのに認証に失敗する。
何故だ。
設定の変更が必要なようだ。
Windows Vista Ultimateの設定変更
コントロールパネル→システムとメンテナンス→管理ツール→ローカルセキュリティポリシー→ローカルポリシー→セキュリティオプション→ネットワークセキュリティ:Lan Manager 認証レベルから→NTLM応答のみ送信する
(LMとNTLMを送信するでも良いがセキュリティー的にはNTLMのみが良いようだ)
それからユーザー名は、
NASのコンピュータ名ユーザ名
と入力する。
何故かデフォルトだと
自分のコンピュータ名ユーザ名
となっている。気付かなくてちょっとハマった。
———– メモ ————-
http://journal.mycom.co.jp/column/winvista/009/
Windows Vistaに切りかえたユーザーのなかにはNASデバイスのファイルサーバーにアクセスすると、パスワード認証が通らなくなった方がおられるのではないでしょうか。これはNASデバイス側のSambaバージョンに起因するトラブルで、そもそもWindows NT系で使用されていたネットワーク認証のひとつNTLMのバージョンによってトラブルが発生しています。Windows NT SP3以前はNTLM(v1)をサポートし、セキュリティレベルを高めたNTLMv2が用いられるようになったのは、Windows NT SP4以降。ちなみに、Windows 9x系で使われていたLM(LANMAN)認証も同時に使用することで、Windows XPまでは互換性を維持していました。
基本的に各認証はチャレンジ/レスポンスという方式を用いています。まず認証を受けるクライアントが要求をサーバーに送り、サーバーは応答としてランダムなハッシュを返信。これがチャレンジ。一方クライアントは、ユーザーが入力したパスワードとチャレンジから特定のアルゴリズムにしたがって合成したハッシュをサーバーに送信します。これがレスポンス。同時にサーバー側でも自らが送信したハッシュを元にレスポンスを作成し、クライアントから送られてきたレスポンスと比較。これが一致すればパスワードの整合性が認められ、認証が完了します。
つまりNASデバイスに実装されたSambaがバージョン2.2以前の場合、NTLM/LM/平文パスワードのみで、NTLMv2をサポートしていません。一方Windows Vistaの標準設定は「NTLMv2レスポンスのみ送信する」設定になっているため、前述のようなトラブルが発生するのです。今週は、この問題を解決するチューニングを行ないましょう。
<スタート>メニュー→クイック検索に「regedit」と入力して[Enter]キーを押す。
レジストリエディタが起動したら、HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlLsaまでキーをたどって開く。
DWORD値「LmCompatibilityLevel」をダブルクリックで開く。
データ値を「3」から「0」に書き換えて、<OK>ボタンをクリック。
レジストリエディタを終了し、Windows Vistaを再起動する。
これで設定完了し、認証レベルは「LMとNTLMレスポンスを送信する」設定に切り替わりました。ちなみにDWORD値「LmCompatibilityLevel」のデータ値が「1」の場合は「サーバーが要求したときのみ、LM/NTLM/NTLMv2レスポンスを送る」。「2」の場合「LMレスポンスを送信せず、NTLMレスポンスのみ送る」。「4」は「LMレスポンスを拒否し、NTLMv2レスポンスのみ送信」。「5」は「LM/NTLMレスポンスを拒否し、NTLMv2レスポンスのみ送信」となります。
ただしLMハッシュには算出方法に問題があるため、一定文字数以下のパスワードは簡単に漏れてしまうという脆弱性が潜んでいます。そのため今回のチューニングは、利便性とセキュリティレベルの低下をトレードオフすることになりますので、その点を踏まえて行なってください。
——————–
http://isawseashell.blogspot.com/2007/02/windows-vista-nas-windows-vistanas.html
・LmCompatibilityLevel 値 0 : LAN Manager (LM) 応答および NTLM 応答を送信し、NTLM バージョン 2 (NTLMv2) セッション セキュリティは使用しません。クライアントは LM および NTLM 認証を使用し、NTLMv2 セッション セキュリティは使用しません。
・LmCompatibilityLevel 値 1 : ネゴシエートした場合、NTLMv2 セッション セキュリティを使用します。クライアントは LM および NTLM 認証を使用し、サーバーでサポートされている場合は NTLMv2 セッション セキュリティを使用します。
・LmCompatibilityLevel 値 2 : NTLM 応答のみを送信します。クライアントは NTLM 認証のみを使用し、サーバーでサポートされている場合は NTLMv2 セッション セキュリティを使用します。
・LmCompatibilityLevel 値 3 : NTLMv2 応答のみを送信します。クライアントは NTLMv2 認証を使用し、サーバーでサポートされている場合は NTLMv2 セッション セキュリティを使用します。
以上のようになっており、0にした場合はNTLMv2を一切使わない設定になってしまい、他のWindows XPやVista、そしてWindows 2003 Severに接続する際もNTLMまでしか使わなくなってしまいます。ですからLmCompatibilityLevelを2から試してみて(リブートが必要ですが)、確認してみる事をお勧めします。
少なくともLmCompatibilityLevel=1で普通のNASには接続できるはずですから。(Windows Vistaの初期値は3です。)
ちなみに LmCompatibilityLevelはレジストリのHKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlLsa 配下にあります。
またWindows Vista Business, Enterprise, もしくはUltimateの場合は、ローカルセキュリティーポリシーの変更で対応可能で、この場合は”Send LM & NTLM – use NTLMv2 session security if negotiated”とかになるのですが、日本語版での表記は手元にないので、上記に挙げたサイトとかを合わせて参考にしてください。