util24.de
Anzeigenfläche (wird erst nach Einwilligung geladen)

security.txt Generator nach RFC 9116

Erstelle eine standardkonforme security.txt, mit der Sicherheitsforscher wissen, wohin sie eine gefundene Schwachstelle melden sollen. Alle Pflicht- und Zusatzfelder werden live gegen RFC 9116 geprüft.

1 Pflichtfelder

RFC 9116 verlangt genau diese beiden Angaben.

E-Mail-Adressen und Telefonnummern werden automatisch als mailto: bzw. tel: ausgegeben – der Standard verlangt gültige URIs.

Ausgabe als UTC-Zeitstempel (RFC 3339), Uhrzeit 00:00:00Z.

Nur zum Vorbelegen von Canonical.


2 Empfohlene Felder

Optional nach Standard, in der Praxis fast immer sinnvoll.

Seite mit den Regeln deiner Vulnerability-Disclosure-Policy.

Nur der Fundort des Schlüssels – niemals der Schlüssel selbst. Erlaubt sind https:, dns: und openpgp4fpr:.

Sprachkürzel nach RFC 5646, kommagetrennt. Darf nur einmal in der Datei vorkommen; die Reihenfolge bedeutet laut Standard keine Rangfolge.

Wird aus der Domain vorbelegt. Bei signierten Dateien dringend empfohlen.

Weitere optionale Felder anzeigen

Dankesseite für Meldende. Schreibweise ohne „e“ nach dem g – so steht es im RFC.

Verweis auf die provider-metadata.json eines CSAF-Providers.


Ausgabe-Optionen
/.well-known/security.txt

      

Prüfung nach RFC 9116

    Datenschutz: Alle Eingaben werden lokal in deinem Browser verarbeitet und nicht gespeichert oder übertragen.

    Native-Anzeigenfläche (wird erst nach Einwilligung geladen)

    Wie funktioniert dieses Tool?

    1. 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.
    2. 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.
    3. Domain angeben. Daraus wird der Canonical-Wert vorbelegt, also die Adresse, unter der die Datei später erreichbar sein soll.
    4. Optionale Felder ergänzen. Policy, Encryption und Preferred-Languages sind formal freiwillig, machen die Datei in der Praxis aber erst nützlich.
    5. Prüfung lesen. Rechts erscheinen Fehler (rot – die Datei wäre ungültig) und Warnungen (gelb – gültig, aber verbesserungswürdig).
    6. Datei herunterladen und hochladen. Die Datei muss über HTTPS unter /.well-known/security.txt erreichbar sein und mit dem Content-Type text/plain; charset=utf-8 ausgeliefert 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
    ContactjajaMeldeweg als URI. Reihenfolge = Präferenz.
    ExpiresjaneinAblaufzeitpunkt als RFC-3339-Zeitstempel.
    EncryptionneinjaFundort des Schlüssels – nie der Schlüssel selbst.
    PolicyneinjaRegeln der Disclosure-Policy.
    AcknowledgmentsneinjaSeite, die Meldende würdigt.
    Preferred-LanguagesneinneinSprachen für Meldungen, kommagetrennt.
    CanonicalneinjaAdresse(n), unter denen diese Datei gilt.
    HiringneinjaStellenangebote im Sicherheitsbereich.
    CSAFneinjaVerweis 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

    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