So, we all know that passwords are the first line of defense for computer security. The problem is that most people tend to choose weak passwords. There are several things that we can do to help ensure strong passwords. The first is to make certain users choose good passwords. For places where that is not an option, we should audit passwords.
Auditting passwords is the process of examining the current password file and testing the passwords in order to determine if they are strong. The general means of auditting such systems is to use a password "cracker". Since different systems store passwords in different manners, it is important to use a password cracker which understands your type of password file. Broadly speaking, there are two main types of password crackers, those which understand Unix password files and those which understand Windows password files.
Perhaps a better approach for ensuring the use of strong passwords is to validate the password's strength when it is being changed (of course, this assumes that your users are changing their passwords). Essentially, we will be applying the password cracker up front. Of course, the standard initial argument about this idea is that cracking passwords takes a long time and the users don't want to wait. Fortunately, because the password changing program already has the unencrypted password, this step doesn't take very long at all.
There are a handful of different ways to require strong passwords. Again, the easiest breakdown is to look at tools for Windows and tools for Unix.