security.txt in Drupal einrichten

Standardisierte Kontaktdatei für Sicherheitsforscher in Drupal — .well-known/security.txt mit RewriteRule-Ausnahme, damit Drupal die Datei nicht umleitet.

Drupal · Schritt für Schritt

security.txt in Drupal

security.txt ist eine standardisierte Datei unter /.well-known/security.txt, über die Sicherheitsforscher Ihren Kontakt finden. Im Wolf-Agents Web Security Check bringt sie 2 von 166 Punkten. Die Herausforderung in Drupal: Das CMS leitet alle URLs über index.php um — die statische Datei wird ohne Konfiguration nicht ausgeliefert.

Sie haben zwei Optionen: Eine statische Datei mit RewriteRule-Ausnahme in der .htaccess oder eine Drupal-Route in einem Custom-Modul. Die statische Datei ist einfacher, die Route ist update-sicher.

Der Wolf-Agents Web Security Check prüft automatisch, ob eine gültige security.txt unter /.well-known/security.txt erreichbar ist, ob die Pflichtfelder vorhanden sind und ob das Expires-Datum noch gültig ist.

Implementierung

Erstellen Sie die Datei und fügen Sie eine RewriteRule-Ausnahme in der .htaccess hinzu. Alternativ nutzen Sie eine Drupal-Route.

security.txt
.well-known/security.txtDatei
# .well-known/security.txt
Contact: mailto:security@ihre-domain.de
Expires: 2027-03-27T00:00:00.000Z
Preferred-Languages: de, en
Canonical: https://ihre-domain.de/.well-known/security.txt
Policy: https://ihre-domain.de/security-policy
.htaccess RewriteRule
.htaccessAusnahme
# .htaccess — RewriteRule-Ausnahme für .well-known/
# WICHTIG: VOR dem Drupal-RewriteRule-Block einfügen!

# Bestehende Drupal-Regel:
# RewriteRule ^ index.php [L]

# DAVOR einfügen:
RewriteRule "^.well-known/" - [L]
Drupal-Route (Alternative)
security_txt.routing.ymlModul
# Alternative: Drupal-Route statt statischer Datei
# modules/custom/security_txt/security_txt.routing.yml

security_txt.well_known:
  path: '/.well-known/security.txt'
  defaults:
    _controller: '\Drupal\security_txt\Controller\SecurityTxtController::content'
  requirements:
    _access: 'TRUE'

Verifizierung

Die Datei muss direkt abrufbar sein — nicht Drupals 404-Seite. Ein 200 OK mit dem korrekten Dateiinhalt bestätigt die Konfiguration. Ein 404 deutet auf eine fehlende RewriteRule-Ausnahme hin, ein 403 auf falsche Dateiberechtigungen.

TerminalVerifizierung
# security.txt abrufen
curl https://ihre-domain.de/.well-known/security.txt

# Erwartete Ausgabe:
# Contact: mailto:security@ihre-domain.de
# Expires: 2027-...

# Muss den Inhalt der Datei zurückgeben, NICHT Drupals 404

Häufige Fehler

Die häufigsten Probleme betreffen die Erreichbarkeit der Datei — Drupal leitet alle URLs über index.php um, was statische Dateien unter .well-known/ blockiert.

Drupal leitet auf 404 um

Ohne RewriteRule-Ausnahme fängt Drupal die URL ab und zeigt eine 404-Seite. Die Ausnahme muss vor dem Drupal-RewriteRule-Block stehen.

Core-Update überschreibt .htaccess

Bei composer update drupal/core wird die .htaccess überschrieben. Ihre RewriteRule-Ausnahme geht verloren. Nutzen Sie alternativ die Drupal-Route — diese ist update-sicher.

Expires-Datum abgelaufen

Das Expires-Feld ist Pflicht nach RFC 9116. Setzen Sie ein Datum maximal 1 Jahr in der Zukunft und erneuern Sie es regelmäßig.

Dateiberechtigungen zu restriktiv

Die Datei muss für den Webserver lesbar sein. Auf Linux-Servern setzen Sie die Berechtigungen auf 644. Bei zu restriktiven Berechtigungen liefert Apache einen 403-Fehler statt der Datei.

Compliance-Relevanz

Eine security.txt erleichtert Sicherheitsforschern die koordinierte Offenlegung von Schwachstellen und ist in vielen Compliance-Frameworks als Best Practice empfohlen.

ISO 29147Standardisierte Vulnerability Disclosure — Kontaktinformation für Sicherheitsforscher
NIS2Art. 21(j) — Meldewesen und Koordinierung bei Sicherheitsvorfällen

Zusammenfassung

security.txt in Drupal erfordert eine RewriteRule-Ausnahme in der .htaccess oder eine Drupal-Route im Custom-Modul. Die Route ist update-sicher, die statische Datei einfacher. Erneuern Sie das Expires-Datum jährlich und prüfen Sie die Erreichbarkeit mit curl.

Der Wolf-Agents Scanner warnt automatisch bei abgelaufenen security.txt-Dateien und prüft alle Pflichtfelder.

Wie steht Ihre Domain bei security.txt?

Prüfen Sie es jetzt — kostenlos, ohne Registrierung, mit 166 Prüfpunkte.