Userlogin ohne SSL o.ä. überhaupt sicher?

F

Fat32Tony

Gast
Ich zumindest tue es seit ich mit dem ganzen Webentwicklungsquatsch angefangen habe, und mittlerweile drängt sich mir die Frage auf ob ein Userlogin ohne SSL Überhaupt sicher sein kann.
Weil beim normalen http wird das Passwort doch im Klarformat übertragen und erst auf dem Server zu md 5 gewandelt?
Dann müsste doch jeder im lokalen Netz (und auch im Internet) theoretisch mit ein wenig Aufwand auslesen können.

Trotzdem sehe ich immer wieder Seiten die kein SSL Zertifikat besitzen (hier)

Google spuckt mir nur Tutorials und Userloginscripts an, ich denke das wird mir nicht weiterhelfen.

Hoffe auf Antwort ;)

Tony
 
Ja, ohne SSL kann man dann alles was übers Netz geht mit Sniffer Tools auslesen. Da kann man noch sonst so viel Mühe in die sichere Programmierung investiert haben, dann ist alles für die Katz.
 
Würde man mir denn ein kostenloses StartSSL Zertifikat empfehlen?
Oder ist das ganze einfacher Schwachsinn?
 
Besser ein "nicht vertrauenswürdiges" (selbst erstelltes) Zertifikat, als gar keins. Aber das hängt natürlich auch immer vom Dienstleister ab.
Sprich besser https:// und kein sicheres Zertifikat, als http://
 
Zuletzt bearbeitet:
Fat32Tony schrieb:
Weil beim normalen http wird das Passwort doch im Klarformat übertragen und erst auf dem Server zu md 5 gewandelt?
Dann müsste doch jeder im lokalen Netz (und auch im Internet) theoretisch mit ein wenig Aufwand auslesen können.
Korrekt, der Kram fließt als Klartext. Aber warum sollte man auf dem Server md5 verwenden? Das macht man nur, wenn man von nix ne Ahnung hat bzw. zwanghaft uralte PHP-Versionen supporten will (siehe: Wordpress). Passwörter sollte man mit Werkzeugen wie bcrypt hashen, bei denen der Aufwand exponentiell höher ist als bei den auf Geschwindigkeit optimierten Verfahren wie md5 oder sha1.
Und was heißt "wenig Aufwand"? Der Aufwand ist nahezu null. Paket-Sniffer gibts wie Sand am Meer, und zumindest in lokalen Netzen kann man damit sehr schnell zum Erfolg kommen. Wenn der User aber die Strecke "PC - Router/Modem" kontrolliert und du da keinen Zugriff bekommst, dann wird es ungleich schwerer. Da müsstest du dich in den Internet-Datenstrom klinken, irgendwo zwischen den verschiedenen Knoten.

Fat32Tony schrieb:
Würde man mir denn ein kostenloses StartSSL Zertifikat empfehlen?
Immer, nicht zuletzt weil Google inzwischen dazu über geht, verschlüsselte Seiten besser zu bewerten. Außerdem können nur verschlüsselte Verbindungen mit dem SPDY-Protokoll übertragen werden, und auch HTTPS 2.0 (für das SPDY als Basis dient) wird wohl seine Stärken nur bei verschlüsselten Verbindungen ausspielen. Natürlich muss der Server SPDY implementieren, was eher selten ist.
 
Fat32Tony schrieb:
Würde man mir denn ein kostenloses StartSSL Zertifikat empfehlen?
Oder ist das ganze einfacher Schwachsinn?
Schwachsinn ist's, ja*. Aber guter Schwachsinn, denn das Cert wird akzeptiert und ist voll empfehlenswert. :) Allerdings kostet das Zurückziehen $25 (Heartbleed...).

*Das liegt aber daran, dass die Ident-Nachweis-Methode aller CAs großer Schwachsinn ist. :evillol:
Daaron schrieb:
Korrekt, der Kram fließt als Klartext. Aber warum sollte man auf dem Server md5 verwenden? Das macht man nur, wenn man von nix ne Ahnung hat bzw. zwanghaft uralte PHP-Versionen supporten will (siehe: Wordpress). Passwörter sollte man mit Werkzeugen wie bcrypt hashen, bei denen der Aufwand exponentiell höher ist als bei den auf Geschwindigkeit optimierten Verfahren wie md5 oder sha1.
Recht hat er. Generell, bei Security: Niemals selber machen. Schlaues Buch lesen und wissen was so etwas wie bcrypt tun kann, aber nicht selber implementieren.

Security und Authentifizierung ist unendlich komplex. Schau dir mal so etwas wie den Bleichenbacher-Angriff an - viel Spaß dich bei deiner eigenen Implementierung gegen so etwas abzusichern.

Wenn TLS absolut nicht machbar ist (die Szenarien die mir da einfielen wären keine TLD oder Software, die selbst-signierte Certs ablehnt) sollte man externe Dienstleister für den Login nutzen und als Plugin einbinden.
 
Elcrian schrieb:
...Allerdings kostet das Zurückziehen $25 (Heartbleed...).

*Das liegt aber daran, dass die Ident-Nachweis-Methode aller CAs großer Schwachsinn ist. :evillol:
Einen Revoke wird man eher selten brauchen, und wenn, dann sind die 25$ immer noch ein Schnäppchen. Ein kostenpflichtiges Cert mit Gratis-Revoke hätte in einem Jahr schon mehr gekostet...
Und der Ident: Jap, da krankt das System oftmals, aber es geht ja nicht nur um die Identifikation, sondern vor allem um die Verschlüsselung zwischen Client und Server.... und die erledigt ein kostenloses StartSSL-Cert genauso wie ein selbstsigniertes Snakeoil oder irgend so ein schweineteures Wildcard-Cert.

Wenn TLS absolut nicht machbar ist (die Szenarien die mir da einfielen wären keine TLD oder Software, die selbst-signierte Certs ablehnt) sollte man externe Dienstleister für den Login nutzen und als Plugin einbinden.
Was hier wunderbar funktioniert: Login über oAuth-Systeme wie Facebook, Google, Twitter... Der User kommuniziert private Daten nur mit dem Dienstleister.
 
Vielen Dank an Elcrian und besoders an Daaron der mir das ganze hier sehr ausführlich erläutert hat :)
Besonders der Login über Facebook ist eine sehr gute Idee. ich werde definitiv darüber nachdenken weil es mir auch schon immer sehr gefallen hat nicht mit 1000 Emails und Bestätigungen durchs Internet laufen zu müssen.
Dass die Daten bei facebook nicht besonders diskret verwaltet werden sei mal so dahingestellt...

Zu StartSSL:
Beim überfliegen der Policity konnte ich keine Zurückziehungsgebür für dieStartSSL free Lizenz kategorie 1 finden. Kann sein dass ich das übersehen hab aber sonst würde ich mir wohl eher für 25 Euro jährlich ein Prepaid SSL Zertifikat mit deutscher Währung erwerben.
 
Fat32Tony schrieb:
Besonders der Login über Facebook ist eine sehr gute Idee. ich werde definitiv darüber nachdenken weil es mir auch schon immer sehr gefallen hat nicht mit 1000 Emails und Bestätigungen durchs Internet laufen zu müssen.
Dass die Daten bei facebook nicht besonders diskret verwaltet werden sei mal so dahingestellt...
Dir geht es doch primär um Passwort-Sicherheit, oder? Ich kann es natürlich nicht beweisen, aber ich bin mir verdammt sicher, dass Google, Facebook und Twitter jeweils verdammt anständiges Hashing betreiben. Da sitzen jeweils echt keine Dummköpfe in den Entwicklungsabteilungen.
Dass Facebook & Co personenbezogene Daten gern für Marketingzwecke verwenden, steht auf einem anderen Blatt und spielt hier keine Rolle. Die meisten dieser Daten kannst du problemlos im lokalen Einwohnermeldeamt als Bündel einkaufen.

Twitter sind übrigens was "persönliche" Daten angeht sogar übermäßig paranoid. Wenn du Twitter-Login implementierst, erhälst du (anders als z.B. bei FB) auf keinen Fall die Mailadresse des Users über die API. Das kotzt natürlich an, wenn du z.B. in einem Shopsystem Twitter-Registrierung für schnellere Bestellprozesse implementieren willst, du den User dann aber noch manuell wegen der Mailadresse nerven musst, damit du ihm auch die Bestellbestätigung etc. schicken kannst...

Bezüglich StartSSL Revocation:
http://www.startssl.com/?app=43
Does revocation of a certificate carry a fee?
Yes, depending on the verification level of the certificate a revocation fee of US$ 24.90 is charged. See also the Fees page with the current price list.


Warum willst du 25€ pro Jahr ausgeben für ein Zertifikat, dass du im Zweifel eh nie zurück rufst? Verlierst du jedes Jahr deinen Private Key? Und denk mal darüber nach... 25 US-Dollar = 20,3235509 Euro

Kostenlose StartSSL-Zertifikate sind die perfekte Lösung wenn:
- man nicht monatlich seinen PK verliert und die 25$ Revocation Fee echt ins Geld gehen...
- man den marginalen Aufwand stemmen kann, 1x im Jahr das Ding zu refreshen und im Server neu zu hinterlegen
- man auf die präzise Authentifizierung eines L2 (oder höher) keinen Wert legt sondern einfach nur Verschlüsselung will
- man keine Subdomains (bzw. nur eine) mit einbinden will
 
Zurück
Oben