U ovom tekstu stavit ćemo naglasak na korištenje gotovog Linux firewall rješenja u svrhu filtriranja mrežnog prometa pomoću kojeg također možemo ostvariti funkcionalnost usmjernika putem jednostavnog grafičkog sučelja.
Osnove komunikacije u današnjim mrežama
Današnja računala uvelike koriste računalne mreže za međusobnu komunikaciju. Komunikacija se odvija putem različitih medija, poput optike, bakrenih parica, zraka itd. Da bi svi sudionici mogli uspješno ostvariti komunikaciju, potrebno je osigurati formalne protokole komuniciranja – skupove pravila koji propisuju moguće poruke i načine na koje se iste među njima mogu izmjenjivati.
Protokol kojim računala na Internetu i u lokalnim mrežama komuniciraju naziva se TCP/IP i zahtijeva da svako računalo unutar mreže ima jedinstvenu IP adresu. Međutim, kako jedno računalo može istovremeno pokretati više aplikacija koje koriste neku adresu za komunikaciju s aplikacijama na drugim računalima, osim same adrese potrebno je uvesti i pojam portova – brojčanih oznaka dodijeljenih aplikacijama koje komuniciraju.
Na taj način, kombinacijom IP adrese i TCP porta, jednoznačno možemo odrediti koje aplikacije na kojim računalima međusobno komuniciraju. Prvih 1000 portova rezervirano je za “standardne” aplikacije kao što su web poslužitelji (80), mail poslužitelji (25) itd., dok više portove operacijski sustavi proizvoljno dodjeljuju klijentskim aplikacijama.
Stoga, ako u nekoj mreži postoji web poslužitelj s adresom x i klijent s adresom y, ovaj drugi dobit će od OS-a proizvoljni port (npr. 1234) za, primjerice, Firefox ili IE i putem njega će ostvariti komunikaciju s web poslužiteljem na adresi x i portu 80. Tu nailazimo na prve sigurnosne izazove.
Mrežni administratori, ali i kućni korisnici, žele zabraniti određenim aplikacijama s vlastitog računala ili mreže komunikaciju s nekim drugim računalima tj. njihovim servisima, kako u jednom, tako i u drugom smjeru, a alati za konfiguriranje tih mrežnih postavki nazivaju se firewalli.
Dva osnovna scenarija
Općenito je preporučljivo instalirati i postaviti bilo kakav firewall na svakom računalu koje komunicira s nekim drugim računalom, bez obzira na to koliko operacijski sustav slovi kao više ili manje siguran.
Dva osnovna zahtjeva su blokada dolaznog prometa prema računalu s određenih lokacija i blokada odlaznog prometa od pojedinih aplikacija prema mreži. U prvom scenariju imamo jedno računalo koje štiti samo sebe, a u drugom imamo računalo/usmjernik koje štiti sebe i čitavu mrežu pritom kontrolirajući pristup svih računala u vlastitoj mreži prema nekoj drugoj mreži (npr. Internetu) i obratno.
U ovom tekstu pokrit ćemo oba scenarija. U svakom slučaju, trebat će vam jedno računalo s instaliranim Ubuntu Linuxom i priključkom na Internet. Najjednostavniji slučaj podrazumijeva posjedovanje fizičkog usmjernika s instaliranim DHCP poslužiteljem koji održava vezu na Internet, dok malo složeniji scenarij uključuje postavljanje internetske veze na samom Linux stroju.
Instalacija firewalla
Pokrenite računalo sa sustavom Ubuntu i prijavite se korisničkim imenom i lozinkom. Ako koristite postojeći usmjernik koji vam omogućava i održava vezu na Internet, priključite ga Ethernet kabelom na mrežnu karticu i sustav će se automatski povezati na Internet.
Neki pružatelji internetskih usluga uređaje isporučuju u “bridged” modu, pa je potrebno spajanje odraditi s računala. U tom slučaju odaberite System – Preferences – Network Connections i u odjeljku DSL dodajte novu vezu.
Unesite samo svoje korisničko ime i lozinku za spajanje na Internet te potvrdite svoj izbor. Trebali biste imati novu vezu DSL Connection 1. Zatvorite prozor Network Connections i uspostavite vezu tako da kliknete na ikonu Network u gornjem desnom kutu desktopa i odaberete prethodno stvorenu vezu. Testirajte spoj pomoću web preglednika.
Nakon toga je potrebno instalirati Firestarter firewall. Otvorite terminal: Applications – Accessories – Terminal. Postanite administrator naredbom “sudo su” i potvrdite lozinku. Nadogradite pakete sustava na posljednju verziju naredbama “apt-get update” i “apt-get upgrade” te instalirajte firewall naredbom “apt-get install firestarter”. Na eventualno pitanje o dodatnim paketima odgovorite s “y” i potvrdite tipkom Enter. Po uspješno dovršenoj instalaciji zatvorite terminal.
Postavljanje firewalla
Firestarter firewall pronaći ćete instaliranog u izborniku Applications – Internet – Firestarter. Po prvom pokretanju predstavit će vam se čarobnjak za konfiguraciju s poprilično detaljnim uputama koje objašnjavaju svaki korak. Kliknite na Forward i odaberite “uređaj” preko kojeg ste spojeni na Internet.
U prvom slučaju (usmjernik osigurava Internet) odabrat ćete Ethernet device koji će najčešće biti eth0, a može biti i eth1 ako imate dvije mrežne kartice. Odaberite IP Address is assigned via DHCP ako je usmjernik zaslužan za održavanje mrežnih adresa, što najčešće jest. U drugom slučaju (Ubuntu Linux osigurava povezivanje na Internet), odabrat ćete DialUp Device (ppp0).
Sljedeći korak omogućit će vam dijeljenje internetske veze na druga računala u mreži, stoga odaberite Enable Internet connection sharing ako je to ono što vas zanima. Naravno, u tom slučaju na sustavu će morati postojati još jedna mrežna kartica (tipično eth1) preko koje Linux komunicira s ostalim računalima koje štiti preko, primjerice, mrežnog preklopnika (switcha). eth1 mrežni adapter se konfigurira u aplikaciji Network connections koja dolazi s Ubuntuom. U sljedećem koraku, za kraj, odaberite pokretanje Firestartera.
Osnovni ekran Firestartera nudi vam tri podizbornika: Status, Events i Policy, a u traci s alatima možete zaustaviti firewall naredbom Stop Firewall, kao i zaustaviti sav mrežni promet (Lock Firewall) u slučaju nekih nepredviđenih događaja, proboja sigurnosti sustava i slično.
Također u podizborniku Status možete proširiti Active connections kako biste stekli uvid u trenutno pokrenute programe koji pristupaju mreži. Stanje Firestartera oslikano je velikom ikonom u podizborniku Status, kao i malom ikonom u Trayu u gornjem desnom kutu desktopa.
Podizbornik Events sadrži log događaja kad je Firestarter blokirao neku komunikaciju. Specificirani su detalji poput protokola, odredišta i vrste usluge koja je blokirana, a po želji možete dodati stupce s opširnijim informacijama o događajima. Listu možete počistiti ili eksportirati za detaljnu analizu.
Filtriranje prometa
Podizbornik Policy je zapravo najvažniji segment Firestartera. U njemu se definiraju pravila prema kojima će firewall filtrirati promet, tj. propuštati ili zabraniti određene pakete ili ih pak prosljeđivati nekom drugom računalu unutar mreže. Firestarter vam omogućava stvaranje pravila u dvije kategorije – Inbound traffic, tj. dolazni promet upućen prema firewallu, te Outbound traffic, tj. odlazni promet upućen iz lokalne mreže pod kontrolom firewalla ili samog firewalla prema vanjskoj mreži (Internetu).
Inbound traffic konfiguriramo pomoću triju skupova pravila: Allow connections from host, Allow Service i Forward service. Pravila se navode u za to predviđenim prozorima na način da kliknete na željeni prozor i potom na Add rule. U Allow connections from host dodajete IP adrese, nazive računala ili cijelu klasu (mrežu) klijenata iz vašeg LAN-a kojima je dopušten pristup računalu/firewallu.
Putem Allow service možete dopustiti pristup određenom predefiniranom servisu ili proizvoljnom TCP portu na firewall/računalu, i to bilo kome, isključivo LAN klijentima ili specifičnoj IP adresi, računalu ili mreži računala. Putem Forward service možete realizirati tzv. port forwarding, tj. preusmjeravanje svog prometa dospjelog na određeni port firewalla prema tom istom ili nekom drugom portu specifičnog računala u LAN-u. To je korisno ukoliko izvana želite pristupiti konkretnom servisu nekog računala u LAN-u skrivenom iza firewalla.
Odlazni (outbound) promet možda je i najzahtjevniji za postavljanje, a može ga se specificirati na dva predefinirana načina: dopuštanjem kompletnog prometa i potom onemogućavanjem pojedinih mrežnih usluga, ili restriktivnije – zabranom kompletnog prometa kroz firewall i propuštanjem pojedinih mrežnih usluga.
U prvom slučaju nude vam se tri prozora, slično kao i za Inbound policy, a to su: Deny connections to host, Deny connections from LAN host i Deny service. Deny connections to host sadrži listu IP adresa, naziva računala ili klasa adresa prema kojima će promet biti zabranjen.
To je zgodno ako korisnicima želite zabraniti pristup određenim web stranicama. Deny connections from LAN host onemogućava specifičnim LAN klijentima prolaz kroz firewall. Deny service je najzanimljiviji budući da možete zabraniti specifične usluge (npr. BitTorrent) ili pristup proizvoljnim portovima kroz firewall bilo kome, samom računalu/firewallu, LAN klijentima ili specifičnoj IP adresi, nazivu računala ili klasi adresa.
Restriktivan način postavljanja pravila komplementaran je prethodno navedenome i sastoji se od omogućavanja (a ne zabranjivanja) mrežnih usluga pomoću prozora Allow connections to host, Allow connections from LAN host i Allow service.
Puštanje u rad
Ako ste zadovoljni postavkama filtriranja prometa, kliknite na Apply Policy u alatnoj traci kako bi Firestarter poništio sva prethodna pravila i aktivirao novopostavljena. Tada vam ostaje testiranje firewalla koje nekad zna biti najzamorniji segment osiguravanja mreže računala budući da funkcionalnost sigurnosne politike s LAN klijenata i po mogućnosti s računala izvan mreže najčešće treba ručno testirati na konkretnim primjerima.
Napredne postavke
Dodatne postavke možete specificirati u izborniku Edit – Preferences. U tom modulu možete promijeniti ponašanje sučelja i sigurnosne politike, kao i neke bitne postavke firewalla koje nisu dostupne kroz kategoriju Policy.
U segmentu Interface moguće je optimizirati log na način da se ne zapisuju redundantni događaji ili događaji vezani za specifično računalo/port u mreži. Također, moguće je namjestiti automatsku primjenu svake promjene u Policy pravilima bez potrebe za klikom na Apply Policy, a zanimljiva je i postavka minimizacije programa u Tray po zatvaranju prozora.
U dodatnim postavkama firewalla možete kontrolirati ponašanje Firestartera prilikom izmjene lokalne adrese DHCP-om, ostvarivanja veze na Internet i slično. Administratorima je zanimljiva mogućnost filtriranja ICMP prometa (ping, traceroute itd.), kao i postavljanje Type of Service filtriranja gdje se može dati prioritet određenim mrežnim servisima ili optimizirati cijeli promet u svrhu brzine, pouzdanosti prijenosa ili bolje interaktivnosti među mrežnim servisima.
Advanced Options možete iskoristiti da biste postavili način odbacivanja blokiranih paketa, kao i blokiranje Broadcast prometa.
Piše: B.B.