„My jsme malá firma, nás se to netýká." Nejčastější a nejnebezpečnější mýtus o bezpečnosti webu. Realita je opačná: většina útoků není cílená — boti automaticky skenují celý internet a hledají weby se známými zranitelnostmi. Nezáleží, jestli jste banka nebo pekárna; neudržovaný web je snadný cíl. Tady je 8 základních opatření, která by měl mít každý firemní web.

1. HTTPS všude

Šifrované spojení (HTTPS) je dnes baseline — chrání data mezi návštěvníkem a serverem, Google ho vyžaduje a prohlížeče bez něj zobrazují varování „nezabezpečeno". Certifikát je zdarma (Let's Encrypt) a měl by pokrývat web i s automatickým přesměrováním z HTTP a z non-www verze.

2. Aktualizujte úplně všechno

Nejdůležitější opatření vůbec. Většina úspěšných útoků využívá známé zranitelnosti v zastaralých komponentách — CMS, pluginy, knihovny, PHP, serverový software — takové, na které už dávno existuje oprava. Bot je najde dřív než vy, pokud nejsou záplatované.

Proto je pravidelná údržba součást bezpečnosti, ne luxus (píšeme o ní v článku kolik stojí servis webu). Speciálně pro starší WordPress instalace máme samostatný hardening návod.

3. Silná hesla a 2FA na administraci

Přihlašovací stránka je nejčastější cíl brute-force útoků. Minimum:

  • Silná, unikátní hesla — dlouhá, nikdy slovníková, nikde jinde nepoužitá (ideálně správce hesel)
  • Dvoufaktorové ověření (2FA) na všechny admin účty — druhá vrstva, která zastaví útok i při prozrazeném hesle
  • Omezení pokusů o přihlášení — blokování po několika neúspěšných pokusech
  • Skrytí / přesun přihlašovací URL z výchozí cesty, kde ji bot hledá

4. Zálohy, které opravdu fungují

Záloha je poslední záchrana při napadení či selhání serveru. Aby fungovala, když ji potřebujete:

  • Automaticky a pravidelně — databáze denně, soubory týdně
  • Mimo server — na jiném úložišti, aby útok nezničil web i zálohu naráz
  • Otestovaná obnova — jednou za čas zkusit reálně obnovit. Záloha, kterou nikdo nikdy neobnovil, je jen naděje.

5. Bezpečnostní HTTP hlavičky

Jednoduchá nastavení serveru s velkým přínosem — říkají prohlížeči, jak se má na webu bezpečně chovat:

Strict-Transport-Security   → vynutí HTTPS i při dalších návštěvách
X-Content-Type-Options      → zabrání „hádání" typu souboru
X-Frame-Options             → web se nedá vložit do cizího rámce (clickjacking)
Referrer-Policy             → omezí, co se posílá při odchodu z webu
Content-Security-Policy     → povolí obsah jen z důvěryhodných zdrojů

Část z nich zmiňujeme i v článku o technickém SEO — bezpečnost a kvalita webu se překrývají.

6. Ochrana formulářů před boty

Každý formulář na webu je pozvánka pro spam boty. Efektivní ochrana je vrstvená:

  • CSRF token — brání odeslání formuláře z cizí stránky
  • Honeypot — skryté pole, které bot vyplní a člověk nevidí
  • Time-trap — odeslání do pár sekund od načtení = téměř jistě bot
  • CAPTCHA bez tření — např. Cloudflare Turnstile: reálný prohlížeč projde automaticky, přímý POST od bota bez tokenu se tiše zahodí

Přesně těmito čtyřmi vrstvami chráníme kontaktní formuláře, které stavíme — uživatel nic nezaznamená, bot neprojde.

7. Princip nejnižších oprávnění

Každá část systému má mít jen ta práva, která nezbytně potřebuje. V praxi: správná práva souborů (žádné 777), databázový uživatel jen s potřebnými oprávněními (ne root), zákaz editace souborů přes admin rozhraní, oddělené účty pro různé role. Když útočník pronikne do jedné části, omezená práva mu zabrání převzít celý systém.

8. Monitoring a plán pro incident

Bez monitoringu se o útoku nebo výpadku dozvíte, až když zavolá zákazník. Minimum:

  • Monitoring dostupnosti — upozornění při výpadku (i mimo pracovní dobu)
  • Kontrola integrity — pravidelný scan na změněné/podezřelé soubory
  • Google Search Console — Google upozorní, pokud se web dostane na blacklist nebo je napadený
  • Plán obnovy — předem vědět, kdo a jak web obnoví, když se něco stane

Bezpečnostní checklist

  • ☐ HTTPS na celém webu + přesměrování z HTTP a non-www
  • ☐ CMS, pluginy, knihovny a PHP pravidelně aktualizované
  • ☐ Silná hesla + 2FA na admin, limit přihlášení
  • ☐ Automatické zálohy mimo server + otestovaná obnova
  • ☐ Bezpečnostní HTTP hlavičky nastavené
  • ☐ Formuláře chráněné (CSRF + honeypot + time-trap, případně Turnstile)
  • ☐ Správná práva souborů a DB uživatele (least privilege)
  • ☐ Monitoring dostupnosti a integrity + plán obnovy

Časté otázky

Je i malý firemní web terčem útoků?
Ano. Většina útoků není cílená — boti automaticky skenují celý internet a hledají weby se známými zranitelnostmi, bez ohledu na velikost firmy. Malý neudržovaný web je často snazší cíl než velký s dedikovanou bezpečností. Každý web připojený k internetu potřebuje alespoň základní ochranu.
Jaké je nejdůležitější bezpečnostní opatření pro web?
Pravidelné aktualizace. Většina úspěšných útoků využívá známé zranitelnosti v zastaralých CMS, pluginech, knihovnách nebo PHP — takové, na které už dávno existuje oprava. Udržovaný web zavře tyto dveře dřív, než je bot najde. Hned za tím jsou HTTPS, zálohy a silná autentizace.
Potřebuje web dvoufaktorové ověření (2FA)?
Do administrace rozhodně ano. Přihlašovací stránky jsou nejčastější cíl brute-force útoků a samotné heslo (i silné) může uniknout. 2FA (např. přes aplikaci Google Authenticator) přidá druhou vrstvu, která útok zastaví i při prozrazeném hesle. Pro běžné návštěvníky 2FA není potřeba, pro adminy je nutnost.
Jak ochráním kontaktní formulář před spamem?
Kombinací vrstev: CSRF token, honeypot (skryté pole, které bot vyplní a člověk ne), time-trap (odeslání do pár sekund = bot) a v případě potřeby CAPTCHA bez tření jako Cloudflare Turnstile. Reálný prohlížeč projde automaticky, přímý POST od bota bez tokenu se tiše zahodí. Přesně takhle chráníme formuláře my.
Co jsou security headers a proč je potřebuji?
Bezpečnostní HTTP hlavičky (HSTS, X-Content-Type-Options, X-Frame-Options, Content-Security-Policy, Referrer-Policy) říkají prohlížeči, jak se má na webu bezpečně chovat — vynutí HTTPS, zabrání vložení webu do cizího rámce, omezí, z jakých zdrojů se načítá obsah. Jsou to jednoduchá nastavení serveru s velkým bezpečnostním přínosem.
Jak často mám zálohovat web?
Databázi a obsah denně, kompletní soubory alespoň týdně, s archivem drženým několik měsíců. Klíčové ale je ukládat zálohy mimo server (jiné úložiště) a jednou za čas otestovat obnovu — záloha, kterou nikdo nikdy neobnovil, je jen naděje. Při napadení nebo selhání serveru je funkční záloha rozdíl mezi hodinou a týdny výpadku.

Závěr

Bezpečnost webu není jednorázový úkol ani výsada velkých firem — je to soubor základních opatření, která má mít každý web, a hlavně průběžná péče. Většině incidentů se dá předejít aktualizacemi, zálohami a rozumnou konfigurací. Pokud si nejste jistí, na čem je bezpečnost vašeho webu, nabízíme bezpečnostní audit a hardeningnapište nám a řekneme vám konkrétně, co doplnit.