Donnerstag, 8. April 2010

Der richtige Umgang des Programmierers mit Passwörter

Viele Anwendungen wie der Apache Webserver oder andere haben ein eigenes Passworthandling. Trotzdem ist man als Programmierer machmal gezwungen sich selbst um das Handling der Passwörter kümmern. Die meisten selbstentwickelten Lösungen der Programmierer sind oft mäßig bis unzureichend. Das liegt auch daran, dass es während des Informatikstudiums keine oder nur selten entsprechende Vorlesungen oder Seminare gibt. Hier jetzt ein paar Regeln Regeln zum besseren Umgang mit Passwörtern.
  • Akzeptiere nur ausreichend lange Passwörter um Brute Force Attacken zu erschweren. Zur Zeit gelten Passwörter mit 8 und mehr Zeichen als akzeptabel.
  • Passwörter sollten nicht mit dem Benutzernamen identisch sein. Das wäre zu leicht zu erraten.
  • Passwörter sollten nicht Personennamen sein und auch möglichst kein normales Wort sein, auch sollte man nicht nur die Jahreszahl an eine Personennamen hängen. Diese Passwörter können durch Wörterbuch-Attacken ermittelt werden. Sinnvoll wäre immer eine Etropieprüfung der Passwörter.
  • Das Passwort sollte kein Tastaturmuster ala QWERTZU sein. Diese Passwörter sind auch anfällig für Attacken.
  • Passwörter sollten vom Programmierer nie als Klartext gespeichert werden. Passwörter sollten immer mit einer sicheren Hash-Funktion verarbeitet werden. Anschliessend wird dann der Hash-Wert gespeichert. Z.B. gelten zur Zeit SHA2 und MD5 als sicher. Durch das hashen ist es einem Eindringling nicht möglich die Passwörter im Klartext zu ermitteln.
  • Zusätzlichen Schutz bietet der Einsatz eines Salt. Dieser Salt wird dann zusätzlich zum Hash-Wert des Passworts gespeichert. Der Salt verhindert den Angriff von Eindringlingen via Rainbow Table.
Prinzipiell sollte man beim Schutz von Daten immer mehrere Verteidigungslinien aufbauen und sich nicht allein auf eine Schutzmassnahme verlassen. Oft zieht ein Einbruch weitere Einbrüche nach sich, wie z.B. auch bei der Apache Foundation (http://www.golem.de/1004/74458.html).

7FHFWF5TMNZC

Keine Kommentare:

Kommentar veröffentlichen