Kako zaščititi stran z WAF

Kaj je WAF (Web Application Firewall)
Web Application Firewall (WAF) je varnostni sistem, ki filtrira, nadzira in blokira zlonameren HTTP promet proti vaši spletni aplikaciji. Za razliko od klasičnega omrežnega požarnega zidu, ki deluje na ravni IP naslovov in vrat, WAF razume HTTP protokol in lahko analizira vsebino zahtevka - URL parametre, POST podatke, piškotke, HTTP glave in telo zahtevka. To mu omogoča, da prepozna in blokira napade, ki bi sicer prešli skozi klasičen požarni zid.
Predstavljajte si WAF kot varnostnika na vhodu v restavracijo, ki preverja vsakega gosta. Klasičen požarni zid preveri le, ali ima gost vabilo (pravi IP in vrata). WAF preveri, ali gost nosi orožje, ponarejene dokumente ali ima slabe namere - analizira vedenje, ne le identitete. V svetu, kjer se zgodi okoli 2.800 kibernetskih napadov dnevno, je WAF kritičen sloj zaščite za vsako spletno stran.
Kako WAF deluje
WAF se postavi med uporabnika in spletni strežnik ter analizira vsako HTTP zahtevo, preden ta doseže vašo aplikacijo. Odločitve se sprejemajo na podlagi vnaprej določenih pravil in algoritmov.
Modeli detekcije
WAF uporablja dva glavna modela za detekcijo napadov. Negative security model (blacklisting) blokira zahtevke, ki vsebujejo znane zlonamerne vzorce - SQL injection nize, XSS payload-e, path traversal sekvence in podobno. To je najpogostejši pristop, ker je lažji za implementacijo, vendar ne more zaznati novih, neznanih napadov (zero-day). Positive security model (whitelisting) določa, kaj je dovoljeno, in blokira vse ostalo. Ta model je varnejši, vendar zahteva podrobno konfiguracijo za vsako aplikacijo, saj morate določiti vsak legitimen parameter, URL in obliko podatkov.
Pred čim WAF ščiti
WAF ščiti pred najpogostejšimi spletnimi napadi, opredeljenimi v seznamu OWASP Top 10: SQL Injection (vbrizgavanje SQL kode skozi obrazce in URL parametre za dostop do ali spremembo podatkovne baze), Cross-Site Scripting - XSS (vbrizgavanje zlonamerne JavaScript kode, ki se izvede v brskalniku drugih uporabnikov), Cross-Site Request Forgery - CSRF (prisiljevanje avtenticiranega uporabnika k izvedbi neželenega dejanja), Local/Remote File Inclusion (nalaganje zlonamernih datotek skozi PHP include mehanizem), Path Traversal (dostop do datotek izven web root-a z uporabo ../ sekvenc), Command Injection (izvajanje sistemskih ukazov skozi spletno aplikacijo) in brute force napadi na prijavne obrazce.
Dejanja, ki jih WAF lahko izvede
Ko WAF zazna sumljiv zahtevek, lahko izvede različna dejanja: blokira zahtevek in vrne napako 403 Forbidden, dovoli zahtevek a ga zabeleži za kasnejšo analizo (monitoring način), sproži CAPTCHA preverjanje, da ugotovi, ali je uporabnik človek ali bot, omeji število zahtevkov (rate limit) z določenega IP naslova ali začasno blokira IP naslov, ki pošilja veliko zlonamernih zahtevkov. Sodobni WAF sistemi kombinirajo ta dejanja glede na raven resnosti grožnje.
Tipi WAF-a
WAF rešitve se razlikujejo po mestu implementacije in arhitekturi.
Cloud-based WAF
Cloud WAF se implementira s spremembo DNS zapisa - promet se usmeri skozi cloud ponudnika, ki filtrira zlonamerne zahtevke, preden ti dosežejo vaš strežnik. Primeri: Cloudflare WAF, Sucuri, AWS WAF, Akamai. Prednosti so enostavna implementacija (ne zahteva sprememb na strežniku), skalabilnost (cloud infrastruktura absorbira DDoS napade), samodejno posodabljanje pravil in CDN ugodnosti (hitrejše nalaganje strani). Slabosti so odvisnost od tretje osebe, potencialna zakasnitev (dodaten hop) in mesečni stroški.
Host-based WAF
Host-based WAF se namesti neposredno na spletni strežnik kot modul ali aplikacija. Najbolj znan primer je ModSecurity, ki se integrira z Apache, Nginx in LiteSpeed spletnimi strežniki. Prednosti so popoln nadzor nad konfiguracijo, brez dodatnega omrežnega hop-a, dostop do podrobnih dnevnikov na strežniku in brez mesečnega stroška za cloud storitev. Slabosti so, da zahteva tehnično znanje za konfiguracijo in vzdrževanje, porablja vire strežnika za analizo zahtevkov in posodabljanje pravil je vaša odgovornost.
Hibridni pristop
Najboljša zaščita je kombinacija cloud in host-based WAF-a. Cloud WAF (Cloudflare) filtrira volumetrične napade in znane grožnje, preden dosežejo strežnik, medtem ko host-based WAF (ModSecurity) zagotavlja globoko inšpekcijo zahtevkov, ki preidejo skozi cloud sloj. Ta defense-in-depth strategija zagotavlja, da tudi če en sloj spusti napad, ga drugi sloj ujame.
Cloudflare WAF - konfiguracija
Cloudflare je najbolj priljubljen cloud WAF za male in srednje spletne strani zaradi brezplačnega plana, ki vključuje osnovno zaščito, in dostopnih plačljivih planov z naprednimi WAF funkcionalnostmi.
Osnovna nastavitev
Za uporabo Cloudflare WAF morate ustvariti Cloudflare račun, dodati svojo domeno in spremeniti nameserverje na Cloudflare-ove. Po propagaciji DNS-a (običajno 24-48 ur) ves promet proti vaši strani poteka skozi omrežje Cloudflare. Brezplačen plan ponuja DDoS zaščito, brezplačno potrdilo za šifriranje, CDN in osnovno bot zaščito. WAF pravila so na voljo od Pro plana (20 $/mesec).
Managed Rules
Cloudflare Managed Rules so vnaprej konfigurirana pravila, ki ščitijo pred znanimi ranljivostmi. Cloudflare Managed Ruleset pokriva napade OWASP Top 10, Cloudflare WordPress Ruleset je posebej zasnovan za WordPress ranljivosti, Cloudflare Leaked Credentials Detection pa preverja, ali uporabniki uporabljajo kompromitirana gesla. Ta pravila se samodejno posodabljajo, ko se odkrijejo nove grožnje.
Custom Rules
Poleg managed pravil lahko ustvarite tudi custom WAF pravila za specifične potrebe vaše strani. Na primer: blokirajte dostop do strani wp-admin za vse razen vašega IP naslova, omejite dostop do xmlrpc.php, blokirajte zahtevke iz določenih držav, zahtevajte CAPTCHA za prijavno stran ali blokirajte uporabniške agente znanih botov in skenerjev. Custom pravila se ustvarjajo skozi Cloudflare nadzorno ploščo z vizualnim urejevalnikom ali sintakso Wire Format expression.
Rate Limiting
Cloudflare Rate Limiting omogoča omejevanje števila zahtevkov na IP naslov v določenem časovnem obdobju. To je učinkovita zaščita pred brute force napadi in zlorabo API-ja. Na primer: omejite prijavno stran na 5 zahtevkov na minuto na IP naslov, omejite API endpoint-e na 100 zahtevkov na minuto. Zahtevki, ki presežejo omejitev, so lahko blokirani, sprožijo CAPTCHA ali se preusmerijo na stran z napako.
ModSecurity - konfiguracija
ModSecurity je odprtokoden WAF engine, ki deluje kot modul na Apache, Nginx in LiteSpeed strežnikih. To je najbolj razširjen host-based WAF v hosting industriji.
Namestitev in osnovna nastavitev
Na cPanel strežnikih se ModSecurity namesti skozi WHM (Web Host Manager) z enim klikom. Na Linux strežnikih brez cPanel-a se namesti iz paketa (apt install libapache2-mod-security2 na Ubuntu/Debian). Po namestitvi ModSecurity deluje v načinu Detection Only - beleži sumljive zahtevke, vendar jih ne blokira. To je priporočljivo za začetek, da prepoznate false positive-e, preden preklopite v enforcing način.
OWASP Core Rule Set (CRS)
ModSecurity sam po sebi ne vsebuje pravil - potreben mu je rule set. OWASP Core Rule Set (CRS) je najpogosteje uporabljen nabor pravil, ki pokriva ranljivosti OWASP Top 10. CRS uporablja sistem anomaly scoring, kjer vsak sumljiv element zahtevka doda točke, zahtevek pa se blokira šele, ko skupni rezultat preseže prag (privzeto 5). To zmanjšuje false positive-e, saj en sumljiv element ni dovolj za blokado - obstajati mora več indikatorjev zlonamernega vedenja.
Fine-tuning pravil
ModSecurity pravila pogosto generirajo false positive-e - blokirajo legitimne zahtevke. Najpogostejši primeri so: WordPress urejevalnik, ki pošilja HTML/CSS kodo (izgleda kot XSS), firewall vtičniki, katerih nadzorni paneli vsebujejo varnostne izraze, in kontaktni obrazci s specifično vsebino. Za reševanje false positive-ov lahko: izklopite specifično pravilo za določen URL ali direktorij, povišate prag anomaly scoring ali dodate whitelist pravilo za znane varne zahtevke. Preglejte ModSecurity audit log, da prepoznate, katera pravila generirajo false positive-e.
ModSecurity na LiteSpeed-u
LiteSpeed Web Server ima vgrajeno podporo za ModSecurity pravila brez potrebe po zunanjem modulu. LiteSpeed obdela ModSecurity pravila hitreje od Apache-a, ker uporablja optimiziran engine, zasnovan za LiteSpeed-ovo event-driven arhitekturo. Konfiguracija je enaka kot na Apache-u - ista pravila, iste direktive, vendar boljša zmogljivost.
WAF za WordPress - specifična pravila
WordPress strani so najpogostejša tarča napadov in poleg generičnih pravil zahtevajo specifična WAF pravila.
Zaščita admin območja
Omejite dostop do /wp-admin/ in /wp-login.php na znane IP naslove ali zahtevajte dodatno avtentifikacijo. Blokirajte dostop do občutljivih datotek: wp-config.php, xmlrpc.php, wp-cron.php (dovolite samo server-side dostop). Preprečite enumeracijo uporabnikov z blokiranjem zahtevkov s parametrom ?author=, ki razkriva uporabniška imena.
Zaščita pred ranljivostmi vtičnikov
WordPress vtičniki so najpogostejši vektor napada. WAF pravila naj blokirajo: neposreden dostop do PHP datotek v direktoriju wp-content/plugins/ (razen za AJAX handler-je), nalaganje zlonamernih tipov datotek (.php, .phtml, .pht maskiran kot slika) in izkoriščanje znanih ranljivosti v priljubljenih vtičnikih (Cloudflare in ModSecurity CRS imata specifična pravila za ranljivosti WordPress vtičnikov).
Bot zaščita
Velik odstotek prometa na WordPress straneh prihaja od botov - dobrih (Google bot, Bing bot) in slabih (skenerji ranljivosti, content scraper-ji, brute force boti). WAF naj: dovoli znane dobre bote na podlagi user-agent-a in IP obsega, blokira ali rate limit-a znane slabe bote, sproži CAPTCHA za sumljive bote in omeji crawl rate za vse bote, da ne obremenjujejo strežnika.
Monitoring in vzdrževanje WAF-a
WAF ni rešitev po načelu "set and forget". Zahteva reden monitoring in prilagajanje.
Analiza dnevnikov
Redno preglejte WAF dnevnike, da prepoznate: false positive-e, ki blokirajo legitimne uporabnike (in prilagodite pravila), vzorce napadov, ki lahko nakazujejo na ciljan napad, IP naslove ali obsege, ki generirajo veliko zlonamernih zahtevkov, in nove tipe napadov, ki morda niso pokriti z obstoječimi pravili. Cloudflare ponuja vizualno nadzorno ploščo za analizo, medtem ko ModSecurity uporablja besedilne dnevniške datoteke, ki jih lahko analizirate z orodji, kot sta GoAccess ali ELK stack.
Posodabljanje pravil
Nove ranljivosti se odkrivajo vsak dan in WAF pravila morajo biti posodobljena, da jih pokrijejo. Cloud WAF rešitve (Cloudflare) samodejno posodabljajo pravila. Za ModSecurity z OWASP CRS posodobite rule set vsaj enkrat mesečno. Spremljajte varnostne biltene za WordPress, vtičnike in teme, ki jih uporabljate, ter dodajte specifična pravila za novo odkrite ranljivosti, preden je popravek na voljo (virtual patching).
Pogoste napake pri uporabi WAF-a
- Preveč agresivna pravila: WAF, ki blokira legitimne uporabnike, je slabši od WAF-a, ki ne obstaja, ker odganja obiskovalce in stranke s strani. Začnite v monitoring načinu in postopoma poostrujte pravila.
- Zanašanje samo na WAF: WAF je en sloj zaščite, ne nadomestilo za posodobljeno programsko opremo, močna gesla, varnostno konfiguracijo in varnostne kopije. Defense-in-depth strategija je edini pravilen pristop.
- Ignoriranje dnevnikov: WAF dnevniki so zlato - natančno vam pokažejo, kdo poskuša kaj na vaši strani. Ignoriranje dnevnikov pomeni, da spregledate pomembne signale o grožnjah.
- Zastarela pravila: WAF s pravili, starimi eno leto, je kot antivirus z zastarelo bazo - ne prepozna novih groženj.
- Brez testiranja po spremembah: Vsaka sprememba WAF pravil mora biti testirana, da se potrdi, da ne blokira legitimnih funkcionalnosti strani.
Zaključek
WAF je esencialen sloj zaščite za vsako spletno stran, še posebej za strani, izdelane v WordPress-u, ki so najpogostejša tarča napadov. Kombinacija cloud WAF-a (Cloudflare) za zaščito pred volumetričnimi napadi in DDoS-om s host-based WAF-om (ModSecurity) za globoko inšpekcijo zahtevkov zagotavlja celovito zaščito. Začnite z monitoring načinom, spremljajte dnevnike, prilagodite pravila za vašo stran in redno posodabljajte rule set-e. Pri BeoHosting-u vsi hosting paketi prihajajo z vnaprej konfiguriranim ModSecurity WAF-om z OWASP Core Rule Set-om, optimiziranim za WordPress, s priporočilom, da uporabite brezplačen plan Cloudflare za dodaten sloj zaščite in CDN ugodnosti.
BeoHosting Ekipa
10+ let izkušenj — Strokovnjaki za spletno gostovanje in infrastrukturo
- Web Hosting
- WordPress Hosting
- VPS
- Dedicated Serveri
- Domeni
- SSL
- cPanel
- LiteSpeed
- Linux administracija
- DNS
Zadnja posodobitev: