Vergessene Staging- und Testserver: der Teil, den niemand beobachtet
Ein vergessener Staging- oder Testserver ist eine Kopie Ihrer Website oder App, die für die Entwicklung aufgesetzt und dann im Internet laufen gelassen wurde. Er liegt meist unter einem Namen wie staging.yourcompany.com, dev.yourcompany.com oder test2.yourcompany.com, niemand schaut mehr nach ihm, und oft läuft dort älterer Code mit schwächeren Einstellungen als in der Produktion.
Diese Server sind wichtig, weil sie Teil der Internetpräsenz Ihres Unternehmens sind, auch wenn niemand sie so behandelt. Sie bekommen nicht dieselben Updates, Logins und dasselbe Monitoring wie die Hauptseite, teilen aber häufig dieselben Datenbankkopien, API-Schlüssel und Admin-Konten.
Die gute Nachricht: Sie sind leicht zu finden, und ist das geschehen, ist die Lösung meist einfach. Dieser Artikel zeigt, wie Sie danach suchen und was Sie mit jedem einzelnen tun.
Warum Staging-Server vergessen werden
Ein Staging-Server entsteht aus gutem Grund: um ein Release zu testen, bevor Kunden es sehen. Dann geht das Release live, der Entwickler wechselt zu einem anderen Projekt oder der Vertrag mit der Agentur endet, und der Server läuft weiter, weil das Abschalten nie auf jemandes Aufgabenliste stand. Typische Muster:
- Eine vollständige Kopie der Produktion, inklusive eines aktuellen Datenbank-Dumps, damit Tests realistisch wirken.
- Eingeschalteter Debug-Modus, der Stacktraces, Konfigurationswerte oder Framework-Details anzeigt.
- Standard- oder gemeinsam genutzte Admin-Passwörter, die „nur zum Testen“ waren.
- Alte Versionen von CMS, Plugins oder Bibliotheken, die in der Produktion längst aktualisiert wurden.
- Kein HTTPS oder ein Zertifikat, das vor Monaten abgelaufen ist.
- Nie blockierte Indexierung durch Suchmaschinen, sodass die Testseite neben der echten erscheint.
Nichts davon ist für sich genommen dramatisch. Zusammen ergibt es einen Host unter Ihrer eigenen Domain, der schwächer ist als alles um ihn herum.
Wie diese Server sichtbar werden
Sie müssen keinen Link veröffentlichen, damit ein Staging-Host gefunden wird. 3 übliche Wege:
- Certificate Transparency. Wird ein allgemein vertrauenswürdiges Zertifikat für
staging.yourcompany.comausgestellt, wird der Name in offene Logs geschrieben (das Protokoll ist in RFC 9162 beschrieben). Diese Logs kann jeder durchsuchen, wie in Certificate Transparency Logs erklärt beschrieben. - DNS-Einträge. Ein Eintrag, der noch auf den Server zeigt, macht ihn über den Namen erreichbar, und leicht zu erratende Namen wie
dev,testundbetawerden zuerst ausprobiert. - Suchmaschinen und Archive. Eine Testseite ohne Indexierungsregeln kann in Suchergebnissen auftauchen, und alte Seiten bleiben in Webarchiven erhalten.
So finden Sie Ihre eigenen vergessenen Server
Beginnen Sie mit den Namen und prüfen Sie dann jeden einzelnen.
- Durchsuchen Sie crt.sh nach
%.yourcompany.comund sammeln Sie jeden Hostnamen. - Gehen Sie Ihre DNS-Zone nach Namen wie
dev,stage,staging,test,uat,beta,old,demo,previewdurch. - Lösen Sie jeden Namen auf und prüfen Sie die Antwort:
dig +short staging.yourcompany.com
curl -sI https://staging.yourcompany.com
- Öffnen Sie jeden Host im Browser und fragen Sie: Zeigt er echte Kundendaten, ein Login-Formular, eine Debug-Seite, eine Standard-Serverseite oder eine Fehlermeldung einer Hosting-Plattform?
- Suchen Sie nach Dateien, die nie ausgeliefert werden sollten. Der OWASP-Testleitfaden behandelt das in WSTG-CONF-04 und weist darauf hin, dass Backup-Dateien eher als reiner Text ausgeliefert als ausgeführt werden. Unser Artikel über offene .env-, .git- und Backup-Dateien nennt die üblichen Namen.
Zeigt ein Name auf eine Hosting-Plattform, die eine Seite wie „no such app“ oder „bucket not found“ anzeigt, behandeln Sie das als dringend: Das ist die klassische Ausgangslage für einen Subdomain Takeover.
Was Sie mit jedem Server tun
Wählen Sie für jeden Staging- oder Testhost eines von 3 Ergebnissen.
Entfernen. Kann niemand Verantwortlichen und Zweck nennen, schalten Sie den Server ab und löschen den DNS-Eintrag. Löschen Sie den Eintrag nach dem Server, nicht vorher, und lassen Sie nie einen CNAME auf einen Dienst zeigen, für den Sie nicht mehr bezahlen.
Einschränken. Braucht das Team ihn noch, stellen Sie ihn hinter eine Authentifizierung oder eine IP-Allowlist. HTTP Basic Authentication ist schnell eingerichtet, doch MDN weist darauf hin, dass sie nur über HTTPS genutzt werden darf, weil Zugangsdaten lediglich base64-kodiert sind. Ein VPN oder ein Identity-Aware Proxy ist langfristig die bessere Wahl.
Bereinigen. Auf Staging gehören keine echten Kundendaten. Nutzen Sie generierte oder maskierte Daten, separate API-Schlüssel mit eingeschränkten Rechten und schalten Sie Debug-Ausgaben ab.
Suchmaschinen fernzuhalten ist sinnvoll, aber kein Schutz. Google dokumentiert noindex als Weg, Seiten aus den Ergebnissen herauszuhalten, über <meta name="robots" content="noindex"> oder einen X-Robots-Tag-Header (Google Search Central). Die Seite bleibt für jeden erreichbar, der die Adresse kennt.
X-Robots-Tag: noindex
Eine kurze Checkliste
- Jeder Nicht-Produktionshost hat einen benannten Verantwortlichen und ein Enddatum.
- Keine echten Kundendaten auf Staging.
- Staging verlangt einen Login oder liegt hinter einem VPN.
- Debug-Modus aus, separate Schlüssel, keine gemeinsamen Admin-Passwörter.
- Gültiges Zertifikat, oder der Host wird entfernt.
- DNS-Einträge werden zusammen mit dem Server gelöscht.
- Die Liste wird nach jedem Projektende geprüft, nicht einmal im Jahr.
Wo Datahorses ins Bild passt
Datahorses beobachtet Ihr Unternehmen jeden Tag von außen, darunter neue Hostnamen unter Ihren Domains, vergessene Subdomains und Testserver sowie dort abrufbare Dateien. Jeder Fund kommt mit genauen Schritten für Ihren Entwickler, und wir dringen nicht in Ihre Systeme ein und benötigen keine Zugänge. Siehe was wir überwachen und was passiert, wenn wir etwas finden.
Weitere Artikel
Abgelaufene SSL/TLS-Zertifikate: Warum sie Websites immer noch lahmlegen
Ein abgelaufenes Zertifikat blockiert Besucher mit einer ganzseitigen Browserwarnung und kann APIs und E-Mail lahmlegen. Die Laufzeiten werden kürzer, die Erneuerung muss also jedes Mal klappen.
Offene .env-, .git- und Backup-Dateien: wie Geheimnisse von Websites abfließen
Eine einzige vergessene Datei im Web-Root kann Datenbankpasswörter und API-Schlüssel preisgeben. So werden .env-, .git- und Backup-Dateien sichtbar, und so prüfen Sie Ihre Website.
PHP2Shell: Welche PHP-Versionen gepatcht sind und wie Sie Ihre prüfen
Das PHP-Projekt hat am 21. Oktober 2026 2 kritische Lücken geschlossen. Welche Versionen den Fix enthalten, was Ihr Server meldet und was Sie Ihren Hoster fragen sollten.