PHPGangsta - Der praktische PHP Blog

PHP Blog von PHPGangsta


Archive for the ‘Public Key’ tag

Dieser Schlüssel zerstört sich in 30 Sekunden selbst

with 11 comments

Gastartikel von Oliver Sperke.

Ich bin 34 Jahre alt und seit 10 Jahren selbständiger Webentwickler. Mein Fokus liegt dabei auf der Erstellung, Beratung und Optimierung in den Bereichen High Performance, Usability und Sicherheit in den gängigsten Internetsprachen: PHP, HTML, Javascript und CSS.

Nachdem ich ja in den letzten Wochen über den sicheren Umgang mit Passwörtern in Webprojekten erzählt habe, soll es heute mal um etwas anderes gehen (aber trotzdem um das Thema Sicherheit). Wenn man oft auf fremden oder eigenen Servern arbeitet, kommt man an OpenSSH eigentlich nicht vorbei. Und wenn man dazu noch so faul ist wie ich (und vermutlich die meisten von Euch auch), hat man keine dutzenden Dateien mit Passwörtern, sondern wickelt die gesamten Loginvorgänge mit Hilfe von öffentlichen und privaten Schlüsseln ab. Dieses Verfahren ist nicht nur bequem, es bietet auch zusätzliche Sicherheit, da man nicht in Versuchung kommt, einfache Passwörter zu verwenden. Ausserdem ist die eigene Passwortliste schon von Haus aus verschlüsselt.

Das Verfahren hat aber für einen Serverbetreiber Nachteile. Der öffentliche Schlüssel muss auf dem Server hinterlegt werden. Ausserdem muss man sobald der Zugang nicht mehr benötigt wird, nachsehen, ob ein Benutzer sich vielleicht eigene Schlüssel hinterlegt hat und natürlich muss man ihm den Zugang manuell sperren.

Weiterlesen »

Written by Oliver

August 1st, 2011 at 9:34 am

Applikationslogin mittels SSL-Zertifikat

with 6 comments

Passworte haben Nachteile, das wissen wir alle. Sie müssen genügend komplex aber trotzdem merkbar sein, die Länge und Art der Zeichen sind dafür verantwortlich wie einfach es zu erraten ist. Fast niemand verwendet Passworte mit mehr als 8 oder 10 Zeichen. Ohne wirksame Brute-Force-Gegenmaßnahmen sind diese innerhalb von Stunden oder wenigen Tagen knackbar. Auch ein Einbruch in den Webserver liefert dem Angreifer heutzutage häufig den Hash des Passwortes (häufig MD5).

SSL bzw. Public/Private-Key Verfahren zeigen sichere Alternativen. Diese sind häufig sehr lang (>1024 bit) und dadurch nicht mehr erratbar. Außerdem ist es möglich den Public-Key ohne Bedenken herauszugeben, daraus den Private-Key zu errechnen wird auf lange Zeit nicht möglich sein. Das ist zwar auch bei Passworten möglich (md5, sha1 etc), aber diese Hashes sind kürzer und in der Vergangenheit regelmäßig geknackt worden. Erhältliche Rainboxtables und Wörterbuch-Angriffe machen die Rückführung auf das Originalpasswort sehr einfach.

Wie wäre es also, zum Beispiel den Admin-Bereich einer Applikation nicht mittels Username+Passwort zu schützen, sondern mit einem OpenSSL-Keypaar? Dann braucht man sich keine Sorgen über Brute-Force-Angriffe machen.

Eine weitere schöne Anwendungsmöglichkeit ist, wenn sich die Administratoren als einer ihrer User einloggen können möchten. Da man ja die Passworte seiner User nicht kennt muss man das anders lösen.

Weiterlesen »

Written by Michael Kliewe

Mai 14th, 2010 at 12:35 pm