Muss Logins eine https-Seite sein

Lesezeit: 8 Minuten

Benutzer-Avatar
samisch

Mehrere Sicherheitsexperten haben in der Vergangenheit gesagt, dass die Anmeldeseite auf SSL https sein sollte. Was ist, wenn mein Login ein Block ist, der auf allen Seiten angezeigt wird? Bedeutet das, dass meine gesamte Website https sein muss?

Ich habe gelesen, dass es möglich ist, das Formular auf http zu stellen, aber es auf https zu posten, aber ich habe gelesen, dass jemand sagt, dass es mit einem Man-in-the-Middle-Angriff ausgenutzt werden kann. Kann das jemand bestätigen? Ich habe eine Prämie von 100 Punkten für jemanden, der dies bestätigen kann (und mir mit einer praktischen Antwort hilft, wie ich das sicher lösen kann). Mein Login-Formular befindet sich auf jeder Seite, muss ich die gesamte Website auf https stellen? Bitte fühlen Sie sich frei, alles, was ich hier gesagt habe, in Frage zu stellen. Das sind nur Dinge, die ich gelesen habe, aber keine Erfahrung damit habe und es nicht selbst ausprobiert habe.

Bearbeiten: Für diejenigen, die gefragt haben, als ich die Frage gestellt habe, habe ich versucht, das Kopfgeld festzulegen, aber das System hat mich nicht gelassen. Ich habe die FAQ überprüft und gesehen, dass Bounty zwei Tage nach dem Posten der Frage gepostet werden kann. Deshalb siehst du noch kein Kopfgeld. Aber ich werde keine Antwort auswählen, bis ich in 2 Tagen ein Kopfgeld gesetzt habe. Entschuldigen Sie die Verwirrung.

  • Die Frage ist 6 Minuten alt, ein Kopfgeld kann noch nicht hinzugefügt werden (und es ist verfrüht, eines anzubieten).

    – QUentin

    29. November 2010 um 23:44 Uhr

  • Sehen diese Frage auf der SecuritySE.

    – AviD

    12. Dezember 2010 um 9:02 Uhr


Ich habe gelesen, dass es möglich ist, das Formular auf http zu stellen, aber es auf https zu posten, aber ich habe gelesen, dass jemand sagt, dass es mit einem Man-in-the-Middle-Angriff ausgenutzt werden kann. Kann das jemand bestätigen?

Ja. Das Formular wird über HTTP bereitgestellt, sodass ein Man-in-the-Middle Änderungen daran vornehmen kann (z. B. so dass Anmeldeinformationen an den eigenen Server gesendet werden, bevor das Formular gesendet wird).

eine praktische Antwort, wie Sie dies sicher lösen können

Wenn Sicherheit wirklich wichtig ist – verwenden Sie HTTPS für die gesamte Website. Auch nachdem das Passwort gesendet wurde, kann das Cookie gestohlen werden, wenn Sie zu HTTP zurückkehren (siehe Feuerschaf)

Wenn Sicherheit keine so große Rolle spielt, platzieren Sie das Anmeldeformular nicht auf jeder Seite. Haben Sie stattdessen einfach einen Link zu einer Anmeldeseite.

  • Vor ungefähr einer Stunde gab es hier eine andere Antwort, aber ich denke, der Besitzer hat sie wegen der Ablehnung gelöscht. Er sagte, dass Facebook http für die Hauptseite verwendet, aber das Formular auf https postet, wie ich es in der Frage gestellt habe. Ich habe ihren Code überprüft und das tun sie tatsächlich https://login.facebook.com/login.php Also … gibt es etwas, was wir vermissen, oder machen sie hier den falschen Anruf? Ich frage mich nur, weil Facebook große Hunde sind, sollten sie dieses Zeug wissen, wenn es tatsächlich unsicher ist? Irgendwelche Kommentare?

    – samisch

    30. November 2010 um 0:52 Uhr


  • Facebook macht die falsche Entscheidung (was für sie nicht ungewöhnlich ist, wenn es um Sicherheit oder Datenschutz geht). Firesheep (in der Antwort verlinkt) weist nach dem SSL-Abschnitt einen Sicherheitsfehler auf, aber der Pre-SSL-Abschnitt ist ebenfalls anfällig.

    – QUentin

    30. November 2010 um 7:10 Uhr


  • Facebook-Konten werden regelmäßig kompromittiert, aber sie unternehmen nichts dagegen. Die Verwendung von HTTPS für den gesamten Datenverkehr würde jedoch wahrscheinlich ihre Infrastruktur lahmlegen.

    – cspolton

    6. Dezember 2010 um 12:09 Uhr

  • Sehen sslstrip ein Beispiel für einen Man-in-the-Middle-Angriff auf ein HTTPS-Formular, das auf einer unsicheren Seite gehostet wird.

    – Tgr

    7. Dezember 2010 um 18:22 Uhr

Antworten Sie einfach mit „Ja“, Ihre Anmeldeseite und der Rest der Websites sollten über SSL bereitgestellt werden

Und hier ist der Grund aus den häufig gestellten Fragen zur SSL-Implementierung:

  • Zu sagen, dass alles SSL sein muss, ist wie zu sagen, dass jeder Linux und Firefox als Webbrowser und in Russland hergestellte Autos verwenden sollte Benutzer greifen auf Anmeldeinformationen zu. Aber darauf kann ich immer noch keine Antwort bekommen.

    – Milovanderlinde

    16. Januar 2011 um 12:05 Uhr


  • Ich habe dieser Antwort auch ein Plus gegeben. Die Links erklären viel, das einzige, was ich nicht mag, ist, dass die meisten Antworten “nein, du solltest nicht” oder “nein, du kannst nicht” lauten. Ich würde gerne mehr Lösungen und weniger Blocker haben.

    – Milovanderlinde

    16. Januar 2011 um 12:07 Uhr

Nun, wenn Sie SSL nicht für Anmeldungen verwenden, kann das Passwort des Benutzers an jeden weitergegeben werden, der die Möglichkeit hat, die Client-Server-Kommunikation abzuhören (im Grunde den Datenstrom zu lesen). (was nicht gut ist^^)

Wie oben bei goreSplatter gesagt, können Sie das Formularziel einfach auf einen gesicherten Endpunkt (dh https://site.com/login) und eine gesicherte Verbindung wird verwendet, um die Anmeldeinformationen des Benutzers zu senden und Antworten zu erhalten.

Die meisten Websites kommunizieren dann weiterhin über einfaches HTTP, was ihre Benutzer „nur“ den Risiken des Session-Hijacking aussetzt (Man-in-the-Middle liest ihre Sitzungskennung/Signatur/nonce/was auch immer und gibt dann vor, der authentifizierte Client zu sein, daher kann er, wenn er erfolgreich ist, die geschützten Ressourcen des Clients manipulieren, aber diese Methode erlaubt nicht, “das gesamte Konto zu stehlen”). Dies wird normalerweise als geringfügige Bedrohung angesehen, und aufgrund des mit der SSL-Kommunikation verbundenen Overheads wird eine sichere Verbindung für alle Anfragen nur in kritischen Anwendungen (z. B. Online-Banking) verwendet.

Um Ihre Frage abschließend zu beantworten: Nein, nur Übertragungen, bei denen sensible Daten gesendet werden, müssen unbedingt gesichert werden.

  • Das Problem bei diesem Ansatz ist, dass das Hijacking einer Sitzung in vielerlei Hinsicht dasselbe ist wie „das gesamte Konto stehlen“ …

    – schleske

    13. Dezember 2010 um 19:45 Uhr

Wenn Sie möchten, dass Ihre Daten sicher sind, müssen Sie auf Ihrer gesamten Website SSL (zertifiziert) verwenden. Aber Sie brauchen kein SSL, um Ihre Passwörter sicher aufzubewahren. Sie könnten zum Beispiel openID, facebook connect, twitter sign-in verwenden, um diesen Teil für Sie zu erledigen. Auf diese Weise werden niemals Passwörter im Klartext über die Leitung gesendet.

Benutzer-Avatar
Paul Sasik

Haben Sie die Möglichkeit, das UI-Konzept neu zu gestalten? Die Idee: Auf jeder Seite eine informative Login-Benutzeroberfläche haben, aber nicht die eigentliche Login-Steuerung. Dein neues die Info control würde auflisten:

  1. Logged In As <user_name> oder Not Logged In
  2. Login oder Logout Link je nach Bundesland

Die Links würden dann eine Anmelde-Popup-Seite anzeigen, deren Inhalt vollständig gesichert ist.

Dieser Ansatz würde Sie dem nahebringen, was Sie bereits haben (einige Anmeldefunktionen auf jeder Seite), aber so geroutet/geschichtet, dass Ihre Authentifizierung vollständig über SSL gesichert ist.

Benutzer-Avatar
devasia2112

Zum Beispiel hat GMAIL eine Option in der Konfiguration, wo Sie SSL aktivieren können. Facebook, Twitter und alle sozialen Medien haben kein SSL oder sind nicht aktiviert.

Ich denke, wenn Sie wirklich wollen, dass Ihre Website vor allen bösartigen (Bots oder nicht) besser geschützt ist, verwenden Sie SSL. (Wenn jedoch SSL aktiviert ist, besteht die Gefahr einer Entführung.) Andernfalls können Sie versuchen, die Formulardaten mit einem js-Hardcode zu verschleiern.

Gute Antworten oben, plus alles und machen Sie sich Ihr eigenes Bild von der Sache!

Viel Glück.

Benutzer-Avatar
Linus Kleen

Ich habe gelesen, dass es möglich ist, das Formular auf http zu stellen, aber es auf https zu posten, aber ich habe gelesen, dass jemand sagt, dass es mit einem Man-in-the-Middle-Angriff ausgenutzt werden kann.

Nein. Das Ziel der <form> ist ein frischer Aufruf, der vom verwendeten Browser durchgeführt wird.

Wenn die URL http://beispiel.com/ besucht wurde und der Inhalt der Seite vom Browser gerendert wurde, wird die unsichere Verbindung geschlossen (ja. Es kann offen gehalten werden [Keep-Alive]. Aber die Anfrage für diese URL ist abgeschlossen).

Für das Anmeldeziel der Site https://beispiel.com/ eine SSL-Session wird zwischen Server und Client unter Verwendung eines anderen Serverports (normalerweise 443) ausgehandelt und es werden keine Daten von der vorherigen Seite (außer vielleicht “Referer”) verwendet/übertragen nach Die sichere Verbindung wurde hergestellt.

Ich habe gelesen, dass es möglich ist, das Formular auf http zu stellen, aber es auf https zu posten, aber ich habe gelesen, dass jemand sagt, dass es mit einem Man-in-the-Middle-Angriff ausgenutzt werden kann. Kann das jemand bestätigen?

Ja. Das Formular wird über HTTP bereitgestellt, sodass ein Man-in-the-Middle Änderungen daran vornehmen kann (z. B. so dass Anmeldeinformationen an den eigenen Server gesendet werden, bevor das Formular gesendet wird).

Bei einer kompromittierten Seite spielt es keine Rolle, ob der Inhalt gesichert ausgeliefert wurde oder nicht. Der Inhalt einer Website kann über SSL übermittelt werden, aber der Code kann immer noch kompromittiert werden.

Außerdem können Cookies gestohlen werden. Aber sie sind nur Text. Es ist wichtig, was Ihre Website mit diesem “Text” macht. Wenn Sie sich darauf verlassen, was ein „Browser“ Ihren Skripten mitteilt, ist Ihre Anwendung unsicher. Verwenden Sie die Cookie-Validierung (IP-basiert, browserbasiert, was auch immer), damit Cookies nicht „gestohlen“ werden können.

Verwenden Sie SSL-gesicherte Websites, wann immer Ihre Benutzer Daten senden schützenswert. Das Kommentieren eines Blogbeitrags ist keine Sache, für die ich meinen Server mit dem Aufbau einer SSL-Verbindung belasten würde …

  • Bei einem Man-in-the-Middle-Angriff wurde die Website nicht kompromittiert. Die Verbindung zwischen dem Client und dem Server hat. SSL schützt vor Kompromittierung des Codes, da es sowohl Authentifizierung als auch Verschlüsselung bietet. SSL schützt vor dem Diebstahl von Cookies, da es Verschlüsselung bietet.

    – QUentin

    1. Dezember 2010 um 12:38 Uhr

  • Einverstanden. DNS-Spoofing kann jedoch eine Website gefährden und funktioniert auch über SSL.

    – Linus Kleen

    1. Dezember 2010 um 13:04 Uhr

  • Wie erhält der Spoofer ein SSL-Zertifikat für den umgeleiteten Hostnamen, das von einer Autorität signiert ist, der der Browser vertraut?

    – QUentin

    1. Dezember 2010 um 15:14 Uhr

  • -1 “Nein. Das Ziel von

    ist ein neuer Aufruf, der vom verwendeten Browser ausgeführt wird.” Das ist nebensächlich. Der MITM-Angriff würde die unverschlüsselte Anmeldeseite so modifizieren, dass sie auf einen anderen Server verweist, das ist die Bedrohung.

    – schleske

    13. Dezember 2010 um 19:49 Uhr

1186790cookie-checkMuss Logins eine https-Seite sein

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy