Die Cracklib Bibliothek

Mit der Cracklib Bibliothek kann man die Stärke (Sicherheit) von Passwörtern testen. Cracklib führt bei der Überprüfung eine Wörterbuch Attacke auf das Passwort aus und prüft die Verteilung der Zeichen bzw. die Länge der Zeichenkette, auch wird die Groß- und Kleinschreibung überprüft und verglichen.

Als Rückgabe erhält man dann verschiedene (englische) Satzteile, wie z.B.: „it is too short“ oder „strong password“. Um diese Funktionen nutzen zu können muss PHP mit der Option –with-crack=/pfad/zu/cracklib kompiliert worden sein. Ausserdem müssen sie aus einer Wörterliste eine binäre Wörterbuchdatei erstellen, dazu liefert cracklib aber schon eine fertige Funktion mit, die sie nur noch über die Kommandozeile ausführen müssen!

Hier mal ein Beispiel für die Anwendung in PHP:

<?php
 // Laden des Wörterbuches
 $dictionary = crack_opendict("/pfad/zur/cracklibdict/cracklib_dict");
 // Prüfen des Passwortes ($password)
 $check = crack_check($dictionary, $password);
 // Rückgabe holen
 $diag = crack_getlastmessage();
 // Rückgabe ausgeben
 echo $diag;
 // Wörterbuch wieder schliessen
 crack_closedict($dictionary);
 ?>

Mögliche Rückgabewerte von crack_getlastmessage() bei Verwendung der cracklib 2.7 sind:

  • it is based on a dictionary word
  • it is based on a (reversed) dictionary word
  • it’s WAY too short
  • it is too short
  • it does not contain enough DIFFERENT characters
  • it is all whitespace
  • it is too simplistic/systematic
  • it looks like a National Insurance number

Es ist also ganz einfach, die Funktionen der cracklib in seine eigene Anwendung einzubinden. Sie sollte überall dort verwandt werden, wo der Benutzer sein Passwort selbst festlegen kann und sie ihn bei der Passwortwahl unterstützen möchten.

3 Gedanken zu „Die Cracklib Bibliothek

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Durch die weitere Nutzung der Seite stimmst du der Verwendung von Cookies zu. Weitere Informationen zum Datenschutz...

Die Cookie-Einstellungen auf dieser Website sind auf "Cookies zulassen" eingestellt, um das beste Surferlebnis zu ermöglichen. Wenn du diese Website ohne Änderung der Cookie-Einstellungen verwendest oder auf "Akzeptieren" klickst, erklärst du sich damit einverstanden.

Schließen