Bekannte Dateien
- /ads.txt
- /humans.txt
- /robots.txt
- /sitemap.xml und /sitemap.txt
- /.well-known/
- 404.php / 404-Fehlerseite
- phpinfo.php
Dieser Artikel enthält kurze Informationen zu den bekanntesten Dateien auf einem Webserver. Zu einigen dieser Dateien werden auch deren Vorteile und Nachteile angeführt. Hinweise zum sicheren Umgang mit den Inhalten dieser Dateien sind bei den besonders kritischen Dateien enthalten.
/ads.txt
Diese Datei wird im Kontext des Verkaufs digitaler Werbung verwendet. Authorized Digital Sellers for Web (ADS) soll die Transparenz bei automatisierter Online-Werbung verbessern. Die ads.txt-Datei enthält Informationen zu Unternehmen, die berechtigt sind, Werbung auf der Webseite zu verkaufen. Der Inhalt kann beispielsweise mit dem Google Ad Manager generiert werden.
/humans.txt
Die Idee hinter dieser Datei war die Nennung der Autoren und sonstigen Beteiligten an einem Online-Projekt. Die Verwendung dieser Datei hat sich jedoch nie durchgesetzt. Auf google.com existiert diese Datei zwar, aber der Inhalt ist belanglos.
Die Webseite der "Erfinder" dieser Datei (humanstxt.org) hat ein abgelaufenes Zertifikat und der Inhalt ihrer humans.txt-Datei ist eine Fundgrube für Spammer und Hacker. Neben Namen, Mailadressen und Wohnorten sieht man auch, dass diese Datei oder deren Informationen zuletzt am 02.04.2012 aktualisiert wurden.
Vorteile:
- Keine erkennbaren Vorteile. Die meisten Informationen werden ohnehin üblicherweise auf Seiten wie "Impressum", "Team", "Über uns" etc. angeführt. Diese Seiten sind für Menschen auch wesentlich leichter erkennbar, erreichbar und schöner lesbar als eine Textdatei ohne Formatierungen.
Nachteile:
- Namen, Mailadressen und Wohnorte sind interessant für Angreifer.
- Wird die verwendete Software bzw. Server-Software eingetragen, kann diese Rückschlüsse auf Schwachstellen liefern.
- Das Änderungsdatum kann auf vernachlässigte Seiten und nicht behobene Schwachstellen schließen lassen.
/robots.txt
Die Datei "robots.txt" liegt im Stammverzeichnis einer Domain und enthält Anweisungen für Bots wie z. B. Crawler von Suchmaschinen, Bots von SEO- oder Statistik-Diensten, KI etc. In ihr werden die Dateien und Verzeichnisse festgelegt, die von Bots indiziert bzw. nicht indiziert werden dürfen. Zusätzlich können je nach Bot auch Einstellungen wie die Verzögerung der Anfragen eingestellt werden.
Die Angaben in der robots.txt-Datei sind jedoch nur als Richtwerte zu sehen. Jeder Bot interpretiert die Einträge und Pfadangaben anders oder es werden nicht alle Angaben von jedem Bot unterstützt. Vor allem dubiose Bots halten sich nicht an diese Vorgaben. Angreifer können die Informationen daraus auch zur Informationsgewinnung nutzen.
Vorteile:
- Bots der bekannten Suchmaschinen halten sich größtenteils an die Vorgaben.
- Leichte Einrichtung, da es nur eine Textdatei mit einem einfachen Format ist.
Nachteile:
- Nicht alle legitimen Bots interpretieren die Daten gleich.
- Nicht alle Bots halten sich an die Vorgaben.
- Angreifer können die eingetragenen Informationen für Angriffe auf bestimmte Seiten nutzen, etwa bei Einträgen wie: Disallow: /login.php oder Disallow: /users/.
Fazit:
Sinnvoll, um die Crawler bekannter Suchmaschinen anzuweisen, Seiten oder Verzeichnisse aufzunehmen oder nicht aufzunehmen.
Weitere Informationen finden sich unter https://www.robotstxt.org und https://datatracker.ietf.org/doc/html/rfc9309.
/sitemap.xml und /sitemap.txt
Sitemaps sollen Suchmaschinen über URLs auf einer Website informieren, die für Web-Crawling verfügbar sind. Es ermöglicht Webmastern, zusätzliche Informationen zu jeder URL hinzuzufügen, etwa wann sie zuletzt aktualisiert wurde, wie oft sie sich ändert und wie wichtig sie in Bezug auf andere URLs der Website ist. Dies ermöglicht es Suchmaschinen, die Website effizienter zu crawlen und URLs zu finden, die möglicherweise vom Rest des Inhalts isoliert sind.
Das Sitemap-Protokoll erlaubt neben dem XML-Format auch eine Textdatei mit einer einfachen Liste mit URLs, bei der jede URL in einer eigenen Zeile stehen muss. Für beide Formate muss die URL jedoch als absolute Angabe, inkl. Schema und Domain, angegeben werden. Relative Pfade sind nicht erlaubt.
/.well-known/
In diesem Verzeichnis können viele unterschiedliche Dateien für diverse Zwecke abgelegt werden. Diese können bei der IANA registriert und standardisiert sein, oder auch für eigene Projekte frei gewählt werden. Die Dateien können für bestimmte Dienste, Projekte oder Apps verwendet werden. Einige werden für Sicherheitstechnologien oder zum Austausch von bestimmten Informationen verwendet. Die Daten liegen oft als Plain-Text vor, entweder ohne oder mit einem bestimmten Format, wie z.B. JSON oder XML.
Neben den spezifischen Informationen zu den jeweiligen Diensten können auch URLs, Mailadressen oder sonstige, für Angreifer interessante, Daten enthalten sein.
/.well-known/resource-that-should-not-exist-whose-status-code-should-not-be-200/
Dieses Verzeichnis wird dazu verwendet, um die korrekte Konfiguration des Webservers betreffend der Rückgabe des Status-Codes zu überprüfen. Beim Aufruf dieses Verzeichnisses sollte nie der Status "Ok" zurückgegeben werden. Dieses Verzeichnis sollte somit nie existieren.
/.well-known/dnt-policy.txt
In dieser Datei kann die DNT-Richtlinie der EFF veröffentlicht werden, um sich einseitig zur Einhaltung einer sinnvollen Version von "Do Not Track" zu verpflichten, sodass andere Software dies erkennen kann.
/.well-known/trust.txt
Diese Datei ist für Seiten mit Journalistischen Inhalten gedacht, die ihre Verbindungen untereinander - z.B. zu anderen Agenturen oder Journalisten - offenlegen wollen. Die Datei kann neben URLs zu anderen Webseiten auch Social-Media-URLs und Mailadressen enthalten. Auch die Erlaubnis für AI-Robots zum Sammeln von Trainingsdaten kann eingetragen werden.
/.well-known/security.txt
Die Absicht hinter dieser Datei ist, dass Sicherheitsforscher leichter Kontakt mit einem Unternehmen herstellen können, wenn sie eine Schwachstelle gefunden haben. Es wird üblicherweise ein Kontakt als Mailadresse oder Webseiten-URL angegeben. Zusätzlich können Informationen wie ein PGP-Schlüssel, eine URL zur Security-Policy und ein Gültigkeitsdatum dieser Informationen eingetragen werden. Letzteres ist laut Standard Pflicht, wird aber oft vergessen oder absichtlich ignoriert.
In einer Security-Policy sollte auf die wichtigsten Punkte eingegangen werden, wie z.B.:
- Wie ist ein Sicherheitsproblem zu melden (Formular, benötigte Informationen).
- Was dürfen Sicherheitsforscher und was dürfen sie nicht - vor allem Art der Angriffe und Anzahl der Zugriffe.
- Welche Schritte werden vom Seitenbetreiber eingeleitet und in welcher Zeit.
- Besteht ein Anspruch auf Belohnung oder nicht.
Vorteile:
- Einfacheres Finden von Kontaktinformationen für Sicherheitsforscher, vor allem bei großen Firmen mit vielen Ansprechpersonen für unterschiedliche Zwecke.
- Verweis auf eine Security-Policy, um diese leichter zu finden.
- Eine sinnvolle Ergänzung, wenn ein Bug-Bounty-Programm existiert.
Nachteile:
- Die Kontaktinformationen können für Angreifer von Interesse sein.
- Sicherheitsforscher erwarten, dass die Kontaktdaten korrekt sind und auf Mitteilungen reagiert wird. Dies sollte somit sichergestellt und regelmäßig überprüft werden.
- Die Existenz der security.txt-Datei kann als Einladung für Sicherheitsforscher verstanden werden, exzessive Tests durchzuführen. Dieser Punkt sollte in der Security-Policy definitiv behandelt werden. Klare Einschränkungen oder die konkrete Erlaubnis bestimmter Tests vermeiden Missverständnisse.
- Sicherheitsforscher können versucht sein, nicht existierende oder übertriebene Sicherheitsprobleme zu melden, um eine Belohnung oder Anerkennung zu erhalten. Ein Bug-Bounty-Programm sollte daher ganz klare Regeln - insbesondere betreffend der Belohnung - enthalten.
Fazit:
Für große, bekannte Unternehmen oder wenn ein Bug-Bounty-Programm existiert, ist die Verwendung der security.txt-Datei sinnvoll. Ohne Bug-Bounty-Programm bleiben nur die Nachteile übrig.
404.php / 404-Fehlerseite
Die Datei "404.php" wird gerne von Angreifern abgefragt, um die Fehlerseite für 404-Fehler (Seite nicht gefunden) abzurufen. Der Dateiname "404.php" ist zwar sehr beliebt, aber für den eigentlichen Zweck unerheblich. Auf 404-Fehlerseiten - vor allem bei der Standard-Fehlerseite des Webservers - wird eventuell die Version des Webservers, die PHP-Version oder Angaben zum Seitenbetreiber ausgegeben. Diese Informationen sind für Angreifer nützlich. Daher sollte die Standard-Fehlerseite ersetzt oder entsprechend bearbeitet werden, damit keine technischen Informationen mehr preisgegeben werden.
phpinfo.php
Eine Datei mit diesem Dateinamen wird oft verwendet, um Informationen über PHP und den Webserver anzuzeigen. Meist ist diese im Stammverzeichnis abgelegt, kann aber auch überall anders gespeichert sein. Der Inhalt dieser Datei besteht meist nur aus diesen Zeilen:
<?php phpinfo(); ?>
Die Funktion "phpinfo" gibt umfangreiche Informationen aus wie u.a.:
- PHP-Version und PHP-Konfiguration
- Webserver-Version und verwendete Module
- Umgebungsvariablen
- HTTP-Header
- MySQL-Informationen
Aufgrund der vielen und detaillierten Informationen über den Server sollte diese Datei mit einem anderen Namen und nur dann auf den Server hochgeladen werden, wenn sie benötigt wird. Nach Erhalt der Informationen sollte sie umgehend wieder gelöscht werden. Angreifer würden von diesen Informationen im hohen Maße profitieren.
Waren die kostenlosen Inhalte auf meiner Webseite hilfreich für dich?
Unterstütze die weitere kostenlose Veröffentlichung mit einer Spende per PayPal.