Workshop: Sichere Linux-Workstation

cracklib-Dictionary

Beim Ausschluss zu schwacher Passworte stützt sich pam_cracklib.so auf die Library cracklib, die ähnlich wie Brute-Force-Crackprogramme operiert: Sie stützt sich auf eine Wortliste. Diese dient hier allerdings nicht zum Abklopfen von Accounts, sondern soll allzu leicht zu erratende Passworte ausschließen. Ein vorgefertigtes Dictionary findet sich im Verzeichnis /usr/lib in drei Dateien namens cracklib_dict mit den Endungen .hwm, .pwd sowie .pwi. Diese Files lassen sich über die mit cracklib gelieferten Dienstprogramme aus ASCII-Wortlisten mit je einem Eintrag pro Zeile generieren. Als Standard-Wortliste dient dabei die Datei /usr/dict/words.

Je nach Distribution gestaltet sich die Ergänzung des Dictionary um eigene Einträge mehr oder weniger aufwendig. So erstellt Debian über ein cron-Skript das Wörterbuch täglich aus den Wortlisten in den Verzeichnissen /usr/dict und /usr/share/dict neu. Bei Red Hat Linux oder SuSE dagegen muss der Administrator diese Arbeit manuell erledigen. SuSE liefert immerhin ein Skript namens create-cracklib-dict, das die notwendigen Aufrufe für eine als Parameter anzugebende ASCII-Wortliste automatisch erledigt. Bei Red Hat lautet die entsprechende Kommandozeile:

/usr/sbin/mkdict /usr/dict/words | /usr/sbin/packer /usr/lib/cracklib_dict

Dabei entfernt mkdict Doubletten und Kontrollzeichen aus der als Parameter angegebenen Liste und schreibt das Ergebnis sortiert auf die Standardausgabe. Das Utility packer erwartet eine derart formatierte Liste an der Standardeingabe und erzeugt daraus die drei von cracklib benötigten Files mit dem als Parameter angegebenen Namen und den Endungen .hwm, .pwd sowie .pwi