security.txt prüfen

Rufen Sie /.well-known/security.txt einer Website ab und prüfen Sie die Datei nach RFC 9116: Pflichtfelder, Ablaufdatum, HTTPS und ob die Datei signiert ist.

Wozu security.txt dient

Wenn jemand eine Schwachstelle in Ihrer Website findet, ist das Schwierige oft herauszufinden, wem man sie melden soll. security.txt (RFC 9116) ist eine kurze Textdatei unter /.well-known/security.txt, die genau das beantwortet: eine Contact-Zeile mit einer E-Mail-Adresse oder einer Meldeseite und eine Expires-Zeile, die angibt, bis wann man sich auf die Angaben verlassen darf. Beide sind Pflicht. Optionale Felder ergänzen einen Schlüssel für die Verschlüsselung, die Richtlinie zur Offenlegung, bevorzugte Sprachen, die kanonische URL der Datei, einen Link zu Danksagungen und offene Stellen im Sicherheitsbereich.

Was dieses Tool prüft

Es ruft https://<domain>/.well-known/security.txt ab und, wenn dort nichts liegt, den älteren Ort /security.txt. Es folgt einigen wenigen Weiterleitungen und nennt die endgültige URL. Anschließend liest es die Felder aus und markiert, was RFC 9116 verlangt: ein fehlendes Contact oder Expires, mehr als ein Expires, ein Datum nicht im vorgeschriebenen Format, ein Datum in der Vergangenheit, ein Datum mehr als ein Jahr in der Zukunft, eine Datei, die über unverschlüsseltes HTTP oder mit ungültigem Zertifikat ausgeliefert wurde, Links mit http:, ein Canonical-Feld, das nicht zu der URL passt, unter der die Datei gefunden wurde, und ob die Datei eine OpenPGP-Klartextsignatur trägt.

Viele Websites beantworten jeden unbekannten Pfad mit ihrer Startseite und Status 200. Eine HTML-Antwort gilt deshalb als „nicht gefunden“, nicht als fehlerhafte security.txt. Und wenn die Anfrage fehlschlägt, lautet das Ergebnis „konnte nicht geprüft werden“: Wegen einer Zeitüberschreitung meldet das Tool nie eine fehlende Datei.

Die Datei nützlich halten

Eine abgelaufene Datei ist der häufigste Befund, denn Expires ist Pflicht und wird leicht vergessen. Setzen Sie das Datum weniger als ein Jahr in die Zukunft und tragen Sie die Erneuerung in denselben Kalender ein wie Ihre Zertifikate und Domains. Verwenden Sie eine Adresse, die Menschen erreicht, die handeln können, kein persönliches Postfach, und signieren Sie die Datei, wenn Meldende sie überprüfen können sollen.

So verwenden Sie dieses Tool

  1. Domain eingeben. Tippen Sie einen Domainnamen wie example.com ein oder fügen Sie ihn ein. Eine vollständige URL geht auch: Schema, Pfad und ein führendes www werden entfernt.
  2. Datei abrufen. Das Tool ruft /.well-known/security.txt über HTTPS ab und weicht auf /security.txt aus.
  3. Befunde durchgehen. Ein fehlendes Contact oder Expires, ein abgelaufenes Datum, unverschlüsseltes HTTP und der Stand der Signatur werden aufgeführt, zusammen mit jedem gefundenen Feld.

Dasselbe auf der Kommandozeile

Dieselbe Prüfung im Terminal. Die Befehle verwenden example.com: Ersetzen Sie es durch Ihren eigenen Namen.

  • Die Datei selbstcurl -sL https://example.com/.well-known/security.txt
  • Statuscode und Content-Typecurl -sIL https://example.com/.well-known/security.txt | grep -iE "^HTTP|^content-type"
  • Signatur einer signierten Datei verifizierencurl -sL https://example.com/.well-known/security.txt | gpg --verify

Häufige Fragen

Wo gehört die security.txt hin?

Unter https://example.com/.well-known/security.txt, ausgeliefert über HTTPS als text/plain. /security.txt auf oberster Ebene ist ein veralteter Ort. Wenn Sie ihn nutzen, leiten Sie ihn auf den Well-known-Pfad weiter.

Welche Felder sind Pflicht?

Contact (mindestens eines) und Expires (genau eines, im Format 2027-01-31T23:59:59Z). Alles andere ist optional.

Macht security.txt meine Website sicherer?

Nein. Sie macht es leichter, Sie zu erreichen, wenn jemand ein Problem findet, und verkürzt so die Zeit, in der eine Schwachstelle offen bleibt. Über die Sicherheit der Website sagt sie nichts aus.

Sollte ich die Datei signieren?

RFC 9116 empfiehlt eine OpenPGP-Klartextsignatur, damit Meldende erkennen können, dass die Datei nicht von einem Angreifer abgelegt wurde. Das Tool meldet, ob ein Signaturblock vorhanden ist. Die Signatur selbst verifiziert es nicht.

Das Tool meldet „nicht gefunden“, aber im Browser sehe ich eine Seite. Warum?

Vermutlich beantwortet Ihr Server unbekannte Pfade mit einer HTML-Seite und Status 200. Das ist keine security.txt und wird deshalb als nicht gefunden gemeldet.