Tehtävän suorittaminen Työssä käytetään kahta virtuaalista Windows 7:ää. Tehtävää varten on Helgapalvelimella valmis Ghostilla tehty osion kuva. 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. Juhani Merilinna Sivu 1
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 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
Windows:n palomuuri Windows sisältää ohjelmallisen palomuurin. Tulevat yhteydet suodatetaan ip-osoitteen ja portin perusteella. Lähtevien yhteyksien suodatus Lähtevät yhteydet eli yhteydet, jossa yhteyden ottaja on jokin samassa koneessa oleva ohjelma, voidaan estää osoitteen ja portin mukaan. Lisäksi palomuuri voi estää myös jonkin paikallisen ohjelman käyttämästä verkkoa. Tällöin esto ei perustu osoitteisiin tai portteihin vaan ohjelman nimeen. Jos vain hyväksytyt ohjelmat voivat käyttää verkkoa, periaatteessa voidaan estää erilaisien haittaohjelmien toiminnan. Valitettavasti ohjelmallinen palomuuri on melko helppo kiertää. Palomuurin hallinta Windows:ssa on kaksi palomuurin hallintaohjelmaa. Helppokäyttöinen perusohjelma ja kehittynyt hallintaohjelma. Perushallintaohjelma Helppokäyttöinen liitäntä löytyy ControlPanel:sta monen mutkan kautta tai nopeammin: klikkaa Windows 7:n valikossa tai Explorerissa oikealla painikkeella Network ja valitse Properties. Avautuvassa ikkunassa klikkaa Windows Firewall. Klikkaamalla Change settings pääset muuttamaan asetuksia. Juhani Merilinna Sivu 3
Juhani Merilinna Sivu 4
Kehittyneempi hallintaohjelma Helpoin tapa käynnistää ohjelma on kirjoittaa wf.msc Windows 7:n valikon hakukenttää. Palomuurissa on asetukset kolmelle eri tilanteelle: Domain on käytössä, kun työasema on liitetty Windows-toimialueelle. Private on käytössä, kun työasema on esim. kotikäytössä. Public on käytössä, kun käytetään jotakin julkista verkko kuten nettikahviloiden verkot Kuvassa Private-profiili on aktiivinen. Klikkaamalla Inbound Rules saa listan valmiiksi määritellyistä säännöistä. Sääntöjä on paljon, mutta vain osa on käytössä. Juhani Merilinna Sivu 5
Huomaa, että perushallintaohjelman Exception-kohdassa määritellyt asetukset vaikuttavat näihin sääntöihin. 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ä. Juhani Merilinna Sivu 6
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. NAT, network address translation NAT tarkoittaa, että jokin laite, yleensä palomuuri, muuttaa ip-osoitteita verkossa liikkuvissa paketeissa. Kuvassa paikallinen kone 192.168.0.10 ottaa yhteyden ulkopuolella olevaan koneeseen. NAT muuttaa ip-paketissa osoitteeksi 88.17.31.137. NAT:n etuja: rekisteröityjä ip-osoitteita tarvitaan vähemmän ulkopuolelta ei saa (ainakaan helpolla) yhteyttä verkon koneisiin eli tietoturva paranee. NAT:sta on eri versioita: static NAT (1to1). Jokaista paikallisverkon osoitetta vastaa yksi julkisen verkon osoite. Dynamic NAT (NtoM). Julkiseen verkkoon näkyvä osoite valitaan aina jokaista yhteyttä varten. Port NAT (pnat, Nto1). Julkisen verkon osoitteita on vain yksi. Kaikki paikallisen verkon osoitteet muutetaan siis samaksi julkiseksi osoitteeksi. NAT muuttaa yhteyksien porttiosoitteita yhteyksien erottelemiseksi. Juhani Merilinna Sivu 7
PortNAT Kuvassa kaksi paikallisverkon konetta luo yhteyden ulkopuoliseen koneeseen. Ulospäin näkyvä osoite on molemmissa sama. NAT erottaa koneet toisistaan portin perusteella. pnat:n etu on, että rekisteröityjä osoitteita tarvitaan vain yksi. Silti kaikki paikallisverkon koneet saavat suoran yhteyden ulos. 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. NMAP NMAP on ohjelma, jolla voi mm. testata palomuurin toimintaa. Perustoiminta on skannaus, jolla selvitetään kohdekoneen 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 Windows 7 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 8
Harjoitusympäristön asennus Tarkista ensin, onko koneessa perusasetus. Helpoimmin tämän näkee siitä, että käynnistäessä näytölle tulee valikko, jossa on kaksi Windows 7 versiota (Windows 7 ja Windows 7 peruswin). Jos perusasetusta ei ole joudut asentamaan sen ensimmäiseksi. Peruspaketti on Helgan ict-jaossa hakemistossa \ghosts\peruswin. Kun koneessa on peruspaketti, voit asentaa harjoituksessa tarvittavan Windowsin. Muista valita Ghostissa partition/from image (ei disk/from image). Asennettava kuva on tiedostossa ghosts\win7vbox\win7vbox.gho. Käynnistä asennettu windows. Käytössä on kolme käyttäjätunnusta. Tässä harjoituksessa käytetään tiko-tunnusta. Tunnukset ja niiden salasanat: Admin bite tiko px6%7pk&3yfs MaUsWoSt&011 Helia07 Juhani Merilinna Sivu 9
Tehtävät Käynnistä Oracle VirtualBox. VirtualBoxissa on valmiiksi tehty yksi virtuaalikone. Tee siitä kopio. Kopio tehdään valikossa Kone olevalla Clone-toiminnalla. Tee täydellinen kopio, ei linkitettyä. Kopiointi kestää jonkin aikaa, joten nyt on hyvää aikaa tutustua tehtävään. Kun kopio on valmis, käynnistä se. Koska kyseessä on kopio, siinä on myös samat asetukset kuin alkuperäisessä. Muuta kopiossa ip-osoite ja koneen nimi. Ip-osoitteen on oltava samassa verkossa, joten voit muuttaa vain viimeistä numeroa. Huomaa, että virtuaalikoneet on kytketty vain sisäiseen verkkoon eli niistä ei ole yhteyttä ulos. Käytännössä virtuaalikoneet saavat yhteyden vain toisiinsa. Yleinen verkkotehtävä Huom. tätä ei voi tehdä virtuaalikoneella, koska siitä ei ole yhteyttä ulos. Etsi jokin www-sivu, joka näyttää koneesi ip-osoitteen. Eräs sopiva on http://www.ipaddresslocation.org. Samalla sivulla on myös mahdollisuus paikantaa jokin kone ip-osoitteen perusteella. Jos voit, kokeile samaa sivua koululla ja jossakin muualla kuten kotona. Kokeile myös muuttaa selaimen proxy-asetusta. Proxy on yleensä oletuksena käytössä. Vertaa osoitetta muiden opiskelijoiden saamiin tuloksiin. Asetukset palomuurin kokeilemiseen Käynnistä VirtualBoxissa molemmat virtuaalikoneet. Työ voi tehdä myös kahdella erillisellä koneella laboratoriossa. Kahden langattomassa verkossa olevan koneen välillä ei ole suojaussyistä yhteyttä, joten niiden käyttö ei onnistu. Palomuuritehtävät Ota WinA:ssa kaikki valmiit palomuurin säännöt pois käytöstä. Helpointa on käyttää perushallintaohjelmaa ja merkata kaikki kohdat pois käytöstä Exceptions-välilehdellä. Käynnistä sen jälkeen laajempi hallintaohjelma ja määrittele perustoiminnaksi kaikki tulevat yhteydet kielletyksi. Kokeile pingata WinA:ta WinB:stä. Jos kaikki on oikein, ping:n pitäisi tulostaa Timeout eli kone ei vastaa. Lisää nyt WinA:ssa sääntö, joka sallii pingauksen. Testaa, onnistuuko pingaus nyt. Tutki, onko lähtevä (outbound) suodatus päällä. Jos on, mitä on suodatettu. Juhani Merilinna Sivu 10
NMAP Ota WinA:n palomuuri pois käytöstä. Käynnistä Zenmap WinB:ssä ja tutki WinA:ta käyttäen regular scan profiilia. Kuinka monta porttia on auki? Laita palomuuri takaisin päälle ja kokeile nyt Zenmap:lla. Luo WinA:ssa sääntö, joka sallii TCP portin 139. Tutki Zenmap:lla toimiiko sääntö. Oletuksena Zenmap tutkii vain TCP-portteja. UDP:n tutkiminen on vaikeampaa. Kaikkien UDP-porttien testaaminen voi kestää jopa 18 h.. Siksi kannattaa rajoittaa tutkittavien porttien määrää. Seuraava komento testaa vain portit 20-200. nmap -su -p 20-200 192.168.0.103 Juhani Merilinna Sivu 11