Active Directory およびWindows SAM データベースにパスワードの LAN マネージャー ハッシュが格納されるのを防ぐ方法

この記事では、Active Directory およびローカル セキュリティ アカウント マネージャー (SAM) データベースWindows LAN マネージャー (LM) ハッシュを格納する方法を 3 つ提供します。

適用対象:  Windows 10 - すべてのエディション、Windows Server 2012 R2
元の KB 番号:   299656

概要

Windowsユーザー アカウントのパスワードはクリア テキストに保存されません。 代わりに、ハッシュと呼ばれる 2 つの異なるパスワード表現を使用して、ユーザー アカウントのパスワードを生成して保存します。 ユーザー アカウントのパスワードを 15 文字未満のパスワードに設定または変更すると、Windows は LM ハッシュとパスワードの Windows NT ハッシュ (NT ハッシュ) の両方を生成します。 これらのハッシュは、ローカル SAM データベースまたは Active Directory に格納されます。

LM ハッシュは NT ハッシュと比較して比較的弱く、ブルート フォース攻撃が速く発生する傾向があります。 そのため、パスワードの LM ハッシュWindows保存する必要が生じない場合があります。 この記事では、パスワードのより強力Windows NT ハッシュのみを格納する方法について説明します。

詳細

Windows 2000 サーバー Windowsサーバーは、以前のバージョンのサーバーを実行しているコンピューターから接続するユーザーを認証Windows。 ただし、2000 Windows以前Windowsバージョンでは、認証に Kerberos は使用しない。 下位互換性を保つWindows 2000 および Windows Server 2003 をサポートします。

  • LM 認証
  • Windows NT (NTLM) 認証
  • NTLM バージョン 2 (NTLMv2) 認証

NTLM、NTLMv2、Kerberos はすべて、Unicode ハッシュとも呼ばれる NT ハッシュを使用します。 LM 認証プロトコルは、LM ハッシュを使用します。

下位互換性のために必要ない場合は、LM ハッシュの記憶域を防ぐ必要があります。 ネットワークに Windows 95、Windows 98、または Macintosh クライアントが含まれている場合、ドメインの LM ハッシュの保存を妨げると、次の問題が発生する可能性があります。

  • LM ハッシュのないユーザーは、サーバーとして機能Windows 95 Windows 98 コンピューターに接続できません。 この問題は、95 および Windows 98 のディレクトリ サービス Windowsサーバーにインストールされている場合は発生しません。
  • 95 Windowsまたは 98 台Windowsユーザーは、自分のドメイン アカウントを使用してサーバーに対して認証できません。 この問題は、ユーザーが自分のコンピューターに Directory Services クライアントがインストールされている場合は発生しません。
  • 95 Windowsまたは 98 Windowsのユーザーは、LM ハッシュを無効にしたサーバー上のローカル アカウントを使用して認証できません。 この問題は、ユーザーが自分のコンピューターに Directory Services クライアントがインストールされている場合は発生しません。
  • ユーザーは、ドメイン パスワードを 95 または Windows 98 コンピューター Windows変更できません。 または、以前のクライアントからパスワードを変更しようとするときに、アカウントロックアウトの問題が発生する可能性があります。
  • Macintosh Outlook 2001 クライアントのユーザーは、Microsoft サーバー上のメールボックスExchangeできません。 ユーザーには、次のエラーが表示Outlook。

    指定されたログオン資格情報が正しくありません。 ユーザー名とドメインが正しいか確認してから、もう一度パスワードを入力します。

ユーザーがWindowsの LM ハッシュを格納しきれなくするには、次の方法を使用します。

方法 1: グループ ポリシーを使用して NoLMHash ポリシーを実装する

Windows XP または Windows Server 2003 のローカル コンピューターの SAM データベース内のユーザーのパスワードの LM ハッシュの格納を無効にするには、ローカル グループ ポリシーを使用します。 Windows Server 2003 Active Directory 環境でユーザーのパスワードの LM ハッシュの格納を無効にするには、Active Directory でグループ ポリシーを使用します。 次の手順を実行します。

  1. [グループ ポリシー] で、[コンピューターの構成] Windows 設定 [設定 ローカル ポリシー] を展開し、[セキュリティ > > > オプション]を選択します
  2. 使用可能なポリシーの一覧で、[ネットワーク セキュリティ: 次のパスワード変更時に LAN Manager ハッシュ値を保存しない] をダブルクリックします
  3. [OK を有効にする] > を選択します

方法 2: レジストリを編集して NoLMHash ポリシーを実装する

2000 Windows Service Pack 2 (SP2) 以降では、次のいずれかの手順を使用して、Windows が次回のパスワード変更に LM ハッシュ値を格納しなくします。

Windows 2000 SP2 以降

重要

このセクション、方法、またはタスクには、レジストリの編集方法が記載されています。 レジストリを誤って変更すると、深刻な問題が発生することがあります。 レジストリを変更する際には十分に注意してください。 保護を強化するため、レジストリを変更する前にレジストリをバックアップします。 こうしておけば、問題が発生した場合にレジストリを復元できます。 レジストリをバックアップおよび復元する方法の詳細については、次の記事番号をクリックして、Microsoft サポート技術情報の記事を表示します。

322756 Windows でレジストリをバックアップおよび復元する方法

NoLMHash レジストリ キーとその機能はテストまたは文書化されていないので、Windows SP2 より前の実稼働環境で使用すると安全でないと見なされる必要があります。

レジストリ エディターを使用してこのキーを追加するには、次の手順を実行します。

  1. レジストリ エディター (Regedt32.exe) を起動します。

  2. 次のキーを見つけて選択します。

    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa

  3. [編集] メニューの [キーの追加] クリックし、と NoLMHash 入力し、Enter キーを押します。

  4. レジストリ エディターを終了します。

  5. コンピューターを再起動し、パスワードを変更して設定をアクティブにします。

注意

  • Windows 2000 Active Directory 環境でのユーザーのパスワードの LM ハッシュの記憶域を無効にするには、Windows 2000 ドメイン コントローラーすべてでこのレジストリ キーの変更を行う必要があります。
  • このレジストリ キーを使用すると、2000 台のコンピューターで新しい LM ハッシュWindows作成できません。 ただし、保存されている以前の LM ハッシュの履歴はクリアされません。 保存されている既存の LM ハッシュは、パスワードを変更すると削除されます。

Windows XP および Windows Server 2003

重要

このセクション、方法、またはタスクには、レジストリの編集方法が記載されています。 レジストリを誤って変更すると、深刻な問題が発生することがあります。 レジストリを変更する際には十分に注意してください。 保護を強化するため、レジストリを変更する前にレジストリをバックアップします。 こうしておけば、問題が発生した場合にレジストリを復元できます。 レジストリをバックアップおよび復元する方法の詳細については、次の記事番号をクリックして、Microsoft サポート技術情報の記事を表示します。

322756 Windows でレジストリをバックアップおよび復元する方法

レジストリ エディターを使用してこの DWORD 値を追加するには、次の手順を実行します。

  1. [実行 > 開始] を 選択し 、「regedit」と入力、[OK] をクリックします

  2. レジストリで次のキーを見つけて選択します。

    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa

  3. [編集] メニューの [新規] をポイントし、[DWORD 値] をクリックします。

  4. NoLMHash 入力し、Enter キーを押します。

  5. [編集] メニューの [変更] を 選択します

  6. 「1」と入力、[OK] を選択します

  7. コンピューターを再起動し、パスワードを変更します。

注意

  • Windows 2003 Active Directory 環境でのユーザーのパスワードの LM ハッシュの記憶域を無効にするには、すべての Windows Server 2003 ドメイン コントローラーでこのレジストリの変更を行う必要があります。 ドメイン管理者の場合は、「方法 1 (グループ ポリシーを使用して NoLMHash ポリシーを実装する)」で説明したように、Active Directory Users and Computers Microsoft Management Console (MMC) を使用して、このポリシーをドメイン上のすべてのドメイン コントローラーまたはすべてのコンピューターに展開できます。
  • この DWORD 値を使用すると、XP ベースのコンピューターとサーバー 2003 ベースWindowsコンピューターで新しい LM ハッシュWindows作成できません。 これらの手順を完了すると、以前のすべての LM ハッシュの履歴がクリアされます。

重要

Windows 2000 と Windows XP または Windows Server 2003 の両方で使用できるカスタム ポリシー テンプレートを作成する場合は、キーと値の両方を作成できます。 値はキーと同じ場所に配置され、値 1 は LM ハッシュの作成を無効にします。 キーは、サーバー 2000 Windowsサーバー 2003 にアップグレードWindowsされます。 ただし、両方の設定がレジストリにある場合は問題ありません。

方法 3: 15 文字以上のパスワードを使用する

最も簡単な方法は、15 文字以上のパスワードを使用する方法です。 この場合、ユーザー Windows認証に使用できない LM ハッシュ値が格納されます。