Sichere Cookies in Drupal konfigurieren
Cookie-Sicherheit in Drupal über settings.php und services.yml — Secure, HttpOnly, SameSite und Trusted-Host-Patterns. Mit Session-Hardening und Verifizierung.
Sichere Cookie-Konfiguration in Drupal
Sichere Cookies schützen Session-Daten vor Diebstahl durch XSS- und Man-in-the-Middle-Angriffe. Die Attribute Secure, HttpOnly und SameSite sind mit 15 von 166 Punkten im Wolf-Agents Web Security Check relevant.
Drupal konfiguriert Cookies zentral in settings.php über PHP ini_set() oder alternativ in der services.yml. Besonders wichtig ist $settings['trusted_host_patterns'] — ohne diese Einstellung ist Drupal anfällig für Host-Header-Injection.
Cookie-Konfiguration in settings.php
Die zentrale Konfiguration erfolgt in sites/default/settings.php. Alternativ können Sie die Session-Parameter in der services.yml setzen. Beide Methoden sind gleichwertig — settings.php hat Vorrang.
<?php
// sites/default/settings.php
// Sichere Cookie-Konfiguration
ini_set('session.cookie_secure', TRUE);
ini_set('session.cookie_httponly', TRUE);
ini_set('session.cookie_samesite', 'Lax');
ini_set('session.cookie_lifetime', 0);
// Cookie-Domain (optional, für Subdomain-Sharing)
// $settings['cookie_domain'] = '.ihre-domain.de';
// Trusted Host Patterns (PFLICHT für Sicherheit)
$settings['trusted_host_patterns'] = [
'^ihre-domain\.de$',
'^www\.ihre-domain\.de$',
]; # sites/default/services.yml
# Session-Cookie-Konfiguration (Alternative zu ini_set)
parameters:
session.storage.options:
cookie_lifetime: 0
cookie_secure: true
cookie_httponly: true
cookie_samesite: Lax
gc_maxlifetime: 200000
gc_probability: 1
gc_divisor: 100 Verifizierung
Prüfen Sie die Cookie-Attribute im Browser unter DevTools > Application > Cookies. Jeder Session-Cookie muss die Attribute Secure, HttpOnly und SameSite=Lax tragen.
# Cache leeren
drush cr
# Set-Cookie-Header prüfen
curl -sI https://ihre-domain.de | grep -i set-cookie
# Erwartete Attribute im Cookie:
# Set-Cookie: SESS...; path=/; secure; HttpOnly; SameSite=Lax Häufige Fehler bei Cookies in Drupal
Trusted-Host-Pattern fehlt
Ohne $settings['trusted_host_patterns'] akzeptiert Drupal jeden Host-Header. Ein Angreifer kann so Cache-Poisoning durchführen oder Passwort-Reset-Links auf fremde Domains umleiten. Diese Einstellung ist Pflicht.
session.cookie_secure auf HTTP-Umgebung
Wenn Sie session.cookie_secure = TRUE setzen, aber kein HTTPS haben, werden Session-Cookies nicht gesendet — Benutzer können sich nicht einloggen. Prüfen Sie HTTPS zuerst.
cookie_domain bei Multi-Site falsch
Bei Drupal Multi-Site-Installationen muss $settings['cookie_domain'] pro Site korrekt gesetzt sein. Ein falscher Wert teilt Sessions zwischen Sites — ein Sicherheitsrisiko.
Compliance-Relevanz
Sichere Cookie-Konfiguration ist eine direkte Anforderung aus Datenschutz- und Sicherheitsframeworks.
Wie steht Ihre Domain bei Sichere Cookies?
Prüfen Sie es jetzt — kostenlos, ohne Registrierung, mit 166 Prüfpunkte.