14.14. Preventing the LM Hash of a Password from Being Stored

Problem

You want to prevent the LM hash for new passwords from being stored in Active Directory. The LM hash is primarily used for backwards compatibility with Windows 95 and 98 clients. The LM hash is susceptible to brute force attacks.

Solution

For Windows 2000, you need to create the following Registry key on all domain controllers: HKLM\SYSTEM\CurrentControlSet\Control\Lsa\NoLMHash. Note that this is a key and not a value entry. Also, this is only supported on W2K SP2 and later domain controllers.

For Windows Server 2003, the NoLMHash key has turned into a DWORD value entry under the HKLM\SYSTEM\CurrentControlSet\Control\Lsa key. This value should be set to 1. You can accomplish this by modifying the Default Domain Controller Security Policy as described next.

Using a graphical user interface

  1. Open the Default Domain Controller Security Policy snap-in.

  2. In the left pane, expand Local Policies Security Options.

  3. In the right pane, double-click on Network security: Do not store LAN Manager hash value on next password change.

  4. Check the box beside Define this policy setting.

  5. Click the Enabled radio button.

Discussion

If you do not have Windows 98 or older clients in your domain, you should consider disabling the storage of the LM password hash for users. The LM hash uses an old algorithm (pre-Windows NT 4.0) and is considered to be relatively weak compared to the NT hash that is also stored.

Tip

The LM hash is generated only for passwords ...

Get Active Directory Cookbook now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.