Aktuální situace: PHP2Shell. Dvě kritické zranitelnosti PHP (CVSS 9.2) umožňují spustit škodlivý kód bez přihlášení. Záplaty od 21. 10. 2026.Co nyní udělat →

Vytvoření časové osy incidentu

Kdy přišel útočník, co dělal a kdy si toho někdo všiml? Pečlivá časová osa tyto otázky zodpoví a je základem pro hlášení, pojištění i zprávu.

Stav 5 min čteníDetekce a forenzní analýza

Stručně: Časová osa IT incidentu řadí všechna pozorování, rozhodnutí a opatření chronologicky v jednotném časovém pásmu, ideálně UTC. Každý řádek uvádí zdroj, pozorování, doklad a hodnocení jako doložené, pravděpodobné, nebo neznámé. Vznikne tak srozumitelný obraz toho, kdy byl útočník v systému, čeho mohl dosáhnout a kdy jste se o tom dozvěděli.

Proč se na konci všichni ptají na čas

Po incidentu přicházejí otázky ze všech stran. Pověřenec pro ochranu osobních údajů chce vědět, od kdy byly osobní údaje dostupné. Pojišťovna se ptá, kdy byla škoda zjištěna a nahlášena. Vedení chce vědět, zda byla zranitelnost otevřená už před poslední aktualizací. Všechny tyto otázky mají společné jedno: točí se kolem okamžiků.

Bez časové osy odpovídá každý z paměti a odpovědi si odporují. S pečlivě vedenou časovou osou existuje společný základ, na který se mohou všichni zúčastnění odvolávat. Je zároveň kostrou pro závěrečnou zprávu.

U PHP2Shell je časová osa zvlášť výmluvná, protože veřejné základní údaje jsou dobře zdokumentované. Lze je položit jako orientační body vedle vlastních pozorování. Úplný sled veřejných událostí popisuje průvodce PHP2Shell: chronologie.

Struktura: jaké sloupce časová osa potřebuje

Stačí tabulka, ať už v tabulkovém procesoru, nebo ve sdíleném dokumentu. Důležité jsou pevné sloupce, které se vyplní u každého řádku. Následující vzor ukazuje veřejné základní údaje PHP2Shell jako kotvy a pod nimi typické vlastní záznamy ve formě zástupných textů:

Čas (UTC) Zdroj Pozorování Doklad Hodnocení
17. 10. 2026 zprávy médií první pozorovaný pokus o útok přes PHP2Shell tisková zpráva doloženo jako zpráva médií
20. 10. 2026 php.net předběžné oznámení bezpečnostních aktualizací oznámení na php.net doloženo
21. 10. 2026, 14:00 php.net vydání 8.5.12, 8.4.27, 8.3.36, 8.2.35 oznámení na php.net doloženo
vlastní čas access log nárůst chyb 500 na běžných stránkách výpis z logu, číslo řádku pravděpodobně relevantní
vlastní čas souborový systém nový soubor PHP ve složce s nahranými soubory kopie s kontrolním součtem doloženo, okamžik nejistý
vlastní čas interní incident zaznamenán, vedení informováno e-mail, poznámka z rozhovoru doloženo
vlastní čas interní aktualizace nasazena, všichni workeři restartováni log balíčků, seznam procesů doloženo

Sloupec Hodnocení je nejdůležitější částí. Odděluje, co je prokázáno, co se jeví jako věrohodné a co zůstává otevřené. Pozdější čtenáři tak hned vidí, kde časová osa nese a kde jsou mezery.

Časová osa IT incidentu: sloučení zdrojů

Záznamy pocházejí z mnoha zdrojů, které mají vlastní formáty a časová pásma. Postupujte v tomto pořadí:

  1. Určit časové pásmo: Vše vést v UTC. Přechod na zimní čas 25. 10. 2026 posouvá německé místní časy uprostřed sledovaného období o hodinu. Kdo míchá místní časy, posouvá události bez povšimnutí.
  2. Zkontrolovat hodiny: Šly hodiny serveru správně? Porovnání se známou událostí, například s vlastním přihlášením, ukáže odchylky.
  3. Nejprve externí zdroje: Logy z CDN, WAF, hostera nebo firewallu leží mimo server a lze je jen těžko zmanipulovat. Tvoří kostru.
  4. Doplnit logy serveru: Webový server, PHP-FPM, přihlášení, systémový žurnál. Metodiku popisuje Vyhodnocení logů webového serveru po útoku.
  5. Zařadit souborový systém: Časová razítka nových a změněných souborů doplnit jako nápovědy.
  6. Zapsat interní události: Kdy si někdo něčeho všiml, kdo byl informován, jaké rozhodnutí padlo kdy?

Co časová razítka souborů prozradí a co ne

Linux ukládá u každého souboru několik okamžiků, mimo jiné poslední změnu obsahu (mtime) a poslední změnu metadat (ctime). Oba lze vypsat jen pro čtení, zde jako seznam souborů PHP změněných od určitého dne, seřazený podle času v UTC:

# Změny obsahu od 17. 10. 2026, seřazeno, v UTC
TZ=UTC find /var/www -type f -name '*.php' -newermt '2026-10-17' -printf '%TY-%Tm-%Td %TH:%TM  %p\n' | sort

# Všechna časová razítka jednoho souboru
TZ=UTC stat /var/www/ihre-website/verdaechtig.php

Pracujte přitom jen na kopii nebo zajištěném obrazu, jak je popsáno v článku Zajistěte důkazy dříve, než server nainstalujete znovu. Mějte na paměti dvě hranice. Za prvé, útočník může datum změny souboru jednoduchými prostředky vrátit zpět; nenápadné mtime není zproštění viny. Za druhé, kopírování a některé nástroje časová razítka mění. Proto platí: časy souborů jsou nápovědy, záznamy v lozích z vnějšku jsou doklady.

Důležité

Zapište okamžik, kdy se vaše firma dozvěděla o možném úniku údajů. Podle čl. 33 GDPR začíná 72hodinová lhůta pro oznámení zásadně okamžikem, kdy se o něm dozvěděla. Posouzení patří vašemu pověřenci pro ochranu osobních údajů nebo právníkovi.

Typické chyby a jak se jim vyhnout

Nejčastější chyby jsou nenápadné. Časová osa se rekonstruuje až na konci z paměti místo průběžného vedení. Záznamy obsahují závěry místo pozorování, například „útočník přišel přes formulář“ místo „požadavek POST na formulář, poté nový soubor“. A chybějí doklady, protože nikdo nezapsal, z jakého souboru logu a z jakého řádku záznam pochází.

Určete proto osobu, která časovou osu vede, a zapisujte události, jakmile nastanou. Závěry patří do samostatného sloupce nebo do zprávy, ne do pozorování.

Časovou osu navíc považujte za důvěrný dokument. Často obsahuje adresy IP, uživatelská jména a odkazy na slabá místa. Stanovte, kdo ji smí číst a měnit, a uchovávejte dřívější stavy. Když se hodnocení změní, například protože se objeví nový výpis z logu, starý řádek se nepřepisuje, ale doplňuje. Zůstane tak dohledatelné, co bylo v kterém okamžiku známo a na jakém základě se rozhodovalo.

Jak konkrétně pomáhá PHP SOS?

  • Časovou osu vedeme od prvního kontaktu průběžně a v UTC, se zdrojem a dokladem u každého záznamu.
  • Externí logy, logy serveru a souborový systém vyhodnocujeme společně a každé tvrzení označíme jako doložené, pravděpodobné, nebo neznámé.
  • Podle potřeby převezmeme se specializovanými partnery IT forenzní analýzu pro vyhodnocení použitelné u soudu.
  • Časovou osu předáme jako součást zprávy pro vedení, ochranu osobních údajů a pojišťovnu.

Časté dotazy

K čemu potřebuji po bezpečnostním incidentu časovou osu?

Seřadí všechna pozorování do posloupnosti a ukáže, kdy byl útočník v systému, čeho mohl dosáhnout a kdy jste se o tom dozvěděli. Tyto údaje potřebují pověřenci pro ochranu osobních údajů, pojišťovny, úřady i vedení firmy pro svá rozhodnutí.

V jakém časovém pásmu mám časovou osu vést?

Jednotně v UTC. Servery, služby i oznámení používají různá časová pásma a přechod na zimní čas koncem října navíc posouvá místní časy. Kdo vše přepočte na UTC a místní čas jen doplní, vyhne se chybám při porovnávání.

Mohu se spolehnout na časová razítka souborů?

Jen omezeně. Datum změny souboru lze jednoduchými prostředky zfalšovat. Spolehlivější jsou záznamy v lozích, zejména v lozích mimo dotčený server. Časová razítka souborů jsou nápovědy, které by měly být potvrzeny jinými zdroji.

Co kromě technických událostí patří do časové osy?

I rozhodnutí a komunikace: kdy byl incident zaznamenán, kdo byl informován, kdy byl server odpojen od sítě, kdy se záplatovalo. Právě okamžik, kdy jste se o incidentu dozvěděli, je důležitý pro lhůty k hlášení.

Zdroje

Okamžitý kontakt

Každá hodina se počítá. Napište nám hned.

Stručně popište systém, verzi PHP a pozorování. Ozveme se, vyjasníme situaci a budeme pracovat na dálku, dokud nebude incident uzavřen a zdokumentován.

Okamžitá pomoc