Tulemüür (informaatika)

Ajalugu

Termin "tulemüür" tähendab tulekindlat seina tule või potentsiaalse tulekahju edasipääsu tõkestamiseks hoonetes. Morrise ussviirus oli üks esimesi, mis levis arvutist arvutisse, kasutades ära tolleaegsete arvutite haavatavust. Kuigi see polnud oma eesmärgi poolest pahatahtlik, oli see esimene ulatuslik rünnak Internetti ühendatud arvutite turvalisuse vastu. Interneti kogukond ei osanud sellist rünnakut oodata ega olnud ka sellega tegelemiseks valmis.

Esimene põlvkond – paketifiltrid

Esimene artikkel tulemüüri tehnoloogia kohta avaldati aastal 1988, kui insenerid Digital Equipment Corporationist arendasid filtersüsteeme, mida teatakse praegu paketifiltreerimistehnoloogiana. See võrdlemisi lihtne süsteem oli esimene teerajaja edasises kaugele arenenud ning tehnilises interneti turvalisuse maailmas. Bill Cheswick ja Steven M. Bellovin Belli laboratooriumist jätkasid nende uurimist ja arendasid selle põhjal oma firma jaoks esimese töötava mudeli.
Seda tüüpi pakettide filtreerimine ei pööra mingit tähelepanu sellele, kas pakett on osake olemasolevast ühendusest või mitte (st mingit informatsiooni ühenduse oleku kohta ei salvestata). Selle asemel filtreeritakse pakette ainult pakettides sisalduva informatsiooni põhjal, kasutades selleks enamasti kombinatsiooni paketi lähte- ja sihtaadressist, protokollist ning TCP ja UDP puhul pordi numbrist.
TCP- ja UDP-protokollid moodustavad suurema osa suhtlusest üle Interneti ja kuna TCP- ja UDP-liiklus konventsionaalselt kasutab teada-tuntud porte teatud tüüpi liikluse jaoks, siis ühenduse olekust mittemidagi teadev filter saab eristada ja kontrollida sellist tüüpi liiklust (nagu veebilehitsemine, kaugprintimine, e-kirja saatmine, faili ülekandmine), kui just arvutid kummalgi pool paketifiltrit ei kasuta mittestandardseid porte.
Pakette filtreerivad tulemüürid töötavad peamiselt OSI-mudeli kolmel esimesel kihil, mis tähendab, et suurem osa tööd tehakse ära võrgu ja füüsiliste kihtide vahel ning ainult natuke piiludes transpordikihti, et aru saada lähte- ja sihtkoha pordinumbritest. Kui pakett pärineb saatjalt ja jõuab tulemüürini, siis seade kontrollib, kas pakett vastab filtreerimisreeglitele, ja vastavalt sellele kas laseb paketi läbi või tõrjub eemale. Kui pakett läbib tulemüüri, siis filtreerimine toimub protokolli/pordinumbri baasil. Näiteks, kui eksisteerib reegel tulemüüri seadetes, mis keelab ligipääsu läbi Telneti, siis tulemüür blokib IP-protokollid, milles kasutatakse pordinumbrit 23.

Teine põlvkond – rakenduskihi tulemüür

Peamine kasu rakenduskihi tulemüürist/rakenduskihi filtreerimisest on, et see saab aru teatud rakendustest ja protokollidest
(nagu File Transfer Protocol, DNS või veebilehitsemine), ja see võimaldab avastada, kui mittesoovitud protokoll proovib siseneda mittestandardse pordi kaudu või kui protokolli ahistatakse mingil muul kahjulikul viisil.
Rakenduskihi tulemüür on palju turvalisem ja usaldusväärsem võrreldes paketifiltri tulemüüriga, kuna see töötab kõigil seitsmel OSI mudeli kihil, rakendusest kuni füüsilise kihini. See on küll sarnane pakette filtreeriva tulemüüriga, aga siin on võimalik informatsiooni filtreerida lisaks ka sisust lähtudes. Parim näide rakenduskihi tulemüürist on ISA(Internet Security and Acceleration) server. Rakenduskihi tulemüür suudab filtreerida kõrgema kihi protokolle nagu FTP, Telnet, DNS, DHCP, HTTP, TCP, UDP ja TFTP (GSS). Näiteks, kui organisatsioon tahab blokeerida kogu informatsiooni, mis on seotud sõnaga "foo", siis saab käivitada sisu filtreerimise tulemüüris, et see sõna edaspidi blokeeritakse. Tarkvaral põhinevad tulemüürid on seega aeglasemad kui olekuteadlikud tulemüürid. Kui mõni saatjapoolne pakett blokeeritakse tulemüüri poolt, siis saatjat sellest üldiselt ei teavitata. Põhimõtteliselt suudavad rakenduskihi tulemüürid peatada kogu soovimatu välise ligipääsu kaitstud arvutitesse. Põhjalikult uurides iga paketi sisu saavad tulemüürid ennetada võrgu-usside või trooja hobuste pääsemist võrku ühendatud arvutisse. Igasugused lisakriteeriumid, mida pakettide läbivaatamisel arvestatakse, lisavad teatava ajakulu pakettide toimetamisele sihtkohta.

Kolmas põlvkond – olekuteadlikud tulemüürid

Aastast 1989–1990 kolm kolleegi Belli laboratooriumist, Dave Presetto, Janardan Sharma ja Kshitij Nigam, arendasid kolmanda põlvkonna tulemüüre, kutsudes neid riistvara-taseme tulemüürideks.
Kolmanda generatsiooni tulemüürid, lisaks esimese ja teise põlvkonna tulemüüridele vaatab ka iga paketi asetust paketiseeria sees. Üldiselt viidataks sellele tehnoloogiale kui olekuteadlikule pakettide inspekteerimisele, kuna säilitatakse teave kõigist ühendustest, mis tulemüüri läbivad, ning on võimelised määrama, kas konkreetne pakett kujutab endast uue ühenduse algust, on osa praegusest ühendusest või on hoopis vigane pakett. Kuigi selles tulemüüris on ikka hulk staatilisi reegleid, ühenduse olek võib ise olla üheks kriteeriumiks, mis ütleb, millised kindlad reeglid kehtestada. Seda tüüpi tulemüüre on võimelised ära kasutama Denial-of-service rünnakud, mis võivad täita ühendustabeleid ebaseaduslike ühendustega.

Järgmised edasiarendused

Aastal 1992, Bob Braden ja Annette DeSchon Lõuna-California Ülikoolist viimistlesid tulemüüri kontseptsiooni. Toode Visas oli esimene süsteem, millesse oli integreeritud visuaalne liides koos värvide ja ikoonidega ning mida oli kerge implementeerida ja ligipääseda arvuti operatsioonisüsteemist, nagu Microsoft Windows või Apple MacOS. Aastal 1994 Iisraeli firma Check Point Software Technologies ehitas selle vabalt kättesaadavaks tarvaraks, mida teatakse FireWall-1 nime all.
Tänapäevaste tulemüüride pakettide sügavuti läbiuurimise deep packet inspection funktsionaalsuse saab ühendada sissetungimist ennetavate süsteemidega.
Praegu töötab Middlebox Communication töörühm organisatsioonist Internet Engineering Task Force (IETF) protokollide standardimise kallal, mis võimaldaks tulemüüride paremat haldamist.
Areng toimub ka selles suunas, et integreerida kasutaja identiteet tulemüüri reeglitesse. Paljud tulemüürid kätkevad endas omadust, et kasutaja seotakse mingi konkreetse IP- või MAC-aadressiga, mis on väga üldine ja millest on kerge mööda saada. NuFW tulemüür pakub tõelist identifitseerimisel põhinevat tulemüüri, mis nõuab iga ühenduse jaoks kasutajalt signatuuri. authpf BSD süsteemidel laadib tulemüüri seaded automaatselt iga kasutaja jaoks pärast autentimist läbi SSH.