Sichere Cookies für Netlify konfigurieren
Schritt-für-Schritt-Anleitung: Cookie-Attribute per Edge Functions und Netlify Functions absichern — Secure, HttpOnly, SameSite.
Cookie-Sicherheit auf Netlify
Sichere Cookie-Konfiguration schützt Session-Daten vor Diebstahl und Manipulation. Cookies sind mit 15 von 166 Punkten ein relevanter Faktor im Wolf-Agents Web Security Check. Auf Netlify setzen Sie Cookie-Attribute programmatisch über Edge Functions oder Netlify Functions.
Netlify-Deployments sind standardmäßig statisch — Cookies werden nur gesetzt, wenn Sie serverseitigen Code (Edge Functions, Netlify Functions) oder Third-Party-Services nutzen. Edge Functions eignen sich ideal, um bestehende Set-Cookie-Header nachträglich mit Sicherheitsattributen zu ergänzen.
Cookie-Attribute per Edge Function absichern
Eine Edge Function kann alle Set-Cookie-Header abfangen und fehlende Sicherheitsattribute ergänzen. Das ist besonders nuetzlich, wenn Third-Party-Services oder Frameworks Cookies ohne Secure oder HttpOnly setzen.
// netlify/edge-functions/secure-cookies.ts
import type { Context } from "https://edge.netlify.com";
export default async (request: Request, context: Context) => {
const response = await context.next();
// Alle Set-Cookie-Header absichern
const cookies = response.headers.getSetCookie();
if (cookies.length > 0) {
response.headers.delete("set-cookie");
for (const cookie of cookies) {
let secured = cookie;
if (!secured.includes("Secure")) secured += "; Secure";
if (!secured.includes("HttpOnly")) secured += "; HttpOnly";
if (!secured.includes("SameSite")) secured += "; SameSite=Lax";
response.headers.append("set-cookie", secured);
}
}
return response;
};
export const config = { path: "/*" }; SameSite=Lax erlaubt Cookies bei Top-Level-Navigationen (z.B. Links von externen Seiten). Strict blockiert Cookies bei allen Cross-Site-Requests — sicherer, aber kann Login-Flows beeintraechtigen.
Netlify Functions für serverseitige Cookies
Für eigene Session-Cookies nutzen Sie Netlify Functions (Node.js). Setzen Sie alle Sicherheitsattribute direkt beim Erstellen des Cookies.
// netlify/functions/set-session.ts
import type { Handler } from "@netlify/functions";
export const handler: Handler = async (event) => {
const sessionId = crypto.randomUUID();
return {
statusCode: 200,
headers: {
"Set-Cookie": [
`session=${sessionId}; Path=/; Secure; HttpOnly; SameSite=Strict; Max-Age=86400`,
].join(", "),
"Content-Type": "application/json",
},
body: JSON.stringify({ ok: true }),
};
}; Max-Age oder Expires immer explizit. Ohne Ablaufdatum werden Cookies als Session-Cookies behandelt und beim Schliessen des Browsers gelöscht — was bei manchen Browsern nicht zuverlaessig funktioniert. Cookie-Konfiguration verifizieren
Prüfen Sie die Cookie-Attribute in den Browser DevTools unter Application > Cookies oder per curl. Alle Cookies sollten Secure, HttpOnly und SameSite gesetzt haben.
# Cookie-Header prüfen
curl -sI https://ihre-domain.de/.netlify/functions/set-session | grep -i set-cookie
# Erwartete Ausgabe:
# Set-Cookie: session=abc123; Path=/; Secure; HttpOnly; SameSite=Strict; Max-Age=86400 Häufige Fehler
Secure fehlt bei Netlify Functions
Netlify erzwingt HTTPS, aber Secure muss trotzdem explizit im Cookie gesetzt werden. Ohne Secure wird der Cookie auch über unsichere Verbindungen gesendet.
HttpOnly vergessen
Ohne HttpOnly kann JavaScript auf den Cookie zugreifen — ein XSS-Angriff kann Session-Daten stehlen. Setzen Sie HttpOnly für alle Session-Cookies.
SameSite=None ohne Secure
Browser lehnen SameSite=None ohne Secure ab. Wenn Sie Cross-Site-Cookies benötigen, müssen beide Attribute gesetzt sein.
Compliance-Relevanz
Sichere Cookie-Attribute sind eine Grundanforderung von OWASP und relevant für PCI DSS (Schutz von Session-Daten). NIS2 fordert technische Maßnahmen gegen unbefugten Zugriff — HttpOnly und Secure verhindern Cookie-Diebstahl über XSS und Man-in-the-Middle-Angriffe. Der Wolf-Agents Web Security Check bewertet Cookie-Sicherheit mit bis zu 15 Punkten.
Wie steht Ihre Domain bei Sichere Cookies?
Prüfen Sie es jetzt — kostenlos, ohne Registrierung, mit 166 Prüfpunkte.