Egal, um welchen Dienst es sich dreht, den Benutzern geht es immer zu langsam. Der Schwerpunkt des ADMIN-Magazins 05/2011 verrät, mit welchen Tools man ... (mehr)

Horch, was kommt von draußen rein

Phpass nimmt Entwicklern von Web-Anwendungen einige Arbeit ab, ist aber kein Allheilmittel. Ein vom Benutzer aus Faulheit gewähltes Geburtsdatum als Passwort kann man schlichtweg erraten, da nützt dann auch kein noch so gutes Hashing. Man sollte daher in der eigenen Webanwendung alle eingegebenen Passwörter auf ihre Länge und Qualität abklopfen.

Zudem sollte man die Übertragung der Passwörter via SSL absichern. Schließlich nützt es wenig, wenn die Webanwendung die Passwörter knacksicher verwahrt, ein Lauscher aber die Kommunikation zwischen Client und Server mitschneidet und so das eingetippte Passwort im Klartext abfängt.

Ein Angreifer könnte zu einem Benutzernamen einfach alle möglichen Passwörter durchprobieren. Um ihm dies zu erschweren, kann man die Zeitspanne zwischen zwei Anmeldeversuchen mit jeder Fehleingabe künstlich erhöhen. Ein normaler Benutzer, der sich nur dreimal vertippt, bekommt davon nicht viel mit, ein Programm, das systematisch mehrere Hundert Passwörter nacheinander durchprobiert, wird dadurch aber massiv ausgebremst.

Letztlich ist Passwortsicherheit nur ein kleiner Baustein einer sicheren Webanwendung. Unter anderem gilt es, jede Benutzereingabe auf Schadcode hin abzuklopfen (Stichwort SQL-Injections [5] ).

Fazit

Phpass verhilft einfach und schnell zu einem sicher gehashten Passwort. Es ist in der Praxis erprobt, von vielen Augen analysiert und dank Public-Domain-Lizenz kostenlos nutzbar. Hinter Phpass steckt übrigens Solar Designer (alias Alexander Peslyak), der auch für den bekannten Passwort-Knacker John the Ripper verantwortlich ist. Unter [6] gibt er noch viele weitere Tipps für sichere Webanwendungen, die über die Verwendung von Phpass hinausgehen. (ofr)

Infos

  1. Phpass: http://www.openwall.com/phpass/
  2. Informationen zur Crypt-Funktion: http://no2.php.net/manual/en/function.crypt.php
  3. Wikipedia-Eintrag zu Bcrypt: http://en.wikipedia.org/wiki/Bcrypt
  4. Suhosin-Patch: http://www.hardened-php.net/suhosin/
  5. Wikipedia-Eintrag zu SQL-Injections: http://de.wikipedia.org/wiki/SQL-Injection
  6. Ausführliche Anleitung zu Phpass und Passwort-Sicherheit: http://www.openwall.com/articles/PHP-Users-Passwords

Der Autor

Tim Schürmann ist selbstständiger Diplom-Informatiker und derzeit hauptsächlich als freier Autor unterwegs. Zu seinen Büchern gesellen sich zahlreiche Artikel, die in Zeitschriften und auf Internetseiten in mehreren Ländern veröffentlicht wurden.

comments powered by Disqus
Mehr zum Thema

Verfahren für Password-Hashing

Dass Kennwörter nicht im Klartext in Benutzerdatenbanken von Unternehmen lagern, ist heute zum Glück etablierter Standard. Über den korrekten Umgang mit Benutzerpasswörtern und das passende Hash-Verfahren ranken sich dennoch viele Mythen und Halbwahrheiten. Viel zu häufig sind auch gehashte Zugangsdaten nicht vor Angriffen von Hackern sicher. Der Security-Tipp in diesem Monat greift das Problem auf und diskutiert unterschiedliche Verfahren für die sichere Speicherung von Passwörtern in der Benutzerdatenbank.
Einmal pro Woche aktuelle News, kostenlose Artikel und nützliche ADMIN-Tipps.
Ich habe die Datenschutzerklärung gelesen und bin einverstanden.

Konfigurationsmanagement

Ich konfiguriere meine Server

  • von Hand
  • mit eigenen Skripts
  • mit Puppet
  • mit Ansible
  • mit Saltstack
  • mit Chef
  • mit CFengine
  • mit dem Nix-System
  • mit Containern
  • mit anderer Konfigurationsmanagement-Software

Ausgabe /2023