Sessions, Cookies und CSRF-Schutz

Aus HOSTING-STATION55 - Webhosting Wiki / FAQ
Zur Navigation springen Zur Suche springen

Nach einer erfolgreichen Anmeldung wird die Sitzungskennung vorübergehend so wertvoll wie das Passwort. Sie muss zufällig, vertraulich, kurzlebig und gegen ungewollte browserseitige Aktionen geschützt sein.

Sichere Session-Cookies

  • Secure: Übertragung nur über HTTPS
  • HttpOnly: kein gewöhnlicher Zugriff durch JavaScript
  • SameSite: begrenzt Cross-Site-Übertragung entsprechend dem Anwendungsfall
  • enger Pfad und keine unnötig weite Domain
  • angemessene Ablaufzeit und serverseitige Ungültigmachung

Speichern Sie Session-IDs oder Anmeldetokens nicht in URLs. Protokolle, Browserhistorie und Referrer können sie sonst weitergeben. Für klassische Sitzungen sind HttpOnly-Cookies in der Regel geeigneter als localStorage.

Nach der Anmeldung

  1. Erzeugen Sie eine neue Session-ID.
  2. Speichern Sie nur notwendige Sitzungsdaten serverseitig.
  3. Prüfen Sie Berechtigungen bei jeder geschützten Aktion.
  4. Beenden Sie die Sitzung serverseitig bei Abmeldung.
  5. Invalidieren Sie Sitzungen nach Passwort- oder Rollenänderungen, wenn erforderlich.

CSRF-Schutz

Verwenden Sie die gepflegte CSRF-Funktion des Frameworks. Zustandsändernde Aktionen gehören nicht in GET-Anfragen. Prüfen Sie bei POST, PUT, PATCH und DELETE ein unvorhersehbares, zur Sitzung passendes Token oder das dokumentierte Schutzverfahren des Frameworks.

SameSite ist eine zusätzliche Schutzschicht, aber nicht für jede Anwendung ein vollständiger Ersatz für CSRF-Tokens. XSS kann zahlreiche CSRF-Schutzmaßnahmen umgehen und muss separat verhindert werden.

Verwandte Artikel