Linux check passwords against a dictionary attack
Dictionary attack is used for detecting password.
Wikipedia defines:
A dictionary attack is a technique for defeating a cipher or authentication mechanism by trying to determine its decryption key or passphrase by searching a large number of possibilities.
A dictionary attack also exploits the tendency of people to choose weak passwords, and is related to the previous attack. Password cracking programs usually come equipped with "dictionaries", or word lists, with thousands or even millions of entries of several kinds, including:
=> Words in various languages
=> names of people
=> Places
=> Commonly used passwords etc
However you can use the existence of these dictionary attack tools demonstrates the relative strengths of different password choices against such attacks.
Check user passwords against a dictionary attack
You can be configured to verify that passwords (read as weak password) cannot be guessed easily using Linux PAM module called pam_cracklib.so. It will check the passwd against dictionary words. User is not allowed to set new password until and unless conditions satisfied (i.e. weak password is not allowed).
Open password configuration file according to your Linux distribution. And make modification as follows.
Redhat/Fedora/CentOS Linux
cracklib PAM module is installed by default so no need to install anything. Just open config file:
# vi /etc/pam.d/system-auth
Append/modify as follows:
password required /lib/security/pam_cracklib.so retry=2 minlen=10 difok=6
Debian or Ubentu Linux
First install libpam-cracklib PAM module to enable cracklib support.
# apt-get install libpam-cracklib
or
$ sudo install libpam-cracklib
Now open config file:
# vi /etc/pam.d/system-auth
Append/modify as follows:
password required pam_cracklib.so retry=2 minlen=10 difok=6
Save and close the file
Where,
- retry=2 : Prompt user at most 2 times before returning with error
- minlen=10 : minimum length allowed for an account password is set to 10 characters. This is the minimum simplicity count for a good password. And you are allowed only 2 times using retry option.
- difok=6: How many characters can be the same in the new password relative to the old. User will see error - BAD PASSWORD: is too similar to the old one
- You can also apply following options to compute the 'unsimplicity' of the password.
- dcredit=N : Digits characters
- ucredit=N : Upper characters
- lcredit=N : Lower characters
- ocredit=N : Other characters
Please note that restrictions are only applied to normal users (not to root user).
Want to stay up to date with the latest Linux tips, news and announcements? Subscribe to our free e-mail newsletter or RSS feed to get all updates.
You can Email this page to a friend.
You may also be interested in other helpful articles:
- Howto: Protect account against a password cracking attack
- What is the difference between password and passphrase under OpenSSH with DSA / RAS public key authentication?
- Download of the day: Firefox Dictionary.com search plugin
- Prevent from using or reuse same old passwords under Linux
- How to: Linux Iptables block common attacks
Discussion on This Article:
Leave a Reply
We encourage your comments, and suggestions. But please stay on topic, be polite, and avoid spam. Thank you very much for stopping by our site!


[...] satisfied (i.e. weak password is not allowed). nixCraft | more.. No Comments Leave a Commenttrackback addressThere was an error with your comment, please try again. name (required)email (will not be published)(required)url [...]