Zpět na průvodce

Průvodce

Bezpečnost webu: základní checklist pro malé firmy

Bezpečnost webu není jen o HTTPS. Jde o aktualizace, zálohy a ochranu proti spamu.

Tenhle checklist vám pomůže udržet web v bezpečí a připravený na provoz.

HTTPS: proč je nutný a jak získat SSL certifikát

HTTPS šifruje komunikaci mezi prohlížečem návštěvníka a vaším serverem. Bez něj mohou být přenášená data (formuláře, hesla, osobní údaje) zachycena třetí stranou. Od roku 2018 prohlížeče Chrome a Firefox označují weby bez HTTPS jako „nezabezpečené", což odrazuje návštěvníky a negativně ovlivňuje SEO.

Číst dále

Nejjednodušší cestou k SSL certifikátu je Let's Encrypt — bezplatná certifikační autorita, kterou podporuje většina hostingů. Na hostingu obvykle stačí jedno kliknutí v administraci. Certifikát se automaticky obnovuje každých devadesát dní. Po aktivaci HTTPS nastavte přesměrování z HTTP na HTTPS (301 redirect), aby všechny stránky bez výjimky používaly šifrované spojení.

Aktualizace: CMS, pluginy a témata

Neaktualizovaný software je nejčastější příčinou napadení webových stránek. Záplaty bezpečnostních chyb v WordPress, Joomla nebo jiném CMS vychází pravidelně a útočníci je aktivně sledují. Jakmile je zveřejněna záplata, začínají automatizované útoky na weby, které dosud neaktualizovaly.

Číst dále

Aktualizujte jádro CMS, všechny pluginy a šablony ihned po vydání nové verze. U menších webů nastavte automatické aktualizace. U větších projektů testujte nejprve na staging prostředí. Odstraňte pluginy a šablony, které nepoužíváte — i neaktivní rozšíření mohou obsahovat zranitelnosti.

Silná hesla a dvoufaktorové ověření (2FA)

Minimální délka hesla by měla být dvanáct znaků s kombinací velkých a malých písmen, číslic a speciálních znaků. Používejte správce hesel (password manager) jako Bitwarden, 1Password nebo KeePass, abyste nemuseli hesla pamatovat a mohli pro každou službu použít unikátní heslo.

Číst dále

Dvoufaktorové ověření (2FA) přidává druhou vrstvu ochrany. I pokud útočník získá vaše heslo, bez druhého faktoru (kód z aplikace, SMS nebo fyzický klíč) se nepřihlásí. Nastavte 2FA pro administraci webu, hosting, e-mail a všechny kritické služby. Preferujte aplikace jako Google Authenticator nebo Authy před SMS, protože SMS lze zachytit.

Zálohy: automatické, pravidelné a ověřené

Zálohy jsou vaše pojistka pro případ napadení, chyby nebo havárie serveru. Nastavte automatické zálohy minimálně jednou týdně. U aktivních webů s často měněným obsahem zálohujte denně. Zálohy by měly zahrnovat jak soubory webu, tak databázi.

Číst dále

Ukládejte zálohy na jiné místo než na samotný server (off-site). Pokud útočník napadne server, může smazat i zálohy uložené na něm. Využijte cloudové úložiště (Google Drive, Amazon S3) nebo zálohovací službu hostingu na odděleném serveru.

Pravidelně testujte obnovu ze zálohy. Záloha, ze které nelze obnovit web, je bezcenná. Alespoň jednou za čtvrtletí proveďte zkušební obnovu na testovacím prostředí a ověřte, že web funguje správně.

Monitoring dostupnosti

Pokud váš web spadne, chcete to vědět dříve než zákazníci. Nástroje pro monitoring dostupnosti kontrolují web v pravidelných intervalech (typicky každou minutu) a okamžitě vás upozorní e-mailem, SMS nebo přes Slack.

Číst dále

UptimeRobot nabízí bezplatný plán s monitoringem až padesáti webů v pětiminutových intervalech. Pingdom a Better Uptime nabízejí pokročilejší funkce včetně stránky stavu (status page) a integrace s dalšími nástroji. Nastavte monitoring na hlavní stránku a na kritické podstránky (kontaktní formulář, objednávkový proces).

Firewall a ochrana proti útokům

Web Application Firewall (WAF) filtruje škodlivé požadavky ještě předtím, než dosáhnou vašeho serveru. Cloudflare nabízí bezplatný WAF s ochranou proti DDoS útokům, SQL injection a XSS. Stačí přesměrovat DNS záznamy přes Cloudflare a ochrana se aktivuje automaticky.

Číst dále

Rate limiting omezuje počet požadavků z jedné IP adresy za časovou jednotku. Zabraňuje brute-force útokům na přihlášení a přetížení serveru. Na serveru lze nastavit fail2ban, který automaticky blokuje IP adresy po opakovaných neúspěšných pokusech o přihlášení.

Ochrana formulářů

Každý formulář na webu je potenciální vstupní bod pro útočníka. Implementujte CSRF ochranu (Cross-Site Request Forgery token), která zajistí, že formulář lze odeslat pouze z vašeho webu. Všechny vstupy sanitizujte na straně serveru — odstraňte HTML tagy, JavaScript a SQL příkazy.

Číst dále

Pro databázové dotazy používejte výhradně prepared statements (parametrizované dotazy), nikdy neskládejte SQL příkazy z uživatelského vstupu. Input validation ověřuje formát dat (e-mail, telefon, čísla), zatímco sanitization čistí obsah od škodlivého kódu. Obě techniky jsou nutné současně.

Bezpečnostní HTTP hlavičky

Bezpečnostní hlavičky přidávají další vrstvu ochrany přímo na úrovni prohlížeče. Content-Security-Policy (CSP) definuje, z jakých zdrojů smí prohlížeč načítat skripty, styly a obrázky — zabraňuje XSS útokům. X-Frame-Options brání vložení vašeho webu do iframe na cizí stránce (clickjacking).

Číst dále

X-Content-Type-Options: nosniff zabraňuje prohlížeči hádat typ souboru a tím potenciálně spouštět škodlivý kód. Strict-Transport-Security (HSTS) nutí prohlížeč používat vždy HTTPS. Tyto hlavičky nastavíte v konfiguraci serveru (Apache: .htaccess, Nginx: nginx.conf) nebo přes Cloudflare.

Správa přístupů a uživatelských rolí

Princip minimálních oprávnění znamená, že každý uživatel má přístup pouze k tomu, co potřebuje ke své práci. Redaktor nepotřebuje přístup k nastavení pluginů, účetní nepotřebuje přístup k šablonám.

Číst dále

Vytvořte oddělené účty pro každou osobu s přístupem k administraci. Sdílené účty znemožňují dohledat, kdo provedl konkrétní změnu, a představují bezpečnostní riziko. Pravidelně revidujte seznam uživatelů a odstraňujte účty bývalých zaměstnanců nebo spolupracovníků.

Malware scanning a detekce napadení

Pravidelné skenování souborů webu pomáhá odhalit škodlivý kód dříve, než napáchá škodu. Nástroje jako Sucuri SiteCheck (bezplatný online skener), Wordfence (pro WordPress) nebo ClamAV (na serveru) prohledávají soubory a porovnávají je se známými vzory malware.

Číst dále

Sledujte Google Search Console — pokud Google detekuje malware na vašem webu, zobrazí varování v sekci Zabezpečení. Nastavte také upozornění na neočekávané změny souborů na serveru pomocí nástroje pro monitoring integrity souborů.

Incident response: co dělat, když web napadnou

Pokud zjistíte napadení, jednejte rychle a systematicky. Nejprve izolujte web — přepněte na údržbovou stránku, abyste zabránili dalšímu šíření. Změňte všechna hesla (hosting, FTP, databáze, admin účty). Obnovte web z poslední čisté zálohy a aktualizujte veškerý software.

Číst dále

Po obnově prověřte, jakým způsobem k napadení došlo, a zabezpečte zranitelné místo. Pokud web obsahoval osobní údaje, zvažte povinnost nahlásit incident podle GDPR (do 72 hodin Úřadu pro ochranu osobních údajů). Informujte dotčené uživatele, pokud mohla být ohrožena jejich data.

WordPress specifika

WordPress pohání přes čtyřicet procent všech webů, a proto je hlavním cílem útočníků. Používejte security plugin jako Wordfence nebo Sucuri Security, který přidává firewall, malware skener a ochranu přihlášení. Změňte výchozí přihlašovací URL z /wp-admin na vlastní adresu pomocí pluginu.

Číst dále

Zakažte editaci souborů z administrace (define DISALLOW_FILE_EDIT v wp-config.php). Omezte počet pokusů o přihlášení. Skryjte verzi WordPress ze zdrojového kódu. Používejte pouze pluginy a šablony z důvěryhodných zdrojů s pravidelnými aktualizacemi a vysokým počtem aktivních instalací.

GDPR a bezpečnost dat

GDPR vyžaduje, abyste chránili osobní údaje přiměřenými technickými a organizačními opatřeními. To zahrnuje šifrování dat při přenosu (HTTPS) i při uložení (šifrování databáze), řízení přístupu a pravidelné zálohy.

Číst dále

Uchovávejte pouze data, která skutečně potřebujete, a po uplynutí účelu je smažte. Formulářová data odesílaná e-mailem by měla jít přes šifrovaný kanál (TLS). Veďte záznamy o zpracování osobních údajů a mějte připravenou proceduru pro žádosti o výmaz nebo přenositelnost dat.

Kontrolní seznam

  • HTTPS aktivní s platným SSL certifikátem (Let's Encrypt)
  • Přesměrování HTTP na HTTPS (301 redirect)
  • CMS, pluginy a šablony aktualizovány na nejnovější verze
  • Nepoužívané pluginy a šablony odstraněny
  • Silná hesla (12+ znaků) a password manager
  • Dvoufaktorové ověření (2FA) na všech admin účtech
  • Automatické denní nebo týdenní zálohy
  • Zálohy uložené off-site (mimo server)
  • Testování obnovy ze zálohy minimálně čtvrtletně
  • Monitoring dostupnosti (UptimeRobot, Pingdom)
  • WAF nebo Cloudflare s ochranou proti DDoS
  • Rate limiting a fail2ban na přihlašovací stránce
  • CSRF tokeny na všech formulářích
  • Input sanitization a prepared statements
  • Bezpečnostní hlavičky: CSP, X-Frame-Options, HSTS
  • Oddělené uživatelské účty s minimálními právy
  • Pravidelný malware scan
  • Incident response plán sepsaný a sdílený s týmem
  • GDPR: šifrování dat, záznamy o zpracování, procedura pro výmaz

Časté chyby

  • Staré pluginy a CMS bez aktualizací — nejčastější příčina napadení
  • Žádné zálohy nebo pouze zálohy na stejném serveru
  • Sdílené admin účty bez 2FA
  • Nechráněné formuláře bez CSRF tokenů a sanitization
  • Chybějící bezpečnostní HTTP hlavičky
  • Editace souborů povolena z WordPress administrace
  • Výchozí přihlašovací URL /wp-admin bez omezení pokusů
  • Žádný monitoring dostupnosti — výpadek zjištěn až od zákazníků

FAQ

Stačí jen HTTPS k zabezpečení webu?

Ne. HTTPS šifruje komunikaci mezi prohlížečem a serverem, ale nechrání před zastaralým softwarem, slabými hesly nebo škodlivým kódem na serveru. HTTPS je nutný základ, na kterém musíte stavět další vrstvy ochrany.

Jak často zálohovat web?

Minimálně jednou týdně. U aktivních webů s denními změnami zálohujte každý den. Zálohy ukládejte mimo server a pravidelně testujte, zda z nich lze web skutečně obnovit.

Co když nemám přístup k administraci?

Kontaktujte svého dodavatele nebo hosting. Většina hostingů nabízí přístup přes cPanel nebo vlastní panel, kde můžete spravovat základní bezpečnost, zálohy a SSL certifikáty i bez přístupu k CMS.

Je Cloudflare zdarma dostatečný pro ochranu?

Ano, bezplatný plán Cloudflare poskytuje DDoS ochranu, základní WAF pravidla a SSL. Pro většinu malých firemních webů je to dostatečná ochrana. Placené plány přidávají pokročilá WAF pravidla a rychlejší podporu.

Musím nahlásit napadení webu podle GDPR?

Pokud při napadení mohlo dojít k úniku osobních údajů, musíte incident nahlásit Úřadu pro ochranu osobních údajů do 72 hodin. Pokud hrozí vysoké riziko pro dotčené osoby, musíte informovat i je. Mějte připravený incident response plán.

Jaké security pluginy doporučujete pro WordPress?

Wordfence nabízí firewall, malware skener a ochranu přihlášení v bezplatné verzi. Sucuri Security poskytuje podobné funkce plus cloudový WAF v placené verzi. Pro základní ochranu stačí jeden z nich v kombinaci s pravidelnými aktualizacemi a silnými hesly.

Zpět na průvodce