security.txt nach RFC 9116: Vulnerability-Disclosure-Policy praktisch umsetzen
AI generated
OWASP
0x00
Security · Vulnerability Disclosure · Standards · RFC 9116
security.txt nach RFC 9116
Vulnerability-Disclosure-Policy praktisch umsetzen

Wer eine Sicherheitslücke in einer fremden Webanwendung findet, steht oft vor einem einfachen, aber ungelösten Problem: An wen meldet man den Fund eigentlich? Ohne eine klare Anlaufstelle enden viele Meldungen im allgemeinen Support-Postfach, werden ignoriert oder landen aus Frustration direkt öffentlich in sozialen Netzwerken. RFC 9116 löst dieses Problem mit einer denkbar einfachen Idee: einer standardisierten Textdatei unter einem festen Pfad, die Kontaktwege, Fristen und Signaturen für verantwortungsvolle Meldungen bereitstellt.

15 Min. Lesezeit security.txt · RFC 9116 Vulnerability Disclosure · PGP

1. Das Problem: fehlender Meldeweg für gefundene Schwachstellen

Sicherheitsforscher, die im Rahmen eines Audits, eines Bug-Bounty-Programms oder auch nur zufällig beim Surfen auf eine Schwachstelle stossen, brauchen einen klaren, schnellen Weg, um diese verantwortungsvoll zu melden. Fehlt dieser Weg, bleiben meist nur schlechte Alternativen: eine E-Mail an eine generische info@-Adresse, die im Marketing-Postfach verschwindet, ein Ticket im öffentlichen Support-System, das jeder mitlesen kann, oder im schlimmsten Fall ein Tweet mit Details zur Schwachstelle, weil kein anderer Kanal reagiert hat.

Diese Unsicherheit kostet auf beiden Seiten Zeit und Vertrauen. Betreiber erfahren von kritischen Lücken oft zu spät oder gar nicht auf offiziellem Weg, während gutwillige Melder frustriert aufgeben oder aus Mangel an Alternativen den öffentlichen Weg wählen. Genau diese Lücke schließt RFC 9116 mit einer Konvention, die so simpel ist, dass sie sich in wenigen Minuten umsetzen lässt, aber in der Praxis einen spürbaren Unterschied macht, wie schnell ein Unternehmen von einer Schwachstelle erfährt.


# /.well-known/security.txt -- Minimalbeispiel nach RFC 9116
Contact: mailto:security@beispiel-shop.de
Contact: https://beispiel-shop.de/security-melden
Expires: 2026-12-31T23:59:59.000Z
Encryption: https://beispiel-shop.de/.well-known/pgp-key.txt
Preferred-Languages: de, en
Canonical: https://beispiel-shop.de/.well-known/security.txt
Policy: https://beispiel-shop.de/security-policy
Acknowledgments: https://beispiel-shop.de/security-hall-of-fame

2. Die Grundidee von RFC 9116 in Kürze

RFC 9116 wurde im April 2022 von der IETF als offizieller Standard veröffentlicht und löst den vorherigen Entwurfsstatus ab, unter dem die Konvention bereits seit Jahren informell genutzt wurde. Der Kern der Idee ist denkbar simpel: Eine Webanwendung stellt unter dem festen, gut auffindbaren Pfad /.well-known/security.txt eine reine Textdatei bereit, die in einem klar definierten Feld-Wert-Format die wichtigsten Informationen für Sicherheitsmelder bündelt.

Der Pfad /.well-known/ ist selbst durch RFC 8615 standardisiert und dient als generischer Namensraum für maschinenlesbare Metadaten von Webseiten, in dem neben security.txt auch andere Well-Known-Ressourcen wie ACME-Challenges oder OAuth-Metadaten liegen. Automatisierte Tools, Sicherheitsscanner und auch menschliche Forscher prüfen diesen Pfad inzwischen routinemässig als ersten Schritt, bevor sie überhaupt eine Schwachstelle melden, weil er als verlässliche, standardisierte Quelle gilt.

3. Pflichtfelder: Contact und Expires im Detail

RFC 9116 verlangt zwingend mindestens ein Contact-Feld und genau ein Expires-Feld, alle anderen Felder sind optional. Das Contact-Feld gibt an, wie Melder ein Unternehmen erreichen können, wobei mehrere Contact-Zeilen erlaubt sind und nach Priorität sortiert aufgelistet werden sollten. Zulässig sind E-Mail-Adressen im mailto:-Schema, Telefonnummern im tel:-Schema sowie beliebige HTTPS-URLs, etwa zu einem dedizierten Meldeformular oder einem Bug-Bounty-Programm auf einer Plattform wie HackerOne oder Intigriti.

Das Expires-Feld gibt im ISO-8601-Format an, bis wann die Datei als gültig betrachtet werden soll, und zwingt Betreiber dazu, die Angaben regelmässig zu überprüfen und zu erneuern. Eine abgelaufene security.txt-Datei signalisiert Werkzeugen und Forschern, dass die enthaltenen Kontaktdaten möglicherweise veraltet sind, was in der Praxis ein wirksamer Mechanismus gegen verwaiste, jahrelang nicht gepflegte Angaben ist. Ein sinnvoller Rhythmus ist ein Ablaufdatum von sechs bis zwölf Monaten in der Zukunft, kombiniert mit einem wiederkehrenden Kalendereintrag zur Erneuerung.

4. Optionale Felder für eine vollständige Policy

Neben den beiden Pflichtfeldern definiert RFC 9116 mehrere optionale Felder, die eine security.txt-Datei deutlich nützlicher machen. Das Feld Policy verweist auf eine ausführliche Vulnerability-Disclosure-Policy, in der Umfang, erlaubte Testmethoden, Ausschlusskriterien und der Umgang mit gefundenen Daten geregelt sind. Das Feld Acknowledgments verlinkt eine Seite, auf der Melder nach erfolgreicher, verantwortungsvoller Offenlegung öffentlich gewürdigt werden, was als nicht-monetärer Anreiz für viele Sicherheitsforscher durchaus relevant ist.

Das Feld Preferred-Languages gibt an, in welchen Sprachen Meldungen bevorzugt entgegengenommen werden, das Feld Canonical benennt die autoritative URL der Datei selbst und schützt vor manipulierten Kopien auf Spiegelservern, und das Feld Hiring kann auf offene Stellen im Security-Team verweisen. Alle Felder lassen sich mehrfach angeben, sodass etwa mehrere Kontaktwege oder mehrere Policy-Dokumente für unterschiedliche Produktbereiche nebeneinander existieren können.

5. Signierung mit PGP: Integrität der Angaben absichern

Ohne zusätzlichen Schutz könnte ein Angreifer mit Zugriff auf den Webserver eine gefälschte security.txt-Datei platzieren, um Meldungen echter Schwachstellen abzufangen oder Forscher auf eine falsche Fährte zu locken. RFC 9116 sieht deshalb vor, die Datei optional als OpenPGP-Cleartext-Signatur zu signieren, sodass jede Manipulation am Inhalt sofort erkennbar wird, sobald jemand die Signatur gegen den öffentlichen Schlüssel prüft.

In der Praxis wird der öffentliche PGP-Schlüssel selbst über das Encryption-Feld referenziert und ebenfalls unter einem Well-Known-Pfad bereitgestellt, sodass Forscher sowohl die Signatur der security.txt-Datei prüfen als auch verschlüsselt mit dem Sicherheitsteam kommunizieren können. Diese Kombination aus Signierung und Verschlüsselung stellt sicher, dass sensible Schwachstellendetails nicht im Klartext über unsichere Kanäle wandern und dass die Kontaktangaben selbst vertrauenswürdig bleiben.

6. Häufige Fehler bei der praktischen Umsetzung

Der häufigste Fehler ist eine security.txt-Datei, die zwar einmalig angelegt, danach aber nie wieder gepflegt wird, bis das Expires-Datum lange in der Vergangenheit liegt und Kontaktadressen nicht mehr funktionieren. Ein zweiter häufiger Fehler ist die falsche Platzierung der Datei außerhalb von /.well-known/, etwa direkt im Root-Verzeichnis, was zwar von manchen Tools noch als Fallback akzeptiert wird, aber dem RFC-Standard widerspricht und von automatisierten Scannern häufig nicht mehr gefunden wird.

Ein dritter Fehler ist eine security.txt-Datei ohne erkennbare Verbindung zur tatsächlichen Disclosure-Policy, sodass Melder zwar eine Kontaktadresse finden, aber im Unklaren bleiben, welche Testmethoden erlaubt sind und wie lange eine Reaktion dauert. Ohne begleitende Policy bleibt die Datei ein reiner Formalismus statt eines funktionierenden Meldewegs, und Sicherheitsforscher zögern eher, überhaupt einen ersten Kontakt herzustellen.

7. Den internen Reaktionsprozess auf eine Meldung definieren

Eine security.txt-Datei ist nur so wirksam wie der interne Prozess, der auf eine eingehende Meldung folgt. Sinnvoll ist ein definierter Ablauf mit klaren Fristen: eine automatische Eingangsbestätigung innerhalb weniger Stunden, eine erste fachliche Einschätzung innerhalb weniger Werktage und eine transparente Kommunikation über den weiteren Zeitplan bis zur Behebung. Diese Fristen sollten idealerweise direkt in der verlinkten Policy stehen, damit Melder eine realistische Erwartungshaltung haben.

Ebenso wichtig ist eine klare interne Verantwortlichkeit: Wer liest die eingehenden Meldungen, wer bewertet den Schweregrad, und wer entscheidet über Priorität und Zeitrahmen der Behebung? Ohne definierte Zuständigkeiten landen Meldungen leicht zwischen mehreren Teams und werden verzögert bearbeitet, was das Vertrauen der meldenden Person in den gesamten Prozess untergräbt und künftige, freiwillige Meldungen unwahrscheinlicher macht.

8. Automatisierte Pflege statt manüller Einmalpflege

Da das Expires-Feld regelmässige Erneuerung verlangt, lohnt sich eine automatisierte Lösung statt manüller Pflege in einem Kalender. In vielen Projekten wird die security.txt-Datei deshalb aus einer zentralen Konfigurationsquelle generiert, etwa als Teil des Deployment-Prozesses, wobei das Ablaufdatum automatisch auf einen festen Abstand in der Zukunft gesetzt wird und die Signatur bei jedem Build neu erzeugt wird, sofern sich Inhalte geändert haben.

Für Teams mit mehreren Domains oder Subdomains empfiehlt sich zusätzlich ein zentrales Monitoring, das regelmässig prüft, ob die Datei unter allen relevanten Hosts erreichbar, syntaktisch korrekt und nicht abgelaufen ist. Ein einfacher automatisierter Check, der täglich per Cron-Job das Expires-Datum gegen das aktülle Datum prüft und bei Unterschreitung einer Vorlaufzeit eine interne Warnung auslöst, verhindert zuverlässig, dass die Datei unbemerkt veraltet.

9. Fazit: kleiner Aufwand mit spürbarem Sicherheitsgewinn

security.txt nach RFC 9116 ist eine der Maßnahmen im Security-Bereich mit dem besten Verhältnis von Aufwand zu Wirkung. Eine einzige Textdatei, in wenigen Minuten angelegt, gibt Sicherheitsforschern einen klaren, verlässlichen Weg, gefundene Schwachstellen verantwortungsvoll zu melden, statt sie mangels Alternative öffentlich zu machen oder ganz zu verschweigen.

Der eigentliche Wert entsteht jedoch erst durch die begleitenden Prozesse: eine klare Policy, definierte Reaktionsfristen, eine verantwortliche interne Stelle und eine automatisierte Pflege des Ablaufdatums. Wer diese Bausteine zusammen umsetzt, senkt spürbar die Wahrscheinlichkeit, dass eine gefundene Schwachstelle den falschen Weg an die Öffentlichkeit findet, bevor eine Behebung überhaupt möglich war.

Feld Pflicht Zweck Beispielwert
Contact Ja (mind. 1x) Meldeweg für Sicherheitsforscher mailto:security@beispiel-shop.de
Expires Ja (genau 1x) Gültigkeitsdatum der Datei 2026-12-31T23:59:59.000Z
Encryption Nein Link zum öffentlichen PGP-Schlüssel https://beispiel-shop.de/.well-known/pgp-key.txt
Policy Nein Link zur ausführlichen Disclosure-Policy https://beispiel-shop.de/security-policy
Acknowledgments Nein Würdigung erfolgreicher Melder https://beispiel-shop.de/security-hall-of-fame
Preferred-Languages Nein Bevorzugte Meldesprachen de, en

Mironsoft

Security-Audits, OWASP-konforme Härtung und sichere Architektur

Anwendungen, die einem echten Angriffsversuch tatsächlich standhalten?

Wir prüfen bestehende Anwendungen auf klassische OWASP-Schwachstellen, unsichere Authentifizierung und fehlende Input-Validierung und bauen daraus eine Architektur, die Angriffsflächen strukturell reduziert statt nur einzelne Symptome zu flicken.

Security-Audit

OWASP Top 10, Auth-Flows und Input-Validierung systematisch auf Schwachstellen prüfen.

Sichere Architektur

Rate-Limiting, Verschlüsselung und Zugriffskontrollen von Grund auf richtig aufbauen.

Incident-Vorbereitung

Logging, Monitoring und Reaktionsprozesse für den Ernstfall etablieren.

10. Zusammenfassung

security.txt nach RFC 9116: Das Wichtigste auf einen Blick

Standard

RFC 9116 definiert eine Textdatei unter /.well-known/security.txt für Meldewege.

Pflichtfelder

Mindestens ein Contact-Feld und genau ein Expires-Feld sind zwingend.

Integrität

PGP-Signierung schützt die Angaben vor unbemerkter Manipulation.

Wirkung

Klare Meldewege senken das Risiko öffentlicher Vorab-Veröffentlichung deutlich.

11. FAQ: security.txt nach RFC 9116: Das Wichtigste auf einen Blick

1Was ist security.txt nach RFC 9116?
Eine standardisierte Textdatei, die unter dem festen Pfad /.well-known/security.txt bereitgestellt wird und Sicherheitsforschern Kontaktwege, Fristen und weitere Informationen für verantwortungsvolle Schwachstellenmeldungen liefert.
2Welche Felder sind bei security.txt Pflicht?
Zwingend erforderlich sind mindestens ein Contact-Feld mit einem gültigen Meldeweg sowie genau ein Expires-Feld mit einem Ablaufdatum im ISO-8601-Format. Alle anderen Felder sind optional.
3Wo genau muss die Datei liegen?
Unter dem Pfad /.well-known/security.txt im Root der jeweiligen Domain. Eine Platzierung außerhalb dieses Well-Known-Verzeichnisses entspricht nicht dem RFC-Standard und wird von vielen automatisierten Werkzeugen nicht gefunden.
4Warum ist ein Expires-Feld vorgeschrieben?
Das Feld zwingt Betreiber dazu, die Angaben regelmässig zu prüfen und zu erneuern. Eine abgelaufene Datei signalisiert, dass die Kontaktdaten möglicherweise veraltet sind, was verwaiste, jahrelang nicht gepflegte Einträge verhindert.
5Warum sollte man die Datei mit PGP signieren?
Ohne Signatur könnte ein Angreifer mit Serverzugriff eine gefälschte security.txt platzieren, um Meldungen abzufangen. Eine PGP-Signatur macht jede Manipulation am Inhalt sofort erkennbar.
6Was gehört in eine begleitende Vulnerability-Disclosure-Policy?
Umfang der getesteten Systeme, erlaubte und verbotene Testmethoden, Umgang mit gefundenen Daten, erwartete Reaktionsfristen und gegebenenfalls Regeln für eine öffentliche Würdigung nach erfolgreicher Behebung.
7Ersetzt security.txt ein Bug-Bounty-Programm?
Nein. security.txt ist ein Meldeweg, der auch ohne finanzielle Prämien funktioniert. Ein Contact-Feld kann aber direkt auf ein bestehendes Bug-Bounty-Programm auf einer Plattform wie HackerOne verweisen.
8Wie oft sollte die Datei aktualisiert werden?
Mindestens einmal vor Ablauf des Expires-Datums, praktisch empfiehlt sich ein Rhythmus von sechs bis zwölf Monaten. Viele Teams automatisieren die Erneuerung als Teil des Deployment-Prozesses.
9Erkennen Suchmaschinen oder Browser security.txt automatisch?
Nein, die Datei richtet sich ausschließlich an Sicherheitsforscher und automatisierte Scan-Tools, die den Well-Known-Pfad gezielt abfragen. Sie hat keine Auswirkung auf Suchmaschinen-Rankings oder die normale Browser-Darstellung.
10Was passiert, wenn keine security.txt-Datei existiert?
Sicherheitsforscher müssen dann selbst einen Kontaktweg suchen, was häufig zu Verzögerungen, Fehlmeldungen an falsche Adressen oder im schlimmsten Fall zu einer ungefilterten, öffentlichen Bekanntgabe der Schwachstelle führt.