Dostop do interneta preko oddaljene lokacije

Eden najpomembnejših današnjih trendov, ki gre v korak z mobilnostjo, je nesporno želja po oddaljenem dostopu do domačega omrežja in njegovih virov. Še nedolgo tega smo za potrebe oddaljenih dostopov uporabljali klicne povezave. Z vidika stroškov je bila za uporabnika zanimiva možnost povratnega klica (callback), z vidika samega protokola TCP/IP pa je zadeva manj pomembna. Pomembnejše je dejstvo, da se je prek klicne povezave vzpostavila povezava, ki je omogočila komunikacijo uporabnika s TCP/IP-omrežjem (več o tem v nadaljevanju). Dostop prek klicnih povezav pa ima nekaj slabosti. Tovrstne povezave so razmeroma počasne, stroški povezani s tovrstnim načinom komunikacije pa so sorazmerni s časom uporabe. Iz tega sledi, da so tovrstne povezave primerne le za uporabnike aplikacij, ki ne potrebujejo hitre povezave in jo razmeroma redko uporabljajo. Ena od slabosti je tudi ta, da se stroški bistveno povečajo, če uporabnik dostopa do omrežja iz tujine. Pozabiti pa ne smemo niti na prednosti klicnega dostopa: razmeroma solidna stopnja varnosti, še zlasti če smo za dostop do omrežja uporabili še druge mehanizme (povratni klic, dovolili dostop le iz določenih telefonskih številk ...).

Prej omenjene slabosti pa lahko odpravimo, če namesto klicnih povezav uporabimo za povezovanje internet (TCP/IP). Cena, ki jo plačamo za cenejšo in hitrejšo komunikacijo (ADSL/CATV dostopi), je potencialno manjša varnost, saj omrežje uporabljamo skupaj z drugimi uporabniki.

Varen dostop preko SSL VPN

Spoznali smo, da lahko zaradi same narave TCP/IP-ja sledimo komunikaciji med uporabniki. Paketi potujejo od uporabnikove omrežne kartice do usmerjevalnika (privzeti prehod), od tu naprej do drugih usmerjevalnikov (v podjetju, pri »domačem« ISP-ju, drugih ponudnikih ...) pa vse do konca − do drugega računalnika, oziroma strežnika. Zaradi časa in okolja nastanka TCP/IP nima vdelanih varnostnih mehanizmov, zato moramo zanje poskrbeti drugje. Z namenom varnega povezovanja so bile razvite različne možnosti dostopov prek navideznega zasebnega omrežja (Virtual Private Network − VPN). Z vidika končnega uporabnika je ozadje VPN-dostopa praktično nepomembno, pomemben je le njegov učinek, ko prek javnega omrežja navidezno približamo priključno točko, v katero se povezujemo. Bistveno pa je, da je ta povezava varna (šifrirana).

VPN PREK SPLETNEGA BRSKALNIKA

O rešitvah, ki temeljijo na uporabi protokolov IPSec oziroma SSL, smo v preteklosti že pisali. Tokrat pa si oglejmo možnost, ki je v zadnjem času vse bolj priljubljena: VPN−dostop preko spletnega brskalnika. Ena od prednosti tovrstnih rešitev je, da lahko uporabljamo poljuben računalnik, saj za dostop ne potrebujemo posebnega odjemalca. To pomeni, da za ta »poseg« ne boste potrebovali administratorja (slednje je žal največkrat povezano s prošnjami in čakanjem) oziroma administratorskih pravic. Prav tako je takšna rešitev v interesu prezasedenega administratorja, ki mora postavite le »točko« za dostop in narediti ustrezne uporabniške račune. Z malce zlobe in kančkom paranoje pa … upajte, da v računalniku, ki ga boste uporabili za ta namen, ni nameščen kak program, ki beleži vaše vnose iz tipkovnice (keylogger).
Druga, še pomembnejša prednost je, da je, ne glede na okolje, v katerem je priključen računalnik, takšna komunikacije za razliko od drugih rešitev skoraj vedno mogoča. Zakaj? Druge rešitve običajno uporabljajo določena vrata (npr. PPTP GRE (47) IPSec ESP (50) , AH (51) ...), medtem ko »naša« rešitev uporablja vrata 443. Če je promet za specifična vrata v požarnem zidu zaprt, lahko uporabnik o uspešnem povezovanju le sanja. Vrata 443 pa uporabljamo pri protokolu HTTPS (Secure HTTP SSL) in so zaradi obiska varnih spletnih strani praktično vedno odprta.

Praktičen primer
Za lažje razumevanje si oglejmo naslednji primer. Domače omrežje je priključeno v širokopasovno povezavo in ima javni IP-naslov. Za potrebe strežniških storitev ima odprta vrata, ki jih posamezne storitve zahtevajo. Za lažjo ponazoritev izhajajmo iz predpostavke, da je bil spletni strežnik dostopen le prek vrat 80 (HTTP), vrata 443 (HTTPS) pa so bila zaprta. Odločili smo se, da bomo za strežnik VPN SSL uporabili enega od računalnikov v domačem omrežju, ki je vklopljen zaradi drugih storitev (npr. poštni strežnik, računalnik deluje v vlogi usmerjevalnika ....) in ima IP-naslov 192.168.200.100. To pomeni, da moramo v požarnem zidu odpreti promet za vrata 443 in ta promet preusmeriti (port forwarding) na interni IP-naslov 192.168.200.100. Glede omrežnih nastavitev smo storili vse, zato lahko postavimo še strežnik. Uporabimo lahko brezplačni SSL-Explorer (http://sourceforge.net/projects/sslexplorer/). Program je v času pisanja v različici 0.1.16 (Windows, Linux), in je za manj zahtevne uporabnike in za demonstracije dovolj stabilen.

Pogoj za namestitev SSL-Explorerja je javansko izvajalno okolje JRE 1.5. Če ga namestitveni program ne zazna, pokažemo pot do ročno ali pa ga prenesemo s spletne strani. Po namestitvi zaženemo program v nastavitvenem načinu (setup). Do vmesnika z nastavitvami dostopamo tako, da v spletni brskalnik vnesemo http://localhost:28080. Najprej določimo/spremenimo geslo za dostop do strežnika in naredimo certifikat (vnesemo parametre, kot so ime računalnika, organizacija, država ..., in pritisnemo gumb generate). Ustvarimo lahko več certifikatov in enega aktiviramo. Sledi še korak izdelave uporabniških računov in njihovih pravic. Novega uporabnika ustvarimo z Access Control – Accounts – Create, uporabniške skupine pa z Access Control – Roles – Create. Do računalnikov, priključenih v krajevno omrežje, dostopamo z Networking – Network Places − Windows Network Neighbourhood. Prek možnosti Web Forwarding lahko dostopamo do različnih internih ali spletnih strani.

Za konec smo pustili najboljše – zagon uporabniških aplikacij in vklapljanje računalnikov prek omrežja (Wakeup On LAN). Uporabnikom lahko natančno določimo, katere aplikacije so jim na voljo. Po shranitvi nastavitev strežnik ponovno zaženemo, tokrat kot storitev. Stanje storitve SSL-Explorer lahko vidimo v Nadzorni plošči (Control Panel) – Skrbniška orodja (Administrative tools) − Storitve (Services). Če smo storili vse pravilno, mora biti storitev zagnana. Če so težave, je najverjetneje vzrok v tem, da so vrata 443 že zasedena. Eden od možnih razlogov za težave (zasedenost vrat) je lahko tudi Skype, ki ima aktivirano možnost uporabe vrat 80 ter 443. Če ne najdete razloga ali ne veste, kateri program vam povzroča težave, lahko uporabite program, ki vam kaže povezavo med procesom in vrati, ki jih zaseda (npr. brezplačni Active Ports).

Do svojega VPN-strežnika dostopamo tako, da v spletni brskalnik vpišemo https://IP_naslov, oziroma https://ime_strežnika. Kot IP-naslov lahko vnesemo javni naslov ali zasebni naslov strežnika, saj se zahteva z javnega naslova tako ali tako prenese na https://192.168.200.100. Pojavi se okno, v katerem lahko preverimo in namestimo certifikat, temu pa sledi okno za prijavo. Po uspešni prijavi lahko do nekaterih možnosti dostopamo (npr. krajevnega omrežja), za večino pa moramo pognati VPN-odjemalca. Če se ta uspešno naloži, dobimo ustrezno sporočilo v desnem zgornjem kotu: »VPN client status ONLINE.« Na tej točki vas zapuščam in vas prepuščam raziskovanju ….

POCENI DESKANJE S KLICNIM DOSTOPOM

Ni skrivnost, da je mogoče klicni dostop uporabiti tudi za poceni deskanje ob koncu tedna (vikend paket na ISDN-u). Uporabnik, ki ima običajni telefonski priključek, potrebuje le »dobro dušo«, ki ga bo preko modema poklicala. V pretekli številki smo spoznali, da že samo okolje Windows ponuja možnost klicne povezave. V namestitev modema se ne bomo spuščali, oglejmo pa si »omrežni« del nastavitev. Da je rešitev smiselna (brezplačno klicanje), mora klicati tisti, ki bo omogočal povezave proti internetu. To pomeni, da v enem računalniku naredimo povezavo proti zasebnemu omrežju (Dial-up to private network), drugega pa pripravimo za sprejem dohodne povezave (Accept incoming connection).

Pri TCP/IP-nastavitvah za dohodno povezavo (Incoming TCP/IP properties) določimo IP-način dodeljevanja lokalnega IP-naslova. Kot lahko vidimo, je zadeva ravno obrnjena glede na običajni scenarij, ko kličemo v omrežje, v katerem je privzeti prehod. Zaradi obstoječega naslovnega prostora ter omejitev ISC-ja, o katerih smo govorili v pretekli številki, bomo za vajo prek PPP-kanala, ki se vzpostavi med obema računalnikoma, zgradili VPN-tunel z orodjem OpenVPN (http://openvpn.net/). Ker smo o OpenVPN-ju natančneje pisali, le namig: vse potrebne informacije najdete v dokumentu http://mojmikro.si/articles/02_88_90_v_praksi_mojster.pdf. Po vzpostavitvi pride na vrsto le še usmerjanje med »navideznim vmesnikom« in pravim vmesnikom, ki je priključen v omrežja. V mislih imam vmesnika v računalniku, preko katerih se oddaljena lokacija priključuje. Ta računalnik ima vsaj dva IP-naslova. Prvi je omrežni (ethernetni) IP-naslov, drugi pa je IP-naslov, ki ga ima računalnik preko modemske povezave. Prek teh vmesnikov moramo omogočiti »tranzit«, zato moramo zagotoviti povezavo obeh vmesnikov; z drugimi besedami, vzpostaviti moramo usmerjevalnik med navideznim in fizičnim vmesnikom na istem računalniku.

IPv6 in IPv6 header

V ta namen lahko uporabimo program iNet Shaper, ki je sicer komercialni izdelek, a je za domačo rabo brezplačen. Brezplačna različica je omejena na tri uporabnike, kar nam popolnoma zadošča. iNet Shaper lahko uporabimo v različnih vlogah: osnovni/povezovalni med različnimi omrežji oziroma vmesniki, z njim pa lahko promet tudi omejujemo, nadziramo in ne nazadnje tarifiramo.

ISKANJE IGLE V SENU

Še tako preprosto opravilo se lahko nepričakovano zaplete. Če naletimo na težave, lahko skoraj vedno poskusimo s spodaj navedenimi koraki, ki pogosto obrodijo rezultat.
V krajevnem omrežju, pa tudi znotraj zasebnega omrežja največkrat ne onemogočimo orodja ping. To je razmeroma primitivno, a velikokrat učinkovito orodje, ki nam olajša preverjanje. Preverjamo po korakih, tako kot deluje sistem, in iščemo točko, kjer se promet ustavi.

- preverjanje razpoložljivosti IP-sklada (IP stack); za ta namen uporabimo naslov 127.0.0.1 (localhost);
- ping lastnega IP-naslova (npr. 192.168.200.100);
- ping IP-naslova privzetega usmerjevalnika (v našem primeru 192.168.200.1);
- ping znanega IP-naslova zunaj domačega omrežja (za katerega vemo, da se odziva);
- ping na naslov DNS-strežnika;
- ping na znani naslov po imenu (npr. www.google).
V pomoč nam je lahko tudi ukaz traceroute.

Če smo bili pri »pinganju« uspešni, preverimo še, kako je z razpoložljivostjo posameznih storitev: ali strežnik deluje, ali se odjemalec zažene tako, kot je treba ... Pomagamo si lahko z dnevniki (logi) aplikacij, programi za skeniranje vrat (npr. Nmap, GFILangurad). Če storitev in odjemalec delujeta tako, kot je treba, preverimo, kako je s pravicami in overjanjem. Skratka, od nivoja TCP/IP-ja se pomikamo navzgor proti nivoju aplikacije. Če niti tu ne najdemo napake, nam praktično ne preostane drugega, kot da se vrnemo nazaj na nivo protokolov in uporabimo omrežni analizator (sniffer). Izbiramo lahko med različnimi orodji, vsem pa je skupno to, da zajemamo promet. Zavedati pa se je treba, da nam informacija o prometu ne pomeni veliko, če ne poznamo protokola, ki ga opazujemo, saj ne znamo ločiti pravilnega delovanja od nepravilnega (npr. H.323 klic − (H.225/Q.931 Call Setup, H.245 Negotiation in Voice Path Setup, RTP/RTCP govorni promet).

PRIHODNOST V ZNAMENJU ŠESTICE
Uradna četrta različica IP-ja (IPv4) sega v zgodnja osemdeseta. Zato je bilo le vprašanje časa, kdaj bo glede na hitro rast interneta in najrazličnejše aplikacije predstavljena nova različica. Naslednja, peta različica, v praksi ni nikoli zaživela, pripravila pa je dobro izhodišče za razvoj različice 6 (opis IPv6 − RFC 1883), ki naj bi postopoma nadomestila IPv4.
Prva opazna razlika je, da IPv6 povečuje naslovni prostor z 32 na 128 bitov. Namesto teoretične omejitve na 4.294.967.295 (manj, kot je prebivalcev na zemlji) pa naj bi bila nova različica omejena na 3.402823669*1038 naslovov, kar naj bi po nekaterih zagotovilih omogočalo, da bi imel vsak atom okrog nas svoj IP-naslov. Na prvi pogled pa lahko uporabnik prepozna naslov tudi po zapisu. Poljubni naslov v4 npr. 72.14.207.104 lahko zapišemo v različici v6 kot:

0000:0000:0000:0000:0000:0000:480E:CF68 (polni zapis IPv6)
::480E:CF68 (skrajšani zapisi)
0000:0000:0000:0000:0000:0000:72.14.207.104
::72.14.207.104

Razlaga
72 (desetiško) = 1001000 (dvojiško) = 0100 1000 = 4 8 (Hex)
14 (desetiško) = 1110 (dvojiško) = 0000 1110 = 0 E (Hex)
207 (desetiško) = 11001111 (dvojiško) = 1100 1111 = C F (Hex)
104 (desetiško) = 1101000 (dvojiško) = 0110 1000 = 6 8 (Hex)

Kaj je SSL
Protokol SSL (Secure Socket Layer) je razvilo podjetje Netscape za zagotovitev varne komunikacije prek interneta, ki temelji na certifikatih in šifriranju z javnimi ključi. Večina uporabnikov pozna SSL s področja uporabe protokola HTTP prek SSL-a (https), SSL pa uporabljamo tudi pri drugih protokolih, kot so telnet (telnets), IMAP (imaps), FTP (ftps), ... Novejšo različico SSL-ja označuje kratica TLS (Transport Layer Security).

Kako ugotavljati napake
Tudi pri omrežnih protokolih velja, da je za ugotavljanje napak potrebno veliko izkušenj in poglobljeno poznavanje protokolov. Med osnovna orodja sodi omrežni analizator. Želene podatke iz množice zajetih najlaže izluščimo s filtri.

Kot vidimo, uporablja IPv6 šestnajstiški zapis, pri zapisu pa smo uporabili pravilo krajšanja samih ničel (to lahko storimo v zapisu samo enkrat, vendar na večjem številu ničel). Območje, kjer smo krajšali ničle, označuje znak :: (dvakrat dvopičje).

IPv6 pa ne prinaša samo razširjenega naslovnega prostora, temveč tudi spremembe na ravni mehanizmov zagotavljanja kakovosti storitev (QoS), overjanja ...

Zavedati se je treba, da IPv4 in IPv6 nista neposredno združljiva. To pomeni, da lahko obe različici uporabljata isto omrežje, vendar končni uporabniki obeh različic ne morejo neposredno komunicirati med seboj. Najbolj priljubljeni operacijski sistemi (Windows, Linux) že nekaj časa podpirajo tudi uporabo IPv6. Pred nekaj leti smo lahko slišali optimistične napovedi, da bo IPv6 že danes popolnoma nadomestil IPv4. Trditve so se izkazale za napačne, priznati pa je treba, da na določenih delih internetnega omrežja to že velja, svoje pa so prinesli tudi določeni tehnični triki, ki so omejili nekatere težave različice 4 (npr. NAT, mehanizmi QoS ...). Čeprav je podpora IPv6 vprašanje programskega, ne pa strojnega dela naprave, veliko podjetij danes še vedno ne podpira uporabe IPv6. Uporabniku se verjetno zastavlja vprašanje, kaj s takšno opremo. Če dolgoročno ustrezne podpore ne bo, bo tovrstna oprema v novem okolju neuporabna ali pa jo bomo uporabili v delu omrežja, ki bo še vedno uporabljal »staro« različico. Le brez strahu, če ste se česa naučili, verjetno veste, da zadeva ni najlepša, vsekakor pa ni tako črna, kot je morda videti na prvi pogled.

Marko Koblar