Donnerstag, 16. Januar 2020
Dies ist ein Cross-Post aus dem
Chromium developer blog
und bezieht sich spezifisch darauf, wie sich Änderungen an Chrome in Zukunft auf die Funktionsweise Ihrer Website für Ihre Nutzer auswirken könnten.
Im Mai kündigte Chrome an
ein standardmäßig sicheres Modell für Cookies, das durch ein neues Cookie-Klassifizierungssystem ermöglicht wird
(Spezifikation). Diese
Initiative
ist Teil unserer laufenden Bemühungen, Datenschutz und Sicherheit im gesamten Web zu verbessern.
Chrome plant, das neue Modell mit Chrome 80 im Februar 2020 zu implementieren. Mozilla und Microsoft haben ebenfalls ihre Absicht bekundet, das neue Modell in Firefox und Edge nach ihren eigenen Zeitplänen zu implementieren. Obwohl die Chrome-Änderungen noch einige Monate entfernt sind, ist es wichtig, dass Entwickler, die Cookies verwalten, ihre Bereitschaft heute bewerten. Dieser Blogbeitrag umreißt grundlegende Konzepte; bitte lesen Sie
SameSite Cookies Explained auf web.dev für Entwickleranleitungen.
Verständnis von Cross-Site- und Same-Site-Cookie-Kontexten
Websites integrieren typischerweise externe Dienste für Werbung, Inhaltsempfehlungen, Drittanbieter-Widgets, soziale Einbettungen und andere Funktionen. Während Sie im Web surfen, können diese externen Dienste Cookies in Ihrem Browser speichern und anschließend auf diese Cookies zugreifen, um personalisierte Erlebnisse bereitzustellen oder die Zielgruppenbindung zu messen. Jedes Cookie hat eine damit verknüpfte Domain. Wenn die mit einem Cookie verknüpfte Domain mit einem externen Dienst übereinstimmt und nicht mit der Website in der Adressleiste des Benutzers, wird dies als Cross-Site (oder “Drittanbieter”) Kontext betrachtet.
Weniger offensichtliche Cross-Site-Anwendungsfälle umfassen Situationen, in denen ein Unternehmen, das mehrere Websites besitzt, ein Cookie über diese Eigenschaften hinweg verwendet. Obwohl dasselbe Unternehmen das Cookie und die Websites besitzt, zählt dies immer noch als Cross-Site- oder “Drittanbieter”-Kontext, wenn die Domain des Cookies nicht mit der/den Website(s) übereinstimmt, von denen aus auf das Cookie zugegriffen wird.

Wenn eine externe Ressource auf einer Webseite auf ein Cookie zugreift, das nicht mit der Site-Domain übereinstimmt, handelt es sich um einen Cross-Site- oder “Drittanbieter”-Kontext.
Im Gegensatz dazu tritt der Cookie-Zugriff in einem
Same-Site (oder “Erstanbieter”) Kontext auf, wenn die Domain eines Cookies mit der Website-Domain in der Adressleiste des Benutzers übereinstimmt. Same-Site-Cookies werden häufig verwendet, um Benutzer bei einzelnen Websites angemeldet zu halten, ihre Präferenzen zu speichern und Website-Analysen zu unterstützen.

Wenn eine Ressource auf einer Webseite auf ein Cookie zugreift, das mit der Website übereinstimmt, die der Benutzer besucht, handelt es sich um einen Same-Site- oder “Erstanbieter”-Kontext.
Ein neues Modell für Cookie-Sicherheit und Transparenz
Wenn ein Cookie heute nur für den Zugriff in einem Erstanbieter-Kontext vorgesehen ist, hat der Entwickler die Möglichkeit, eine von zwei Einstellungen (SameSite=Lax oder
SameSite=Strict) anzuwenden, um externen Zugriff zu verhindern. Nur sehr wenige Entwickler befolgen jedoch diese empfohlene Praxis, wodurch eine große Anzahl von Same-Site-Cookies unnötig Bedrohungen wie
Cross-Site Request Forgery
-Angriffen ausgesetzt ist.
Um mehr Websites und deren Nutzer zu schützen, geht das neue, standardmäßig sichere Modell davon aus, dass alle Cookies vor externem Zugriff geschützt werden sollten, sofern nicht anders angegeben. Entwickler müssen eine neue Cookie-Einstellung verwenden, SameSite=None, um Cookies für Cross-Site-Zugriff zu kennzeichnen. Wenn das SameSite=None -Attribut vorhanden ist, muss ein zusätzliches Secure-Attribut verwendet werden, damit auf Cross-Site-Cookies nur über HTTPS-Verbindungen zugegriffen werden kann. Dies wird nicht alle Risiken im Zusammenhang mit Cross-Site-Zugriff mindern, aber es wird Schutz gegen Netzwerkangriffe bieten.
Über die unmittelbaren Sicherheitsvorteile hinaus ermöglicht die explizite Deklaration von Cross-Site-Cookies mehr Transparenz und Benutzerauswahl. Zum Beispiel könnten Browser Benutzern fein abgestimmte Kontrollen anbieten, um Cookies, auf die nur von einer einzigen Site zugegriffen wird, separat von Cookies zu verwalten, auf die über mehrere Sites hinweg zugegriffen wird.
Chrome-Durchsetzung ab Februar 2020
Mit Chrome 80 im Februar wird Chrome Cookies, die keinen deklarierten SameSite-Wert haben, als
SameSite=Lax -Cookies behandeln. Nur Cookies mit der
SameSite=None; Secure -Einstellung werden für externen Zugriff verfügbar sein, vorausgesetzt, sie werden über sichere Verbindungen aufgerufen. Die Chrome Platform Status-Tracker für
SameSite=None
und
Secure
werden weiterhin mit den neuesten Startinformationen aktualisiert.
Mozilla hat seine Unterstützung für das neue Cookie-Klassifizierungsmodell mit seiner
Absicht zur Implementierung
der SameSite=None; Secure -Anforderungen für Cross-Site-Cookies in Firefox bekräftigt. Microsoft hat kürzlich
angekündigt
, Pläne zur Implementierung des Modells ab einem Experiment in Microsoft Edge 80 zu beginnen.
Vorbereitung; Bekannte Komplexitäten
Wenn Sie Cross-Site-Cookies verwalten, müssen Sie die SameSite=None; Secure-Einstellung auf diese Cookies anwenden. Die Implementierung sollte für die meisten Entwickler unkompliziert sein, aber wir empfehlen Ihnen dringend, jetzt mit dem Testen zu beginnen, um Komplexitäten und Sonderfälle zu identifizieren, wie zum Beispiel die folgenden:
- Nicht alle Sprachen und Bibliotheken unterstützen den None-Wert bereits, was erfordert, dass Entwickler den Cookie-Header direkt setzen. Dieses GitHub repository
bietet Anweisungen zur Implementierung vonSameSite=None; Securein einer Vielzahl von Sprachen, Bibliotheken und Frameworks. - Einige Browser, einschließlich einiger Versionen von Chrome, Safari und UC Browser, könnten den
None-Wert auf unbeabsichtigte Weise handhaben, was erfordert, dass Entwickler Ausnahmen für diese Clients programmieren. Dies beinhaltet Android WebViews, die von älteren Versionen von Chrome betrieben werden. Hier ist eine Liste bekannter
inkompatibler Clients. - . App-Entwicklern wird empfohlen, die geeigneten
SameSite-Cookie
-Einstellungen für AndroidWebViewsbasierend auf Versionen von Chrome zu deklarieren, die mit demNone-Wert kompatibel sind, sowohl für Cookies, auf die über HTTP(S)-Header zugegriffen wird, als auch über Android
WebView‘s
CookieManager API,
obwohl das neue Modell erst später auf Android WebView erzwungen wird. - IT-Administratoren in Unternehmen müssen möglicherweise spezielle Richtlinien
implementieren, um den Chrome-Browser vorübergehend auf das alte Verhalten zurückzusetzen, falls Dienste wie Single Sign-On oder interne Anwendungen nicht für den Start im Februar bereit sind. - Wenn Sie Cookies haben, auf die Sie sowohl im First-Party- als auch im Third-Party-Kontext zugreifen, sollten Sie in Erwägung ziehen,
separate Cookies zu verwenden, um die Sicherheitsvorteile vonSameSite=Lax
im First-Party-Kontext zu nutzen.
SameSite Cookies erklärt
bietet spezifische Anleitungen für die oben genannten Situationen sowie Kanäle, um Probleme und Fragen anzusprechen.
Um die Auswirkungen des neuen Chrome-Verhaltens auf Ihre Website oder die von Ihnen verwalteten Cookies zu testen, können Sie zu
chrome://flags in Chrome 76+ gehen und die
“SameSite by default cookies” und
“Cookies without SameSite must be secure” Experimente aktivieren. Darüber hinaus
werden diese Experimente automatisch für eine Teilmenge der Chrome 79 Beta-Nutzer aktiviert. Einige Beta-
Nutzer mit aktivierten Experimenten könnten Kompatibilitätsprobleme mit Diensten feststellen, die
das neue Modell noch nicht unterstützen; Nutzer können die Beta-Experimente deaktivieren, indem sie zu
chrome://flags gehen und sie ausschalten.
Wenn Sie Cookies verwalten, auf die nur im Same-Site-Kontext zugegriffen wird (Same-Site-Cookies), ist
keine Aktion Ihrerseits erforderlich; Chrome verhindert automatisch, dass diese Cookies von
externen Entitäten aufgerufen werden, selbst wenn das SameSite-Attribut fehlt oder kein Wert festgelegt ist.
Wir empfehlen jedoch dringend, einen geeigneten SameSite-Wert (Lax oder Strict) anzuwenden und sich nicht
auf das Standardverhalten des Browsers zu verlassen, da nicht alle Browser Same-Site-Cookies standardmäßig schützen.
Wenn Sie sich schließlich Sorgen über die Bereitschaft von Anbietern und anderen Dienstleistern für
Ihre Website machen, können Sie in Chrome 77+ nach Warnungen in der Entwicklertools-Konsole suchen, wenn eine Seite
Cross-Site-Cookies enthält, bei denen die erforderlichen Einstellungen fehlen:

Einige Anbieter (einschließlich einiger Google-Dienste) werden die notwendigen Änderungen in den
Monaten vor Chrome 80 im Februar implementieren; Sie sollten sich möglicherweise an Ihre Partner wenden, um
deren Bereitschaft zu bestätigen.
So setzen wir das um
Google announcements age. We keep this post here for the record, and we note for clients whether the behaviour it describes still applies today or has since been superseded.
Verwandte Leistungen