2007/02/15

Windows Vista で NASに接続

顧客廻りのサポートをしてる人から、緊急案件だという事で電話が回ってきました。Windows VistaからNASの共有フォルダーが開けないけど、何か知ってるかと。

知ってるかと言われたら、それは去年の秋に嵌った記憶がある。Firewallか? とかパスワード違うのかとかで時間を浪費した記憶が。でもVISTAを常用してないし、そんな設定は初期に一回しかやらないので覚えてない。

だからと言って後はお前が調べろよでは仕事に支障が出そうだったので、サクっと検索。

こんなページ とかこんなページを見つけて思い出した。Windows Vistaはセキュリティ強化という面からNTLMv2 しか初期設定では通さないですよね。

これを説明してOKなんですが、日本語では通用しないので英語で伝えるわけですが「LAN Manager 認証レベル」って英語版だとどうだっけって悩む。LAN Mangaer Authentification Levelとかって伝えても、そんなもの無いと。

仕方が無いので、VISTA入りのThinkpadを立ち上げて確認。LmCompatibilityLevelだよとか伝えながら、英語サイト検索すれば良かったと気が付いた・・・。

そこで日本語検索結果でヒットしたページの内容にアレって気が付く。上記に上げたページどっちも微妙に違ってない? というかやり過ぎっぽくないですかって。


2007/03/12 レジストリ変更用のファイルを作ってみました。


LmCompatibilityLevelは古いSamba ServerからWindows 2003 Serverに移行するためにアクセスする際に、今回と同じように変更した記憶がある。そのときは古いSambaはNTLM認証に対応してなくて(LAN Manager認証レベルのみ)、Windows 2003 ServerがデフォルトではNTLM認証しか通さなかったから、レジストリエディタでこの値を0にして対応してたような記憶が・・。

でもこれはSAMBAのバージョンが2.2よりも遥かに古い(バージョン忘れましたけど)だったからであって、NASになって店頭で売ってるような物が「LAN Manager認証レベル」しか使えない・使ってないとはケースの方が少ないような気がします。確かMAC OSにだってNTLMを理解したはず。なので、この「LAN Manager認証レベル」というのは通さない・使わない設定にした方が良いかと。

このLAN Mangaer認証のパスワードはネットワーク上をハッシュでやり取りされて平文では流れないのですが、計算方法に問題があって短めの場合かなり簡単に解読できてしまいますので。

ましてやこれはレジストリの設定なんで接続が出来てたら、その後にセキュリティレベルを上げようなんて気の利いたことを思って、NASとかが新しくなったからとかで変更する人はいないでしょうし。 安易に設定を変更してレベルを下げすぎるのは、ちよっと不味いんじゃないかと。

MyComジャーナルとかって商業的なサイトでも、 とかってページでレジストリの値を0にとかって安易に書いてるけど・・・。

LmCompatibilityLevelの値の解説までしてるのに、0にしましょうとかって書くのはどうなんでしょうね?

「利便性とセキュリティレベルの低下をトレードオフすることになりますので 」とかって但し書きがあるだけ個人サイトの情報よりはマシなんでしょうかね・・・。

それでLmCompatibilityLevelの値ですが、クライアント用途に限った場合は以下の様になっています。
  • 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"とかになるのですが、日本語版での表記は手元にないので、上記に挙げたサイトとかを合わせて参考にしてください。

それからLmCompatibilityLevelに関しては詳細はここを 参照して貰えればよいかと。

こんな感じで、トラブルとかに対応するのに検索とかで見つけたページ一箇所だけでは、なかなか完全な解決ってのは難しいんじゃないかと(このPostも含めて・・)。ですから検索時は複数サイトの内容を照らし合わせながらが良いかと。それとレジストリの操作や設定の変更に対する全ての結果に対する責任は自己責任でお願いしますって事で。(お約束)

それにしても日本の玄箱(KURO-BOX)とかって羨ましい。玄人志向って海外展開してくれないかなぁ~。

関連のありそうな記事

0 コメント: