Workshop: Sichere Linux-Workstation

pam_cracklib

In Sachen Passwortsicherheit interessieren uns vor allen Dingen die Einträge in den Dateien /etc/pam.d/passwd und /etc/pam.d/login. Die erste steuert das Verhalten beim Ändern von Passworten, die zweite zeichnet für die Vorgänge beim Login verantwortlich. Sowohl passwd als auch login sollten folgende zwei Zeilen (in dieser Reihenfolge) enthalten:

# Zeile 1
password required /lib/security/pam_cracklib.so retry=3 minlen=8 difok=3
# Zeile 2
password required /lib/security/pam_unix.so nullok use_authtok md5 shadow

Damit erzwingen Sie über pam_cracklib.so bei allen Accounts die Verwendung ausreichend starker Passworte.

Die Bibliothek überprüft alle neuen Passworte zunächst anhand eines Dictionary auf gängige und somit leicht zu erratende Passworte. Fällt das Passwort nicht in diese Rubrik, testet pam_cracklib zusätzlich folgende Ausschlusspunkte:

  • Hat das Passwort die notwendige Mindestlänge (minlen)?

  • Wurden wenigstens difok oder ersatzweise mindestens 50 Prozent der Zeichen im Passwort geändert?

  • Wurde das Passwort schon einmal benutzt?

  • Ist das Passwort ein Palindrom eines schon vorhandenen Passworts (beispielsweise regen_nie? statt ?ein_neger)

  • Handelt es sich um ein Passwort, bei dem lediglich die Groß/Kleinschreibung gewechselt wurde?

  • Handelt es sich um die Rotation eines alten Passworts (etwa bcdef statt abcde)?

Nur wenn das neue Passwort alle Hürden nimmt, reicht pam_cracklib es an pam_unix weiter. Dabei erzwingt use_authtok die Verwendung des von pam_cracklib getesteten Tokens. Anderenfalls fordert pam_cracklib den Benutzer bis zu drei Mal (retry=3) zur Eingabe eines stärkeren Passworts auf.