Zapomenuté staging a testovací servery: část, kterou nikdo nehlídá
Zapomenutý staging nebo testovací server je kopie vašeho webu či aplikace, která vznikla pro vývoj a pak zůstala dostupná z internetu. Obvykle běží pod názvem jako staging.yourcompany.com, dev.yourcompany.com nebo test2.yourcompany.com, nikdo ji už nekontroluje a často obsahuje starší kód se slabším nastavením než produkce.
Tyto servery jsou důležité, protože k vaší firmě na internetu patří, i když se k nim tak nikdo nechová. Nemají stejné aktualizace, přihlašování ani monitoring jako hlavní web, a přitom s ním často sdílejí kopie databází, API klíče i administrátorské účty.
Dobrá zpráva je, že se dají snadno najít a oprava bývá jednoduchá. V článku ukazujeme, jak je hledat a co s každým z nich udělat.
Proč se na staging servery zapomíná
Staging server vzniká z dobrého důvodu: otestovat vydání dřív, než ho uvidí zákazníci. Pak se nová verze nasadí, vývojář přejde na jiný projekt nebo skončí smlouva s agenturou a server běží dál, protože jeho vypnutí nikdy nikdo neměl v úkolech. Typicky narazíte na:
- Úplnou kopii produkce včetně nedávného dumpu databáze, aby testování bylo co nejvěrnější.
- Zapnutý režim ladění, který ukazuje stack trace, hodnoty konfigurace nebo podrobnosti o frameworku.
- Výchozí nebo sdílená administrátorská hesla, která byla „jen na testování“.
- Staré verze CMS, pluginů nebo knihoven, které jsou v produkci dávno aktualizované.
- Chybějící HTTPS nebo certifikát, který vypršel před několika měsíci.
- Indexování ve vyhledávačích, které nikdo nezakázal, takže se testovací web zobrazuje vedle skutečného.
Nic z toho samo o sobě není dramatické. Dohromady to ale znamená server pod vaší vlastní doménou, který je slabší než všechno kolem něj.
Jak se o těchto serverech kdokoli dozví
Aby někdo staging server našel, nemusíte na něj nikde zveřejnit odkaz. Stačí 3 běžné cesty:
- Certificate Transparency. Když autorita pro
staging.yourcompany.comvydá obecně důvěryhodný certifikát, název se zapíše do otevřených logů (protokol popisuje RFC 9162). Prohledat je může kdokoli, jak vysvětlujeme v článku logy Certificate Transparency srozumitelně. - DNS záznamy. Záznam, který stále ukazuje na server, ho zpřístupňuje pod konkrétním názvem, a snadno uhodnutelné názvy jako
dev,testabetazkouší každý jako první. - Vyhledávače a archivy. Testovací web bez pravidel pro indexování se může objevit ve výsledcích vyhledávání a jeho staré stránky zůstávají ve webových archivech.
Jak najít vlastní zapomenuté servery
Nejdřív sepište názvy a pak každý z nich zkontrolujte.
- Vyhledejte na crt.sh
%.yourcompany.coma posbírejte všechny názvy hostitelů. - Projděte svou DNS zónu a hledejte názvy jako
dev,stage,staging,test,uat,beta,old,demo,preview. - U každého zjistěte, kam se překládá, a zkontrolujte odpověď:
dig +short staging.yourcompany.com
curl -sI https://staging.yourcompany.com
- Každou adresu otevřete v prohlížeči a ptejte se: ukazuje skutečná data zákazníků, přihlašovací formulář, ladicí stránku, výchozí stránku serveru nebo chybu hostingové platformy?
- Hledejte soubory, které by server nikdy neměl poskytovat. Testovací příručka OWASP se jim věnuje v WSTG-CONF-04 a upozorňuje, že server záložní soubory obvykle nespustí, ale pošle je jako prostý text. Obvyklé názvy uvádí náš článek o souborech .env, .git a zálohách přístupných z webu.
Pokud název ukazuje na hostingovou platformu, která zobrazuje stránku „no such app“ nebo „bucket not found“, berte to jako naléhavé: jde o typickou situaci, která umožňuje převzetí subdomény.
Co s každým z nich udělat
U každého staging nebo testovacího serveru zvolte 1 ze 3 možností.
Odstranit. Pokud nikdo neví, komu server patří a k čemu slouží, vypněte ho a smažte DNS záznam. Záznam mažte až po serveru, ne dřív, a nikdy nenechávejte CNAME, který ukazuje na službu, kterou už neplatíte.
Omezit. Pokud ho tým ještě potřebuje, schovejte ho za přihlášení nebo seznam povolených IP adres. HTTP Basic autentizaci přidáte rychle, ale MDN upozorňuje, že ji lze používat jen přes HTTPS, protože přihlašovací údaje jsou pouze zakódované v base64. Dlouhodobě je lepší VPN nebo proxy s ověřováním identity.
Vyčistit. Staging nemá obsahovat skutečná data zákazníků. Používejte generovaná nebo anonymizovaná data a samostatné API klíče s omezenými právy a vypněte ladicí výstup.
Zakázat indexování je užitečné, ale ochrana to není. Google popisuje noindex jako způsob, jak udržet stránky mimo výsledky vyhledávání, a to pomocí <meta name="robots" content="noindex"> nebo hlavičky X-Robots-Tag (Google Search Central). Stránka je ale dál přístupná každému, kdo zná adresu.
X-Robots-Tag: noindex
Krátký kontrolní seznam
- Každý neprodukční server má konkrétní odpovědnou osobu a datum ukončení.
- Na stagingu nejsou skutečná data zákazníků.
- Staging vyžaduje přihlášení nebo je za VPN.
- Režim ladění je vypnutý, klíče jsou samostatné, žádná sdílená administrátorská hesla.
- Platný certifikát, jinak server odstraníte.
- DNS záznamy se mažou spolu se serverem.
- Seznam se kontroluje po skončení každého projektu, ne jednou za rok.
Kam zapadá Datahorses
Datahorses hlídá vaši firmu zvenčí každý den, včetně nových názvů hostitelů pod vašimi doménami, zapomenutých subdomén a testovacích serverů i souborů, které jsou na nich přístupné. Ke každému zjištění dostane váš vývojář přesný postup. Do vašich systémů nevstupujeme a žádné přístupy nepotřebujeme. Podívejte se, co hlídáme a co se stane, když něco najdeme.
Další články
Expirace SSL/TLS certifikátu: proč stále shazuje weby
Expirovaný certifikát zastaví návštěvníky varováním přes celou obrazovku a může rozbít API i poštu. Platnost se zkracuje, takže obnova musí fungovat pokaždé.
Soubory .env, .git a zálohy přístupné z webu: jak unikají tajné údaje
Jediný soubor zapomenutý v kořeni webu může prozradit hesla k databázi a API klíče. Jak se soubory .env, .git a zálohy dostanou ven a jak svůj web zkontrolovat.
PHP2Shell: které verze PHP jsou opravené a jak ověřit tu svou
Projekt PHP 21. října 2026 opravil 2 kritické chyby. Přinášíme přehled verzí s opravou, návod, jak zjistit, co hlásí váš server, a otázky pro poskytovatele hostingu.