Palomuuri Teoriaa Palomuurin tehtävä on estää ei-toivottua liikennettä paikalliseen verkkoon tai verkosta. Yleensä tämä tarkoittaa, että estetään liikennettä Internetistä paikallisverkkoon tai kotikoneelle. Palomuurilla voidaan myös estää pääsy ulospäin. Tätä käytetään esimerkiksi estämään verkkopelien pelaamista työaikana. Palomuuri voi olla erillinen laite tai ohjelmallinen. Usein käytetään molempia. Ohjelmallinen palomuuri yleensä suojaa vain yhtä työasemaa. Laitteistopohjainen palomuuri taas suojaa koko verkkoa. Windows ja Linux sisältävät nykyisin valmiiksi palomuuriohjelman. Lisäksi Windows:iin on saatavissa lukuisia maksuttomia tai kaupallisia tuotteita. Monet verkon laitteet, kuten ADSL-modeemit, sisältävät myös palomuurin. Palomuuri voi olla pakettitasolla tai sovellustasolla toimiva. Pakettitasolla toimiva voi olla tilaton (stateless) tai tilallinen (stateful). Pakettitason palomuuri Palomuuri tarkistaa ip-osoitteen ja portin perusteella mitä paketille tehdään. Tietojen perusteella paketti voidaan hyväksyä, hylätä tai vain tuhota. Hyväksyminen (accept) tarkoittaa, että palomuuri päästää paketin läpi ja tilallisessa palomuurissa myös kaikki seuraavaksi tulevat samaan yhteyteen kuuluvat paketit. Hylkääminen (deny) tarkoittaa, että palomuuri ei hyväksy yhteyttä. Paketin tuhoaminen (drop) tarkoittaa, että palomuuri hylkää paketin eikä lähetä mitään viestiä takaisin. Tämä tavallaan piilottaa palomuurin, koska hyökkääjän kannalta näyttää, kuin koko yhteys ei toimi. Tilaton ja tilallinen palomuuri (stateless ja stateful) Tilaton palomuuri tarkistaa jokaisen paketin erikseen. Palomuuri joutuu siksi jokaisen paketin kohdalla tarkistamaan omista säännöistään, mitä paketille tehdään. Tilallinen palomuuri tunnistaa samaan yhteyteen kuuluvat paketit. Täydellinen tarkistus tehdään vain yhteyden ensimmäiselle paketille. Seuraavista paketeista tarkistetaan vain, kuuluvatko ne samaan yhteyteen. Sovellustason palomuuri Palomuuri tutkii lähetettävää dataa ja päättää sen perusteella, sallitaanko yhteys. Palomuuri pystyy tekemään päätöksiä sovelluksesta riippuen. Esimerkiksi sähköpostista voidaan tutkia, tuleeko viesti sallitusta osoitteesta, sisältääkö viesti viruksia tai muuta ei-toivottua dataa. Sovellustason palomuurin ongelma on, että se vaatii paljon tehoa ja Juhani Merilinna Sivu 1
siten voi hidastaa liikennettä. Lisäksi sopivien sääntöjen luominen voi olla vaikeaa. Huomaa! Työasemissa toimivat ohjelmalliset palomuurit tunnistavat verkkoa käyttävät paikalliset ohjelmat. Siten palomuurille voidaan esimerkiksi määritellä, että Firefox saa käyttää verkkoa, mutta Internet Explorer ei. Tämä ei ole sama kuin sovellustason palomuuri, koska palomuuri ei tutki pakettien sisältöä, vaan tunnistaa vain ohjelman. Ulkoisella palomuurilla ei ole mahdollista tunnistaa ohjelmaa. Estolistat (blacklist) Internetistä on saatavissa erilaisia listoja vaarallisista tai haitallisista verkko-osoitteista. Monet palomuurit osaavat käyttää näitä listoja suodatuksessa. Listojen ongelma on, että niitä muodostetaan enemmän tai vähemmän automaattisesti. Siksi listalle voi joutua myös vääriä osoitteita. Lisäksi hakkerit muuttavat jatkuvasti osoitteitaan, jolloin listat ovat usein vanhentuneita. Säännöt ja oletuskäytäntö Palomuurin toiminta perustuu yleensä sääntöihin. Sääntöjä voisivat olla vaikka: estä kaikki verkosta 129.13.0.0/16 tulevat yhteydet. estä kaikki paikalliseen porttiin 80 tulevat yhteydet Monissa palomuureissa sääntöjen järjestyksellä on merkitystä. Ensimmäinen tilanteeseen sopiva sääntö ratkaisee, eikä muita sääntöjä edes tarkasteta. Esimerkiksi säännöt: estä kaikki verkosta 129.13.0.0/16 tulevat salli osoitteesta 129.13.0.12 tulevat Onko siis osoitteesta 129.13.0.12 tulevat siis sallittu vai estetty? Ensimmäinen sääntö estää ja toinen sallii! Windows:n palomuurissa sääntöjen järjestyksellä ei ole merkitystä. Linux:n palomuurissa taas järjestyksellä on merkitystä. Palomuurissa on myös oletuskäytäntö. Jos mikään sääntö ei sovi, käytetään oletuskäytäntöä. Suositeltava tapa on määritellä oletuskäytännöksi esto. Siten kaikki yhteydet ovat estetty, jos niitä ei ole erikseen sallittu. Sen jälkeen sallitaan vain tarvittava liikenne eli ns. luodaan palomuuriin aukkoja. Juhani Merilinna Sivu 2
Linux:n palomuuri Palomuurissa on erilliset suodatukset tulevalle, lähtevälle ja läpikulkevalle liikenteelle. Paikallinen kone input output forward Läpikulkeva liikenne tarkoittaa lähinnä, että konetta käytetään reitittimenä. Normaalissa työasemassa vain tulevalla ja lähtevällä suodatuksella on merkitystä. Komentoriviltä palomuuria hallitaan iptables-ohjelmalla. iptables:n käyttö on jonkin verran hankalaa. Siksi on olemassa lukuisia työkaluja asetuksien tekemiseen. iptables L listaa käytössä olevat säännöt. iptables -L Chain INPUT (policy ACCEPT) Chain FORWARD (policy ACCEPT) Chain OUTPUT (policy ACCEPT) Oletuksena ei ole mitään suodatuksia ja oletuskäytäntönä on, että kaikki sallitaan. iptables I INPUT s 192.168.0.0/24 j ACCEPT Määrittelee, että kaikki verkossa 192.168.0.0/24 voivat ottaa yhteyden. iptables P INPUT DROP Muuttaa oletuskäytännöksi, että tulevat yhteydet kielletään. Näillä kahdella käskyllä saadaan palomuurin asetuksiksi: iptables L Chain INPUT (policy DROP) ACCEPT all -- 192.168.0.0/24 anywhere Chain FORWARD (policy ACCEPT) Chain OUTPUT (policy ACCEPT) Juhani Merilinna Sivu 3
Asetuksien mukaan 192.168.0.0/24 verkosta tuleva on sallittu ja kaikkialta muualta kielletty. iptables I lisää säännön listan alkuun iptables A lisää säännön listan loppuun iptables D poistaa säännön iptables F poistaa kaikki säännöt iptables L listaa säännöt iptables P muuttaa oletuskäytäntöä Proxy (välityspalvelin) ja www-cache Proxy on lähinnä sovellustason palomuuri. Proxy usein sekoitetaan www-välimuistiin (www cache). Useimmat proxy-palvelimet sisältävät myös välimuistin, mutta varsinainen proxy tarkoittaa vain välityspalvelinta. Proxy:a käytettäessä työasemalla ei ole suoraa yhteyttä ulkoiseen verkkoon. Työasema ottaa yhteyden proxy:iin, joka edelleen ottaa yhteyden ulkoisessa verkossa olevaan palvelimeen. Koska proxy toimii sovellustasolla, voidaan liikennettä suodattaa myös sisällön perusteella. Proxy voi sisältää virustarkistuksen. Kattava tarkistus vaatii kuitenkin paljon konetehoa. Siksi virustarkistus jätetään yleensä työasemakohtaisille ohjelmille. Koska työasemilla ei ole suoraa yhteyttä ulkoiseen verkkoon, ne ovat tehokkaasti suojattuja ulkoisilta hyökkäyksiltä. WWW-cache Cache:a käytetään tallettamaan sivuja, joita käyttäjät ovat ladanneet. Siten katsottaessa samaa sivua uudelleen, sivu saadaan nopeasti välimuistista. Cache:n merkitys on vähentynyt. Useimmat www-sivut ovat dynaamisia eli niiden sisältö muuttuu jatkuvasti. Lisäksi selaimilla on oma välimuistinsa. Paikallisverkon osoitteet Paikallisverkon koneissa käytetään ns. yksityisiä, reitittämättömiä, osoitteita. Näitä ovat: 192.168. alkuiset 172.16. -172.31. alkuiset 10. alkuiset Näitä osoitteita käytetään siis paikallisverkossa silloin, kun verkossa on käytössä NAT. Muiden osoitteiden käyttö voi aiheuttaa virhetoimintoja. Juhani Merilinna Sivu 4
Liite 1: NMAP NMAP on ohjelma, jolla voi mm. testata palomuurin toimintaa. Perustoiminta on skannaus, jolla selvitetään kohden koneen avoimet portit eli portit, joissa on jokin ohjelma kuuntelemassa ja joita ei ole suojattu palomuurilla. Kuvassa on skannattu kone (ip-osoite 192.168.0.103), jossa on Vista ilman palomuuria. Ohjelmana on käytetty Zenmap:ä, joka on NMAP:n käyttöliittymä. Zenmap tunnistaa myös kohdekoneesta erilaisia tietoja, kuten käyttöjärjestelmän. Skannauksessa voi käyttää joko valmiita profiileja tai kirjoittaa Command-kentään vastaavan NMAP-komennon. Huom! Älä tutki NMAP:llä toisissa verkoissa olevia koneita. Joku voi tulkita sen hakkerihyökkäykseksi!! Juhani Merilinna Sivu 5