Sichere Kennwörter erzwingen

Linux Sichere Kennwörter erzwingen

Die Sicherheit eines Linux-Rechners beginnt und endet oft bei der Konfiguration von Netzwerkdiensten. Nur was bringt es, wenn die eigenen Benutzer durch die Wahl von leicht zu erratenden Kennwörtern zu einem Angriffspunkt werden? Hat ein Angreifer erst einmal das Kennwort eines Benutzers geknackt, kann er sich in Ruhe auf die Suche nach Schwachstellen begeben und evtl. Schaden anrichten. Dieses Dokument beschreibt daher, wie man mit Hilfe von CrackLib Benutzer eines Linux-Systems zur Wahl schwerer Kennwörter zwingt.

Die Anleitung zeigt die Konfiguration unter Debian GNU/Linux. Die einzelnen Schritte sollten sich aber auch leicht an die Gegebenheiten anderer Distributionen anpassen lassen.

Damit die CrackLib Bibliothek neue Kennwörter überprüfen kann, müssen erst ein oder mehrere Wörterbücher installiert werden. Bei Debian stehen folgende Wörterbuch-Pakete zur Verfügung:

 

wbritish
wcatalan
wdanish
wenglish
wfaroese
wfinnish
wfrench
wgerman
witalian
wngerman
wnorwegian
wpolish
wspanish
wswedish

 

Wir installieren hier "wgerman" für die alte Rechtschreibung, "wngerman" für die neue Rechtschreibung, "wenglish" für amerikanisches Englisch und "wbritish" für britisches Englisch.

 

apt-get install wgerman wngerman wenglish wbritish

 

Wurden alle vier Wörterbücher installiert, befinden sich diese in folgendem Verzeichnis:

 

/usr/share/dict/

 

Nun kann das CrackLib-Modul für PAM (Pluggable Authentication Modules) installiert werden.

 

apt-get install libpam-cracklib

 

Bei der Installation des Pakets "cracklib-runtime" wird anhand der installierten Wörterbücher eine Wortliste erstellt. Diese befindet sich anschließend in folgendem Verzeichnis:

 

/var/cache/cracklib/

 

Werden Wörterbücher nachträglich installiert, müssen diese auch der CrackLib bekannt gemacht werden. Das geschieht mit folgendem Befehl:

 

dpkg-reconfigure cracklib-runtime

 

Als nächstes werden alle Dateien, die sich im Verzeichnis "/etc/pam.d/" befinden in einem Editor geöffnet. Die Zeilen, welche mit folgender Zeichenkette beginnen, werden mit einer vorangestellten Raute auskommentiert.

 

password   required     pam_unix.so

 

Anschließend werden die folgenden beiden Zeilen hinzugefügt (oder - falls sie bereits existieren - durch Entfernen der Raute aktiviert):

 

password required       pam_cracklib.so retry=3 minlen=6 difok=3
password required       pam_unix.so use_authtok nullok md5

 

Diese Änderung musste auf meinem System in den Dateien "login", "kdm", "passwd" und "ssh" vorgenommen werden.

Wenn nun ein Benutzer beispielsweise mit "passwd" sein Kennwort ändert, werden die neu eingegebenen Kennwörter überprüft. Basiert das Kennwort auf einem in der Wortliste stehenden Wort, so wird folgende Meldung ausgegeben:

 

BAD PASSWORD: it is based on a dictionary word

 

Ist das Kennwort kürzer als 6 Zeichen, so erscheint folgende Fehlermeldung:

 

BAD PASSWORD: it is too short

 

Gibt man als Kennwort beispielsweise "123456" oder "abcdefg" ein, so erhält der Benutzer folgender Meldung:

 

BAD PASSWORD: it is too simplistic/systematic

 

Nach 3 fehlgeschlagenen Versuchen, ein neues Kennwort einzugeben, wird der passwd-Dialog schließlich beendet.

Wenn nach der Eingabe des alten Kennworts die Fehlermeldung

 

passwd: Critical error - immediate abort

 

erscheint, existiert die CrackLib-Wortliste nicht (mehr). Diese muss dann neu erzeugt werden (siehe oben). Bei mir trat der Fehler auf, weil ich zuerst die CrackLib und anschließend die Wörterbücher installiert habe.

Artikelbewertung: 
No votes yet
War dieser Artikel hilfreich?