Web je součást firemní infrastruktury. Pracuje s návštěvníky, formuláři, účty, měřicími nástroji a často i s dalšími systémy. Bezpečnost proto není jednorázový doplněk před spuštěním, ale průběžný proces. Rozumný základ kombinuje prevenci, včasné odhalení problému a schopnost obnovit službu.

1. Začněte inventářem a odpovědností

Sepište domény, subdomény, hosting, DNS, redakční systém, knihovny, moduly, formuláře, externí skripty a všechna napojení. U každé části určete vlastníka, správce a kontakt pro případ problému. Bez tohoto přehledu mohou zůstat zapomenuté testovací weby, staré účty nebo komponenty, které nikdo neaktualizuje.

Zaznamenejte, jaká data web přijímá a kam je odesílá. Veřejný prezentační web má jiný rizikový profil než zákaznický portál nebo e-shop, ale i jednoduchý formulář může být zneužit pro spam, phishing či zahlcení schránky.

2. Aktualizujte řízeně a bez zbytečného odkladu

Udržujte aktuální operační prostředí, server, redakční systém, šablonu, moduly i vlastní závislosti. Odebírejte bezpečnostní oznámení používaných technologií a stanovte, kdo nové opravy posoudí. Kritická zranitelnost vyžaduje jinou rychlost reakce než běžné funkční vydání.

Aktualizace nejprve ověřte mimo produkci, zejména u e-shopu nebo webu s integracemi. Po nasazení zkontrolujte formuláře, přihlášení a hlavní uživatelské scénáře. Nepoužívané moduly a účty raději odstraňte; vypnutá, ale přítomná součást může stále představovat problém podle způsobu nasazení.

3. Chraňte účty a oprávnění

Každý správce má mít vlastní účet s nejnižšími oprávněními potřebnými pro jeho práci. Sdílené přihlašování komplikuje audit i bezpečné odebrání přístupu. Používejte dlouhá unikátní hesla uložená ve správci hesel a vícefaktorové ověření všude, kde je dostupné.

  • Pravidelně kontrolujte uživatele webu, hostingu, registrátora domény a analytických služeb.
  • Po ukončení spolupráce přístupy neprodleně odeberte.
  • Neposílejte hesla běžným e-mailem a nevkládejte je přímo do veřejného kódu.
  • Oddělte produkční, testovací a vývojové účty i data.

Zvláštní pozornost věnujte registrátorovi domény a DNS. Jejich kompromitace může přesměrovat návštěvníky mimo váš server, i když je samotný web technicky v pořádku.

4. Vynucujte HTTPS a bezpečné nastavení prohlížeče

Celý web má být dostupný přes HTTPS s platným certifikátem a automatickým obnovením. Nezabezpečené varianty adres přesměrujte na HTTPS a odstraňte smíšený obsah načítaný přes nešifrované spojení. Cookies s citlivým účelem nastavujte s odpovídajícími atributy Secure, HttpOnly a SameSite.

Bezpečnostní HTTP hlavičky mohou omezit některé typy útoků. Patří mezi ně například Content-Security-Policy, ochrana proti vkládání stránky do cizího rámce a zákaz zbytečného určování typu obsahu. Jejich konkrétní hodnoty je nutné otestovat podle používaných skriptů, formulářů a externích služeb; příliš obecné nebo chybně nasazené pravidlo může rozbít legitimní funkce.

5. Formulář ověřujte na serveru

Kontrola polí v prohlížeči zlepšuje pohodlí, ale útočník ji může obejít. Server proto musí znovu ověřit typ, délku a povolené hodnoty každého vstupu. Výstup je nutné bezpečně kódovat podle kontextu a databázové dotazy parametrizovat. Omezte velikost i typ příloh a neukládejte je do veřejně spustitelného umístění.

Proti automatizovanému zneužití pomáhá omezení četnosti požadavků, nenápadné kontrolní pole a služba typu Cloudflare Turnstile. Ověření tokenu musí proběhnout na serveru a tajný klíč nesmí být v HTML ani JavaScriptu. Chybové odpovědi nemají zveřejňovat interní cesty, konfiguraci nebo hesla.

6. Záloha je užitečná až po ověření obnovy

Zálohujte soubory, databázi i důležitou konfiguraci v četnosti odpovídající tomu, kolik dat můžete přijít. Uchovávejte více bodů obnovy a alespoň jednu kopii odděleně od produkčního serveru. Přístup k zálohám chraňte stejně pečlivě jako web, protože mohou obsahovat osobní údaje a přihlašovací informace.

Pravidelně proveďte testovací obnovu a zaznamenejte postup. Ověřte nejen to, že záloha existuje, ale že je úplná, čitelná a kompatibilní s prostředím. Stanovte požadovaný čas obnovy a osobu, která rozhodne o jejím spuštění.

7. Sledujte dostupnost, změny a podezřelé události

Monitoring dostupnosti upozorní na výpadek, nikoli automaticky na všechny bezpečnostní problémy. Doplňte ho sledováním chyb aplikace, nezvyklých přihlášení, změn souborů, nárůstu požadavků a selhání formulářů. Logy mají obsahovat potřebné technické informace, ale ne hesla, celé tokeny nebo nadbytečné osobní údaje.

Nastavte rozumnou dobu uchování a ochranu před neoprávněnou změnou. Upozornění směrujte na kontakt, který je skutečně vyhodnocuje. Velké množství neřešených alarmů vede k tomu, že důležitá událost zanikne.

8. Omezte data a externí skripty

Sbírejte pouze údaje, které mají jasný účel, a uchovávejte je po nezbytnou dobu. Analytické a marketingové kódy spouštějte podle uděleného souhlasu. Pravidelně kontrolujte vložené skripty, tag manager i osoby s právem měnit měření; externí kód běží v kontextu vašeho webu a představuje další závislost.

Aktualizujte zásady ochrany osobních údajů podle skutečně používaných služeb. Právní základ a konkrétní povinnosti konzultujte s odborníkem, zejména pokud web zpracovává citlivější údaje nebo slouží ve více zemích.

9. Připravte si postup pro incident

Incidentní plán má určit kontakty, odpovědnosti, způsob izolace problému, uchování důkazů, obnovu a komunikaci. Při podezření nejprve omezte další škody a zachovejte relevantní logy; bezhlavé mazání může ztížit analýzu příčiny. Poté změňte kompromitované přístupy, opravte zranitelnost, obnovte důvěryhodnou verzi a sledujte opakování.

Pokud mohlo dojít k úniku osobních údajů, je nutné vyhodnotit povinnosti podle platných předpisů. Rozhodování je snazší, když firma předem ví, koho zapojit a kde má aktuální dokumentaci.

Praktické minimum pro pravidelnou kontrolu

  • Máme aktuální inventář webů, technologií, účtů a vlastníků.
  • Aktualizace mají odpovědnou osobu, termín a testovací postup.
  • Účty jsou osobní, omezené a chráněné vícefaktorovým ověřením.
  • HTTPS, cookies a bezpečnostní hlavičky odpovídají provozu webu.
  • Formuláře se ověřují na serveru a mají ochranu proti automatizaci.
  • Zálohy jsou oddělené a obnovení bylo prakticky otestováno.
  • Monitoring a logy mají jasného příjemce a přiměřenou retenci.
  • Existuje stručný, aktuální a dostupný incidentní plán.

Potřebujete posoudit konkrétní web nebo navrhnout bezpečnější provoz? Projděte si naše služby včetně kybernetické bezpečnosti a pošlete nám nezávaznou poptávku. Další návody postupně najdete na blogu OZIT.