Was ist ein Cookie?
Ein Cookie ist ein kleiner Datensatz, den eine Website im Browser ablegt und bei jedem weiteren Aufruf zurückbekommt, etwa um einen Warenkorb oder eine Anmeldung wiederzuerkennen.
Ohne Fachbegriffe, für Betriebe ohne eigene IT.
Auf dieser Seite4 Abschnitte
Einfach erklärt
Ein Cookie ist ein kleiner Zettel, den eine Website im Browser ihrer Besucher ablegt und bei jedem weiteren Aufruf wieder vorgezeigt bekommt. So weiß ein Onlineshop, was im Warenkorb liegt, und ein Kundenportal, wer angemeldet ist. Andere Cookies dienen der Statistik oder der Werbung und können Besucher über mehrere Seiten hinweg wiedererkennen.
Was Cookies schützen müssen
Ein Anmelde-Cookie ist fast so viel wert wie das Passwort: Wer es abgreift, ist angemeldet. Deshalb gibt es drei Schutzmerkmale:
- Secure: Der Zettel wird nur über verschlüsselte Verbindungen verschickt.
- HttpOnly: Skripte auf der Seite dürfen ihn nicht lesen. Eingeschleuster Code kann ihn so nicht stehlen.
- SameSite: Der Zettel geht bei den meisten Anfragen nicht mit, die eine fremde Seite auslöst. Das erschwert untergeschobene Aktionen in Ihrem Namen.
Was Sie tun können
Die Schutzmerkmale setzt die Software Ihrer Website. Bitten Sie die Firma, die Ihre Website betreut, sie für alle Cookies zu prüfen, vor allem für Anmeldung und Warenkorb.
Daneben gibt es eine rechtliche Seite. Nach § 25 TDDDG (bis Mai 2024 TTDSG) dürfen Informationen im Browser nur mit Einwilligung gespeichert oder ausgelesen werden. Ausgenommen ist, was unbedingt erforderlich ist, damit ein Dienst funktioniert, den der Besucher ausdrücklich nutzen will. Ob ein bestimmtes Cookie darunter fällt, klärt Ihr Datenschutzbeauftragter.
Was Schutzmerkmale nicht leisten
Secure, HttpOnly und SameSite schützen das Cookie auf dem Weg und im Browser. Ob es überhaupt gesetzt werden darf, beantworten sie nicht. Und sie helfen nicht, wenn der Rechner des Besuchers selbst mit Schadsoftware befallen ist.
Attribute
Cookies setzt der Server mit dem Header Set-Cookie (RFC 6265). Der Nachfolger, bekannt als RFC 6265bis, liegt als Entwurf der IETF vor. Er beschreibt unter anderem SameSite, das die gängigen Browser bereits umsetzen.
Set-Cookie: __Host-sid=8f2a1c; Path=/; Secure; HttpOnly; SameSite=Lax; Max-Age=3600
Secure: nur über HTTPS senden. Einehttp://-Seite kann kein Cookie mitSecuresetzen.HttpOnly: kein Zugriff überdocument.cookie. Beifetchund XHR wird das Cookie trotzdem mitgeschickt.SameSite=Strict: nur bei Anfragen derselben Site.Lax: zusätzlich bei Navigation von außen mit einer sicheren Methode wie GET.None: immer, verlangt aberSecure.- Ohne
SameSitebehandeln manche Browser das Cookie wieLax, andere nicht. Deshalb den Wert ausdrücklich setzen. Domain: Ohne Angabe gilt das Cookie nur für den setzenden Host, mitDomain=ihre-firma.deauch für alle Subdomains.Max-AgeoderExpires: Fehlen beide, ist es ein Sitzungs-Cookie.- Präfixe:
__Secure-verlangtSecure,__Host-zusätzlichPath=/und keinDomain. Browser, die Präfixe kennen, lehnen ein Cookie sonst ab.
Typische Fehler
- Sitzungs-Cookie ohne
HttpOnly. Ein XSS-Treffer liest die Sitzung aus. - Kein
Secureauf einer HTTPS-Website. Ein einziger Aufruf überhttp://, etwa ohne HSTS, überträgt das Cookie im Klartext. Domainzu weit gefasst. Ein Cookie fürihre-firma.desieht jede Subdomain, auch eine, die ein Dienstleister betreibt.SameSite=NoneohneSecure. Chrome und andere Chromium-Browser verwerfen das Cookie.- CSRF-Cookie mit
HttpOnly„repariert“. Cookies wieXSRF-TOKENliest das eigene Skript absichtlich. Hier ist fehlendesHttpOnlykein Mangel.
Prüfen
curl -sI https://ihre-firma.de/ | grep -i '^set-cookie'
Das zeigt nur Cookies, die der Server beim ersten Aufruf setzt. Per JavaScript gesetzte Cookies und ihre Merkmale zeigen die Entwicklerwerkzeuge des Browsers (F12) im Bereich für gespeicherte Daten.