„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 hardening — napište nám a řekneme vám konkrétně, co doplnit.