# Kontrolní seznam po hacku: 20 bodů pro následné kroky

> Kontrolní seznam pro hacknutý web: 20 bodů od zadržení a zajištění důkazů přes čištění a nové přístupy až po oznamovací povinnosti a uzavření.

Zdroj: https://phpsos.de/cs/ratgeber/checkliste-nach-dem-hack/  
Stav: 25.10.2026  
Poskytovatel: PHP SOS, Nouzová pomoc pro PHP a bezpečnost serverů. Okamžitá pomoc přes WhatsApp: https://wa.me/491736494914?text=Dobr%C3%BD%20den%2C%20PHP%20SOS%2C%20pot%C5%99ebujeme%20pomoc%20s%20na%C5%A1%C3%ADm%20PHP%20serverem.%20Firma%3A%20%E2%80%A6%20Web%3A%20%E2%80%A6

**Stručně:** Pokud byl váš web hacknut, pomůže vám tento kontrolní seznam na nic nezapomenout: nejdřív zadržet a zajistit důkazy, poté najít příčinu a vyčistit, následně obnovit všechny přístupy, prověřit povinnosti a incident zdokumentovaně uzavřít. Pořadí je důležité, protože kdo maže jako první, ztrácí stopy, a kdo jen čistí bez uzavření zranitelnosti, bude napaden znovu.

## Pro co tento kontrolní seznam platí, když byl web hacknut

Kontrolní seznam je určen vedení, majitelům a IT odpovědným po potvrzeném nebo pravděpodobném útoku na web, e-shop nebo webový server PHP. Hodí se i po PHP2Shell, pokud byl server před aktualizací dostupný a existují náznaky kompromitace.

Ne každý bod se hodí na každé prostředí. Přesto seznam projděte celý a u každého bodu poznamenejte, zda je splněn, nepoužitelný, nebo otevřený. Tento protokol je později cenný pro pojištění, ochranu osobních údajů i interní vyhodnocení.

Ke každému kroku zapište datum, čas, odpovědnou osobu a výsledek. Pokud je zapojeno více osob, určete jednu, která seznam vede a zaznamenává rozhodnutí.

## Fáze 1: okamžitě zadržet a zajistit

1. **Omezit škodu:** Web přepnout do režimu údržby nebo jej odpojit od sítě, pokud jsou ohroženi návštěvníci nebo by mohla unikat data. BSI (německý spolkový úřad pro informační bezpečnost) u PHP2Shell doporučuje nezáplatované webové servery dočasně odpojit od sítě, pokud aktualizace není okamžitě možná.
2. **Nic nemazat:** Neodstraňovat žádné soubory, server nenasazovat znovu a nevyprazdňovat logy, dokud nejsou stopy zajištěny.
3. **Zajistit logy:** Logy access, error, PHP-FPM a systémové zkopírovat na jiný systém a zaznamenat kontrolní součty. K PHP2Shell radí odborný tisk uchovávat logy od 20. 10. 2026.
4. **Zajistit obraz:** Kopii souborů a databáze, u virtuálních serverů snapshot, vytvořit jako důkazní stav a neměnit ho.
5. **Informovat odpovědné osoby:** Včas zapojit vedení, pověřence pro ochranu osobních údajů, poskytovatele hostingu a, pokud existuje, kyberpojištění. Mnoho pojišťoven má oznamovací povinnosti.

## Fáze 2: najít příčinu a vyčistit

6. **Zjistit vstupní bránu:** Vyhodnotit logy, změny souborů a verze. Zkontrolujte samotné PHP, CMS, šablony, rozšíření, přístupové údaje a služby serveru. Bez známé příčiny zůstává riziko opětovného útoku.
7. **Uzavřít zranitelnost:** PHP přivést na opravenou verzi (8.5.12, 8.4.27, 8.3.36 nebo 8.2.35, resp. potvrzený backport poskytovatele), aktualizovat CMS a rozšíření, restartovat všechny workery PHP.
8. **Vymezit období:** Určit nejdřívější okamžik podezřelé aktivity. Rozhoduje o tom, které zálohy mohou být čisté a která data mohla být dotčena.
9. **Odstranit zadní vrátka:** Webshelly, cizí soubory PHP ve složkách uploadů a cache, změněné jádrové soubory, úlohy cron, klíče SSH a systémové služby zkontrolovat a odstranit. Jádrové soubory nahradit z čistého zdroje.
10. **Vyčistit databázi:** Odstranit neznámé účty správců, podstrčené skripty v obsahu a nastaveních i spamový obsah.
11. **Zvážit nové zprovoznění:** Při hluboké kompromitaci serveru je nové zprovoznění na čerstvém, záplatovaném systému s ověřenými daty často spolehlivější cestou než čištění v běžícím systému.

## Fáze 3: obnovit přístupy a zabezpečit

12. **Změnit hesla:** Pro CMS, zákaznický účet hostingu, panel, databázi, FTP, SFTP, SSH a e-mail, a to z čistého zařízení.
13. **Vyměnit klíče a tokeny:** Klíče API, rozhraní platebních a přepravních služeb, klíče aplikace CMS, klíče SSH a certifikáty, které ležely na serveru, vytvořit znovu.
14. **Ukončit relace:** Odhlásit všechna aktivní přihlášení v CMS a u služeb a zkontrolovat registrovaná zařízení pro dvoufázové ověření.
15. **Aktivovat dvoufázové ověření:** Pro všechny přístupy správců, včetně hostingu, domény a DNS.
16. **Zabezpečit server:** Zkontrolovat a zdokumentovat nastavení PHP, práva k souborům, zákazy spouštění ve složkách uploadů, firewall a bezpečnostní hlavičky.

## Fáze 4: povinnosti, komunikace a uzavření

17. **Prověřit oznamovací povinnosti:** Pokud mohou být dotčeny osobní údaje, může být nutné [oznámení do 72 hodin podle čl. 33 GDPR](https://phpsos.de/cs/compliance/dsgvo-meldepflicht-72-stunden/). Posouzení patří pověřenci pro ochranu osobních údajů nebo právníkovi. Povinnosti specifické pro obor, například podle NIS2, prověřit zvlášť.
18. **Zvážit trestní oznámení:** [Ústřední kontaktní místa pro kybernetickou kriminalitu (ZAC)](https://phpsos.de/cs/compliance/anzeige-polizei-zac/) německé policie přijímají oznámení od firem. Zajištěné logy jsou k tomu důležitým podkladem.
19. **Informovat zákazníky a Google:** Dotčené osoby informovat věcně a po dohodě. Pokud Google zobrazuje varování, požádat po vyčištění o posouzení, jak popisuje článek [Odstranění varování Google](https://phpsos.de/cs/ratgeber/google-warnung-entfernen/).
20. **Zdokumentovat uzavření a sledovat:** Příčinu, období, opatření a otevřené body zachytit ve zprávě, odvodit poučení pro nouzový plán a v následujících týdnech systémy zvýšeně sledovat.

## Časté chyby při následných krocích

Mnoho incidentů se protahuje, protože se v prvním rozrušení šetří na špatném místě nebo se jedná příliš rychle. Těmto chybám se vyhněte:

- **Odstranit jen viditelné:** Smazaná spamová stránka nebo odstraněné přesměrování není důkazem čistého webu. Zadní vrátka často zůstanou bez povšimnutí.
- **Měnit hesla z dotčeného systému:** Pokud na počítači nebo serveru stále běží škodlivý software, mohou nové přístupové údaje ihned znovu uniknout.
- **Naslepo obnovit zálohu:** Bez uzavřené zranitelnosti a bez kontroly zálohy stojí útočník brzy znovu ve dveřích.
- **Chápat záplatu jako odvolání poplachu:** Aktualizace na opravenou verzi PHP nedokazuje, že se předtím nic nestalo, a podstrčený škodlivý software neodstraní.
- **Povinnosti prověřit příliš pozdě:** Lhůty začínají zjištěním incidentu, nikoli koncem čištění.
- **Žádná dokumentace:** Bez protokolu lze dotazy pojišťovny, úřadů nebo zákazníků později sotva zodpovědět.

> **Důležité:**
> Tento kontrolní seznam nenahrazuje právní poradenství. S dotazy k oznamovacím povinnostem, odpovědnosti nebo pojištění se obraťte na svého pověřence pro ochranu osobních údajů, právníka nebo pojišťovnu.

## Jak konkrétně pomáhá PHP SOS?

- Převezmeme strukturovanou [reakci na incident](https://phpsos.de/cs/leistungen/incident-response/) a vedeme kontrolní seznam společně s vámi, bod po bodu s protokolem.
- Logy a stavy systému zajistíme tak, aby zůstaly použitelné pro pojištění, úřady a případnou [IT forenzní analýzu](https://phpsos.de/cs/leistungen/it-forensik/).
- Uzavřeme zranitelnost, vyčistíme nebo zprovozníme znovu a obnovíme přístupy ve správném pořadí.
- Dodáme závěrečnou zprávu s příčinou, opatřeními a doporučeními a na přání systémy poté dál sledujeme.


## Časté dotazy

**Co mám udělat jako první, když byl můj web hacknut?**  
Zachovat klid, nic nemazat a omezit škodu. Podle potřeby web odpojte od sítě nebo přepněte do režimu údržby a před čištěním zajistěte logy a soubory. Poté následuje hledání příčiny a čištění.

**Stačí web obnovit ze zálohy?**  
Většinou ne. Záloha může už obsahovat škodlivý kód a zranitelnost, kterou útočník vnikl, je po obnově stále otevřená. Nejdřív příčinu uzavřít, poté nahrát ověřený, čistý stav na aktualizovaný systém.

**Musím hack hlásit úřadu pro ochranu osobních údajů?**  
Pokud mohou být dotčeny osobní údaje, předpokládá čl. 33 GDPR zásadně oznámení do 72 hodin od zjištění, pokud riziko pro dotčené osoby není nepravděpodobné. Posouzení patří pověřenci pro ochranu osobních údajů nebo právníkovi.

**Kdy je incident skutečně uzavřen?**  
Když je příčina uzavřena, všechna známá zadní vrátka odstraněna, přístupy obnoveny, povinnosti splněny a opatření zdokumentována. K tomu patří i následné období zvýšeného sledování, aby se odhalily přehlédnuté stopy.

## Zdroje

- [GDPR čl. 33: oznámení dozorovému úřadu](https://dsgvo-gesetz.de/art-33-dsgvo/)
- [Německá policie: ústřední kontaktní místa pro kybernetickou kriminalitu](https://www.polizei.de/)
- [BSI: pokyny k incidentům v IT bezpečnosti](https://www.bsi.bund.de/)
- [php.net: bezpečnostní oznámení k PHP2Shell](https://www.php.net/)
