logo
GeekFormat

Security.txt Generator

security.txt-Generator

Ausgabe gemäß RFC 9116, bereit zur Bereitstellung unter /.well-known/security.txt.

Offenlegungsinformationen

Deklarieren Sie die Canonical-URL für Ihre security.txt, um Spoofing auf anderen Pfaden zu verhindern

Generierte Ausgabe

Erstellen Sie online eine RFC 9116-konforme security.txt-Datei, um Sicherheitsforschern einen offiziellen Meldeweg für Schwachstellen zu bieten. Live-Vorschau, Ein-Klick-Kopieren – direkt unter /.well-known/security.txt bereitstellen und sofort funktionsfähig.

Ähnliche Tools

Anwendungsfälle

  • Unternehmenswebseiten, SaaS-Plattformen und Onlineshops richten einen offiziellen Schwachstellenmeldekanal ein und konfigurieren Contact-E-Mail sowie Policy-Seite zur Sicherheitsrichtlinie
  • Veröffentlichen Sie die URL zum PGP-Verschlüsselungsschlüssel, damit Sicherheitsforscher sensible Schwachstellendetails verschlüsselt übermitteln können – verhindert Abfangen von unverschlüsselten Schwachstelleninformationen
  • Richten Sie die URL zur Acknowledgments-Sicherheits-Hall-of-Fame ein, um Forschern, die Schwachstellen gemeldet haben, öffentlich zu danken und das Vertrauen in die Sicherheitsgemeinschaft zu stärken
  • Konfigurieren Sie den Hiring-Link für Sicherheitsstellen, um Sicherheitsforschern und White-Hat-Hackern aktiv Stellenanzeigen im Team zu zeigen und Sicherheitstalente zu gewinnen
  • Setzen Sie einen Expires-Zeitstempel, um das Team an regelmäßige Überprüfung und Aktualisierung der Sicherheitskontaktinformationen zu erinnern – vermeidet, dass Schwachstellen wegen veralteter Informationen nicht gemeldet werden können
  • Konfigurieren Sie das Canonical-Feld zur Angabe der kanonischen URL der security.txt-Datei, um zu verhindern, dass Angreifer bösartige gefälschte security.txt-Inhalte platzieren, die Forscher täuschen
  • Hoch regulierte Webseiten von Behörden, Finanzinstituten und im Gesundheitswesen erfüllen die Anforderungen zum Aufbau einer Vulnerability Disclosure Policy (VDP) gemäß branchenspezifischen Best Practices und BSI-Empfehlungen
  • Open-Source-Projekte, persönliche Blogs und API-Dienste richten schnell einen Sicherheitskontakt ein und zeigen damit, dass Sicherheitsprobleme ernst genommen werden

Funktionen

  • Streng nach aktuellem RFC 9116-Standard: Ausgabformat entspricht vollständig der Norm und kann direkt in Produktivumgebungen bereitgestellt werden
  • Unterstützung mehrerer Contact-Angaben: Pro Zeile ein Eintrag, E-Mail (mailto:), Webseite (https://), Telefon (tel:) können unabhängig angegeben werden
  • Vollständige Feldabdeckung: Pflichtfelder Contact und Expires sowie alle optionalen Felder Encryption, Acknowledgments, Policy, Hiring, Canonical, Preferred-Languages
  • Live-Vorschau bei der Generierung: Nach jeder Änderung wird der security.txt-Inhalt sofort aktualisiert – What You See Is What You Get, ohne Generieren-Button
  • Automatische Sprachangabe: Fügt automatisch das Preferred-Languages-Feld entsprechend der aktuellen Seitensprache hinzu, um internationalen Sicherheitsforschern die Meldung zu erleichtern
  • ISO 8601-Zeitformat: Das Expires-Feld verwendet das Standard-UTC-Zeitformat gemäß aktueller RFC-Spezifikation
  • Feldformatprüfung: Prüft automatisch Contact-Präfixe (mailto:/https:/tel:) und Expires-Zeitformat, um ungültige Ausgaben zu vermeiden
  • Ein-Klick-Kopieren: Kopiert den vollständigen Inhalt per Klick in die Zwischenablage – zum Bereitstellen nur einfügen
  • Eingebaute Beispielvorlage: Standardmäßig mit Beispielformat gefüllt, schnell durch eigene Informationen ersetzbar, ohne bei Null anzufangen
  • Rein clientseitige Ausführung im Browser: Konfigurationsdaten werden lokal im Browser verarbeitet und an keinen Server gesendet
  • Hinweis zum Bereitstellungspfad: Nach der Generierung Hinweis auf den Standardpfad /.well-known/security.txt und wichtige Serverkonfigurationspunkte
  • Kostenlos ohne Wasserzeichen: Generierte Dateien ohne Wasserzeichen oder Einschränkungen, direkt für gewerbliche Webseiten verwendbar

Anleitung

  1. Geben Sie im Contact-Bereich die Sicherheitskontakt-E-Mail oder URL ein (pro Zeile ein Eintrag, mehrzeilig möglich; E-Mails benötigen das Präfix mailto:, Webseiten das Präfix https://)
  2. Konfigurieren Sie nach Bedarf optionale Felder wie Encryption (PGP-Schlüssel-URL), Acknowledgments (Danksagungs-Hall-of-Fame-Seite), Policy (Schwachstellenoffenlegungsrichtlinie), Hiring (Sicherheitsstellen), Canonical (kanonische Datei-URL)
  3. Legen Sie die Expires-Ablaufzeit fest (UTC-Zeit im ISO 8601-Format, z. B. 2027-12-31T23:59:59Z, empfohlen: 6–12 Monate in der Zukunft)
  4. Prüfen Sie den generierten Inhalt in der rechten Live-Vorschau und klicken Sie nach Bestätigung des Formats auf die Kopieren-Schaltfläche
  5. Erstellen Sie im Stammverzeichnis Ihrer Webseite einen Ordner .well-known und speichern Sie den Inhalt dort als security.txt
  6. Konfigurieren Sie den Webserver (Nginx/Apache/Caddy etc.), sodass der Zugriff über https://ihredomain/.well-known/security.txt mit Content-Type text/plain möglich ist

Häufig gestellte Fragen

Was ist eine security.txt-Datei? Warum benötigt meine Webseite sie?

security.txt ist ein Web-Sicherheitsstandard, der von der IETF in RFC 9116 definiert wurde. Er bietet Webseiten eine standardisierte Möglichkeit, Sicherheitskontaktinformationen zu veröffentlichen. Wenn Sicherheitsforscher (White-Hat-Hacker) eine Sicherheitslücke auf Ihrer Webseite entdecken, müssen sie wissen, wen sie kontaktieren, wie sie Berichte verschlüsselt senden und welche Offenlegungsrichtlinien gelten. Ohne security.txt finden Forscher möglicherweise nicht die richtigen Ansprechpartner – Schwachstellen könnten öffentlich bekanntgegeben oder sogar böswillig ausgenutzt werden. Google, GitHub, Facebook/Meta, die britische Regierung, die US-CISA, das BSI sowie Regierungen in Frankreich, Italien, den Niederlanden und Australien haben diesen Standard bereits übernommen.

Unter welchem Pfad sollte security.txt auf der Webseite platziert werden?

Gemäß RFC 9116-Standard muss security.txt unter dem Pfad /.well-known/security.txt platziert werden (also im .well-known-Ordner im Stammverzeichnis der Webseite). Zusätzlich kann eine Kopie als /security.txt im Stammverzeichnis als Fallback zur Kompatibilität abgelegt werden. Der Zugriff muss über HTTPS erfolgen, der Content-Type muss text/plain sein. Die Datei darf nicht unter anderen Pfaden platziert werden, da automatische Sicherheitsscanner sie sonst nicht erkennen.

Welche Kontaktformate unterstützt das Contact-Feld? Können mehrere Angaben gemacht werden?

Es werden drei Formate unterstützt: E-Mail-Adressen müssen das Präfix mailto: verwenden (z. B. mailto:sicherheit@example.com), Webseiten-URLs das Präfix https:// (z. B. https://example.com/sicherheitsmeldung), Telefonnummern das Präfix tel: (z. B. tel:+49-30-1234567). Mehrere Kontaktangaben sind möglich, eine pro Zeile – Sicherheitsforscher können den für sie bequemsten Kanal wählen. Es wird empfohlen, mindestens eine E-Mail-Adresse und einen Link zu einem Webformular anzugeben.

Ist das Expires-Feld verpflichtend? Welche Formatanforderungen gibt es?

Expires ist ein Pflichtfeld (neben Contact, alle anderen sind optional). Expires gibt die Ablaufzeit des security.txt-Inhalts an und muss als UTC-Zeit im ISO 8601-Format angegeben werden, z. B. 2027-12-31T23:59:59Z (Z steht für UTC-Zeitzone). Es wird empfohlen, eine Ablaufzeit von 6–12 Monaten nach Erstellung festzulegen, um sich an regelmäßige Aktualisierungen der Sicherheitskontaktinformationen zu erinnern. Nach Ablauf betrachten automatisierte Tools die Dateiinformationen als möglicherweise veraltet.

Wozu dient das Encryption-Feld? Muss unbedingt ein PGP-Schlüssel hinterlegt werden?

Das Encryption-Feld verweist auf den Speicherort Ihres PGP-Public-Key. Sicherheitsforscher können Schwachstellenberichte mit diesem Schlüssel verschlüsseln, bevor sie sie senden – das verhindert, dass Schwachstellendetails während der E-Mail-Übertragung abgefangen und offengelegt werden. Dies ist kein Pflichtfeld, wird aber dringend empfohlen: Schwachstelleninformationen sind hochsensibel, unverschlüsselte E-Mails können von ISPs, Mailserver-Administratoren oder Angreifern abgehört werden. Sie können Ihren PGP-Public-Key unter /.well-known/pgp-key.txt ablegen und diese URL in das Encryption-Feld eintragen.

Wozu dient das Acknowledgments-Feld? Warum eine Danksagungsseite einrichten?

Das Acknowledgments-Feld verweist auf eine öffentliche Danksagungsseite (auch Hall of Fame/Sicherheits-Ruhmeshalle genannt), auf der die Namen oder IDs von Forschern aufgeführt sind, die Ihnen Sicherheitslücken gemeldet haben. Dies ist eine öffentliche Anerkennung der Arbeit von Sicherheitsforschern und eine effektive Möglichkeit, mehr White-Hat-Forscher zu gewinnen, die Ihnen bei der Suche nach Schwachstellen helfen. Viele Sicherheitsforscher testen bevorzugt Webseiten mit öffentlichen Danksagungsmechanismen, da dies signalisiert, dass ihre Beiträge anerkannt werden.

Auf welche Inhalte sollte das Policy-Feld verlinken?

Das Policy-Feld sollte auf Ihre Seite zur Schwachstellenoffenlegungsrichtlinie (Vulnerability Disclosure Policy, VDP) verlinken. Auf dieser Seite sollte klar erläutert werden: welche Testaktivitäten erlaubt sind (und welche verboten sind, z. B. keine DDoS-Angriffe, kein Zugriff auf Benutzerdaten), zugesagte Reaktionszeiten für Schwachstellenmeldungen, ob Sie Prämien zahlen sowie rechtliche Zusagen für legitime Sicherheitsforschung (z. B. keine Strafverfolgung von gutgläubigen Forschern). Eine klare Richtlinie gibt Sicherheitsforschern rechtliche Sicherheit, damit sie Ihnen Probleme bedenkenlos melden können.

Welche Funktion hat das Canonical-Feld? Muss es ausgefüllt werden?

Das Canonical-Feld dient zur Angabe der kanonischen URL der security.txt-Datei selbst. Eine Webseite kann unter mehreren Domains oder Pfaden erreichbar sein (z. B. example.com und www.example.com) – das Canonical-Feld teilt Forschern mit, welche URL die offizielle, vertrauenswürdige Version ist. Dies verhindert, dass Angreifer unter einem Pfad eine gefälschte security.txt platzieren, um Forscher dazu zu verleiten, Schwachstellenberichte an Angreifer zu senden. Es wird empfohlen, Ihre offizielle Domain-URL anzugeben, z. B. https://example.com/.well-known/security.txt.

Was bedeutet das Preferred-Languages-Feld?

Preferred-Languages teilt Sicherheitsforschern mit, in welchen Sprachen Ihr Sicherheitsteam Berichte bearbeiten kann. Die Angabe erfolgt als kommagetrennte Sprachcodes (z. B. de, en, fr). Dieser Generator setzt das Feld automatisch entsprechend der von Ihnen verwendeten Seitensprache. Dies ist wichtig, da Sicherheitsforschung global ist – Forscher können in jedem Land ansässig sein. Die frühzeitige Angabe unterstützter Sprachen vermeidet Kommunikationsfehler durch Sprachbarrieren.

Gehört das Hiring-Feld auch in die security.txt?

Ja, Hiring ist eines der optionalen Felder, die im RFC 9116-Standard definiert sind. Dieses Feld verweist auf die Stellenseite Ihres Sicherheitsteams. Sicherheitsforscher sind selbst hervorragende Sicherheitstalente – wer Schwachstellen auf Ihrer Webseite findet, beweist starke Sicherheitskompetenz. Ein Stellenlink in security.txt ist eine äußerst zielgerichtete Methode zur Rekrutierung von Sicherheitstalenten. Viele bekannte Unternehmen (einschließlich Google) platzieren Stellenlinks in ihrer security.txt.

Wird durch die Angabe einer Sicherheitskontakt-E-Mail nicht viel Spam empfangen?

Dies ist die häufigste Sorge von Webseitenbetreibern. Es gibt mehrere Möglichkeiten, Spam zu reduzieren: Erstens, keine direkte E-Mail-Adresse angeben, sondern die URL zu einem Webformular für Sicherheitsmeldungen (Präfix https://), wo Captchas zur Filterung von Bots verwendet werden können. Zweitens, einen speziellen E-Mail-Alias für Sicherheit (z. B. sicherheit@) mit gut konfiguriertem Spamfilter verwenden. Drittens, PGP-Verschlüsselung anbieten – automatisierte Spam-Versender nutzen keine PGP-Verschlüsselung. Viertens, in der Policy klar angeben, dass Sie nur sicherheitsrelevante Meldungen akzeptieren. Tatsächlich berichten die meisten Einrichtungen mit security.txt von keinem nennenswerten Anstieg von Spam, aber von einem deutlichen Anstieg von Schwachstellenmeldungen.

Muss security.txt digital signiert werden? Wie funktioniert das?

RFC 9116 empfiehlt (erzwingt aber nicht), security.txt mit einer OpenPGP-Klartextsignatur (Cleartext Signature) digital zu signieren. Dadurch können Forscher überprüfen, dass die Datei tatsächlich von der Webseite offiziell veröffentlicht und nicht von Angreifern manipuliert wurde. Die Methode: Signieren Sie die Datei mit dem GPG-Tool mittels Clearsign: gpg --clearsign -o security.txt.sig security.txt, und verwenden Sie dann den signierten Inhalt (beginnend mit -----BEGIN PGP SIGNED MESSAGE-----) als endgültigen security.txt-Inhalt. Dies ist jedoch eine fortgeschrittene Maßnahme – die meisten Webseiten funktionieren auch ohne Signatur problemlos.

Wie konfiguriere ich security.txt in Nginx/Apache/Caddy?

Die Kernkonfigurationsanforderungen: Stellen Sie sicher, dass der Pfad /.well-known/security.txt erreichbar ist, der Content-Type text/plain zurückgibt, HTTPS verwendet wird und keine Umleitungen für diesen Pfad eingerichtet sind (insbesondere keine Umleitungen zu anderen Domains). Bei Nginx können Sie eine exakte location-Übereinstimmung verwenden: location = /.well-known/security.txt { default_type text/plain; alias /pfad/zu/security.txt; };Bei Apache stellen Sie sicher, dass .htaccess den Zugriff auf das .well-known-Verzeichnis nicht blockiert; bei Caddy verwenden Sie einfach handle_path zur direkten Angabe.

Benötige ich security.txt auch für eine kleine Webseite (persönlicher Blog/Open-Source-Projekt)?

Die Einrichtung wird dringend empfohlen. Unabhängig von der Webseitengröße gibt es potenzielle Sicherheitslücken, sobald Benutzerdaten vorhanden sind oder ein Dienst im Internet bereitgestellt wird. Der Aufwand für die Bereitstellung von security.txt ist äußerst gering – die Generierung mit diesem Tool dauert nur 2 Minuten, es muss nur eine Datei abgelegt werden. Große Unternehmen wie Google und GitHub verwenden es, aber auch Entwickler und Open-Source-Projekte können davon profitieren. Dies ist eine Sicherheitsmaßnahme mit extrem gutem Kosten-Nutzen-Verhältnis: Nahezu null Kosten, aber gutgläubigen Forschern, die Schwachstellen entdecken, einen Kanal bieten, um Probleme zu melden – anstatt dass sie schweigen oder die Schwachstelle öffentlich machen.

Was ist der Unterschied zwischen security.txt und robots.txt?

Beide sind Standardtextdateien, die unter /.well-known/ (oder im Stammverzeichnis) platziert werden, aber sie dienen völlig unterschiedlichen Zwecken: robots.txt ist für Suchmaschinen-Crawler gedacht und teilt ihnen mit, welche Pfade nicht indexiert werden sollen; security.txt ist für Sicherheitsforscher gedacht und teilt ihnen mit, wie sie Kontakt aufnehmen können, wenn sie eine Schwachstelle entdecken. Eine für Suchmaschinen, eine für Sicherheitsforscher – beide ergänzen sich, stehen nicht im Konflikt und können gleichzeitig bereitgestellt werden.

Über security.txt: Der vollständige Leitfaden zum Web-Sicherheitsoffenlegungsstandard

security.txt ist eine bewährte Web-Sicherheitspraxis, die von der IETF (Internet Engineering Task Force) in RFC 9116 formal standardisiert wurde. Ziel ist es, Webseiten eine einheitliche, standardisierte Möglichkeit zur Veröffentlichung von Sicherheitskontaktinformationen zu bieten. Einfach ausgedrückt: Es handelt sich um eine Textdatei an einem festen Pfad auf der Webseite, die Sicherheitsforschern (White-Hat-Hackern) sagt: „Wenn Sie eine Sicherheitslücke auf meiner Webseite finden, hier sind die Kontaktmöglichkeiten, hier ist unser Verschlüsselungsschlüssel, hier sind unsere Offenlegungsrichtlinien – wir freuen uns über Ihre Meldung."

Vor der Einführung des security.txt-Standards waren Sicherheitskontaktinformationen von Webseiten willkürlich und uneinheitlich. Manche Webseiten hatten überhaupt keine Sicherheitskontaktangaben, andere versteckten sie auf irgendeiner Seite, wieder andere gaben nur eine info@-E-Mail-Adresse an, die niemand las, und bei manchen musste man über LinkedIn umständlich nach dem Sicherheitsteam suchen. Dies führte zu einem schwerwiegenden Problem: Wenn gutgläubige Sicherheitsforscher eine Schwachstelle entdeckten, fanden sie oft keinen richtigen Kanal zur Meldung. Die Folge: Viele Schwachstellen blieben unbemerkt und ungefixt, bis sie von böswilligen Hackern entdeckt und ausgenutzt wurden. security.txt wurde entwickelt, um genau dieses „Letzte-Meile-Problem" zu lösen.

Das Konzept von security.txt wurde erstmals 2017 von den Sicherheitsforschern EdOverflow und Yakov Shafranovich vorgeschlagen und fand schnell breite Unterstützung in der Branche. Im April 2022 wurde security.txt von der IETF offiziell als RFC 9116-Standard verabschiedet und ist damit ein international anerkannter Web-Sicherheitsstandard. Heute haben große Technologieunternehmen wie Google, GitHub, Meta (Facebook), LinkedIn, Cloudflare sowie Regierungsbehörden wie die britische Regierung, die US-CISA (Cybersecurity and Infrastructure Security Agency), das BSI (Bundesamt für Sicherheit in der Informationstechnik) und Regierungen in Frankreich, Italien, den Niederlanden und dem Australian Cyber Security Centre security.txt auf ihren offiziellen Webseiten bereitgestellt und empfehlen anderen Organisationen öffentlich die Übernahme.

Das Kerndesign der security.txt-Datei ist sehr einfach – es handelt sich um eine reine Textdatei, die aus einer Reihe von Zeilen im Format „Feldname: Wert" besteht, ähnlich wie HTTP-Header. Der Standard definiert zwei Pflichtfelder: Contact (Sicherheitskontaktangaben, mehrere möglich) und Expires (Ablaufzeit der Datei); sowie mehrere optionale Felder: Encryption (URL zum PGP-Verschlüsselungsschlüssel), Acknowledgments (URL zur Danksagungsseite), Policy (URL zur Schwachstellenoffenlegungsrichtlinie), Hiring (URL zu Sicherheitsstellen), Canonical (kanonische URL der Datei), Preferred-Languages (unterstützte Meldesprachen), CSAF (URL zu Metadaten des Common Security Advisory Framework). Dieses einfache Format ermöglicht sowohl Menschen als auch Maschinen eine einfache Auswertung.

Warum ist die Bereitstellung von security.txt so wichtig? Erstens senkt es die Hürde für Schwachstellenmeldungen: Sicherheitsforscher müssen nicht viel Zeit mit der Suche nach Kontaktangaben verbringen, sondern finden den richtigen Meldeweg mit einem Klick. Zweitens signalisiert es eine positive Einstellung der Organisation zur Sicherheit – eine Webseite mit security.txt sagt im Grunde: „Wir nehmen Sicherheit ernst und freuen uns über verantwortungsvolle Meldungen." Drittens reduziert es das Risiko einer öffentlichen Offenlegung oder Ausnutzung von Schwachstellen: Wenn Forscher einen offiziellen Kanal haben, werden sie nicht wegen fehlender Kontaktmöglichkeit Schwachstellen direkt auf Twitter oder GitHub veröffentlichen. Viertens ist die Einrichtung eines Schwachstellenmeldekanals in vielen branchenspezifischen Regularien (Finanzwesen, Gesundheit, Behörden) bereits eine Compliance-Anforderung.

Bei der Bereitstellung von security.txt sind einige wichtige Details zu beachten. Erstens muss der Pfad korrekt sein: Der Standardpfad ist /.well-known/security.txt, optional kann eine Kopie als /security.txt im Stammverzeichnis als Fallback abgelegt werden. Das .well-known-Verzeichnis ist ein in RFC 8615 definiertes Standardverzeichnis für „bekannte Ressourcen" – auch andere Standarddateien wie robots.txt werden an entsprechenden Stellen platziert. Zweitens muss die Bereitstellung über HTTPS erfolgen, unverschlüsseltes HTTP gilt als unsicher. Drittens muss der Content-Type text/plain sein, nicht text/html oder ein anderer Typ. Viertens sollte security.txt keine domänenübergreifenden Umleitungen durchführen – wenn https://example.com/.well-known/security.txt zu https://andere-domain.com/security.txt umleitet, betrachten Forscher und automatisierte Tools dies als verdächtig. Fünftens: Vergessen Sie nicht, das Expires-Feld zu setzen und regelmäßig zu aktualisieren – eine abgelaufene security.txt gilt als unzuverlässig.

Das Contact-Feld ist das wichtigste Feld in security.txt und das einzige wirklich unverzichtbare Feld (Expires ist ebenfalls Pflicht, aber nur ein Zeitstempel). Contact unterstützt drei URI-Formate: mailto: für E-Mail-Adressen, https:// für Web-Links (z. B. ein Formular für Sicherheitsmeldungen), tel: für Telefonnummern. Es wird dringend empfohlen, mindestens eine mailto-E-Mail-Adresse und einen https-Link zu einem Formular bereitzustellen – Formulare schützen vor Bot-Spam, E-Mails erleichtern es Forschern, verschlüsselte Berichte direkt zu senden. Mehrere Kontaktangaben können mehrzeilig aufgelistet werden, z. B. gleichzeitig die E-Mail-Adresse des Sicherheitsteams, des Sicherheitsverantwortlichen und der Link zu einer Drittanbieter-Plattform für Schwachstellenmeldungen.

Obwohl das Encryption-Feld optional ist, ist es in der Praxis sehr wichtig. Wenn Sicherheitsforscher eine schwerwiegende Schwachstelle entdecken (z. B. Datenleck von Benutzerdaten, Remote Code Execution), möchten sie Schwachstellendetails auf keinen Fall per unverschlüsselter E-Mail senden – da E-Mails während der Übertragung mehrere Server passieren und an jeder Stelle abgehört werden können. Die PGP-Verschlüsselung (Pretty Good Privacy) ist der branchenübliche Standard für sichere Kommunikation. Sie müssen nur ein PGP-Schlüsselpaar generieren, den Public Key auf Ihrer Webseite ablegen (z. B. unter /.well-known/pgp-key.txt) und diese URL in das Encryption-Feld eintragen. Forscher verschlüsseln den Bericht mit Ihrem Public Key – nur wer den zugehörigen Private Key besitzt, kann den Bericht entschlüsseln und lesen.

Das Policy-Feld verlinkt auf Ihre Seite zur Schwachstellenoffenlegungsrichtlinie (Vulnerability Disclosure Policy, VDP), die für das Vertrauen der Forscher entscheidend ist. Eine gute VDP sollte klar erläutern: Testumfang (welche Systeme zum Testumfang gehören und welche nicht), erlaubte Testmethoden (z. B. SQL-Injection/XSS-Tests erlaubt, aber DDoS/Social Engineering/Zugriff auf echte Benutzerdaten verboten), zugesagte Reaktionszeiten (z. B. „Wir bestätigen den Erhalt Ihrer Meldung innerhalb von 3 Werktagen"), ob Sie Schwachstellenprämien zahlen sowie rechtliche Safe-Harbor-Zusagen (ausdrücklich keine Strafverfolgung von regelkonformen, gutgläubigen Forschern). International gibt es viele VDP-Vorlagen zur Orientierung, auch die US-CISA stellt Open-Source-VDP-Vorlagen bereit.

Neben der Sicherheitskontaktaufnahme selbst gibt es in security.txt einige „Überraschungsfelder". Das Acknowledgments-Feld baut eine Hall of Fame (Sicherheits-Ruhmeshalle) auf – öffentliche Danksagung an Forscher, die Ihnen bei der Entdeckung von Schwachstellen geholfen haben. Dies ist Anerkennung ihrer Arbeit und zugleich Gemeinschaftsaufbau. Das Hiring-Feld ist ein sehr kluges Konzept: Wer Schwachstellen auf Ihrer Webseite findet, ist selbst ein hervorragendes Sicherheitstalent – ein Stellenlink in security.txt ist der zielgerichtetste Kanal zur Rekrutierung von Sicherheitstalenten. Viele Unternehmen haben über security.txt hervorragende Sicherheitsingenieure eingestellt. Das Canonical-Feld dient der Sicherheit – es verhindert, dass Angreifer Ihre security.txt unter anderen Domains fälschen.

Zur häufigen Sorge vor Spam: Tatsächlich berichten die meisten Organisationen, die security.txt bereits bereitgestellt haben, von keinem nennenswerten Anstieg von Spam. Dies hat folgende Gründe: Erstens beziehen Spam-Versender E-Mail-Adressen normalerweise nicht durch das Crawlen von security.txt; zweitens können https://-Formular-Links anstelle direkter mailto-E-Mails verwendet werden – mit Captchas auf dem Formular lassen sich Bots vollständig blockieren; drittens sind spezielle Sicherheits-E-Mail-Adressen (z. B. sicherheit@) üblicherweise mit strengen Spamfiltern konfiguriert. Im Vergleich dazu sind die Kosten für schwerwiegende Schwachstellenmeldungen, die aufgrund fehlender Kontaktmöglichkeit verpasst werden, weitaus höher als ein potenziell geringfügig erhöhtes Spamaufkommen.

Dieser Generator wurde streng nach dem RFC 9116-Standard entwickelt, alle Ausgabeformate sind standardisiert: Das Contact-Feld erkennt Präfixe automatisch, das Expires-Feld verwendet das Standard-UTC-Zeitformat nach ISO 8601, Preferred-Languages wird automatisch entsprechend der von Ihnen verwendeten Sprache gesetzt. Die generierten Inhalte können direkt kopiert und unter dem Pfad /.well-known/security.txt bereitgestellt werden, ohne dass Änderungen erforderlich sind. Gleichzeitig erfolgen alle Konfigurationen lokal in Ihrem Browser und werden an keine Server gesendet – Ihre Sicherheitskontaktinformationen verbleiben stets auf Ihrem Gerät. Die Bereitstellung von security.txt dauert nur 5 Minuten, aber der aufgebaute sichere Kommunikationskanal kann Ihnen zukünftig helfen, schwerwiegende Sicherheitsvorfälle zu vermeiden.

术语表

RFC 9116
Von der IETF veröffentlichtes offizielles Standarddokument zu security.txt mit der Nummer 9116, veröffentlicht im April 2022. Definiert alle Spezifikationsdetails wie Format, Felder, Bereitstellungspfad und MIME-Typ von security.txt-Dateien und ist die maßgebliche Grundlage für die Implementierung von security.txt.
.well-known-Verzeichnis
In RFC 8615 definiertes Web-Standardverzeichnis zur Speicherung standardisierter Metadatendateien von Webseiten (z. B. security.txt, robots.txt, apple-app-site-association). Der Pfad ist fest als .well-known-Ordner im Stammverzeichnis der Webseite definiert.
VDP (Vulnerability Disclosure Policy)
Schwachstellenoffenlegungsrichtlinie, die festlegt, welche Sicherheitstests auf einer Webseite erlaubt sind, wie Schwachstellen gemeldet werden, zugesagte Reaktionszeiten und Safe-Harbor-Bestimmungen. Das Policy-Feld in security.txt sollte auf die VDP-Seite verlinken.
PGP/GPG-Verschlüsselung
Pretty Good Privacy/GNU Privacy Guard, ein asymmetrischer Verschlüsselungsstandard. Sicherheitsforscher verschlüsseln Schwachstellenberichte mit dem öffentlich bereitgestellten Public Key der Webseite – nur wer den zugehörigen Private Key der Webseite besitzt, kann den Bericht entschlüsseln. Dies verhindert das Abfangen von Schwachstellendetails während der Übertragung.
ISO 8601
Von der Internationalen Organisation für Normung festgelegtes Format zur Darstellung von Datum und Uhrzeit. RFC 9116 schreibt vor, dass das Expires-Feld eine UTC-Zeit in diesem Format verwenden muss (z. B. 2027-12-31T23:59:59Z, wobei Z die UTC-Zeitzone kennzeichnet).
Hall of Fame (Sicherheits-Ruhmeshalle)
Die durch das Acknowledgments-Feld referenzierte Danksagungsseite, auf der Namen/IDs von Forschern, die Sicherheitslücken an die Webseite gemeldet haben, öffentlich aufgeführt werden. Dient der öffentlichen Anerkennung von Beiträgen zur Sicherheitsforschung.
White-Hat-Hacker
Sicherheitsforscher, die aus gutem Willen Sicherheitslücken entdecken und verantwortungsvoll offenlegen, im Gegensatz zu böswilligen Hackern (Black Hats), die Schwachstellen für Angriffe ausnutzen. security.txt bietet White-Hat-Forschern einen offiziellen Kommunikationskanal.
Canonical URL (Kanonische URL)
Das Canonical-Feld in security.txt dient zur Angabe der offiziellen URL der Datei selbst. Es verhindert, dass Angreifer unter anderen Pfaden oder Domains gefälschte security.txt-Dateien platzieren, um Forscher zu täuschen.

RFC 9116 security.txt-Feld-Referenztabelle

Im Folgenden alle im security.txt-Standard definierten Felder und ihre Anforderungen:

FeldnamePflicht/OptionalMehrere erlaubt?WerteformatBeschreibung
Contact✅ Pflicht✅ Mehrzeilig erlaubtmailto:/https:/tel: URISicherheitskontaktangaben, unterstützt drei Formate: E-Mail, Webseiten-URL, Telefon
Expires✅ Pflicht❌ Nur einesISO 8601 UTC-ZeitAblaufzeit des Dateiinhalts, nach Ablauf gelten Informationen als möglicherweise veraltet
Encryption⬜ Optional✅ Mehrzeilig erlaubthttps:// URIURL zum PGP-Public-Key zur verschlüsselten Übermittlung sensibler Schwachstellenberichte
Acknowledgments⬜ Optional✅ Mehrzeilig erlaubthttps:// URIURL zur Sicherheits-Hall-of-Fame/Danksagungsseite zur öffentlichen Anerkennung von Schwachstellenmeldern
Policy⬜ Optional✅ Mehrzeilig erlaubthttps:// URIURL zur Schwachstellenoffenlegungsrichtlinie (VDP), die Melde-Regeln und -Umfang erläutert
Hiring⬜ Optional✅ Mehrzeilig erlaubthttps:// URIURL zur Stellenseite des Sicherheitsteams zur Rekrutierung von Talenten unter Sicherheitsforschern
Canonical⬜ Optional✅ Mehrzeilig erlaubthttps:// URIKanonische URL der security.txt-Datei selbst, zum Schutz vor Fälschungen
Preferred-Languages⬜ Optional❌ Nur einesSprachcodes (kommagetrennt)Vom Sicherheitsteam unterstützte Sprachen, z. B. de, en, fr
CSAF⬜ Optional✅ Mehrzeilig erlaubthttps:// URIURL zu Metadaten des Common Security Advisory Framework

Konfigurationsbeispiele für security.txt auf gängigen Webservern

Nach Generierung des security.txt-Inhalts konfigurieren Sie den korrekten Zugriffspfad und Content-Type auf dem Server:

WebserverKonfigurationshinweiseAnmerkungen
Nginxlocation = /.well-known/security.txt { default_type text/plain; alias /var/www/.well-known/security.txt; add_header Cache-Control "public, max-age=3600"; }Verwenden Sie exakte Übereinstimmung (=), setzen Sie default_type auf text/plain, damit Nginx TXT-Dateien nicht als Binärdateien behandelt
ApacheStellen Sie sicher, dass das .well-known-Verzeichnis nicht durch Deny-Regeln in .htaccess blockiert wird; legen Sie die Datei einfach im .well-known-Ordner im Stammverzeichnis der Webseite abApache gibt für .txt-Dateien standardmäßig text/plain zurück, prüfen Sie aber, dass mod_rewrite-Regeln diesen Pfad nicht umschreiben
Caddyhandle_path /.well-known/security.txt { file_server { root /var/www } }Caddy verwendet standardmäßig HTTPS und verarbeitet den MIME-Typ von TXT-Dateien korrekt – die einfachste Konfiguration
Cloudflare Pages/Vercel/NetlifyLegen Sie security.txt unter dem Pfad public/.well-known/security.txt ab – nach der Bereitstellung ist der Zugriff über den statischen Dienst korrekt möglichStatische Hosting-Plattformen verarbeiten den korrekten Content-Type normalerweise automatisch. Stellen Sie sicher, dass die Plattform den .well-known-Ordner nicht ignoriert, wenn Ordnernamen mit einem Punkt beginnen
CDN/Reverse ProxyStellen Sie sicher, dass CDN oder WAF security.txt nicht blockieren oder zu lange cachen. Empfohlene Cache-Control-Einstellung: max-age=3600 (1 Stunde)Denken Sie nach Aktualisierung von security.txt an die Löschung des CDN-Caches, sonst sehen Forscher möglicherweise eine alte Version

Privacy & Security

Alle Konfigurationsvorgänge in diesem Generator werden vollständig lokal in Ihrem Browser ausgeführt. Alle von Ihnen eingegebenen Informationen wie Sicherheitskontakt-E-Mail, PGP-Schlüssel-URL, Stellenlinks werden an keinen Server gesendet und auch nicht erfasst oder gespeichert. Nach dem Aktualisieren oder Schließen der Seite werden alle eingegebenen Inhalte sofort gelöscht. Der Inhalt der generierten security.txt-Datei befindet sich nur in Ihrer Zwischenablage und auf dem von Ihnen bereitgestellten Server – GeekFormat speichert keine Kopien.

Troubleshooting

Beim Zugriff auf /.well-known/security.txt wird ein 404-Fehler zurückgegeben

Es gibt drei häufige Ursachen: Erstens wurde die Datei nicht am korrekten Ort abgelegt – prüfen Sie, ob der Pfad security.txt im .well-known-Ordner im Stammverzeichnis der Webseite ist (beachten Sie, dass .well-known ein verstecktes Verzeichnis ist, das mit einem Punkt beginnt). Zweitens blockiert die Webserverkonfiguration den Zugriff auf Verzeichnisse, die mit einem Punkt beginnen (Apache-.htaccess- oder Nginx-deny-Regeln können Dotfile-Verzeichnisse blockieren). Drittens leiten Rewrite-Regeln von Nginx/Apache (z. B. History-Modus von Frontend-Routern) die Anfrage an index.html weiter. Lösung: Prüfen Sie den Dateipfad und fügen Sie explizit eine location-Regel für /.well-known/security.txt in der Serverkonfiguration hinzu.

Beim Zugriff auf security.txt erfolgt eine Umleitung zur Anmeldeseite oder Startseite

Viele Single-Page-Applications (SPA) oder Webseiten mit Authentifizierung leiten alle nicht übereinstimmenden Pfade zur Startseite oder Anmeldeseite um. Dies führt dazu, dass automatisierte Tools security.txt nicht finden können. Lösung: Fügen Sie in der Serverkonfiguration eine Ausnahme für den Pfad /.well-known/security.txt hinzu, sodass dieser Pfad direkt den Dateiinhalt zurückgibt, ohne SPA-Router oder Authentifizierungs-Middleware zu durchlaufen. Dies ist die häufigste Fallstricke bei der Bereitstellung von security.txt.

Beim Browserzugriff auf security.txt wird die Datei heruntergeladen anstatt den Inhalt anzuzeigen

Dies liegt daran, dass der vom Server zurückgegebene Content-Type nicht korrekt ist – möglicherweise ist er auf application/octet-stream oder einen anderen Binärtyp anstatt auf text/plain eingestellt. Lösung: Setzen Sie in der Webserverkonfiguration explizit den Content-Type für security.txt auf text/plain; charset=utf-8. Bei Nginx ist default_type text/plain oder add_header Content-Type text/plain erforderlich; Apache verarbeitet dies normalerweise automatisch, bei Problemen kann dies mit der AddType-Direktive erzwungen werden.

Ich habe eine E-Mail-Adresse in das Contact-Feld eingetragen, erhalte aber einen Formatfehler

Die Werte im Contact-Feld müssen ein URI-Präfix tragen: E-Mail-Adressen müssen mit mailto: beginnen (z. B. mailto:sicherheit@example.com, nicht nur sicherheit@example.com), Webseiten-URLs müssen mit https:// beginnen (nicht nur example.com/sicherheit), Telefonnummern müssen mit tel: beginnen. Dies ist eine explizite Anforderung des RFC 9116-Standards – da das Contact-Feld verschiedene Kontaktarten unterstützt, können Parser ohne Präfix den Typ nicht erkennen.

Das Zeitformat für Expires wird als fehlerhaft gemeldet

Expires muss eine UTC-Zeit im ISO 8601-Format sein, das Format lautet YYYY-MM-DDTHH:MM:SSZ, am Ende muss ein Z stehen, das die UTC-Zeitzone kennzeichnet (keine lokalen Zeitzonen-Offsets wie +08:00). Korrektes Beispiel: 2027-12-31T23:59:59Z. Verwenden Sie keine anderen Formate wie 2027/12/31, 31.12.2027 oder 2027-12-31 23:59:59 – diese entsprechen nicht dem Standard.

Ich habe security.txt abgelegt, aber Online-Prüftools sagen immer noch, sie sei nicht gefunden worden

Prüfen Sie folgende Punkte: Erstens, stellen Sie sicher, dass der Zugriff über HTTPS erfolgt (Zugriff über HTTP zählt nicht, RFC schreibt HTTPS zwingend vor). Zweitens, stellen Sie sicher, dass die Domain sowohl mit als auch ohne www korrekt erreichbar ist (wenn Ihre Webseite in beiden Domain-Versionen existiert, empfehle ich die Angabe der Hauptdomain im Canonical-Feld und das Ablegen von security.txt unter beiden Domains oder die Einrichtung korrekter 301-Umleitungen). Drittens, prüfen Sie, ob der CDN-Cache von alten Inhalten geleert wurde. Viertens, stellen Sie sicher, dass der Server auf dem Pfad security.txt keine Umleitung (301/302) zu einer anderen URL zurückgibt – laut RFC können Umleitungen von Tools abgelehnt werden.