3.2. Palomuuritekniikoita
Palomuuri voidaan rakentaa lukemattomilla eri tavoilla ja tekniikoilla. Voidaan ajatella, että palomuurin komponentit pitäisi olla palomuuria rakentavan henkilön mielessä, sillä palomuuri on enemmän käsite kuin yksittäinen tuote; se on kokonainen käytönhallintamekanismi. Yleisemmässä mielessä palomuuri koostuu ohjelmistoista ja laitteista. Ohjelmisto voi olla kaupallinen tai ilmainen ja laitteistokin mikä vaan, kunhan se tukee ohjelmistoa.
Palomuuriarkkitehtuurit
Palomuurin arkkitehtuurilla tarkoitetaan tässä tapauksessa laite- ja ohjelmistokomponentteja, niiden liittymiä ja toimintojen jakautumista komponenttien kesken. Palomuuriarkkitehtuureja on kahta tyyppiä: yksikerroksinen (single-layer) ja monikerroksinen (multi-layer).
Yksikerroksisessa arkkitehtuurissa palomuuritoiminnot on sisällytetty yhteen verkon isäntäkoneeseen, joka on liitetty kaikkiin niihin verkkoihin, joiden pääsynvalvonnasta se vastaa (ks. kuva alla).
Tämä ratkaisu valitaan yleensä silloin kun kustannusten säästö on tärkeintä ja yhdistettävänä on vain kaksi verkkoa. Ratkaisun hyvänä puolena on se, että palomuurin hallinta keskittyy yhteen isäntäkoneeseen. Jos turvapolitiikka on yksikertainen ja yhteenliitettäviä verkkoja on vähän, ratkaisu on kustannustehokas. Yksikerroksisen ratkaisun huono puoli on sen alttius asennus- ja konfiguraatiovirheille. Jo yksi virhe tai puute voi murtaa palomuurisuojauksen.
Monikerroksisessa arkkitehtuurissa palomuuritoiminnot on jaettu pienelle joukolle isäntäkoneita, jotka tavallisesti kytketään sarjaan siten että niiden välillä on aina demilitarisoitu vyöhyke (DMZ) (ks. kuva alla).
Ratkaisu on vaikeampi suunnitella ja käyttää, mutta se tarjoaa selvästi paremman turvan eriyttämällä toteuttavat suojaukset. Korkeammasta hinnasta huolimatta on suositeltavaa käyttää kussakin palomuuri-isäntäkoneessa eri tekniikkaa, mikä vähentää riskiä, jotta asennus- tai konfigurointivirhe esiintyisi kaikissa kerroksissa.
Perusarkkitehtuurin jälkeen on valittava, mikä palomuuritoiminto millekin isäntäkoneelle asennetaan. Palomuuritoimintojen kaksi pääryhmää ovat pakettisuodatus ja sovellustason yhdyskäytävä (näistä lisää myöhemmin). Toimintoja voidaan käyttää yhdessä tai erikseen ja ne voidaan asentaa yhteen tai useampaan palomuuriin.
On monta hyvää syytä käyttää sekä pakettisuodatusta että sovellustason välityspalvelinta eli proxya. Joitakin palveluita (esim. SMTP, HTTP, NTP) voidaan yleensä hallita turvallisesti pakettisuodatuksella, mutta toiset palvelut (esim. DNS, FTP) saattavat vaatia monimutkaisempia ominaisuuksia. ihannetilanteessa palomuuriarkkitehtuurin suunnittelu tehdään ennen kuin palomuurilaitteisto ja -ohjelmisto valitaan.
Palomuurin dokumentointi
Palomuuriarkkitehtuuri tulisi aina dokumentoida. Dokumenttikaavio auttaa asiasta keskusteltaessa ja niiden avulla voi välttää virheitä. Nyrkkisääntö onkin "jos et pysty sitä piirtämään, et pysty sitä myöskään rakentamaan". Yleensä dokumentointi ja suunnittelu kannattaisi tehdä asiantuntijan kanssa.
Palomuuritekniikoiden tarkastelu
Yleisesti ottaen palomuuritekniikat voidaan jakaa kolmeen ryhmään:
Yksi mahdollisuus on käyttää järeää palvelinta ja siinä pyörivää palomuuriohjelmaa. Koneessa on vähintään kaksi verkkokorttia, joista toinen on kiinni sisä- ja toinen ulkoverkossa. Ainoa tie kortilta ja verkosta toiseen kulkee palomuuriohjelman kautta.
Koska kaikki organisaation Internet-liikenne kulkee palomuurin läpi, työhön tarvitaan tehokas laite. Monimutkaiset palomuuriohjelmistot ovat usein kalliita ja vaativat asiantuntijan määrittelemään IP-pakettien käsittelysäännöt.
Palomuuri voi olla myös mitättömän näköinen purkki, joka kytketään organisaatioon tulevaan Internet-yhteyteen ennen tietokoneita. Tällainen purkki toimii täysin itsenäisesti, joten se on tietoturvan kannalta helppo ratkaisu, koska siinä ei ole perinteistä käyttöjärjestelmää eikä levyasemaa, joita voisi käyttää murtautumiseen. Purkkimallista palomuuria ohjataan joltain sisäverkon koneelta. Purkin asetukset tehdään usein www-lomakkeella, joten purkin sisäpuolella pyörii pieni erikoistunut www-palvelin. Joissakin palomuureissa on myös erillinen portti (esim. sarjaportti), jolloin purkin asetuksen tehdään siihen kytketyn pääteohjelman kautta merkkipohjaisesti.
Kotikäyttäjän palomuuri voi olla omassa koneessa oleva ohjemallinen palomuuriohjelma. Koska ohjelma toimii samassa koneessa suojattavien ohjelmien kanssa, tehtävä on vaativa (vrt. myöhemmin Outpost luvussa 3.4). Henkilökohtaisella palomuurilla on myös omat hyvät puolensa, koska se voidaan räätälöidä tarkemmin tietyn työaseman ja käyttäjän tarpeisiin.
Tänä päivänä on myös yleistynyt käytäntö, jossa palomuuritoiminto ostetaan esim. laajakaistayhteyden yhteydessä Internet-operaattorilta (ISP, Internet Service Provider). Tällöin kaikki tarkistukset ja palomuuriohjelman päivitykset tehdään operaattorin omassa koneessa tai ne ladataan kotikoneelle ISP:n tarjoamin päivityksin.
ISP:n rooli tietoturvan toteuttajana tullenee muutenkin kasvamaan. Kunnolliset palomuuri ovat hintavia ja ne vaativat jatkuvaa ylläpitoa, mitä taitoa monellakaan pk-yrityksellä ei ole omasta takaa. IPS:n tarjoamat palvelut ovat usein myös perinteistä palomuurilaitetta laajempia, sillä palvelupaketteihin saattaa kuulua mm. yrityksen www-palvelin siirretään ylläpitoineen ISP:n palvelinhuoneeseen, hälytyksiin reagoiminen tietyn ajan kuluessa, mahdollisten murtautujien jäljittäminen jne.
Seuraavassa tutustumme tarkemmin edellä mainittuihin palomuurien kolmeen perustekniikkaan.
Pakettisuodattimeen perustuva palomuurit
Pakettisuodatin-palomuurit ovat tyypillisesti reitittimiä, jotka on varustettu
pakettisuodatusominaisuuksilla. Tavanomaisella pakettisuodatusreitittimellä
voidaan myöntää tai evätä pääsy palvelimelle useiden muuttujien perusteella.
Muuttujia voivat olla mm.
Reitinpohjaiset palomuurit ovat suosittuja, koska ne on helppo toteuttaa (johdot kiinni, pääsyoikeuslista sisään ja valmista on). Lisäksi reitittimet ovat integroitu ratkaisu: jos verkkosi on liitetty kiinteästi Internetiin, reititin tarvitaan joka tapauksessa.
Toisaalta reititinpohjaisissa palomuureissa on useita puutteita. Ensiksikin niitä ei ole yleensä valmistettu käsittelemään tietyntyyppisiä palveluksenestohyökkäyksiä. Monet Internetissä nykyään käytetyt palvelunestotekniikat perustuvat virheellisiin paketteihin, SYN-tulviin tai muihin TCP/IP-pohjaisiin poikkeustilanteisiin. Perusreitittimiä ei ole suunniteltu tällaisten hyökkäysten käsittelyyn. Toiseksi monet reitittimet eivät pidä kirjaa istunnon tiladatasta, ja siksi ylläpitäjien on pakko pitää kaikki 1024:n yläpuolella olevat portit avoinna, jotta TCP-istunnot ja istuntoneuvottelut voidaan käsitellä asianmukaisesti. Vaikka tämä ei ole valtava turvauhka (koska näissä porteissa ei edes kuuluisi olla kuuntelevia palveluja käynnissä), yleisesti ottaen ei ole hyvä käytäntö jättää käyttämättömiä portteja avoimeksi ulkopuolelta saapuvalle liikenteelle.
Lisäksi, pääsyoikeuslistojen käyttö kehittyneissä reitittimissä, jotka sijaitsevat erittäin vilkasliikenteisessä verkoissa, voi aiheuttaa suorituskyvyn heikkenemistä ja kasvattaa prosessikuormaa. Periaate ei kuitenkaan koske kaikkia tuotteita.
Monet verkkoylläpitäjät käyttävät ulkoreunan reitittimissä pääsylistoja (ACL, Access Control List) ja lisäksi kehittyneempää palomuuria, millä saadaan aikaan monikerroksinen verkkoliikenteen hallinta. |
Tilapohjaiseen pakettisuodattimeen perustuvat
palomuurit
Tilapohjainen pakettisuodatus perustuu pakettisuodatuskäsitteeseen, jota on
viety hieman pidemmälle. Tämän mallin mukaan rakennetut palomuurit pitävät
istunnoista ja yhteyksistä kirjaa sisäisissä tilataulukoissa ja voivat näin
reagoida tapahtumiin taulukoiden mukaisesti. Tämän vuoksi tilapohjaiset
pakettisuodatintuotteet ovat joustavampia kuin puhtaat pakettisuodattimet.
Lisäksi useimmat tilapohjaiset pakettisuodatintuotteet on suunniteltu antamaan
suojaa tietyntyyppisiä palvelunestohyökkäyksiä vastaan ja parantamaan
SMTP-pohjaisen postin ja erilaisten muiden turvaominaisuuksien suojausta.
Checkpoint kehitti SI-tekniikan (stateful inspection eli tilapohjainen tarkastelu), joka vie tilapohjaisen pakettisuodatuksen pykälän pidemmälle. Ylläpitäjät voivat SI:n avulla rakentaa palomuurisääntöjä, joilla otetaan huomioon datan todellinen hyötykuorma pelkkien osoitteiden ja porttien sijaan. Koska tilapohjaiset pakettisuodatinpalomuurit pitävät kirjaa istuntojen tilasta, ne voivat pitää 1024:n yläpuoliset portit kiinni ja avata niitä vain tarvittaessa. Tästä syystä monet ylläpitäjät asettavat tilapohjaisen pakettisuodatuksen minimivaatimukseksi palomuuriratkaisua toteuttaessaan.
Välityspalveluun perustuvat palomuurit
Kolmas palomuurityyppi on välityspalveluun (proxy) perustuva palomuuri (jota kutsutaan joskus myös sovellusyhdyskäytäväksi tai sovellusvälityspalveluksi). Kun etäkäyttäjä ottaa yhteyttä verkkoon, jossa käytetään välityspalveluun perustuvaa palomuuria, palomuuri välittää yhteyden eteenpäin. Tällä tekniikalla IP-paketteja ei lähetetä suoraan sisäverkkoon, vaan palomuuri suorittaa muunnoksen toimien välittäjänä ja tulkkina.
Mutta miten tämä eroaa tilapohjaisesta tai
yleisestä pakettisuodatuksesta? Sekä pakettisuodattimet että tilapohjaiset
suodatusprosessit tarkastelevat saapuvia ja lähtevä paketteja verkko- ja
istuntotasolla (vrt. OSI-mallin eri kerrokset). Ne tutkivat IP-lähde ja -kohdeosoitteita ja tilalippuja, vertaavat
niitä sääntöjoukkoihin ja taulukkotietoihin ja päättävät sitten lähetetäänkö
paketti eteenpäin.
Välityspalveluun perustuvat tutkivat liikennettä sovellustasolla matalampien
tasojen lisäksi. Paketti saapuu palomuuriin, se siirretään sovelluskohtaiselle
välityspalvelulle, joka tutkii paketin oikeellisuutta ja itse sovellustason
pyyntöä. Jos välityspalvelinpalomuuriin saapuu esimerkiksi www-pyyntö (http),
http-pyynnön sisältävä datakuorma siirretään http-välitysprosessille. FTP-pyyntö
ojennettaisiin FTP-välitysprosessille, telnet-pyyntö telnet-välitysprosessille
jne.
Protokollakohtaisen lähestymistavan käsite on tilapohjaista ja yleistä pakettisuodatusta turvallisempi, koska palomuuri ymmärtää itse sovellusprotokollia (http, ftp, smtp, pop jne.) Tunkeutujan on vaikeampi hiipiä sellaisen prosessin ohi, joka tarkkailee muutakin vain portteja ja IP-osoitteita. Todellisuudessa tälläkin tekniikalla on ollut aika paljon ongelmia.
Välityspalveluun perustuvat palomuurit ovat olleet aina hitaampia kuin tilapohjaiset pakettisuodattimet. Tällä hetkellä ero on useimmissa verkoissa kyseenalainen (korkeintaan 10 Mbps), mutta raskaasti kuormitetuissa verkoissa (ATM 155 Mbps tai Gigabit Ethernet 1000 Mbps) ongelma on suurempi. Tosin tekniikan kehittyessä tekniikoiden erot voivat tasoittua.
Palomuurien sudenkuopat
Palomuurien ongelmana voi olla se, että suojaukset asetetaan niin tiukoiksi että verkkoliikenne vaikeutuu. Kaikki palomuurien ylläpitäjät kohtaavat klassisen pulman, jossa käyttäjä X haluaa tehdä asian Y, johon liittyy mahdollisia turvaongelmia. Näissä tapauksissa rajanvetoon auttaa tietoturvapolitiikan määrittely (vrt. luku 6.). Fiksusti toimittaessa ongelmakohdat ratkaistaisiin tapauskohtaisesti, mutta valitettavasti tämä toimintatyyli on aika harvinainen. Joka tapauksessa palomuurin ylläpitäjä elää jatkuvien ristiriitaisten pyyntöjen tulituksessa, joiden keskellä oikean toimintatavan valinta voi olla vaikeaa; palomuurin ylläpitäjältä tämä edellyttää asioihin perehtymistä ja neuvottelutaitoa.
Palomuurien rakentaminen tosielämässä
Palomuurien rakentamisessa tulee eittämättä mieleen kysymys: "Mikä on parasta palomuuri ja miten sitä voidaan parhaiten hyödyntää?" Palomuurien osalta vastaus on helppo: "Parasta ratkaisua ei ole olemassakaan." Mutta on silti joukko asioita, joita kannattaa huomioida palomuuria suunniteltaessa. Seuraavassa näistä muutamia.
Osto-ohjeita:
A. Ota huomioon, että palomuurialustat muuttuva ja kehittyvät koko ajan - parasta alustaa ei ole olemassakaan. Mikään ei takaa, että tämän vuoden paras tuote on paras myös ensi vuonna. Voisi kuitenkin ajatella, että alan parhaimmilla yrityksillä varaa ja osaamista panostaa jatkuvasti uusiin tuotteisiin ja tekniikoihin, joten tässä mielessä yrityksen jatkuvuudella on oma merkityksensä. Toinen perusasia on muiden käyttäjien kokemukset tuotteesta ja varsinainen tuotteen testaus - jos se on mahdollista. On tärkeää, että tuote palvelee juuri sinun tarpeitasi!
B. Ymmärrä mitä haluat ja dokumentoi palomuurivaatimuksesi (kuten myös sen toteutus). Pitääkö palomuurin tukea pelkästään Ethernetiä vain muitakin verkkotekniikoita? Pitääkö palomuurintukea NATtia? Kuinka monta liitäntää palomuurissa on oltava? Mihin tarkoitukseen palomuuria tullaan ensi sijassa käyttämään? Yksinkertaisen asian hoitamiseen ei tarvita välttämättä markkinoiden parasta ja kalleinta palomuuritoteutusta.
C. Tunne omat rajasi eli sen mitä osaat. Jos yrityksessä käytetään yksinomaan Windows-sovelluksia eikä UNIX-asiantuntemusta ole, UNIX-pohjaisen, paljon komentorivikäyttöä vaativat palomuurin käyttö ei ole viisasta. Toista perusajatusta: missä ympäristössä ja mihin tehtävään palomuuria tarvitaan?
D. Valitse tuote, joka on jonkun tunnetun tahon tuottama ja joka on osoitettu tosielämässä luotettavaksi. Testit antavat osviittaa. Oma verkon ja käyttäjien tuntemus on välttämätöntä, jotta pystyt perustelemaan päätöstä. Jos mahdollista, yritä dokumentoida verkon tämänhetkiset riskit ja poistaa ne aluksi.
Verkon tutkimisessa on selvitettävä ainakin seuraavat asiat:
Jotta edellä mainitut asiat voitaisiin toteuttaa, palomuurin ylläpitäjällä pitää olla riittävä tiedot sekä verkkotekniikasta että protokollista. Seuraavassa katsomme hieman tarkemmin edellä listattuja asioita.
Topologia- , sovellus- ja protokollatarpeiden selvittäminen
Topologia- , sovellus- ja protokollatarpeiden selvittäminen on yleensä vaikeampaa kuin miltä sen kuulostaa. Jos ylläpidät yksinkertaista verkkoa. joka tukee vain perusprotokollia (SMTP, HTTP, FTP...), tehtävä on kohtuullisen helppo, mutta vähänkin suurempi verkko on harvoin näin homogeeninen. Tietyt sovellukset käyttävät tiettyjä portteja, ja jos organisaatiossasi on paljon erikoisohjelmia, palomuurin konfigurointi vaikeutuu oleellisesti.
Eräs esimerkki monimutkaistuvasta palomuurista on sähköisen kauppapaikan perustaminen.
Olet rakentamassa kauppapaikkaa, jossa myydään joitain mitä tahansa tavaraa. Haluat käyttöösi 24x7-www-palvelinjärjestelmät, 24x7-maksunkäsittely-yhdyskäytävät (joita kutsutaan kauppayhdyskäytäviksi), mahdollisesti sähköpostipalvelimia ja tarvittavat tukijärjestelmät (sovellus- ja tietokantapalvelimia jne.). Oletetaan, että haluat erottaa tehtäväkriittiset 24x7-järjestelmät vähemmän kriittisistä sisäjärjestelmistä kuten sisäisestä SMTP-postiyhteyskäytävästä, sisäisestä FTP-palvelimesta jne. Asiasta kehittyy nopeasti monimutkainen topologiakysymys: kuinka monta liitäntää palomuurissa pitää olla tämän kokoonpanon toteuttamiseksi? Vai tarvitaanko useita palomuureja - ja kuinka monta? Tarvitaanko varajärjestelmiä? Mitä kaikkia protokollia palomuurin tulee tukea?
Vastaukset näihin kysymyksiin olisi etsittävä suunnitteluvaiheessa.
Analysoi organisaation luottamussuhteita ja tiedonkulkureittejä
Organisaation sisäisten (ihmisten tekemien)
prosessien selvittäminen ja ymmärtäminen on tietoturvan kannalta teknisiäkin
asioita tärkeämpää. Erityisen tärkeää on ymmärtää miten verkkosegmenttien tulee
toimia, jotteivat työntekijät vaaranna tietämättään toinen toisiaan. Haasteeksi
voi tulla myös nykykäytäntöjen muuttaminen, etenkin, jos työntekijät ovat
tottuneet vuosikausia tiettyihin systeemeihin. Suurissa organisaatioissa
yksilöiden tarpeet saattavat tuottaa palomuuriin erikoissovelluksia.
Arvioi palomuurituotteita ja valitse tuote
Ennen palomuurin ostamista on tehtävä lista palomuurin pakollisista ominaisuuksista. Seuraavaksi on syytä hankkia demolaitteita ja ohjelmia ja "leikkiä" niillä muutama viikko. Lopullisessa hankinnassa kannattaa kiinnittää huomio seuraaviin asioihin:
Muita varteenotettavia tietolähteitä ovat riippumattomat testilaboratoriot ja arvostetut testauspainoitteiset lehdet.
Palomuurin testaaminen on oma prosessinsa. Testaus pitäisi tehdä sekä ulkoapäin että sisältäpäin. Jos jostain asiasta ei olla varmoja, on parempi olla päästämättä sitä palomuurin lävitse. Netissä ja palomuurin valmistajilla on olemassa valmiita testausohjelmia palomuurin toiminnan analysoimiseksi.