Frage:
Gute Sitzungspraktiken
James T
2010-11-12 04:28:28 UTC
view on stackexchange narkive permalink

Welche bewährten Methoden stellen sicher, dass Anmeldungen, Sitzungs-IDs und Sitzungsinhalte für eine Website sicher sind?

Fünf antworten:
VirtuosiMedia
2010-11-12 04:37:50 UTC
view on stackexchange narkive permalink
  • Verwenden Sie eine Datenbank für Sitzungen.
  • Generieren Sie die Sitzung neu, wenn sich die Berechtigungen ändern (z. B. wenn sich ein Benutzer anmeldet).
  • Generieren Sie die Sitzung bei jedem Seitenladen neu (optional) ).
  • Legen Sie die Sitzungs-ID in der URL nicht offen.
  • Stellen Sie der Sitzung keine vertraulichen Daten zur Verfügung.
Verwenden Sie die Sitzung nur über einen sicheren Transport, da sonst jemand an dem Cookie riechen und die Sitzung entführen könnte.
Alternativ zum obigen Hinweis zum erneuten Laden beim Laden von Seiten: Wenn die Aktionen (URLs) der vorherigen Seiten ungültig sind, ist dies in bestimmten Fällen eine gute Sache.
yfeldblum
2011-10-10 16:36:26 UTC
view on stackexchange narkive permalink

Zusätzlich zur Liste von VirtuosiMedia:

  • Verwenden Sie TLS (SSL) auf der gesamten Site. Verwenden Sie den HSTS-Header.
  • Verwenden Sie ein Sitzungscookie, anstatt jedem Link-href und jeder Formularaktion ein Sitzungstoken hinzuzufügen.
  • Verwenden Sie den sicheren und httpOnly -Flaggen im Cookie.
  • Verwenden Sie den Header X-Frame-Options .
  • Behalten Sie den Inhalt der Sitzung bei minimal. Speichern Sie beispielsweise nur die Benutzer-ID. Wenn Caching erforderlich ist, zwischenspeichern Sie in einer allgemeinen Caching-Ebene, nicht in der Sitzung.
  • Signieren Sie das Sitzungscookie kryptografisch mit einem geheimen Schlüssel, der nur dem Server bekannt ist. Fügen Sie den signierten Daten ein Ablaufdatum hinzu. Überprüfen Sie bei jeder Anforderung die Signatur und den Ablauf auf dem Server.
"_Kryptografisch das Sitzungscookie mit einem geheimen Schlüssel signieren, der nur dem Server bekannt ist. _" Wenn das Cookie nur die Sitzungs-ID (den Schlüssel in der Datenbank der Sitzungen auf dem Server) enthält, wie ist das hilfreich?
Erstens: Wird die Sitzungs-ID von einem kryptografisch starken PRNG generiert und ist sie so lang, dass sie nicht erraten und nicht fälschbar ist? Zweitens ist es wichtiger für diejenigen, die Sitzungsdaten in Cookies speichern.
Gary
2010-11-12 04:45:18 UTC
view on stackexchange narkive permalink

Läuft Ihre Sitzung nach einer angemessenen Zeit ab ... Löschen Sie die Sitzung aus dem, was Sie als Repository verwenden, damit sie nicht wiederverwendet werden kann ...

Mohamed
2010-11-12 06:24:33 UTC
view on stackexchange narkive permalink

Speichern Sie kein Kennwort oder andere Benutzerinformationen außer der Benutzer-ID für die Sitzung.

Verwenden Sie also keine WinForms-Authentifizierung? ;)
goodguys_activate
2011-10-04 22:07:06 UTC
view on stackexchange narkive permalink

Implementieren Sie DNSSec, um Ihre HTTPS-Sitzung vor Angriffen über WLAN oder öffentliche Netzwerke einschließlich festverdrahtet / geschaltet zu schützen.

Verwenden Sie nur HTTPS für Cookies, die keinen Javascript-Zugriff benötigen.

Verwenden Sie das Secure-Attribut für alle anderen Cookies.

Lassen Sie 3 nicht zu Party-Javascript auf Ihrer Website

Ähnlich wie oben wird keine Werbung auf Ihrer Website

geschaltet


Diese Fragen und Antworten wurden automatisch aus der englischen Sprache übersetzt.Der ursprüngliche Inhalt ist auf stackexchange verfügbar. Wir danken ihm für die cc by-sa 2.0-Lizenz, unter der er vertrieben wird.
Loading...