Wie funktioniert dieses Tool?
-
Kontaktwege eintragen. Trage in das Feld Contact jede Meldeadresse in eine
eigene Zeile ein – die wichtigste zuerst. E-Mail-Adressen und Telefonnummern werden automatisch in
die vom Standard geforderte URI-Form (
mailto:,tel:) gebracht. - Ablaufdatum setzen. Expires ist vorbelegt mit einem Jahr ab heute. Das ist der vom RFC empfohlene Rahmen: lang genug für den Alltag, kurz genug, um zur Pflege zu zwingen.
- Domain angeben. Daraus wird der Canonical-Wert vorbelegt, also die Adresse, unter der die Datei später erreichbar sein soll.
- Optionale Felder ergänzen. Policy, Encryption und Preferred-Languages sind formal freiwillig, machen die Datei in der Praxis aber erst nützlich.
- Prüfung lesen. Rechts erscheinen Fehler (rot – die Datei wäre ungültig) und Warnungen (gelb – gültig, aber verbesserungswürdig).
-
Datei herunterladen und hochladen. Die Datei muss über HTTPS unter
/.well-known/security.txterreichbar sein und mit dem Content-Typetext/plain; charset=utf-8ausgeliefert werden.
Expertenwissen: security.txt nach RFC 9116
Welches Problem der Standard löst
Jemand findet eine Sicherheitslücke in deiner Anwendung und möchte sie melden. Die typische Suche beginnt dann im Impressum, führt über ein allgemeines Kontaktformular in den Vertrieb und endet oft im Nichts – oder in einer Veröffentlichung ohne vorherige Meldung, weil kein Ansprechpartner auffindbar war. RFC 9116, veröffentlicht im April 2022 von der IETF als Standard der Kategorie „Informational“, beseitigt genau diese Reibung: Eine maschinenlesbare Textdatei an einem festgelegten Ort nennt den Meldeweg. Damit finden sowohl Menschen als auch automatisierte Scanner den richtigen Kanal, ohne raten zu müssen.
Der Standard ist bewusst minimal: kein JSON, kein Schema-Zwang, keine Registrierung bei einer
zentralen Stelle. Eine Textdatei mit Feldname: Wert pro Zeile, Kommentare beginnen
mit #. Genau diese Einfachheit ist der Grund für die schnelle Verbreitung.
Die Felder im Einzelnen
| Feld | Pflicht | Mehrfach | Bedeutung |
|---|---|---|---|
| Contact | ja | ja | Meldeweg als URI. Reihenfolge = Präferenz. |
| Expires | ja | nein | Ablaufzeitpunkt als RFC-3339-Zeitstempel. |
| Encryption | nein | ja | Fundort des Schlüssels – nie der Schlüssel selbst. |
| Policy | nein | ja | Regeln der Disclosure-Policy. |
| Acknowledgments | nein | ja | Seite, die Meldende würdigt. |
| Preferred-Languages | nein | nein | Sprachen für Meldungen, kommagetrennt. |
| Canonical | nein | ja | Adresse(n), unter denen diese Datei gilt. |
| Hiring | nein | ja | Stellenangebote im Sicherheitsbereich. |
| CSAF | nein | ja | Verweis auf CSAF-Provider-Metadaten. |
Die beiden Felder mit „Mehrfach: nein“ sind die häufigste Fehlerquelle. Kommt
Expires oder Preferred-Languages zweimal vor, ist die gesamte Datei nach
Standard ungültig – nicht nur die doppelte Zeile. Feldnamen sind dabei nicht
groß-/kleinschreibungssensitiv; contact: ist so gültig wie Contact:.
Ablage, Auslieferung und Signatur
Der Speicherort ist nicht verhandelbar: /.well-known/security.txt, ausgeliefert über
HTTPS. Der Pfad /.well-known/ stammt aus RFC 8615 und ist der reservierte Ort für
maschinenlesbare Metadaten einer Domain – dieselbe Systematik nutzen ACME für Let's-Encrypt-
Prüfungen oder change-password für Passwortmanager. Aus Kompatibilität mit der Zeit vor
dem RFC darf die Datei zusätzlich unter /security.txt liegen; existieren beide, gilt die
Fassung unter /.well-known/. Der Content-Type muss text/plain; charset=utf-8
sein – wird die Datei als text/html oder als Download ausgeliefert, scheitern Prüfwerkzeuge.
Optional lässt sich die Datei mit einer OpenPGP-Cleartext-Signatur versehen. Das ist sinnvoll,
wenn Angreifer durch Manipulation der Datei Meldungen auf eigene Adressen umleiten könnten. Wer
signiert, sollte zwingend Canonical setzen: Erst dadurch lässt sich prüfen, ob die
Signatur für genau diesen Fundort gedacht war und die Datei nicht anderswohin kopiert wurde.
Drei Praxisfälle
Fall 1 – Agentur mit vielen Kundendomains. Eine Webagentur betreibt 80 Kundenauftritte.
Sinnvoll ist eine zentrale Meldeadresse der Agentur in allen Dateien, kombiniert mit einer
Policy-Seite, die die Zuständigkeit erklärt. Der Fallstrick: Canonical ist
je Domain unterschiedlich und darf nicht aus einer Vorlage kopiert werden – sonst zeigen
alle 80 Dateien auf dieselbe Adresse und werden als fremd erkannt.
Fall 2 – Behörde oder KRITIS-Betreiber. Hier zählt Nachvollziehbarkeit. Empfohlen sind
eine funktionsbezogene Adresse statt einer Personenadresse (mailto:cert@… statt
mailto:max.mustermann@…), eine Encryption-URI für verschlüsselte Zusendung
und ein Expires von maximal einem Jahr, das in den regulären Prüfzyklus aufgenommen wird.
Ein CSAF-Verweis lohnt sich, sobald eigene Sicherheitsmeldungen maschinenlesbar
veröffentlicht werden.
Fall 3 – kleiner Shop oder Einzelprojekt. Auch ohne Sicherheitsteam ist die Datei
sinnvoll: Zwei Zeilen mit Contact und Expires genügen, um überhaupt
erreichbar zu sein. Wichtig ist hier vor allem, dass das Postfach tatsächlich gelesen wird – eine
security.txt, die auf eine unbeachtete Adresse zeigt, ist schlechter als keine, weil sie
Reaktionsbereitschaft suggeriert.
Typische Fehler
- Expires fehlt. Der häufigste Fehler überhaupt – viele Dateien stammen noch aus der Entwurfsphase, in der das Feld optional war. Ohne
Expiresist die Datei heute ungültig. - Abgelaufenes Expires. Einmal gesetzt und nie erneuert. Prüfwerkzeuge behandeln die Datei dann als nicht mehr gültig.
- Blanke E-Mail-Adresse.
Contact: security@example.comist keine URI. Korrekt istContact: mailto:security@example.com. - Schlüsselblock in Encryption. Ein eingefügter
BEGIN PGP PUBLIC KEY BLOCKist ausdrücklich unzulässig – nur der Fundort gehört ins Feld. - Falscher Ablageort. Nur
/security.txtohne/.well-known/genügt nicht mehr. - Falscher Content-Type. Manche Server liefern
.txt-Dateien als Download aus oder erzwingen HTML-Fehlerseiten mit Status 200. - Schreibweise „Acknowledgements“. Der RFC nutzt die Form ohne „e“ nach dem g:
Acknowledgments. - Datei nur über HTTP erreichbar. HTTPS ist Pflicht.
Häufige Fragen
Wohin gehört die security.txt auf dem Server?
Nach RFC 9116 muss die Datei unter dem Pfad /.well-known/security.txt erreichbar sein und über HTTPS ausgeliefert werden. Zusätzlich darf sie aus Kompatibilitätsgründen auch unter /security.txt liegen. Sind beide vorhanden, ist die Datei unter /.well-known/ maßgeblich. Als Content-Type muss text/plain; charset=utf-8 gesendet werden.
Welche Felder sind in der security.txt Pflicht?
Pflicht sind genau zwei Felder: Contact und Expires. Contact darf mehrfach vorkommen und enthält eine URI, also mailto:, tel: oder https:. Expires darf dagegen nur genau einmal vorkommen und enthält einen Zeitstempel nach RFC 3339. Alle anderen Felder wie Encryption, Policy oder Acknowledgments sind optional.
Wie weit in der Zukunft sollte Expires liegen?
RFC 9116 empfiehlt einen Wert von weniger als einem Jahr in der Zukunft. Der Zweck ist, dass die Angaben regelmäßig überprüft werden: Eine abgelaufene security.txt gilt als ungültig, ein zu weit entferntes Ablaufdatum führt dagegen dazu, dass niemand die Kontaktdaten pflegt. Ein Jahr ist der übliche Kompromiss.
Darf ich meinen PGP-Schlüssel direkt in die security.txt schreiben?
Nein. Das Feld Encryption darf ausdrücklich nur den Fundort des Schlüssels angeben, nicht den Schlüssel selbst. Erlaubt sind eine https-URI zur Schlüsseldatei, eine dns-URI auf einen OPENPGPKEY-Eintrag oder eine openpgp4fpr-URI mit dem Fingerabdruck. Ein eingefügter Schlüsselblock macht die Datei ungültig.
Muss die security.txt digital signiert werden?
Eine Signatur ist optional, aber empfohlen. Wird die Datei mit einer OpenPGP-Cleartext-Signatur versehen, sollte zusätzlich das Feld Canonical gesetzt sein, damit Prüfer erkennen können, für welchen Speicherort die Signatur gilt. Ohne Signatur bleibt die Datei standardkonform.
Verlassen meine Eingaben in diesem Generator den Browser?
Nein. Der Generator erzeugt die Datei vollständig lokal mit JavaScript im Browser. Es findet keine Übertragung an einen Server statt, es werden keine Eingaben gespeichert und es werden keine Cookies gesetzt.
Weitere nützliche Tools
- Subnetz- & CIDR-Rechner – Netzbereiche für Scope-Angaben
- EXIF-Betrachter & Entferner – Metadaten aus Screenshots eines Reports entfernen
- Alle Security-Tools – Übersicht des Segments
- Alle Entwickler-Tools – Netzwerk, Formate, Kodierung