Proč jedna chyba v nastavení stačí
Útoky na weby dnes často neprobíhají tak, jak si lidé představují z filmů. Útočník většinou nehledá „geniální zranitelnost“, ale slabé místo v běžném provozu: špatně nastavená práva v administraci, veřejně dostupnou zálohu, starý plugin, otevřený testovací server nebo formulář, který posílá citlivá data bez dostatečného zabezpečení.
Podle dlouhodobých bezpečnostních statistik patří mezi nejčastější příčiny incidentů lidská chyba, neaktuální software a špatná konfigurace přístupů. U menších firem je problém ještě výraznější, protože web často spravuje externista, marketingové oddělení a IT dodavatel zároveň, ale nikdo nemá plnou odpovědnost za kontrolu bezpečnosti.
Jakmile útočník získá přístup k administraci nebo databázi, nejde už jen o technický problém. Pokud obsahuje web osobní údaje, objednávky, kontaktní formuláře nebo logy s IP adresami, vstupuje do hry i GDPR. A právě tady se z „drobného nastavení“ stává incident s právními důsledky.
Nejčastější chyby, které otevírají dveře
V praxi se opakují stále stejné scénáře. U WordPressu, e-shopů i firemních prezentací jsou nejrizikovější hlavně tato místa:
- Slabá nebo opakovaně použitá hesla u administrátorů, FTP, databáze a hostingu.
- Chybějící vícefaktorové ověření pro přihlášení do administrace a hostingu.
- Neaktualizovaný CMS, pluginy a šablony, zejména pokud jsou starší než několik měsíců.
- Veřejně dostupné zálohy v adresáři webu, na subdoméně nebo v cloudovém úložišti bez omezení přístupu.
- Špatně nastavená práva souborů, například 777 místo bezpečnějších oprávnění.
- Otevřený testovací nebo staging web bez ochrany heslem a bez omezení indexace.
- Nezabezpečené formuláře, které odesílají data bez šifrování nebo ukládají citlivé údaje zbytečně dlouho.
Typický příklad: firma má WordPress, několik let starý plugin pro kontaktní formulář a administrátorský účet nastavený na společné e-mailové schránce. K tomu běží na hostingu záloha přístupná přes přímý odkaz. Útočník nemusí prolomit celý web. Stačí mu objevit zálohu a stáhnout databázi, kde jsou jména, e-maily, telefonní čísla a někdy i poznámky k objednávkám.
Podobně nebezpečné jsou i e-shopy. Pokud je administrace přístupná bez omezení IP adresou, bez 2FA a s jednoduchým heslem, stačí phishing nebo únik přihlašovacích údajů z jiného systému. V okamžiku, kdy se útočník dostane dovnitř, může měnit ceny, přesměrovat platby nebo exportovat zákaznická data.
GDPR nezačíná formulářem, ale architekturou webu
Mnoho firem řeší GDPR až ve chvíli, kdy přidává cookie lištu nebo upravuje souhlas s newsletterem. Ve skutečnosti ale ochrana osobních údajů začíná mnohem dříve: u toho, kde data ukládáte, kdo k nim má přístup a jak dlouho je držíte.
Pokud web zpracovává osobní údaje, musí být technicky nastaven tak, aby odpovídal principu minimalizace. To znamená například neukládat do formulářů zbytečně rodná čísla, nearchivovat staré zprávy bez důvodu nebo neposílat kopie citlivých údajů do více systémů, než je nutné. Čím více kopií dat existuje, tím větší je riziko úniku.
Rizikové bývá také logování. Záznamy serveru, analytiky, chybových hlášek nebo pluginů mohou obsahovat IP adresy, e-maily, ID objednávek či tokeny. Pokud jsou logy veřejně přístupné nebo se dlouhodobě nečistí, jde o další vstupní bod pro útočníka i problém z pohledu GDPR.
Prakticky platí jednoduché pravidlo: co nepotřebujete, nesbírejte; co nesbíráte, nemůže uniknout. Největší bezpečnostní i právní chyba je často v tom, že firmy uchovávají data „pro jistotu“ bez jasného účelu a bez lhůt pro mazání.
Co zkontrolovat hned dnes: krátký bezpečnostní audit
Bezpečnostní audit nemusí trvat týdny. U běžného firemního webu lze během jedné hodiny prověřit několik klíčových bodů, které odhalí největší rizika:
- Má administrace zapnuté 2FA pro všechny účty s vyššími právy?
- Jsou CMS, pluginy, šablony a serverový software aktualizované?
- Nejsou zálohy dostupné přes veřejnou URL nebo nezabezpečenou subdoménu?
- Jsou administrátorské účty přidělené jen lidem, kteří je opravdu potřebují?
- Mají zaměstnanci oddělené role, nebo všichni používají jedno společné přihlášení?
- Je na hostingu aktivní SSL certifikát a přesměrování na HTTPS?
- Jsou formuláře napojené jen na nezbytné systémy a neodesílají data do zbytečných kopií?
Pro rychlou kontrolu technických slabin se používají nástroje jako Google Search Console pro upozornění na bezpečnostní problémy, WPScan pro WordPress, SecurityHeaders.com pro hlavičky a SSL Labs pro kvalitu HTTPS konfigurace. U větších webů dává smysl také pravidelný scan přes OWASP ZAP nebo komerční monitorovací nástroj.
Pokud web běží na hostingu bez správy, je zásadní ověřit i zálohování. Nestačí, že záloha existuje. Musí být oddělená od produkce, šifrovaná a hlavně pravidelně testovaná. Mnoho firem zjistí při incidentu, že zálohy sice mají, ale nefunkční nebo staré několik týdnů.
Jak nastavit web, aby útočník neuspěl na první pokus
Bezpečnost není jeden plugin. Je to soubor opatření, která se doplňují. Základní minimum pro webové projekty dnes vypadá takto:
- Aktualizace všech komponent v pravidelném režimu, ideálně s testováním na stagingu.
- 2FA pro administrátory, redaktory i přístup do hostingu a domény.
- Princip nejmenších oprávnění – každý má jen to, co skutečně potřebuje.
- Oddělené staging prostředí chráněné heslem a bez indexace.
- Šifrovaný přenos dat přes HTTPS a bezpečně nastavené cookies.
- Pravidelné zálohy mimo hlavní server, ideálně 3-2-1 model.
- Monitoring změn souborů, přihlášení a neobvyklé aktivity.
U WordPressu se vyplatí omezit počet pluginů na minimum a vybírat jen ty, které mají aktivní vývoj, jasnou podporu a historii bezpečnostních oprav. Každý další plugin znamená další potenciální riziko. U e-shopů je navíc důležité sledovat platební brány, exporty objednávek a napojení na ERP nebo CRM, protože právě tam bývá únik dat nejdražší.
Na straně serveru je vhodné zakázat zbytečné služby, omezit přístup přes SSH jen na klíče, ne přes hesla, a pravidelně kontrolovat logy. Pokud tým nemá kapacitu na interní správu, je lepší využít managed hosting nebo externího správce, který garantuje aktualizace, zálohy i reakční dobu při incidentu.
Co dělat, když už k průšvihu dojde
Rychlost reakce rozhoduje. První hodiny po zjištění incidentu bývají klíčové pro rozsah škody i další postup vůči úřadům a klientům. Postup má být předem připravený, ne improvizovaný.
V praxi to znamená:
- okamžitě omezit přístup k napadené části webu nebo celé administraci,
- změnit hesla a zneplatnit aktivní relace,
- odpojit podezřelé integrace a API klíče,
- zajistit kopii logů pro analýzu,
- prověřit rozsah úniku dat,
- obnovit web z čisté zálohy, pokud je to bezpečnější než ruční oprava.
Pokud došlo k úniku osobních údajů, je nutné vyhodnotit, zda vznikla povinnost incident hlásit Úřadu pro ochranu osobních údajů a případně i dotčeným osobám. GDPR pracuje s rizikem pro práva a svobody fyzických osob, ne jen s tím, zda byl web „pouze“ nedostupný. Únik e-mailů, telefonů, objednávek nebo přístupových údajů může být problém i tehdy, když na první pohled nic dramatického nevypadá.
Nejlepší obrana je proto kombinace techniky, procesů a disciplíny. Web, který má správně nastavené přístupy, zálohy, aktualizace a dohled, není neprolomitelný. Ale výrazně snižuje šanci, že jediná chyba v nastavení skončí otevřenými dveřmi pro hackery i pro problém s GDPR.