cracklib2 - a pro-active password library

Jean Pierre LeJacq

Original Debian packaging 

Martin Pitt

Debian package maintainer before version 2.8. 

Jan Dittberner

Reformulation to DocBook XML, updated to reflect new packaging and upstream version. Current Debian package maintainer. 

This package and this document is free software; you may redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation.

A copy of the GNU General Public License version 2 is available as /usr/share/common-licenses/GPL-2 in the Debian GNU/Linux distribution or on the World Wide Web at http://www.gnu.org/copyleft/gpl.html. You can also obtain it by writing to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.

$Date: 2008-06-30 14:55:46 +0200 (Mo, 30. Jun 2008) $

Abstract

cracklib2 is a library containing a C function which may be used in a passwd (1) like program. The idea is simple: try to prevent users from choosing passwords that could be guessed by crack by filtering them out, at source. cracklib2 is not a replacement passwd (1) program. cracklib2 is a library.

cracklib2 is an offshoot of version 5 of the crack software and contains a considerable number of ideas nicked from the new software.

cracklib2's original home page provides some links on security publications and access to source code written by the author of cracklib2. While there is a README there is not much documentation available on cracklib2. Hopefully this page that I generated for the Debian/GNU Linux distribution will improve this situation.

cracklib2 has been forked by Nathan Neulinger who is now coordinating the further development. This fork has been blessed by the original maintainer in this article. The new upstream branch is hosted at the cracklib2 SourceForge™ project page.


Table of Contents

Why cracklib2?
Who is responsible for all of this?
How to use cracklib2 with Debian
Debian cracklib2 package overview

Why cracklib2?

One of the most common security weaknesses in computer systems is the use of easily guessed passwords. cracklib2 tries to prevent the selection of weak passwords by checking potential passwords against dictionaries of commonly used or easily guessed words.

Who is responsible for all of this?

Alec Muffet is the author of cracklib2. Jean Pierre LeJacq initially produced this Debian package, Martin Pitt is its current maintainer. Jan Dittberner packaged the new upstream version of cracklib2 and updated the documentation.

How to use cracklib2 with Debian

Ideally, the password quality check should be done when an user sets his/her password. The PAM (Pluggable Authentication Modules) architecture makes it easy to integrate arbitrary checks (like cracklib2) into programs like passwd and ssh.

To use cracklib2 in Debian, install the package libpam_cracklib and follow the instructions to enable libpam_cracklib in /etc/pam.d/common-password.

From now on,cracklib2 checks the password quality whenever a password is changed with passwd and rejects bad ones.

Debian cracklib2 package overview

The source package is cracklib2 which generates the following binary packages:

libcrack2

Shared library and this documentation.

libcrack2-dev

Header files, static libraries, and symbolic links developers using cracklib2 will need. This package also provides an example program that shows the usage of cracklib2 in own applications.

cracklib-runtime

Run-time support programs which use the shared library in libcrack2 including programs to build the password dictionary databases used by the functions in the shared library.

python-cracklib

This package provides Python bindings for the shared library in libcrack2.

This package does not include dictionaries since there are already lots of them in Debian (wenglish, wngerman, etc.).