Stručně: IT inventář webových serverů je seznam všech webů, portálů, e-shopů a serverů s údaji, které je při bezpečnostním hlášení okamžitě potřeba znát: kde to běží, s jakou verzí a provozním režimem PHP, jaká aplikace, kdo je odpovědný a jaká data by byla dotčena. Bez tohoto seznamu začíná každá reakce hledáním. S ním trvá porovnání při hlášení, jako je PHP2Shell, minuty místo dnů.
První otázka zněla: Kde u nás vůbec běží PHP?
Když projekt PHP 21. 10. 2026 zveřejnil záplaty a BSI (německý Spolkový úřad pro informační bezpečnost) doporučilo okamžité jednání, byl pokyn jednoznačný: aktualizovat PHP, restartovat všechny procesy. Pro mnoho firem ale prvním krokem nebyla aktualizace, nýbrž inventura. Hlavní web byl znám. Ale portál pro obchodníky? Kariérní stránka u jiného poskytovatele? Landing page z kampaně před třemi lety? Interní wiki?
Odborný tisk a měřicí služby ukázaly rozsah problému. Palo Alto Networks (Unit 42) napočítalo více než 22,6 milionu exponovaných, potenciálně zranitelných instancí. Mezi nimi bude mnoho systémů, na které jejich provozovatelé prostě už nemyslí.
Co patří do IT inventáře webových serverů
Použitelný inventář je tabulka s jedním řádkem na web nebo aplikaci. Tyto sloupce se osvědčily:
| Sloupec | Příklad | K čemu |
|---|---|---|
| Adresa | shop.priklad.cz | jednoznačné přiřazení |
| Účel a význam | internetový obchod, kritický pro tržby | určení priorit |
| Poskytovatel hostingu nebo umístění | spravovaný server u poskytovatele X | komu zavolat |
| Server a operační systém | vServer, Debian | cesta aktualizací, bezpečnostní zdroje |
| Webový server a provozní režim PHP | Nginx s PHP-FPM | riziko, např. mod_php |
| Verze PHP a stav balíčku | 8.3, balíček s datem | porovnání s hlášeními |
| Aplikace a verze | Shopware, pluginy | hlášení výrobců |
| Odpovědný interně / externě | vedoucí IT / agentura Y | kdo jedná |
| Zpracovávaná data | zákaznické účty, objednávky | oznamovací povinnosti, naléhavost |
| Zálohy | denně, externě, naposledy otestováno dne … | obnova |
| Poslední doklad o záplatě | datum a doklad | důkaz vůči třetím stranám |
Provoznímu režimu věnujte zvláštní pozornost. U PHP2Shell tým PHP ohodnotil riziko nejvýše u Apache s mod_php. Kdo ví, které systémy takto běží, může se jim věnovat jako prvním. Sloupec se stavem balíčku je důležitý proto, že zobrazené číslo verze po backportech často zůstává stejné; pokyny najdete v Jak správně ověřit verzi PHP a stav záplat.
Najít zapomenuté systémy: jak postupovat
Známé systémy jsou zapsány rychle. Skutečná práce jsou ty neznámé. K jejich vypátrání pomáhají tyto zdroje:
- Domény a DNS: Projděte všechny domény firmy a jejich subdomény. Každý záznam, který ukazuje na webový server, je kandidát.
- Faktury: Účetnictví zná každého poskytovatele hostingu, registrátora a cloudového poskytovatele, který dostává peníze. Často je to nejúplnější seznam.
- Agentury a odborné útvary: Marketing, obchod a personální oddělení si weby rády objednávají přímo. Zeptejte se.
- Známé servery: Na každém serveru ukazuje konfigurace, které weby skutečně doručuje.
- Zařízení s webovým rozhraním: NAS, routery a appliance někdy mají vlastní PHP, viz PHP na NAS, routerech a appliance.
Pro krok 4 pomáhá na linuxových serverech několik čtecích příkazů. Ukazují nakonfigurované weby, služby PHP a pooly FPM:
# Nakonfigurované weby (Apache, resp. Nginx)
apachectl -S 2>/dev/null
nginx -T 2>/dev/null | grep -E "^\s*server_name" | sort -u
# Běžící služby a procesy PHP
systemctl list-units --type=service | grep -iE "php|fpm|lsws|litespeed"
ps -eo user,cmd | grep -E "php-fpm|php-cgi|lsphp" | grep -v grep | sort | uniq -c
# Pooly FPM v Debianu a Ubuntu
ls /etc/php/*/fpm/pool.d/ 2>/dev/null
Pokud na jednom serveru běží vedle sebe více verzí PHP, patří každá do seznamu. Každou je nutné aktualizovat a restartovat zvlášť.
Zapište i systémy, které by se vlastně měly vypnout. Právě ty často ještě běží, roky se neaktualizují a upadají v zapomnění. Se záznamem „vypnout do …“ zůstává úkol viditelný.
Udržovat inventář aktuální
Inventář je tak dobrý, jak dobrá je jeho poslední aktualizace. Udržují ho při životě tři pravidla. Za prvé: Odpovídá jedna osoba a je informována o každém novém webu, každém přesunu a každém vypnutí, i když práci provádí agentura. Za druhé: Jednou za čtvrtletí se seznam porovná s DNS, fakturami a konfigurací serverů. Za třetí: Inventář je součástí krizového plánu a je k dispozici i mimo vlastní IT, například vytištěný.
Pro firmy s mnoha rozptýlenými systémy, například portály pro obchodníky, konfigurátory a přístupy pro dodavatele, popisuje typická místa nálezu IT bezpečnost pro střední podniky a průmysl. Jak inventář začlenit do krizového plánu, najdete v Vytvoření IT krizového plánu pro webové servery.
Časté chyby v inventáři webových serverů
Mnoho inventářů existuje, ale v krizovém případě nepomůže. Příčiny se podobají:
- Jen servery, žádné weby: Seznam uvádí stroje, ale ne to, které weby na nich běží a kdo za ně odpovídá po odborné stránce. Při zranitelnosti pak nikdo neví, které oddělení je dotčeno.
- Verze místo stavu balíčku: „PHP 8.3“ po PHP2Shell říká málo. Teprve stav balíčku a datum ukážou, zda je oprava obsažena.
- Chybějící externí systémy: To, co běží u agentury nebo u platformní služby, se vynechá, protože tam firma „není odpovědná“. Odpovědnost za data ale zůstává ve firmě.
- Žádné kontaktní osoby: Záznam bez jména a telefonního čísla odpovědného místa ztrácí v krizi čas.
- Jednorázová akce: Inventář vznikne během krizového týdne a pak se už nikdy neotevře. Po roce už velká část neplatí.
Kdo se těmto pěti bodům vyhne, má při příštím hlášení seznam, se kterým se opravdu dá pracovat.
Jak konkrétně pomáhá PHP SOS?
- Společně s vámi zachytíme všechny weby a servery, i zapomenuté, přes DNS, faktury, dodavatele a konfiguraci serverů.
- U každého systému zjistíme provozní režim, verzi PHP a skutečný stav balíčku.
- Systémy seřadíme podle dostupnosti, dat a provozního režimu a řekneme, kde je třeba jednat nejdřív.
- Kde je PHP2Shell stále otevřené, zranitelnost uzavřeme prostřednictvím okamžité pomoci při PHP2Shell a doklad zapíšeme do inventáře.
Závěr: Inventář je nejméně nápadné a zároveň nejúčinnější bezpečnostní opatření. Kdo ví, co běží, může při příštím hlášení jednat okamžitě, místo aby nejdřív hledal.
Časté dotazy
Jaké údaje musí inventář webových serverů obsahovat minimálně?
Adresu webu, server nebo poskytovatele hostingu, provozní režim PHP, verzi PHP se stavem balíčku, aplikaci s verzí, odpovědnou osobu interně i externě, druh zpracovávaných dat a umístění záloh. S těmito údaji lze každé nové bezpečnostní hlášení rychle porovnat.
Jak najdu weby, o kterých už nikdo neví?
Několika cestami současně: správou domén a zónami DNS, fakturami od poskytovatelů hostingu a registrátorů, dotazy na agentury a odborné útvary a konfigurací známých serverů. Staré kampaňové stránky, testovací systémy a subdomény se tak zpravidla objeví.
Kdo by měl inventář udržovat?
Jmenovaná osoba, obvykle v IT nebo u vedoucího IT. Důležité je, aby se tam hlásila každá změna webů a serverů, i když ji vyvolal odborný útvar nebo agentura.
Stačí tabulka, nebo je potřeba software?
Většině středních firem stačí dobře vedená tabulka. Software se vyplatí, pokud se má automaticky zachycovat mnoho systémů. Rozhodující je aktuálnost, ne nástroj.