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.
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.
# 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.
# 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> 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.
# 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.
Wie steht Ihre Domain bei security.txt?
Prüfen Sie es jetzt — kostenlos, ohne Registrierung, mit 166 Prüfpunkte.