Jak ochránit web pomocí WAF

Co je WAF (Web Application Firewall)
Web Application Firewall (WAF) je bezpečnostní systém, který filtruje, monitoruje a blokuje škodlivý HTTP provoz směřující k vaší webové aplikaci. Na rozdíl od klasického síťového firewallu, který pracuje na úrovni IP adres a portů, WAF rozumí protokolu HTTP a dokáže analyzovat obsah požadavku – parametry URL, POST data, cookies, HTTP hlavičky i tělo požadavku. Díky tomu dokáže detekovat a blokovat útoky, které by klasickým firewallem prošly.
Představte si WAF jako ostrahu u vchodu do restaurace, která kontroluje každého hosta. Klasický firewall jen ověří, zda má host pozvánku (správná IP a port). WAF kontroluje, zda host nenese zbraně, falešné doklady nebo nemá zlé úmysly – analyzuje chování, ne jen identitu. Ve světě, kde dojde zhruba ke 2 800 kybernetickým útokům denně, je WAF zásadní vrstvou ochrany pro každý web.
Jak WAF funguje
WAF se nachází mezi uživatelem a webovým serverem a analyzuje každý HTTP požadavek dříve, než dorazí k vaší aplikaci. Rozhodnutí činí na základě předdefinovaných pravidel a algoritmů.
Modely detekce
WAF používá dva hlavní modely pro detekci útoků. Negativní bezpečnostní model (blacklisting) blokuje požadavky obsahující známé škodlivé vzorce – řetězce SQL injection, XSS payloady, sekvence path traversal a podobně. Jde o nejběžnější přístup, protože se snáze nasazuje, ale nedokáže detekovat nové, neznámé útoky (zero-day). Pozitivní bezpečnostní model (whitelisting) definuje, co je povoleno, a vše ostatní blokuje. Tento model je bezpečnější, ale vyžaduje podrobnou konfiguraci pro každou aplikaci, protože musíte definovat každý legitimní parametr, URL i datový formát.
Před čím WAF chrání
WAF chrání před nejběžnějšími webovými útoky definovanými v seznamu OWASP Top 10: SQL Injection (vkládání SQL kódu přes formuláře a parametry URL za účelem přístupu k databázi nebo její úpravy), Cross-Site Scripting – XSS (vkládání škodlivého JavaScriptového kódu, který se vykoná v prohlížečích jiných uživatelů), Cross-Site Request Forgery – CSRF (donucení přihlášeného uživatele k provedení nechtěné akce), Local/Remote File Inclusion (načítání škodlivých souborů přes mechanismus PHP include), Path Traversal (přístup k souborům mimo kořen webu pomocí sekvencí ../), Command Injection (spouštění systémových příkazů přes webovou aplikaci) a útoky hrubou silou na přihlašovací formuláře.
Akce, které WAF může provést
Když WAF detekuje podezřelý požadavek, může provést různé akce: zablokovat požadavek a vrátit chybu 403 Forbidden, požadavek povolit, ale zalogovat ho pro pozdější analýzu (režim monitorování), spustit kontrolu CAPTCHA pro určení, zda je uživatel člověk, nebo bot, omezit počet požadavků (rate limit) z konkrétní IP adresy nebo dočasně zablokovat IP adresu, která posílá mnoho škodlivých požadavků. Moderní WAF systémy tyto akce kombinují podle závažnosti hrozby.
Typy WAF
Řešení WAF se liší podle toho, kde jsou nasazena, a podle architektury.
Cloudový WAF
Cloudový WAF se nasazuje změnou DNS záznamů – provoz se směruje přes cloudového poskytovatele, který škodlivé požadavky odfiltruje dříve, než dorazí na váš server. Příklady: Cloudflare WAF, Sucuri, AWS WAF, Akamai. Výhody: jednoduché nasazení (nevyžaduje změny na straně serveru), škálovatelnost (cloudová infrastruktura absorbuje DDoS útoky), automatické aktualizace pravidel a výhody CDN (rychlejší načítání webu). Nevýhody: závislost na třetí straně, potenciální latence (další skok) a měsíční náklady.
WAF na úrovni hostitele (host-based)
WAF na úrovni hostitele se instaluje přímo na webový server jako modul nebo aplikace. Nejznámějším příkladem je ModSecurity, který se integruje s webovými servery Apache, Nginx a LiteSpeed. Výhody: plná kontrola nad konfigurací, žádný další síťový skok, přístup k podrobným logům na serveru a žádné měsíční náklady za cloudovou službu. Nevýhody: vyžaduje technické znalosti pro konfiguraci a údržbu, spotřebovává zdroje serveru na analýzu požadavků a aktualizace pravidel je vaší odpovědností.
Hybridní přístup
Nejlepší ochranou je kombinace cloudového WAF a WAF na úrovni hostitele. Cloudový WAF (Cloudflare) odfiltruje objemové útoky a známé hrozby dříve, než dorazí na server, zatímco WAF na úrovni hostitele (ModSecurity) poskytuje hloubkovou inspekci požadavků, které projdou cloudovou vrstvou. Tato strategie hloubkové obrany (defense-in-depth) zajišťuje, že i když jedna vrstva útok přehlédne, druhá ho zachytí.
Cloudflare WAF – konfigurace
Cloudflare je nejoblíbenějším cloudovým WAF pro malé a střední weby díky bezplatnému tarifu, který zahrnuje základní ochranu, a cenově dostupným placeným tarifům s pokročilými funkcemi WAF.
Základní nastavení
Abyste mohli Cloudflare WAF používat, musíte si vytvořit účet Cloudflare, přidat svou doménu a změnit nameservery na ty od Cloudflare. Po propagaci DNS (obvykle 24–48 hodin) prochází veškerý provoz na váš web přes síť Cloudflare. Bezplatný tarif nabízí ochranu proti DDoS, bezplatný šifrovací certifikát, CDN a základní ochranu proti botům. Pravidla WAF jsou dostupná od tarifu Pro (20 USD měsíčně).
Managed Rules
Cloudflare Managed Rules jsou předkonfigurovaná pravidla, která chrání před známými zranitelnostmi. Cloudflare Managed Ruleset pokrývá útoky z OWASP Top 10, Cloudflare WordPress Ruleset je specificky navržen pro zranitelnosti WordPressu a Cloudflare Leaked Credentials Detection kontroluje, zda uživatelé nepoužívají kompromitovaná hesla. Tato pravidla se automaticky aktualizují při objevení nových hrozeb.
Custom Rules
Kromě spravovaných pravidel si můžete vytvořit vlastní pravidla WAF pro specifické potřeby vašeho webu. Například: zablokovat přístup ke stránce wp-admin všem kromě vaší IP adresy, omezit přístup k xmlrpc.php, blokovat požadavky z konkrétních zemí, vyžadovat CAPTCHA pro přihlašovací stránku nebo blokovat user agenty známých botů a skenerů. Vlastní pravidla se vytvářejí přes dashboard Cloudflare pomocí vizuálního editoru nebo syntaxe Wire Format expressions.
Rate Limiting
Cloudflare Rate Limiting umožňuje omezit počet požadavků na IP adresu za daný časový úsek. Jde o účinnou obranu proti útokům hrubou silou a zneužívání API. Například: omezit přihlašovací stránku na 5 požadavků za minutu na IP adresu, omezit API endpointy na 100 požadavků za minutu. Požadavky, které limit překročí, lze zablokovat, spustit CAPTCHA nebo přesměrovat na chybovou stránku.
ModSecurity – konfigurace
ModSecurity je open-source WAF engine, který běží jako modul na serverech Apache, Nginx a LiteSpeed. Jde o nejrozšířenější WAF na úrovni hostitele v hostingovém odvětví.
Instalace a základní nastavení
Na serverech s cPanelem se ModSecurity instaluje přes WHM (Web Host Manager) jedním kliknutím. Na linuxových serverech bez cPanelu se instaluje z balíčků (apt install libapache2-mod-security2 na Ubuntu/Debian). Po instalaci běží ModSecurity v režimu Detection Only – loguje podezřelé požadavky, ale neblokuje je. To se na začátku doporučuje, abyste identifikovali falešné poplachy dříve, než přepnete do vynucovacího režimu.
OWASP Core Rule Set (CRS)
ModSecurity sám o sobě neobsahuje pravidla – potřebuje sadu pravidel. OWASP Core Rule Set (CRS) je nejpoužívanější sada pravidel, která pokrývá zranitelnosti z OWASP Top 10. CRS používá systém bodování anomálií (anomaly scoring), kde každý podezřelý prvek požadavku přidá body, a požadavek se zablokuje teprve tehdy, když celkové skóre překročí práh (výchozí 5). To snižuje falešné poplachy, protože jeden podezřelý prvek na zablokování nestačí – musí existovat více indikátorů škodlivého chování.
Ladění pravidel
Pravidla ModSecurity často generují falešné poplachy – blokují legitimní požadavky. Nejčastějšími příklady jsou: editor WordPressu odesílající HTML/CSS kód (vypadá jako XSS), formuláře ovládacích panelů firewallových pluginů obsahující bezpečnostní termíny a kontaktní formuláře se specifickým obsahem. K nápravě falešných poplachů můžete: zakázat konkrétní pravidlo pro určitou URL nebo adresář, zvýšit práh bodování anomálií nebo přidat pravidlo whitelist pro známé bezpečné požadavky. Prohlédněte si auditní log ModSecurity, abyste zjistili, která pravidla falešné poplachy generují.
ModSecurity na LiteSpeed
LiteSpeed Web Server má vestavěnou podporu pravidel ModSecurity bez potřeby externího modulu. LiteSpeed zpracovává pravidla ModSecurity rychleji než Apache, protože používá optimalizovaný engine navržený pro architekturu LiteSpeed řízenou událostmi. Konfigurace je identická s Apache – stejná pravidla, stejné direktivy, ale lepší výkon.
WAF pro WordPress – specifická pravidla
Weby na WordPressu jsou nejčastějším cílem útoků a vyžadují kromě obecných pravidel i specifická pravidla WAF.
Ochrana administrace
Omezte přístup k /wp-admin/ a /wp-login.php na známé IP adresy nebo vyžadujte dodatečné ověření. Zablokujte přístup k citlivým souborům: wp-config.php, xmlrpc.php, wp-cron.php (povolte pouze přístup ze strany serveru). Zabraňte výčtu uživatelů (user enumeration) blokováním požadavků s parametrem ?author=, který odhaluje uživatelská jména.
Ochrana před zranitelnostmi pluginů
Pluginy WordPressu jsou nejčastějším vektorem útoku. Pravidla WAF by měla blokovat: přímý přístup k PHP souborům v adresáři wp-content/plugins/ (kromě AJAX handlerů), nahrávání škodlivých typů souborů (.php, .phtml, .pht maskované jako obrázky) a zneužívání známých zranitelností v populárních pluginech (Cloudflare a ModSecurity CRS mají specifická pravidla pro zranitelnosti pluginů WordPressu).
Ochrana před boty
Velká část provozu na webech na WordPressu pochází od botů – dobrých (Google bot, Bing bot) i špatných (skenery zranitelností, scrapery obsahu, boti pro útoky hrubou silou). WAF by měl: povolit známé dobré boty na základě user agentu a rozsahů IP, blokovat nebo omezovat (rate limit) známé špatné boty, spouštět CAPTCHA pro podezřelé boty a omezovat rychlost procházení (crawl rate) všech botů, aby nezatěžovali server.
Monitorování a údržba WAF
WAF není řešení typu „nastav a zapomeň“. Vyžaduje pravidelné monitorování a ladění.
Analýza logů
Pravidelně procházejte logy WAF, abyste identifikovali: falešné poplachy, které blokují legitimní uživatele (a upravte pravidla), vzorce útoků, které mohou naznačovat cílený útok, IP adresy nebo rozsahy generující mnoho škodlivých požadavků a nové typy útoků, které stávající pravidla nemusí pokrývat. Cloudflare nabízí vizuální dashboard pro analýzu, zatímco ModSecurity používá textové log soubory, které můžete analyzovat nástroji jako GoAccess nebo stackem ELK.
Aktualizace pravidel
Nové zranitelnosti se objevují denně a pravidla WAF se musí aktualizovat, aby je pokryla. Cloudová řešení WAF (Cloudflare) aktualizují pravidla automaticky. U ModSecurity s OWASP CRS aktualizujte sadu pravidel alespoň jednou měsíčně. Sledujte bezpečnostní bulletiny pro WordPress, pluginy a šablony, které používáte, a přidávejte specifická pravidla pro nově objevené zranitelnosti dříve, než bude k dispozici záplata (virtuální patching).
Časté chyby u WAF
- Přehnaně agresivní pravidla: WAF, který blokuje legitimní uživatele, je horší než žádný WAF, protože odhání návštěvníky a zákazníky. Začněte v režimu monitorování a pravidla postupně zpřísňujte.
- Spoléhání jen na WAF: WAF je jednou vrstvou ochrany, ne náhradou za aktualizovaný software, silná hesla, bezpečnou konfiguraci a zálohy. Strategie hloubkové obrany je jediný správný přístup.
- Ignorování logů: Logy WAF jsou zlatý důl – přesně ukazují, kdo a co na vašem webu zkouší. Ignorování logů znamená přehlédnout důležité signály hrozeb.
- Zastaralá pravidla: WAF s rok starými pravidly je jako antivirus se zastaralou databází – nové hrozby nerozpozná.
- Žádné testování po změnách: Každá změna pravidla WAF musí být otestována, abyste se ujistili, že neblokuje legitimní funkčnost webu.
Závěr
WAF je nezbytnou vrstvou ochrany pro každý web, zejména pro weby na WordPressu, které jsou nejčastějším cílem útoků. Kombinace cloudového WAF (Cloudflare) pro objemovou a DDoS ochranu s WAF na úrovni hostitele (ModSecurity) pro hloubkovou inspekci požadavků poskytuje komplexní ochranu. Začněte v režimu monitorování, sledujte logy, laďte pravidla pro svůj web a pravidelně aktualizujte sady pravidel. V BeoHostingu se všechny hostingové tarify dodávají s předkonfigurovaným WAF ModSecurity s OWASP Core Rule Set optimalizovaným pro WordPress, spolu s naším doporučením používat bezplatný tarif Cloudflare pro další vrstvu ochrany a výhody CDN.
BeoHosting Team
10+ let zkušeností — Specialisté na webhosting a infrastrukturu
- Web Hosting
- WordPress Hosting
- VPS
- Dedicated Serveri
- Domeni
- SSL
- cPanel
- LiteSpeed
- Linux administracija
- DNS
Naposledy aktualizováno: