security.txt in Contao konfigurieren

security.txt (RFC 9116) in Contao einrichten — Datei anlegen, .htaccess-Rewrite und Verifizierung. Mit häufigen Fehlern bei Contao-Routing.

Contao · Schritt für Schritt

security.txt in Contao

security.txt (RFC 9116) ist eine standardisierte Kontaktdatei für Sicherheitsforscher. Sie wird unter /.well-known/security.txt abgelegt und enthält die E-Mail-Adresse Ihres Security-Teams, ein Ablaufdatum und optionale Felder wie Policy-URL und PGP-Key. Der Wolf-Agents Web Security Check prüft Existenz und Gültigkeit mit 2 von 166 Punkten.

In Contao legen Sie die Datei direkt unter public/.well-known/security.txt an. Der wichtigste Schritt: Stellen Sie sicher, dass Contaos Rewrite-Engine den .well-known-Pfad nicht abfängt. Ohne die passende RewriteRule liefert Contao eine 404-Seite statt der Textdatei — ein häufiger Fehler bei Contao-Installationen.

Der Wolf-Agents Web Security Check prüft automatisch, ob Ihre security.txt erreichbar ist, ein gültiges Expires-Datum in der Zukunft hat und die Pflichtfelder Contact und Expires enthält.

security.txt in Contao anlegen

Erstellen Sie das Verzeichnis public/.well-known/ in Ihrem Contao-Projekt und legen Sie die Datei security.txt darin an. Die Pflichtfelder nach RFC 9116 sind Contact und Expires. Empfohlen sind zusätzlich Preferred-Languages, Canonical und Policy. Das Expires-Datum muss in der Zukunft liegen — setzen Sie einen Kalender-Reminder für die jährliche Aktualisierung.

security.txt Datei
public/.well-known/security.txt RFC 9116
# public/.well-known/security.txt
# RFC 9116 — Kontaktdatei für Sicherheitsforscher

Contact: mailto:security@ihre-domain.de
Expires: 2027-03-28T00:00:00.000Z
Preferred-Languages: de, en
Canonical: https://ihre-domain.de/.well-known/security.txt
Policy: https://ihre-domain.de/security-policy
Acknowledgments: https://ihre-domain.de/hall-of-fame

Die zweite Konfiguration ist entscheidend: Contaos .htaccess muss den .well-known-Pfad freigeben, damit die Datei direkt vom Apache ausgeliefert wird und nicht durch das Contao-Routing läuft.

.htaccess Rewrite-Regel
public/.htaccess Routing-Fix
# public/.htaccess — .well-known-Pfad freigeben
# WICHTIG: Diese Regel muss VOR dem Contao-Rewrite stehen

RewriteEngine On

# .well-known-Dateien direkt ausliefern (nicht durch Contao routen)
RewriteRule ^\.well-known/ - [L]

# Optional: Content-Type sicherstellen
<IfModule mod_mime.c>
  AddType text/plain .txt
</IfModule>
Statische Datei — kein Cache-Problem

security.txt ist eine statische Datei. vendor/bin/contao-console cache:clear ist nur nötig, wenn Sie die Datei programmatisch über einen Controller ausliefern.

Verifizierung

Prüfen Sie nach dem Deployment, ob die security.txt korrekt erreichbar ist. Der häufigste Fehler: Contao routet den Request und liefert eine HTML-404-Seite statt der Textdatei. Prüfen Sie deshalb auch den Content-Type — er muss text/plain sein, nicht text/html.

Terminal Verifizierung
# 1. Cache leeren (bei programmatischer Auslieferung)
vendor/bin/contao-console cache:clear --env=prod

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

# Erwartete Ausgabe:
# Contact: mailto:security@ihre-domain.de
# Expires: 2027-03-28T00:00:00.000Z
# Canonical: https://ihre-domain.de/.well-known/security.txt

# 3. HTTP-Status prüfen (muss 200 sein, nicht 404 oder Redirect)
curl -sI https://ihre-domain.de/.well-known/security.txt | head -1
# HTTP/2 200

# 4. Wolf-Agents Web Security Check: security.txt-Prüfung (2 Punkte)

Testen Sie den Abruf auch ohne www-Subdomain und mit HTTP (statt HTTPS), um sicherzustellen, dass Redirects die security.txt nicht brechen. Die Canonical-URL in der Datei muss exakt mit der erreichbaren URL übereinstimmen.

Häufige Fehler bei security.txt in Contao

Contao routet .well-known-Pfad — 404 statt Textdatei

Ohne RewriteRule ^\.well-known/ - [L] in der .htaccess leitet Contao den Request an den Symfony-Router weiter, der keine Route für .well-known/security.txt kennt. Fügen Sie die Regel vor dem Contao-Rewrite ein.

Expires-Datum abgelaufen

Ein abgelaufenes Expires-Datum macht die security.txt ungültig. Setzen Sie das Datum mindestens 1 Jahr in die Zukunft und erstellen Sie einen Kalender-Reminder. RFC 9116 empfiehlt maximal 1 Jahr Gültigkeit.

Contao Manager löscht .well-known-Verzeichnis

Bei manchen Contao-Updates oder Composer-Installationen wird das public/-Verzeichnis teilweise regeneriert. Sichern Sie die security.txt in Ihrem Versionskontrollsystem und prüfen Sie nach Updates, ob die Datei noch vorhanden ist.

Canonical-URL stimmt nicht mit erreichbarer URL überein

Die Canonical-URL in der security.txt muss exakt der URL entsprechen, unter der die Datei erreichbar ist — inklusive https:// und der korrekten Domain (mit oder ohne www).

Compliance-Relevanz

Eine security.txt gibt Sicherheitsforschern einen klaren Kommunikationskanal. Ohne diese Datei besteht das Risiko, dass entdeckte Schwachstellen nicht gemeldet werden, weil kein Kontakt auffindbar ist. Unternehmen im NIS2-Scope sind zur Einrichtung von Meldewegen verpflichtet.

NIS2Art. 21(e) — Sicherheit bei Erwerb, Entwicklung und Wartung einschließlich koordinierter Schwachstellenmeldung
BSIAPP.3.1 — Webserver-Absicherung, Kontaktinformationen für Sicherheitsvorfälle bereitstellen
DSGVOArt. 33/34 — Meldung von Verletzungen, erreichbare Kontaktadresse für Security-Meldungen
ISO 27001A.5.5 — Kontakt mit Behörden und Interessengruppen, koordinierte Offenlegung

Wie steht Ihre Domain bei security.txt?

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