Sichere Cookies
Silktide untersucht die Cookies, die Ihre Seiten setzen, und meldet alle, die über eine unverschlüsselte Verbindung übertragen werden dürfen. Cookies sollten auf verschlüsselte Verbindungen beschränkt werden, damit sie während der Übertragung nicht abgefangen werden können.
Ein wird durch Hinzufügen des Attributs Secure
beim Setzen auf verschlüsselte Verbindungen beschränkt:
Set-Cookie: session=abc123; Secure; HttpOnly
Warum das wichtig ist
Cookies enthalten häufig die Schlüssel zur Sitzung eines Besuchers – den
Nachweis, dass er angemeldet ist. Ein Cookie ohne das Attribut Secure wird
mit jeder passenden Anfrage gesendet, auch mit einfachen http:\/\/-Anfragen,
bei denen jeder auf dem Netzwerkpfad es lesen kann. Ein Angreifer, der ein
Sitzungs-Cookie abfängt, kann diesen Besucher imitieren, ohne jemals dessen
Passwort zu kennen.
Selbst auf einer Website, die vollständig über
ausgeliefert wird, genügt eine einzige verirrte unverschlüsselte Anfrage –
ein alter Link, eine eingetippte Adresse –, um ein nicht sicheres Cookie
zu verraten. Das Attribut Secure veranlasst den Browser, das Cookie bei
unverschlüsselten Anfragen vollständig zurückzuhalten.
So beheben Sie es
- Für Cookies, die Ihr eigener Code setzt, fügen Sie das Attribut
Securehinzu (und in der RegelHttpOnly, das das Cookie außerdem vor Skripten verbirgt):
Set-Cookie: session=abc123; Secure; HttpOnly
Die meisten Web-Frameworks bieten eine Einstellung, die dies für alle Cookies aktiviert.
- Für Cookies, die von Drittanbieter-Tools (Analytics, Chat-Widgets,
Einbettungen) gesetzt werden, prüfen Sie die Konfiguration des Tools auf
eine Option für sichere Cookies oder aktualisieren Sie auf eine aktuelle
Version – moderne Versionen der meisten beliebten Dienste setzen
Securestandardmäßig. - Wenn ein Drittanbieter-Cookie nicht abgesichert werden kann und Sie das Risiko akzeptieren – zum Beispiel ein Tracking-Cookie ohne sensible Inhalte –, können Sie den Befund für dieses Cookie .
So testet Silktide das
- Jede Seite in einem Browser laden und jedes gesetzte Cookie protokollieren, egal ob es vom Server oder durch Skripte gesetzt wurde.
- Jedes Cookie auf das Attribut
Secureprüfen. - Jedes benannte Cookie ohne dieses Attribut melden.
Fehlerbehebung
Das markierte Cookie gehört zu einem Drittanbieterdienst
Sie steuern weiterhin, ob dieser Dienst auf Ihren Seiten ausgeführt wird, aber nicht immer, wie er Cookies setzt. Prüfen Sie zuerst die Einstellungen und die Dokumentation des Dienstes auf eine Option für sichere Cookies; wenn es keine gibt, entscheiden Sie, ob der Inhalt des Cookies sensibel genug ist, um eine Rolle zu spielen, und genehmigen Sie den Befund andernfalls.
Das Cookie enthält nichts Sensibles
Das Attribut Secure kostet auf einer HTTPS-Website nichts und ist daher
auch für harmlose Cookies gute Hygiene. Wenn Sie das Cookie jedoch nicht
kontrollieren können und sein Inhalt wirklich trivial ist, ist es vertretbar,
den Befund zu genehmigen.