新しい設定によって NTLM ネットワーク認証の動作が変更される

この記事では、NTLM パスワードの変更に影響する新しい動作と、レジストリを使用してこの動作を変更する方法について説明します。

適用対象: Windows Server 2012 R2
元の KB 番号: 906305

概要

Microsoft Windows Server 2003 Service Pack 1 (SP1) 以降では、NTLM ネットワーク認証動作に変更があります。 ドメイン ユーザーは、以前のパスワードを使用して、パスワードが変更された後 1 時間ネットワークにアクセスできます。 認証に Kerberos を使用するように設計された既存のコンポーネントは、この変更の影響を受けません。

この変更の目的は、管理者が新しいパスワードの資格情報を更新できるようになるまで、サービスなどのバックグラウンド プロセスの実行をしばらく継続できるようにすることです。

NTLM ネットワーク認証の動作

分散環境での NTLM ネットワーク認証のネットワーク アクセスを確実にサポートするために、NTLM ネットワーク認証の動作は次のとおりです。

  • ドメイン ユーザーが NTLM を使用してパスワードを正常に変更した後も、ユーザー定義可能な期間、古いパスワードをネットワーク アクセスに使用できます。 この動作により、パスワードの変更が反映されている間に、複数のコンピューターにログオンしているサービス アカウントなどのアカウントがネットワークにアクセスできるようになります。
  • パスワードの有効期間の延長は、NTLM を使用したネットワーク アクセスにのみ適用されます。 対話型ログオンの動作は変更されません。 この動作は、スタンドアロン サーバーまたはメンバー サーバーでホストされているアカウントには適用されません。 この動作の影響を受けるのはドメイン ユーザーのみです。
  • 古いパスワードの有効期間は、ドメイン コントローラーのレジストリを編集することで構成できます。 このレジストリの変更を有効にするには、再起動は必要ありません。

古いパスワードの有効期間を変更する

重要

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

古いパスワードの有効期間を変更するには、 OldPasswordAllowedPeriod という名前の DWORD エントリをドメイン コントローラーの次のレジストリ サブキーに追加します。

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa

これを行うには、次の手順を実行します。

  1. [スタート] ボタンをクリックし、[ファイル名を指定して実行] をクリックします。次に、「Regedit」と入力し、[OK] をクリックします。

  2. 次のレジストリ サブキーを見つけてクリックします。

    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa

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

  4. DWORD の名前として 「OldPasswordAllowedPeriod 」と入力し、Enter キーを押します。

  5. [OldPasswordAllowedPeriod] を右クリックし、[変更] をクリックします。

  6. [ 値データ ] ボックスに、使用する値を分単位で入力し、[OK] をクリック します

    注:

    有効期間は分単位で設定されます。 このレジストリ値が設定されていない場合、古いパスワードの既定の有効期間は 60 分です。

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

注:

このレジストリ設定では、再起動を有効にする必要はありません。

この動作によってセキュリティの弱点は発生しません。 両方のパスワードを知っているユーザーが 1 人だけである限り、ユーザーはどちらのパスワードを使用しても安全に認証されます。

ユーザーのパスワードが侵害されていることがわかっている場合、管理者はそのユーザーのパスワードをリセットする必要があります。 管理者は、次のログオン時にパスワードを変更して、古いパスワードをできるだけ早く無効にするようにユーザーに依頼する必要があります。

ユーザーのパスワードをリセットするには、次の手順に従います。

  1. Active Directory ユーザーとコンピューターを起動します。
  2. パスワードをリセットする必要があるユーザー アカウントを見つけます。
  3. ユーザー オブジェクトを右クリックし、[ パスワードのリセット] をクリックします。
  4. [新しいパスワード] ボックスと [パスワードの確認] ボックスに新しいパスワードを入力します。
  5. [ユーザーは次回ログオン時にパスワードを変更する必要があります] チェックボックスを選択し、[OK] をクリックします

注:

この記事で説明する動作は、ドメイン コントローラーの有効なパスワード ポリシーに [ パスワード履歴の適用] が 2 つ以上のパスワードを記憶することを指定する値に設定されている場合にのみ発生します。 パスワード ポリシーはドメイン レベルで設定する必要があります。 Secpol.msc スナップインを使用して、ポリシーがドメイン コントローラーに対して有効になったかどうかを判断できます。