Computer Protection Program Berkeley Lab
Computer Protection Program at Berkeley Lab Security
Ernest Orlando Lawrence Berkeley National Laboratory
Emergencies | Site Index | Contact Us
CPP Home
Contacts
Policy Guidelines
Scan Information
System Procedures
Tools & Services
ALERTS
Recent CPP Actions
News & Articles
CPP Intranet
 
 
  PROCEDURES FOR SECURING SYSTEMS  
Password Filters  
The purpose of password filters is to stop users from entering weak (easy-to-guess) passwords when they change their passwords. Other tools such as password crackers check for bad passwords after the fact. What too often happens when users are informed that their passwords have been cracked and that they must change them, however, is that they temporarily change them to something better and then go right back to weak passwords that are easy to remember. Your users need to have good passwords at all times, not just after the most recent password cracking run.

Password filters come in all “sizes and flavors,” but most of them have one thing in common—they modify the program used in changing passwords by comparing each password to a dictionary of unacceptable passwords. Any user who has entered an unacceptable password is notified accordingly and instructed to use a different password. Additionally, all of them require that someone have superuser privileges to install them.

There are numerous free password filters for Unix/Linux systems as well as for Windows systems.


<< Back to Network & Internet Security

_________________


Password Filters for Unix/Linux Hosts

anlpasswd

anlpasswd is a password filter developed at Argonne National Laboratory. It is one of the most popular password filter tools for Unix and Linux because it has such an extensive (approximately 107 MB) list of weak (unacceptable) passwords. Additionally, it includes ypsmarts, a feature that allows it to filter passwords even in the NIS environment.

Go here to download this tool.

checkpassword

checkpassword is another password filtering tool. It provides a straightforward and consistent password-checking interface to any root application, and can thus be used in connection with login, smtp, ftp, pop3, and many other programs that authenticate users. Many checkpassword-compatible tools that support one-time passwords, secret login names, lengthy passwords, sub-accounts, different password databases (such as cdb databases), detailed logging, and other features are also available. There is also PAM support for checking shadow passwords and dealing with MD5 passwords.

checkpassword-pam is a checkpassword-compatible authentication program. Many system administrators prefer checkpassword-pam because it is more contemporary and administrator-friendly.

Go here to obtain this tool.

npasswd

npasswd replaces the passwd, chfn and chsh commands in Unix and Linux hosts. New passwords are rigorously filtered to make it very unlikely that users will have weak passwords, i.e., passwords that are highly vulnerable to password cracking or brute force attacks. npasswd also offers password screening in connection with a shadow database as well as one-time passwords. The downsides include having to choose numerous configuration options and the fact that a certain amount of the policy that affects whether or not passwords will be accepted is embedded in the npasswd code, thus precluding making certain kinds of changes to this tool.

Go here to download npasswd.


Password Filters for Windows Hosts

Password Complexity

Password complexity is a set of rules that apply when change their passwords such that those that do not have at least three of the four following characteristics—uppercase English letter, lowercase English letter, number, and special symbol such as “$” and “%”—are rejected. The password complexity function is built into Windows 2000, XP and Server 2003 operating systems; the system administrator needs only to enable the “Password Complexity” setting in the Password Policy for either the Domain Security Policy or Local Security Policy. Setting Password complexity in the Domain Security Policy is preferred, because doing this will cover a much wider range of passwords than when it is set in Local Security Policy.

Go here for guidance in setting password complexity in different versions of Windows operating systems.

LelandPW.DLL

LelandPW.DLL is a free Windows password filter developed at Stanford University that enforces a much more stringent set of restrictions for passwords than does password complexity. It works on the Windows 2000, XP and Server 2003 operating systems. LelandPW.DLL has a default dictionary of bad passwords, but it is also very extensible; you can filter out any additional password(s) of your choice by simply adding it/them to the ALLWORDS file. A <cr> must separate each password entry in this file. Whenever it identifies a user-entered password listed in the ALLWORDS file, it displays the following message to the user: "The password does not meet the password policy requirements."

To filter all passwords within a domain (the better alternative), install this filter on every domain controller. To filter all passwords on an individual host, this filter must be installed on that system.

Go here to obtain LelandPW.DLL.

Copy LelandPW.dll and ALLWORDS to the \System32 directory and set permissions on these files so that Everyone and Users/Domain Users are allowed no more than Read/Execute access. Next, use a Registry editor to access the HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\LSA key. Find the Notification Packages value on the right side of the display. Highlight the Notification Packages value, and then pull down the Edit Menu to Modify or Edit (depending on the particular version of Windows operating system). One entry should appear on each line. Being careful to not delete any of the other entries, add the value "LelandPW" (without the quotation marks) below the last entry. Finally, reboot.

 

 

 

 

Home | Contacts | Policy Guidelines | System Procedures | Tools & Services | ALERTS | News & Articles