Přejít na obsah

Nastavení cookies

Zvolte, které druhy cookies povolíte. Svou volbu můžete kdykoli změnit přes Nastavení cookies v dolní části každé stránky. Prohlášení o ochraně osobních údajů

Nezbytné

Vždy zapnuté

Potřebné pro přihlášení, uchování košíku a zapamatování vašich voleb. Jsou vždy zapnuté.

Které cookies?
  • weboke_sessie, weboke_klant, weboke_remember: vaše relace a trvalé přihlášení
  • weboke_basket: váš košík
  • wkBtwIncl: zobrazení cen s DPH nebo bez DPH
  • wok_cookies: vaše volba cookies, 12 měsíců

Měří, která reklama vede k návštěvě nebo objednávce, abychom neplatili za reklamy, které nic nepřinášejí.

Které cookies?
  • Google Ads přes Google Tag Manager (_gcl_au, _gcl_aw), až 90 dní
  • OpenAI Ads, reklamy v ChatGPT
  • wok_aff: partner, který vás k nám doporučil (partnerský program), 60 dní

4,6

Země a jazyk

Každá země má vlastní web s cenami a DPH dané země.

Zobrazit

Když se něco pokazí

Modul 10: Zůstaňte v bezpečí · Doba čtení: 11 min.

Cíl lekce: Po této lekci poznáte příznaky napadeného serveru, uděláte první kroky, aniž byste zničili důkazy nebo zálohy, rozhodnete se mezi vyčištěním a přeinstalací a budete vědět, kdy musíte ohlásit únik osobních údajů.

Klíčové pojmy: incident, příznaky, izolace, snapshot jako důkaz, deník incidentu, přeinstalace, výměna klíčů a hesel, čistá záloha, ohlašovací povinnost při porušení zabezpečení osobních údajů (72 hodin), Úřad pro ochranu osobních údajů, krizový plán

Jak rozpoznat incident

Vniknutí se málokdy samo ohlásí. Většinou si všimnete něčeho "divného". Příznaky, které je třeba brát vážně:

  • Vysoká zátěž bez důvodu: procesor je trvale na 100 %, například kvůli kryptominéru. Pomocí top nebo htop zjistěte, o jaký proces jde a pod jakým uživatelem běží.
  • Neznámé procesy nebo služby: program s podivným názvem, často v /tmp, /dev/shm nebo /var/tmp, nebo služba či časovač systemd, které jste sami nevytvořili.
  • Odchozí provoz, který nesedí: Váš poskytovatel hlásí, že Váš server rozesílá spam nebo útočí na jiné servery, nebo grafy sítě v panelu ukazují špičky.
  • Noví uživatelé nebo klíče: řádek v ~/.ssh/authorized_keys, který neznáte, uživatel v /etc/passwd s UID 0, nový řádek v /etc/sudoers.d/.
  • Změněné soubory: neznámé soubory PHP ve Vašem webu, změněný crontab.
  • Logy, které zmizely nebo jsou prázdné: útočníci rádi zahlazují stopy.

Několik příkazů pro rychlé rozhlédnutí:

anna@web1:~$ top -o %CPU
anna@web1:~$ sudo ss -tunap | grep ESTAB
anna@web1:~$ sudo last -n 20
anna@web1:~$ awk -F: '$3 == 0 {print $1}' /etc/passwd
anna@web1:~$ sudo find /etc/systemd/system /etc/cron* -newer /etc/hostname -type f
anna@web1:~$ for u in /root /home/*; do sudo cat $u/.ssh/authorized_keys 2>/dev/null; done

last ukazuje, kdo se kdy přihlásil, řádek s awk vypíše všechny účty s UID 0 (to by měl být jen root) a řádek s find hledá unity a soubory cronu, které jsou novější než soubor vytvořený při instalaci.

Pozor: na serveru, který je opravdu napadený, mohou být podvržené i tyto příkazy. Pomohou Vám něco tušit, ne dokázat, že je vše čisté.

První kroky: klid, izolace, záznam

V prvních minutách je nejdůležitější nezačít v panice věci mazat. Postupujte v tomto pořadí.

1. Založte si deník. Zapisujte na papír nebo do notebooku (ne na server), co vidíte, kdy a co děláte. Budete to později potřebovat k nalezení příčiny, pro ohlášení, trestní oznámení nebo pojišťovnu. Doporučuje to i nizozemské NCSC.

2. Izolujte server. Zabraňte tomu, aby dál škodil (spam, útoky, odesílání dat), aniž byste ho vypnuli:

  • ve firewallu svého poskytovatele (pokud existuje) zavřete vše kromě SSH z Vaší vlastní adresy; nebo
  • udělejte totéž přímo na serveru přes konzoli;
  • pokud to jinak nejde: vypněte server přes panel. Tím ovšem přijdete o obsah paměti.

3. Vytvořte snapshot. Snapshot v panelu zachytí stav serveru tak, jak je teď. To je Váš důkaz a zdroj, ze kterého později zjistíte, jak se útočník dostal dovnitř, i když server poté přeinstalujete.

4. Zajistěte zálohy. Zkontrolujte, zda jsou Vaše zálohy mimo server stále neporušené, a zajistěte, aby se k nim napadený server už nedostal (například zneplatněte přístupový klíč serveru k úložišti záloh). Útočníci se snaží zálohy také smazat nebo zašifrovat.

Vyčistit, nebo přeinstalovat?

Lákavá odpověď zní: smazat podezřelý soubor, zastavit kryptominér a hotovo. Jenže nevíte, co dalšího útočník udělal: druhá zadní vrátka, upravený program, klíč navíc, časovač, který vše vrátí zpět. Serveru, na kterém měl někdo práva root, už nemůžete věřit.

Správci i nizozemské NCSC proto radí: zasažené systémy přeinstalujte a data obnovte ze zálohy, která sama není infikovaná. Konkrétně:

  1. Nová instalace (přeinstalace v panelu, nebo nový server).
  2. Hned základy z tohoto kurzu: aktualizace, běžný uživatel se sudo, SSH s novými klíči, firewall (moduly 2 až 5).
  3. Aplikace znovu nainstalujte z oficiálních zdrojů, nejlépe pomocí svých souborů compose nebo poznámek (lekce 10.4).
  4. Data (databáze, nahrané soubory) obnovte ze zálohy z doby před incidentem. Kód ani konfiguraci neobnovujte naslepo: mohou obsahovat zadní vrátka. I obnovená data posuzujte kriticky; útočník mohl být uvnitř déle, než si myslíte.
  5. Zalepte díru, kterou se útočník dostal dovnitř. Jinak se to stane znovu. Při zjišťování pomůže snapshot z kroku 3.

Vyměňte vše, co mohlo uniknout

Počítejte s tím, že vše, co bylo na serveru, má útočník v rukou:

  • Klíče SSH: veřejné klíče, které byly na serveru, všude odstraňte, a pokud byly na serveru soukromé klíče, vytvořte nové páry klíčů.
  • Hesla k databázím, administračním panelům a uživatelským účtům Vaší aplikace.
  • Klíče API a tokeny (e-mail, platby, cloudové úložiště, úložiště záloh) ze souborů .env a z konfigurace: zneplatněte je u dané služby a nahraďte novými.
  • Certifikáty: soukromý klíč Vašeho certifikátu byl na serveru. Nechte certifikát zneplatnit a požádejte o nový (s Let's Encrypt je to rychlé, lekce 7.3).

Ohlášení: GDPR a další

Pokud byly na serveru osobní údaje (údaje zákazníků, účty, e-mailové adresy), mohlo dojít k porušení zabezpečení osobních údajů. GDPR (článek 33) stanoví, že správce ohlásí porušení zabezpečení dozorovému úřadu bez zbytečného odkladu a pokud možno do 72 hodin od okamžiku, kdy se o něm dozvěděl. V Česku je to Úřad pro ochranu osobních údajů (ÚOOÚ). Několik důležitých bodů:

  • ohlašovat není nutné, pokud je nepravděpodobné, že by porušení představovalo riziko pro dotčené osoby; máte-li pochybnosti, ohlaste ho;
  • pokud ještě nemáte všechny informace, ohlaste porušení přesto do 72 hodin a doplňte je později;
  • osoby, jejichž údaje unikly, informujte, pokud pro ně vzniká vysoké riziko;
  • každé porušení zabezpečení zaznamenejte do vlastní evidence, i když ho nemusíte ohlašovat.

Pokud spravujete server pro klienta, jste obvykle zpracovatel: pak musíte klienta (správce) informovat bez zbytečného odkladu, aby mohl porušení ohlásit. Tato lekce není právní poradenství; v případě pochybností se podívejte na web ÚOOÚ.

Dále: zneužití, ke kterému došlo z Vašeho serveru, nahlaste svému poskytovateli (často o něm už ví), a při závažném útoku podejte trestní oznámení u Policie České republiky. Pokud Vaše organizace spadá pod zákon č. 264/2025 Sb., o kybernetické bezpečnosti (česká transpozice NIS2), platí pro Vás zvláštní, kratší lhůty pro hlášení.

Příprava: krizový plán

Incident vždy přijde v nevhodnou chvíli. Co máte připravené předem, ušetří hodiny:

  • Vězte, jak se dostanete ke konzoli a k tlačítku snapshotu u svého poskytovatele, a mějte přihlašovací údaje k panelu (s dvoufázovým ověřením) uložené někde mimo server.
  • Vězte, kde jsou Vaše zálohy, jak je obnovit a že fungují (lekce 8.2).
  • Veďte si seznam všech tajemství, která jsou na serveru, abyste věděli, co musíte vyměnit.
  • Mějte seznam kontaktů: Váš poskytovatel, kdo další se musí o serveru dozvědět (klient, kolega) a kontaktní údaje pro ohlášení porušení zabezpečení osobních údajů.

V praxi

Na obrazovce VPS u WebOké najdete konzoli, snapshoty, zálohy a tlačítko pro přeinstalaci; u jiných poskytovatelů se tyto funkce jmenují podobně (console nebo VNC, snapshot, rescue, reinstall). Tento kurz je svépomoc: nikdo Vám na server nekouká a nikdo za Vás incident neuklidí. Právě proto je tak důležitý krizový plán, který dokážete provést sami.

Shrnutí

  • Příznaky: nevysvětlitelná zátěž, neznámé procesy, služby nebo klíče, podivný odchozí provoz, změněné nebo zmizelé soubory a logy.
  • První kroky: vést deník, izolovat server, vytvořit snapshot jako důkaz, zajistit zálohy.
  • Server, na kterém měl někdo práva root, nečistíte, ale přeinstalujete; data obnovíte z čisté zálohy a zalepíte díru.
  • Vyměňte všechny klíče, hesla, tokeny a certifikáty, které byly na serveru.
  • Zasaženy osobní údaje? Porušení zabezpečení ohlaste pokud možno do 72 hodin ÚOOÚ a každé porušení zaznamenejte.

Kvíz

1. Objevíte neznámý proces, který už hodiny využívá 100 % procesoru a byl spuštěn z /tmp. Co uděláte nejdřív?



2. Proč je po vniknutí s právy root přeinstalace lepší než vyčištění?



3. Po vniknutí obnovujete zálohu. Co obnovíte?



4. Na Vašem napadeném serveru byly údaje zákazníků Vašeho e-shopu. Co říká GDPR o ohlášení?



5. Která tajemství musíte po vniknutí vyměnit?



Úkol

Úkol O10.3: Váš krizový plán na jedné stránce. Sepište pro svůj server krizový plán o rozsahu nejvýše jedné strany A4: jak se dostanete do panelu, ke konzoli a ke snapshotům; kde jsou Vaše zálohy a jak je obnovíte; jaká tajemství jsou na serveru; koho musíte informovat (a zda musíte při porušení zabezpečení osobních údajů podat ohlášení); a jakých prvních pět kroků uděláte při podezření na vniknutí. Plán uložte mimo server.

Úkol O10.3: Váš krizový plán na jedné stránce

Tento úkol provádíte sami; nikdo ho nekontroluje. Odškrtněte, co jste udělali, a označte úkol jako splněný.





Vaše zaškrtnutí a poznámky zůstávají pouze v tomto prohlížeči; nikam je neposíláme. Pokud jste přihlášeni, ukládáme v sekci Moje kurzy pouze to, že jste úkol splnili.

Doporučujeme k přečtení

Chvíli strpení…

Nastavení vašich domén

U každé domény nastavte jmenné servery, propojení s hostingem a to, kdo bude držitelem.

Načítání vašich domén…