Standarddateien des Webservers erreichbar
CWE-1188CWE-1004CWE-200OWASP A05:2021Aktualisiert 4. September 20264 Min. Lesezeit
Nach der Installation hinterlassen Webserver, Redaktionssysteme und Frameworks Beispielseiten, Dokumentation, Verwaltungskonsolen und Installationsdateien. Bleiben diese stehen, verraten sie, welches Produkt und welche Version Sie einsetzen, und mitunter bieten sie unmittelbar Funktionen, die niemand von außen erreichen sollte.
Eine frische Installation liefert mehr als nur eine funktionierende Anwendung. Es kommen Beispielseiten mit, Dokumentation, Testskripte, Verwaltungskonsolen und Installationshilfen. Sie sollen die ersten Schritte erleichtern und danach verschwinden. Im Folgenden lesen Sie, was liegen bleibt und wann das von lästig zu ernst wechselt.
Was sind Standarddateien?
Standarddateien sind die Bestandteile, die ein Produkt bei der Installation mitliefert und die nach der Inbetriebnahme keine Aufgabe mehr haben. Es gibt vier Arten, die sich im Schweregrad deutlich unterscheiden.
Die harmlosesten sind die Beispiel- und Willkommensseiten: die Standardseite eines Webservers, eine Testseite der Anwendungsplattform, mitgelieferte Beispielanwendungen. Danach folgen Dokumentationsdateien und Lizenztexte, die Produkt und Version benennen. Anschließend die Installationsskripte, die die Anwendung eingerichtet haben und sich mitunter erneut ausführen lassen. Und schließlich die Verwaltungskonsolen: Oberflächen zur Verwaltung des Servers oder der Plattform, mitunter mit Standardzugangsdaten.
Ihnen gemeinsam ist, dass sie niemand bewusst abgelegt hat und niemand sie vermisst. Sie sind da, weil sie mitkamen. Das gleicht einem Haus, in dem nach der Übergabe die Baupläne, die Ersatzschlüssel und das Schild des Bauunternehmens im Zählerschrank liegen geblieben sind.
Was wird gefunden?
Verwundbar:
Ein Angreifer prüft eine Reihe bekannter Pfade. Das ist je Plattform eine feste Liste, und es geht schnell:
GET /examples/ → 200 Beispielanwendungen
GET /docs/ → 200 mitgelieferte Dokumentation
GET /manager/html → 401 Verwaltungskonsole vorhanden
GET /install.php → 200 Installationsskript
GET /phpinfo.php → 200 vollständige Konfiguration
GET /CHANGELOG.txt → 200 genaue Version
Jede dieser Antworten sagt etwas aus. Die Beispielanwendungen bestätigen die Plattform. Das Änderungsprotokoll nennt die genaue Version, womit sich bekannte Schwachstellen nachschlagen lassen. Die Konfigurationsseite zeigt Module, Pfade und mitunter Umgebungsvariablen. Und die Verwaltungskonsole ist die schwerwiegendste: Sie ist nicht nur vorhanden, sondern wird in der Praxis regelmäßig mit nie geänderten Zugangsdaten angetroffen, womit der Weg zum Ausrollen eigenen Codes offensteht.
Das Installationsskript verdient eine eigene Erwähnung. Bleibt es erreichbar und ungeschützt, kann jemand die Installation mitunter erneut ausführen und die Anwendung an seine eigene Datenbank koppeln oder ein neues Administratorkonto anlegen.
Sicher:
# Aufräumen als fester Bestandteil der Auslieferung, nicht als gesonderte Handlung
rm -rf /opt/tomcat/webapps/{examples,docs,manager,host-manager}
rm -f /var/www/{install.php,phpinfo.php,CHANGELOG.txt,README.md}
# Und ein Auffangnetz für das, was dennoch dort landet
location ~* ^/(install|setup|phpinfo|test)\.(php|jsp|aspx)$ {
deny all;
return 404;
}
location ~* /(CHANGELOG|README|LICENSE|INSTALL)\.(txt|md)$ {
deny all;
return 404;
}
Das Aufräumen sollte Bestandteil der Auslieferung sein und nicht einer Prüfliste, die jemand nach der Installation abarbeiten muss. Bei einer automatisierten Auslieferung aus einem gehärteten Basisabbild geschieht es von selbst, auch auf dem nächsten Server.
Welche Auswirkungen haben zurückgebliebene Standarddateien?
Der Schweregrad reicht von niedrig bis kritisch, eine größere Spannweite als bei nahezu jedem anderen Befund dieser Kategorie. Er bestimmt sich vollständig danach, was genau stehen geblieben ist.
Am unteren Ende steht die Beispielseite, die nur das Produkt verrät. Das beschleunigt die Erkundung, gewährt aber keinen Zugang. In der Mitte stehen die Konfigurations- und Dokumentationsdateien, die die genaue Version preisgeben und damit gezieltes Suchen nach bekannten Schwachstellen ermöglichen. Am oberen Ende stehen die Verwaltungskonsolen und Installationsskripte, bei denen die Auswirkung auf eine vollständige Übernahme der Anwendung oder des Servers hinausläuft.
Daneben gibt es eine Bedeutung, die über die Dateien selbst hinausreicht. Noch vorhandene Standarddateien bedeuten, dass die Installation nie nachgesehen wurde. Für einen Tester ist das ein starker Hinweis darauf, dass weitere Standardeinstellungen stehen geblieben sind: Standardpasswörter, weit gefasste Rechte auf Ordnern, eingeschaltete Module, die niemand nutzt. Der Befund ist dann weniger um seiner selbst willen wichtig als als Vorbote.
Wie spürt man zurückgebliebene Standarddateien auf?
Ein Tester stellt zunächst fest, welche Plattform läuft, anhand von Headern, Cookienamen, Pfadstrukturen und der Gestaltung von Fehlerseiten. Anschließend wird die zugehörige Liste von Standardpfaden abgearbeitet; diese unterscheidet sich je Produkt und ist für die gängigen Plattformen gut dokumentiert.
Dabei wird nicht nur auf eine 200 geachtet. Eine 401 oder 403 ist mindestens ebenso aufschlussreich, denn sie bestätigt, dass der Bestandteil vorhanden und lediglich abgeschirmt ist. Bei einer Verwaltungskonsole wird anschließend geprüft, ob die Standardzugangsdaten noch funktionieren. Ebenso wird nach Dateien gesucht, die die Version preisgeben, und nach Installationsskripten, die sich möglicherweise erneut ausführen lassen. Auch Subdomains und Nebenserver erhalten Aufmerksamkeit, denn dort wurde das Aufräumen häufiger übersprungen als auf dem Hauptserver. AssistSec bezieht diese Prüfung in die Erkundungsphase ein, denn was hier gefunden wird, bestimmt, worauf sich die übrige Untersuchung richtet.
Wie verhindert man zurückgebliebene Standarddateien?
- Entfernen Sie Beispielanwendungen, Dokumentation und Testseiten als festen Bestandteil der Auslieferung.
- Entfernen Sie Installationsskripte, sobald die Installation abgeschlossen ist, oder sperren Sie sie im Webserver.
- Schalten Sie Verwaltungskonsolen ab oder begrenzen Sie sie auf ein internes Netz oder ein VPN.
- Ändern Sie stets die Standardzugangsdaten jedes mitgelieferten Bestandteils.
- Liefern Sie aus einem gehärteten Basisabbild aus, in dem das Aufräumen bereits erfolgt ist.
- Sperren Sie bekannte Standardpfade in Ihrem Webserver als Auffangnetz.
- Entfernen Sie Dateien, die die Version preisgeben, etwa Änderungsprotokolle und Liesmich-Dateien.
- Schalten Sie Module und Funktionen ab, die Sie nicht nutzen.
- Prüfen Sie nach jeder Auslieferung automatisiert, ob die Standarddateien fehlen, auch auf neuen Servern.
Quellen
Häufige Fragen
Warum bleiben diese Dateien stehen?
Weil Installation und Absicherung zwei verschiedene Zeitpunkte sind. Eine Installation ist gelungen, sobald die Anwendung läuft; das Aufräumen des Mitgelieferten ist ein eigener Schritt, der bei einem manuellen Vorgehen leicht übersprungen wird. Bei einer automatisierten Auslieferung ist das lösbar.
Was ist das Gefährlichste, das stehen bleibt?
Verwaltungskonsolen mit Standardzugangsdaten und Installationsskripte, die sich erneut ausführen lassen. Ersteres gewährt unmittelbaren Zugang, Letzteres kann die Konfiguration oder die Datenbankverbindung neu einrichten. Beides ist schwerwiegender als die üblichen Beispielseiten.
Ist eine Beispielseite wirklich ein Problem?
Für sich genommen kaum; der Schweregrad ist dann niedrig. Ihr Wert liegt darin, dass sie genau verrät, welches Produkt und welche Version laufen, was gezieltes Suchen nach bekannten Schwachstellen ermöglicht. Vor allem ist sie ein Anzeichen dafür, dass nicht aufgeräumt wurde.
Wie verhindere ich, dass es zurückkehrt?
Indem Sie aus einem gehärteten Basisabbild ausliefern, in dem das Aufräumen bereits erfolgt ist, und indem Sie nach jeder Auslieferung automatisiert prüfen. Bei einer manuellen Installation auf einem neuen Server beginnt der Vorgang sonst jedes Mal wieder bei der Standardlage.
Verwandte Artikel
- SchwachstellenCWE-548A05:2021Verzeichnisstruktur sichtbarBei eingeschaltetem Directory Listing zeigt der Webserver den Inhalt jedes Ordners ohne Indexdatei. Lesen Sie, was ein Angreifer dort findet.
- SchwachstellenCWE-1104A06:2021Veraltete und verwundbare KomponentenEine veraltete Bibliothek oder ein alter Webserver trägt öffentlich bekannte Schwachstellen mit fertigem Angriffscode. Lesen Sie, wie Sie das beherrschen.
- SchwachstellenCWE-16A05:2021Security MisconfigurationSecurity Misconfiguration erklärt: wie Standardpasswörter, Debug-Modi und offene Cloud-Buckets Angreifern Zugang geben, und wie Sie sich schützen.
- SchwachstellenCWE-527A05:2021Quellcode öffentlich erreichbarEin mitveröffentlichter .git-Ordner oder eine Sicherungsdatei gibt Ihren gesamten Quellcode preis, samt Passwörtern aus alten Commits.
- SchwachstellenCWE-200A05:2021Versionsinformationen in HTTP-HeadernHeader wie Server und X-Powered-By nennen genau, welche Software Sie einsetzen. Lesen Sie, warum das gezieltes Scannen erleichtert.