Seite wählen
Anzeige
dmsolutions-banner

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 (siehe cracklib man)!

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

  1.  <?php
  2.  //
  3.  $dictionary = crack_opendict(/pfad/zur/cracklibdict/cracklib_dict);
  4.  //
  5.  $check = crack_check($dictionary, $password);
  6.  //
  7.  $diag = crack_getlastmessage();
  8.  //
  9.  echo $diag;
  10.  //
  11.  crack_closedict($dictionary);
  12.  ?>

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

(vgl. User contributed notes des PHP Manual)

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.