Windows NT 上の LM 認証を無効にする方法

文書翻訳 文書翻訳
文書番号: 147706 - 対象製品
この記事は、以前は次の ID で公開されていました: JP147706


重要 : この資料には、レジストリの編集に関する情報が含まれています。レジストリを編集する前に、問題が発生した場合に備えて、レジストリの復元方法を理解しておいてください。バックアップ、復元、および編集方法の詳細については、以下の「サポート技術情報」 (Microsoft Knowledge Base) をクリックしてください。
256986 Description of the Microsoft Windows Registry
すべて展開する | すべて折りたたむ

目次

概要

Service Pack 3 (SP3) 以前の Windows NT 4.0 では、次の 2 種類のチャレンジ/レスポンス認証がサポートされています。
  • LanManager (LM) チャレンジ/レスポンス
  • Windows NT チャレンジ/レスポンス (NTLM チャレンジ/レスポンスとも呼ばれます)
また、Windows NT では、メッセージの機密性および整合性を保つためにセッション セキュリティ メカニズムもサポートしています。

SP3 以前 の Windows NT クライアントは、LM 認証のみに対応したサーバーにアクセスできるように、NTLM 認証に対応する Windows NT サーバーに対しても、常に両方の認証を使用します。

LM 認証は Windows NT 認証ほど強力ではないため、ユーザーの環境によっては LM 認証の使用を無効にする必要があります。これは、攻撃者はネットワーク トラフィックを盗聴し、より脆弱なプロトコルに対して攻撃を実行するためです。攻撃が成功すると、ユーザーのパスワードが漏えいする可能性があります。

マイクロソフトは NTLM に対する拡張機能を開発しました。これは NTLMv2 と呼ばれ、認証およびセッションの両方のセキュリティ メカニズムを大幅に強化するものです。

この他に、NTLM SSP (Security Service Provider) の実装も強化されています。新しいレジストリ キーを適切に設定することにより、使用する NTLM の種類をクライアント側で制御したり、受け入れる NTLM の種類をサーバー側で制御したりすることが可能になります。さらに、クライアントおよびサーバーが、メッセージの機密性 (暗号化)、メッセージの整合性、128 ビット暗号化、および NTLMv2 セッション セキュリティのネゴシエーションを要求できるようになります。

Windows NT コンポーネントの中には、これらの変更による影響を受けるものがあります。Microsoft リモート プロシージャ コール (RPC) または NTLM SSP を使用するアプリケーションはすべて、この資料に記載された認証およびセッション セキュリティを使用します。Workstation サービスおよび Server サービスはこの資料に記載された認証を使用しますが、それぞれ独自のセッション セキュリティをサポートしています。

背景

LM 認証は NTLM または NTLMv2 ほど強力ではありません。これは、LM 認証のアルゴリズムで 7 文字を超えるパスワードを使用すると、7 文字チャンクの攻撃を受けるためです。これにより、有効なパスワード強度が、英大文字、数字、句読点、および 32 の特殊な ALT 文字の組み合わせから成る 7 文字に制限されます。なお、英字以外の文字を使用しないユーザーが多くいることも考慮する必要があります。

これに対して、NTLM 認証ではパスワードの 14 文字すべて、さらに小文字も使用することができます。よって、Windows NT 認証プロトコルを盗聴している攻撃者が LM 認証プロトコルの場合と同様の攻撃を行う場合、攻撃を成功させるのにより多くの時間がかかります。パスワードが十分に強力な場合、1 台の 200 MHz Pentium Pro コンピュータで、パスワードから生成されたキーを発見するのに平均で 2,200 年、パスワード自体を発見するのに 5,500 年かかります (このコンピュータを 1,000 台使用した場合には、それぞれ 2.2 年、5.5 年となります)。

: 上記の概算は、RSA Labs の "DES Challenge" コードによる DES キーのテストを 200 MHz Pentium Pro 上で実施したときの速度 (1,000,000/秒) に基づいています。DES キーの数は、 2^56 (7.2 x 10^16) です。"DES Challenge" の詳細については、次の Web サイトを参照してください。
http://www.rsasecurity.com/rsalabs/challenges/
一方、パスワードが強力でない場合には、辞書攻撃によって数秒でパスワードを発見することができます。

"十分に強力な" パスワードを作成する 1 つの方法として、11 文字以上の長さのパスワード内に、4 文字以上の大文字、数字、または句読点を含めます。残りの 7 文字が小文字でランダム性が低い場合でも、1 文字につき (たとえば) 3 ビットのランダム性があれば、DES のキー空間である 7.2 x 10^16 以上の組み合わせが可能になり、辞書に無いパスワードを作成することができます。

しかし、価格にして $250,000 程度のハードウェア アクセラレータが開発されており、これを使用すると、パスワードの長さにかかわらず、LM または NTLM のいずれかのパスワードから生成されたキーを 3 〜 6 日で発見することができます。この数字は、テクノロジの進歩に従って変化します。現在の統計および詳細については、次の Web サイトを参照してください。
http://www.eff.org/
攻撃者はユーザーのパスワードから生成されたキーを取得しても対話的にログオンすることはできませんが、特殊なソフトウェアを併用することにより、そのユーザーとしてネットワーク リソースにアクセスすることができます。

NTLMv2 の場合、パスワードから生成されたキーのキー空間は 128 ビットです。これにより、パスワードが十分に強力な場合、ハードウェア アクセラレータを使用しても、総当り検索をおこない成功させることは非常に難しくなります。

クライアントとサーバーの両方が SP4 以上を使用している場合、拡張された NTLMv2 セッション セキュリティがネゴシエートされます。NTLMv2 では、メッセージの整合性および機密性についてそれぞれ異なるキーが提供され、選択平文攻撃を防止するためのチャレンジが含まれ、メッセージの整合性チェックに HMAC-MD5 アルゴリズム (RFC 2104 を参照) が使用されています。

NTLM のデータグラムにはネゴシエーションの手順がないため、メッセージの機密性のための NTLMv2 セッション セキュリティおよび 128 ビット暗号化など、他の何らかの方法でネゴシエートされるオプションを使用するように構成する必要があります。

詳細

警告 : レジストリ エディタの使い方を誤ると、深刻な問題が発生することがあります。最悪の場合、オペレーティング システムの再インストールが必要になることがあります。マイクロソフトは、レジストリ エディタの誤用により発生した問題に関しては、一切責任を負わないものとします。レジストリ エディタは、自己の責任においてご使用ください。


NTLM セキュリティの制御には、以下のレジストリ キーを使用します。
HKEY_LOCAL_MACHINE\System\CurrentControlSet\control\LSA
: Win9x での有効な レジストリ値 は LMCompatibility ですが、Windows NT では LMCompatibilityLevel です。

使用する認証プロトコル、および受け入れる認証プロトコルの種類の選択には、上記のキーの以下の値を使用します。
   値 : LMCompatibilityLevel
   値の種類 : REG_DWORD - 数値
   有効な範囲 : 0-5
   デフォルト値 : 0
   説明 : 使用する認証の種類を指定します。

   レベル 0 - LM 応答および NTLM 応答を送信します。NTLMv2 セッション セキュリティは使用しません。
   レベル 1 - ネゴシエートされた場合に NTLMv2 セッション セキュリティを使用します。
   レベル 2 - NTLM 認証のみを送信します。
   レベル 3 - NTLMv2 認証のみを送信します。
   レベル 4 - DC は LM 認証を拒否します。
   レベル 5 - DC は LM および NTLM 認証を拒否します (NTLMv2 のみを受け入れます)。
: 認証はセッションを確立するために使用されます (ユーザー名/パスワード)。適切な認証の種類を使用してセッションが確立されるたびに、セッション セキュリティが使用されます。また、コンピュータ同士のシステム時間のずれは 30 分以内である必要があります。 時間が 30 分以上ずれている場合、 サーバーはクライアントからのチャレンジが期限切れになったと見なすため、認証が失敗する可能性があります。

NTLM SSP を使用するアプリケーション用にネゴシエートされる最小のセキュリティは、次のキーによって制御します。
HKEY_LOCAL_MACHINE\System\CurrentControlSet\control\LSA\MSV1_0
このキーの値は以下のとおりです。
   値 : NtlmMinClientSec
   値の種類 : REG_DWORD - 数値
   有効な範囲 : 以下の値の論理和
      0x00000010
      0x00000020
      0x00080000
      0x20000000
   デフォルト値 : 0

   値 : NtlmMinServerSec
   値の種類 : REG_DWORD - 数値
   有効な範囲 : NtlmMinClientSec と同様
   デフォルト値 : 0
   説明 : 使用する最小のセキュリティを指定します。
      0x00000010  メッセージの整合性
      0x00000020  メッセージの機密性
      0x00080000  NTLMv2 セッション セキュリティ
      0x20000000  128 ビット暗号化

LMCompatibilityLevel - クライアント

重要 : SP4 クライアントでレベル 3 以上を選択するには、そのクライアントを使用する全ユーザーのアカウント ドメインのドメイン コントローラ (以下、"ユーザーのドメイン コントローラ" と呼びます) が、SP4 にアップグレードされている必要があります。

SP4 クライアントでレベル 0 を選択した場合 (デフォルトの場合)、Service Pack 3 (SP3) のときとまったく同様に以前のサーバーと相互運用します。

SP4 クライアントでレベル 1 を選択した場合、Service Pack 3 (SP3) のときとまったく同様に以前のサーバーと相互運用します。また、SP4 サーバーと NTLMv2 セッション セキュリティをネゴシエートします。

重要: レベル 1 以上を使用して、最後のパスワード変更を Windows for Workgroups または MS-DOS LanManager 2.x 以前のクライアントから実行した場合、NTLM および NTLMv2 認証に必要なデータがドメイン コントローラで使用できず、SP4 クライアントは SP4 サーバーに接続できません。これを回避するには、レベル 0 を使用するか、パスワードの変更を常に Windows NT、Windows 95、または Windows 98 クライアントから行います。

SP4 クライアントでレベル 2 を選択した場合、ユーザーのドメイン コントローラがアップグレードされていない限り、Windows 95、Windows 98、および Windows for Workgroups 以前 (以下、"ダウンレベルの LM クライアント/サーバー" と呼びます) など、LM 認証のみに対応するサーバーに接続できません。

SP4 クライアントでレベル 3 以上を選択した場合、クライアントは常に新しい NTLMv2 応答を送信します。ユーザーのドメイン コントローラが SP4 にアップグレードされている場合、この応答は、ダウンレベルの LM サーバー、および SP3 以前の Windows NT サーバーを通過することができます。たとえば、SP4 クライアントがレベル 3 以上を選択している場合、ユーザーのドメイン コントローラも同様に SP4 にアップグレードされている必要があります。ただし、この応答は、空白以外のパスワードを使用する共有レベルのセキュリティ モードを使用するダウンレベル LM サーバーでは有効ではありません。これを回避するには、共有レベルではなくユーザー レベルのセキュリティを使用するようにサーバーを構成します。

LMCompatibilityLevel - サーバーおよび DC

SP4 サーバーでレベル 4 以上を選択した場合、そのサーバーにローカル アカウントを持つユーザーは、そのローカル アカウントを使用してダウンレベルの LM クライアントからサーバーに接続できません。

SP4 ドメイン コントローラでレベル 4 以上を選択した場合、そのドメインにアカウントを持つユーザーは、そのドメイン アカウントを使用してダウンレベルの LM クライアントからどのメンバ サーバーにも接続できません。したがって、レベル 4 の場合、サーバーまたはドメインのアカウントを使用するすべてのユーザーは Windows NT を使用して接続する必要があります。

SP4 サーバーでレベル 5 以上を選択した場合、そのサーバーにローカル アカウントを持つユーザーは、そのローカル アカウントを使用して SP3 以前の Windows NT クライアントからサーバーに接続できません。

レベル 0 または 1 を選択している SP4 クライアントは、SP4 サーバーがレベル 1 または 3 に設定されている場合でもサーバーに接続できますが、Windows NT プロトコルおよびより脆弱な LM プロトコルの両方が使用されます。また、ユーザーのドメイン コントローラがアップグレードされていない場合でも、クライアントからダウンレベルの LM サーバーに接続できます。

展開

NTLMv2 を展開することが望ましい場合、上記の注意事項を踏まえて、以下の手順を実行する必要があります。
  1. NTLMv2 を使用するすべてのユーザーのアカウントが格納されているドメイン コントローラをアップグレードします。
  2. ドメイン コントローラのアップグレードの完了前でも、クライアントおよびサーバーを SP4 にアップグレードすることができます。レベル 1 に設定することにより、SP4 から SP4 への接続時に強化されたセキュリティが使用されます。
  3. 手順 1. の完了後、SP4 にアップグレード済みのクライアント、サーバーおよびドメイン コントローラをレベル 3 以上にアップグレードできます。
  4. ドメインのユーザーがダウンレベルの LM クライアントからリソースにアクセスする事が無い場合、そのドメインのドメイン コントローラをレベル 4 に設定することができます。そして、システムに存在するクライアント全てが SP4 にアップグレードされた後、そのドメインのドメイン コントローラをレベル 5 に設定することができます。

NtlmMinClientSec および NtlmMinServerSec

NtlmMinClientSec または NtlmMinServerSec 値に値 0x00000010 を含むビットを設定すると、メッセージの整合性がネゴシエートされない場合に接続が失敗します。

NtlmMinClientSec または NtlmMinServerSec 値に値 0x00000020 を含むビットを設定すると、メッセージの機密性がネゴシエートされない場合に接続が失敗します。

NtlmMinClientSec または NtlmMinServerSec 値に値 0x00080000 を含むビットを設定すると、NTLMv2 セッション セキュリティがネゴシエートされない場合に接続が失敗します。

NtlmMinClientSec または NtlmMinServerSec 値に値 0x20000000 を含むビットを設定すると、128 ビット暗号化がネゴシエートされない場合に接続が失敗します。

: これらの設定は、すべてのアプリケーションによって実際に NTLM SSP が使用されることを保証するものではありません。また、メッセージの整合性または機密性がネゴシエートされたときに、それらがアプリケーションによって実際に使用されることを保証するものではありません。

解決方法

この問題を解決するには、Windows NT 4.0 または Windows NT Server 4.0, Terminal Server Edition の最新の Service Pack を入手します。関連情報を参照するには、以下の「サポート技術情報」 (Microsoft Knowledge Base) をクリックしてください。
152734 How to Obtain the Latest Windows NT 4.0 Service Pack



SP4 のインストール後、以下の手順を実行して、Windows NT のワークステーションおよびサーバーで LM Compatibility レベルを設定します。
  1. レジストリ エディタ (Regedt32.exe) を起動します。
  2. HKEY_LOCAL_MACHINE サブツリーから、次のキーに移動します。
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\
  3. [編集] メニューの [値の追加] をクリックします。
  4. 以下の値を追加します。
          値の名前 : LMCompatibilityLevel
          データ タイプ : REG_DWORD
          データ : 0 (デフォルト) 〜 5 (上記の定義に従います)
    
  5. HKEY_LOCAL_MACHINE サブツリーから、次のキーに移動します。
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\MSV1_0
  6. [編集] メニューの [値の追加] をクリックします。
  7. 以下の値を追加します。
          値の名前 : NtlmMinClientSec
          データ タイプ : REG_DWORD
          データ : 0 (デフォルト) または上記の定義に従います
    
          値の名前 : NtlmMinServerSec
          データ タイプ : REG_DWORD
          データ : 0 (デフォルト) または上記の定義に従います
    
  8. [OK] をクリックし、レジストリ エディタを終了します。
  9. Windows NT を再起動します。

関連情報

この資料は米国 Microsoft Corporation から提供されている Knowledge Base の Article ID 147706 (最終更新日 2002-06-11) を基に作成したものです。

プロパティ

文書番号: 147706 - 最終更新日: 2005年10月17日 - リビジョン: 1.3
この資料は以下の製品について記述したものです。
  • Microsoft Windows NT Workstation 3.51
  • Microsoft Windows NT Workstation 4.0 Developer Edition
  • Microsoft Windows NT Server 3.51
  • Microsoft Windows NT Server 4.0 Standard Edition
  • Microsoft LAN Manager 4.2 Standard Edition
  • Microsoft Windows for Workgroups 3.2
  • Microsoft Windows 95
  • Microsoft Windows NT Server 4.0 Terminal Server
キーワード:?
kberrmsg kbbug kbfix kbfile kbfea kbwinnt400sp4fea kbwinnt400sp4fix KB147706
"Microsoft Knowledge Baseに含まれている情報は、いかなる保証もない現状ベースで提供されるものです。Microsoft Corporation及びその関連会社は、市場性および特定の目的への適合性を含めて、明示的にも黙示的にも、一切の保証をいたしません。さらに、Microsoft Corporation及びその関連会社は、本文書に含まれている情報の使用及び使用結果につき、正確性、真実性等、いかなる表明・保証も行ないません。Microsoft Corporation、その関連会社及びこれらの権限ある代理人による口頭または書面による一切の情報提供またはアドバイスは、保証を意味するものではなく、かつ上記免責条項の範囲を狭めるものではありません。Microsoft Corporation、その関連会社 及びこれらの者の供給者は、直接的、間接的、偶発的、結果的損害、逸失利益、懲罰的損害、または特別損害を含む全ての損害に対して、状況のいかんを問わず一切責任を負いません。(Microsoft Corporation、その関連会社 またはこれらの者の供給者がかかる損害の発生可能性を了知している場合を含みます。) 結果的損害または偶発的損害に対する責任の免除または制限を認めていない地域においては、上記制限が適用されない場合があります。なお、本文書においては、文書の体裁上の都合により製品名の表記において商標登録表示、その他の商標表示を省略している場合がありますので、予めご了解ください。"

フィードバック

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com