Firmal on kaks (või ka rohkem) kontorit. Tahaks kasutada ühest kontorist teises võrgus asuvaid kettaid, jagada faile või kasutada nt. teises võrgus olevat raamatupidamise rakenduse serverit. Üks võimalus on jagada kettaid välja üle interneti või panna raamatupidamise server tööle nii, et sellele saaks ka internetist ligi, kuid see ei ole hea lahendus.
Vaatamata sellele, et kettad ja raamatupidamine on parooliga kaitstud, ei ole see kindlasti piisav. Ekslikult arvatakse, et parool on piisav jagatud ketaste kaitsmiseks kräkkerite eest. Paroole võib murda väga lihtsate vahenditega ning ühendusi on võimalik ka pealt kuulata. Ometi on olemas ka teine ja palju turvalisem võimalus - VPN (Virtual Private Network). Sel juhul luuakse kahe võrgu vahele kanal, mida pole võimalik pealt kuulata ning millele võõrad isikud ligi ei saa.
Käesolev artikkel ei pretendeeri mitte mingil juhul põhjalikule käsitlusele VPN’st ja tema võimalustest. Eesmärgiks on näidata, et VPN ei ole tegelikult keeruline ega üle mõistuse käiv asi. Liiga palju on Internetti välja jagatud kettaid. Samas on väga lihtsate vahenditega võimalik luua väga palju turvalisemaid lahendusi.
Smoothwall on distributsioon, mis on tehtud spetsiaalselt tulemüüri ehitamiseks. Iso fail (CD tõmmis) on ainult ~20MB suur ning kaasas on ainult vajalik ning mitte midagi liigset. Ei veebi-, ftp- ega meiliserverit või muud sellesarnast. Nõudmised riistvarale pole suured. Piisab täiesti Pentium klassi arvutist, millel u. 100MB ketas. Interneti ühenduseks võib olla modemiühendus, ISDN või Ethernet. Paigaldamine on suhteliselt lihtne ja jõukohane ka algajale võrguadministraatorile ning tulemüüri vaikereeglid on piisavad võrgu kaitsmiseks kräkkerite rünnaku eest. Smoothwall’il on ka kena veebiliides, mille abil saab tulemüüri seadistada, statistikat ja logisid vaadata. Niisuguseid distributsioone on teisigi, kuid meid huvitab eriti Smoothwall’i üks funktsioon - võimalus luua VPN tunneleid. Smoothwall’i distributsiooni kuulub nimelt ka FreeS/WAN VPN tarkvara.
Autoril tuli ehitada mõni aeg tagasi VPN tunnel ühe väikefirma kahe kontori vahele, eesmärgiks oli kasutada harukontorist peakontoris asuvat Hansa Financial raamatupidamistarkvara serverit. Mõlemas kontoris on kasutusel ADSL Medium interneti ühendus. Selleks sai välja valitud just Smoothwall’i viimane versioon - 0.9.8. Infot Smoothwall’i kohta saate kodulehelt http://www.smoothwall.org. Iso faili saab ka lähemalt kätte - ftp://ftp.linux.ee/pub/smoothwall/releases/0.9.8/.
Paigaldamisel põhjalikumalt peatuma ei hakka, kuid mõned momendid siiski välja toon. Konkreetsel juhul sai valitud GREEN+RED kombinatsioon st., et masinas peab olema kaks võrgukaarti. PCI kaardite puhul ei tohiks probleeme tekkida, need leitakse automaatselt kui õiget mooduli nime teada. ISA kaarditel tuleb aga teada IO aadressi ja katkestust. Probleem tekib siis kui mõlemad ISA kaardid kasutavad ühte ja sama moodulit. Sel juhul tuleb esimese võrgukaardi parameetrite küsimisel anda ette mõlema kaardi parameetrid - nt. “ne io=0×300,0×320 irq=9,10”. Ülejäänu peaks olema ilmne ning paigaldamise ja hilisema häälestamise ning haldamise kohta on ka põhjalikud “puust ja punaseks” juhendid olemas. Need saate Smoothwall’i kodulehelt dokumentatsiooni sektsioonist.
Enne kui läheme VPN’i juurde, tuleb veenduda, et kõik töötab ikka nii nagu peab. Sisevõrgu masinatest peab olema võimalik internetti pääseda. Kui midagi paigaldamisel valesti läks, on asja võimalik parandada logides masinasse sisse kasutajana setup. Selle kasutajana saate läbi teha kõik need samad sammud, mis paigaldamisel. Masinas on veel kaks kasutajat: root, kellena konsoolilt või üle ssh sisse logides saate shelli prompti ja admin, kellena saate veebiliidese kaudu tulemüüri seadistada. Shellis tegutsedes peate arvestama, et ilma elementaarse oskuseta kasutada tekstiredaktoreid vi või joe pole teil seal suurt midagi peale hakata. Joe on algajale kindlasti arusaadavam, nii et soovitan seda.
Üks asi mulle isiklikult siiski tulemüüri reeglites ei meeldi. Kui lubada ligipääs ssh kaudu, lubatakse seda kogu maailmale. Mina eelistan olla paranoiline ning lubada ainult ühele hostile - sellele, kust ma tulemüüre manageerin. Selleks tuleb muuta failis /etc/rc.d/rc.firewall.up ühte rida.
Enne:
ipchains -A block -p tcp -i $RED_DEV -d $RED_ADDRESS/$RED_NETMASK 22 -j ACCEPT
Pärast:
ipchains -A input -p tcp -i $RED_DEV -s 22.22.22.22/255.255.255.255 -d $RED_ADDRESS/$RED_NETMASK 22 -j ACCEPT
22.22.22.22 asendage selle hosti IP aadressiga, kust soovite tulemüürile väljastpoolt ligi saada. See samm pole kohustuslik ning tegemist on ainult minu soovitusega.
Näitena teeme siin läbi VPN’i püsti panemise firma kahe kontori vahele - “Kontor” ja “Kauplus”. Põhimõtteline skeem on toodud joonisel 1. Kontoris kasutatakse sisevõrku 192.168.1.0/24, kaupluses 192.168.2.0/24. Interneti aadressiteks võtame selles näites kontori jaoks 2.2.2.2, kauplusele 6.6.6.6.
Joonis 1.
Kõigepealt tuleb redigeerida faili /etc/ipsec.conf ning lisada sinna meie tunneli parameetrid. Lepime kokku, et kontor on tunneli vasakpoolne ots ja kauplus parempoolne. Vahet tegelikult pole, oluline on, et mõlema otsa seadistused oleks ühesugused. Kõigepealt peale rida “#sample connection” olev osa. Meie näite puhul peaks see välja nägema järgmine:
conn vpn_tunnel
# Vasakpoolne gateway, võrk selle taga ning järgmine hop interneti
# suunas.
left=2.2.2.2
leftsubnet=192.168.1.0/24
leftnexthop=2.2.2.1
# Parempoolne gateway, võrk selle taga ning järgmine hop interneti
# suunas.
right=6.6.6.6
rightsubnet=192.168.2.0/24
rightnexthop=6.6.6.5
auto=add
Selgitamist vajab võibolla nexthop parameeter. See on Smootwall’i default gateway. Samuti tuleb failist välja kommenteerida RSA võtmeid DNS‘is hoidmist puudutav osa, nii et vastav sektsioon näeks välja selline:
# RSA authentication with keys from DNS. # authby=rsasig # leftrsasigkey=%dns # rightrsasigkey=%dns
Järgmisena tuleb paika panna salasõna, et igaüks ei saaks tunneli otstega ühendust luua. Selleks tuleb redigeerida faili /etc/ipsec.secrets ning see peaks sisaldama ühtainust rida.
2.2.2.2 6.6.6.6 : PSK "Palju_SUURI_ja_väikseid_tähti_ning_numbreid_275362874"
See jutumärkide vahel olev string ongi võti, mida peate igal juhul saladuses hoidma. Soovitav on seda tegelikult mitte ise välja mõelda, vaid lasta genereerida. Hea näide turvalisest võtmest on
jxTR1lnmSjuj33n4W51uW3kTR55luUmSmnlRUuWnkjRj3UuTV4T3USSu23Uk55nWu5TkTUnjT
Need failid peavad mõlemal Smoothwall’il olema samad. Ning ongi konfimine tehtud. Mõlemas masinas tuleb anda nüüd käsk “/etc/rc.d/init.d/ipsec start” ning kui see tehtud, siis lasta ühel masinal ka ühendus algatada käsuga “ipsec auto –up yhenduse_nimi”. Ühenduse nimeks on meie näite puhul “vpn_tunnel”. Kui kõik läks ilma vigadeta, võite tunneli toimimist kontrollida käsuga “ipsec look”. Selle käsu väljund võiks välja näha umbes midagi sellist:
192.168.1.0/24 -> 192.168.2.0/24 => tun0x1121@6.6.6.6 esp0x8e31413a@6.6.6.6 esp0x203@10.0.0.1 3DES-MD5-96_Encryption:dir=in iv=0xc2cbca4ba42ccbb6 seq=0 bit=0x00000000 win=0 flags=0x0<> esp0x202@11.0.0.1 3DES-MD5-96_Encryption:dir=out iv=0xc2cbca4ba42ccbb6 seq=0 bit=0x00000000 win=0 flags=0x0<> Destination Gateway Genmask Flags MSS Window irtt Iface 0.0.0.0 6.6.6.6 255.255.255.0 U 1500 0 0 eth1 192.168.2.0 6.6.6.6 255.255.255.0 UG 1404 0 0 ipsec0
Nüüd peaksite saama ka pingida ühest privaatvõrgust teises olevaid masinaid. Pidage meeles, et tulemüürist endast pole võimalik teise tulemüüri taga olevaid masinaid pingida.
VPN’i kasutusvõimalused ei piirdu muidugi ainult kahe kontori vahele ühenduse loomisega. Kontoreid võib olla ka kümneid. Põhjalikuma info saamiseks lugege Smoothwall’i kodulehelt dokumentatsiooni sektsioonist VPN’i kohta käivat juhendit. Veel põhjalikumat infot saate FreeS/WAN‘i kodulehelt http://www.freeswan.org. Kindlasti tellige endale ka Smoothwall’i meilinglist, sel juhul saate operatiivset infot veaparanduste jms. kohta.