Što je firewall je pitanje koje čujemo stalno – od klijenata koji naručuju web stranice, od tvrtki koje razvijaju interne aplikacije, pa čak i od ljudi koji “samo žele da im stranica radi i da ih nitko ne hakira”. Firewall nije buzzword, nije marketinška fraza i nije neka mistična kutija u server sobi. To je konkretan, prilično nemilosrdan mehanizam koji odlučuje tko smije ući, tko ostaje vani i što se događa s prometom koji prolazi kroz vaše sustave. Kad mi radimo web stranice i aplikacije, firewall nije dodatak – on je dio temelja, isto kao baza podataka ili backend logika. Bez njega, sustav je otvoren poziv svima, uključujući one s lošim namjerama.
Što je firewall i kako stvarno funkcionira
Firewall je sigurnosni sustav koji nadzire i kontrolira mrežni promet prema unaprijed definiranim pravilima. U praksi to znači da on stoji između vašeg servera, aplikacije ili interne mreže i vanjskog svijeta, najčešće interneta. Svaki zahtjev koji dolazi ili odlazi prolazi kroz njega. Nema preskakanja, nema “samo ovaj put”.
Postoje hardverski i softverski firewalli. Hardverski su fizički uređaji, često korišteni u većim mrežama i tvrtkama. Softverski firewalli su aplikacije ili servisi koji se izvršavaju na serveru ili unutar operativnog sustava. Kad mi postavljamo servere za web aplikacije, najčešće kombiniramo oboje – jer oslanjati se na jednu razinu zaštite je kao zaključati vrata, ali ostaviti prozore širom otvorene.
Firewall radi po pravilima. Ta pravila mogu biti jednostavna, poput “blokiraj sav promet s ove IP adrese”, ali i kompleksna, poput analize ponašanja zahtjeva. Ako netko u sekundi pošalje tisuće zahtjeva na login formu, firewall to vidi i reagira prije nego aplikacija uopće stigne obraditi zahtjev. To znači manje opterećenje servera i manje šanse da se dogodi šteta.
Važno je razumjeti da firewall ne štiti samo od hakera u klasičnom smislu. On štiti i od loše konfiguriranih skripti, botova, pokušaja brute-force napada, pa čak i od slučajnih grešaka koje mogu srušiti aplikaciju. Kad radimo sustave za klijente, firewall često prvi primijeti problem – puno prije nego korisnici počnu slati mailove tipa “ne radi mi stranica”.
Firewall može filtrirati promet prema portovima, protokolima, IP adresama, pa čak i prema sadržaju samog zahtjeva. To je posebno važno kod web aplikacija koje koriste forme, API-je i integracije s vanjskim servisima. Bez pravilno postavljenog firewalla, API endpoint je javna meta. S firewallom, on postaje kontrolirana točka ulaza.
Firewall u stvarnim web projektima i aplikacijama
U teoriji, firewall zvuči kao nešto što “treba imati”. U praksi, on odlučuje hoće li web stranica raditi stabilno ili će pasti prvi put kad netko odluči testirati granice. Kad mi razvijamo web stranice i aplikacije, firewall planiramo paralelno s arhitekturom sustava. Nije nešto što se “dodaje kasnije”, jer kasnije je obično – prekasno.
Primjer iz stvarnog rada: web stranica s WooCommerceom, nekoliko formi i custom API integracijom. Bez firewalla, botovi su u stanju u par sati napuniti bazu lažnim registracijama i zatrpati server zahtjevima. S pravilno konfiguriranim firewallom, većina tog prometa nikad ne dođe do WordPressa. Rezultat? Brža stranica, manji troškovi hostinga i klijent koji ne zove u panici.
Firewall je također ključan kod aplikacija koje rade s osjetljivim podacima. Ne mora to biti banka ili zdravstveni sustav – dovoljno je da imate korisničke račune, narudžbe ili interne admin panele. Firewall može ograničiti pristup admin dijelovima samo na određene IP adrese, što je jednostavna, ali brutalno učinkovita mjera. Mi to redovito implementiramo jer je jeftino, brzo i smanjuje rizik gotovo odmah.
Još jedna stvar koju ljudi često zanemaruju: firewall nije “set and forget”. Pravila se moraju prilagođavati kako se aplikacija razvija. Novi endpointi, nove integracije, novi tipovi korisnika – sve to mijenja promet. Ako firewall ostane statičan, ili će blokirati legitimne korisnike ili će propustiti nešto što ne bi smio. Zato u našim projektima firewall nije samo konfiguracija, nego dio održavanja.
Postoje i napredni web application firewalli (WAF) koji razumiju kako web aplikacije funkcioniraju. Oni mogu prepoznati pokušaje SQL injectiona, XSS napada i slične stvari bez da developer mora ručno pisati pravilo za svaku situaciju. To ne znači da je kod smije biti loš – ali znači da imate dodatni sloj zaštite kad se dogodi ljudska greška. A greške se događaju, koliko god netko tvrdio suprotno.
Firewall je često prva linija obrane, ali i prvi izvor istine kad nešto krene po zlu. Logovi koje generira znaju točno pokazati odakle dolazi problem i kakav je promet u pitanju. To nama omogućuje da reagiramo brzo i precizno, umjesto da nagađamo. U stvarnom svijetu, to znači manje downtimea i manje izgubljenih živaca.
Na kraju, firewall nije tu da impresionira, nego da radi prljavi posao u pozadini. Kad je dobro postavljen, nitko ga ne primjećuje. Kad ga nema ili je loše konfiguriran, primijete ga svi – obično u najgorem mogućem trenutku. Zato ga u našim projektima tretiramo kao obavezni dio infrastrukture, a ne kao opciju.
