PC Press
O nama
O nama
Pretplata
O nama
Postanite saradnik PC-ja
Kontakt sa redakcijom
PC Press
Novi broj
Novi broj   
Pretrazivanje
Arhiva
Arhiva   
PC Online
PC Plus   
Specijalna izdanja
Komunikacije Komunikacije
PC #36 : Jun 1998

 Naslovna  Sadržaj 
Berislav Todorović  

Virtuelne privatne mreže

Imate firmu sa mnogo filijala koje treba povezati? Direktne linije su skupe - može li ih Internet zameniti?

Kako povezati filijale sa upravnom zgradom, u jedinstvenu WAN mrežu? Do pre deset godina, zahtev bi projektanta bacio na muke: trebalo je popisati adrese svih lokacija i iznajmiti telefonske linije od svake lokacije ponaosob do upravne zgrade firme. Mreža je mogla da bude realizovana na dva načina. Prvi način: svaka filijala se poveže sa centralom posebnom linijom. Drugi, efikasniji i jeftiniji: hijerarhijska struktura, u kojoj se filijale grupišu u lokalna mrežna čvorišta, koja se povezuju na centralno čvorište.

Internet je danas prisutan u svakom zapadnoevropskom i američkom mestu, a lokalna mreža povezana na Internet biće „vidljiva“ sa svih drugih lokacija na globalnoj mreži, pa i sa lokalne mreže u drugoj filijali, koja je takođe povezana na Internet. Drugim rečima, ako želite da povežete centralu firme u Beogradu sa filijalama u Budimpešti i Beču, dovoljno je da na sve tri lokacije zakupite liniju do najbližeg Internet provajdera.

Sve to izgleda poput slike 1: sve filijale se međusobno vide, što krajnjem korisniku daje privid da je uspostavljena prava WAN mreža... ali nije! Uspostavljena je prividno izolovana mreža - virtuelna privatna mreža (VPN). U potrazi za upečatljivim imenom, konceptu je dodeljeno ime „ekstranet“ - pojam suprotan intranetu, mreži koja može da bude fizički potpuno nezavisna od Interneta.

Klasifikacija VPN

Pojam virtuelnih privatnih mreža daleko je širi od onoga što prikazuje slika 1 - u opštem slučaju on obuhvata skup uređaja, povezanih korišćenjem Interneta kao transportnog medijuma, koji krajnjem korisniku daje privid potpuno ili delimično izolovane privatne mreže. Takav privid korisniku se može stvoriti korišćenjem protokola različitih slojeva OSI modela, pa se VPN grubo dele na mreže sa prividom ostvarenim na nivou aplikacije (application-layer VPNs), na nivou protokola mrežnog sloja (network-layer VPNs) ili na nivou protokola sloja veze (data-link VPNs).

Privid jedinstvene privatne mreže najlakše je stvoriti na nivou aplikacije; klasičan primer je DNS. Registracijom svih računara u filijalama firme unutar domena firme (npr. firma.co.yu), korisnik stiče utisak da se svi računari nalaze u istoj mreži: navede ime računara (npr. vienna.firma.co.yu) i nađe se na računaru iz bečke filijale. Uz primenu kriptografske zaštite komunikacije, ovakvo rešenje može da bude zadovoljavajuće. Ipak, sa stanovišta održavanja i upravljanja mrežom ono nije fleksibilno, pošto će filijalama lokalni provajderi dodeliti posebne adresne prostore. Svako proširenje mreže u filijalama zahtevaće dodatne IP blokove, kao i stalne renumeracije mreže pri promeni provajdera na pojedinim lokacijama, a samim tim i ogromne izmene u parametrima softvera za nadzor i upravljanje mrežom. Na kraju, ovakva mreža oslanja se na javne DNS servere, a poznato je da poruke koje DNS šalje kao odgovore na upite mogu lako da se lažiraju.

Privid jedinstvene privatne mreže može da se stvori i na nivou protokola sloja veze. Ove mreže se funkcionalno ne razlikuju od klasičnih WAN mreža: mreže realizovane različitim topologijama PVC-ova, uspostavljenim korišćenjem javnih FrameRelay ili ATM switch-eva i virtuelne lokalne mreže (VLAN) formirane na jednom Ethernet switching hub uređaju su primeri ovako uspostavljenih mreža. Koncept je postojao još pre deset godina, iako tada nije nosio isto ime. U vreme kada je Internet bio akademska mreža, postojale su nacionalne mreže za prenos podataka, zasnovane na X.25 tehnologiji, čiji je protok ograničen na 64 kbit/s po kanalu.

Internet transport

Ove resurse su u evropskim zemljama držale nacionalne PTT organizacije, koje su tarifirale vreme prenosa i količinu prenetih podataka u „segmentima“ (64 okteta)... uz basnoslovne tarife. Možda „poštansko“ shvatanje pojma prenosa podataka nije bilo presudan faktor širenja Interneta, ali je uticalo da ljudi nađu način da izbegnu plaćanje skupe i nekvalitetne usluge. Apetiti korisnika rasli su iz dana u dan, pa su analogne linije bile zamenjene digitalnim sistemima prenosa - n × 64 kbit/s, pa n × 2 Mbit/s, pa 34 Mbit/s...

Iz dana u dan nastajale su korporacijske mreže. I dok su nacionalne PTT organizacije zazirale od primene bilo kakve tehnologije koju nisu već propisali i standardizovali „ljudi u crnom“ (ITU - „Međunarodna unija za telekomunikacije“), korisnici Interneta nisu imali takve predrasude. Po Internetu su prenosili podatke, a onda i digitalizovani govor, izazvavši telefonske kompanije na duel!

ITU je nedavno morala da prizna da Internet više nije „još jedna“ telekomunikaciona usluga, već deo infrastrukture, poput telefona, električne energije i puteva. Kada infrastruktura postoji svuda, zašto je ne iskoristiti... tu dolazimo do koncepta „pravih“ virtuelnih privatnih mreža, zasnovanih na protokolima mrežnog sloja (network-layer VPNs, Layer 3 VPNs) - tačnije korišćenja samog Interneta kao transportnog medijuma.|PC_medjunaslov|Kontrolisano rutiranje|medjunaslov_PC|

Kada govorimo o virtuelnim privatnim mrežama koje koriste Internet kao osnovu, razlikujemo dve kategorije implementacija. Prva, jednostavnija, podrazumeva restrikciju skupa informacija o dostupnim IP mrežama na ruterima u pojedinim filjalama. Konkretno, korisnik A sa slici 1 (crveno obojene mreže) na svom ruteru u bečkoj filijali bi postavio statičke putanje do IP mreža koje se koriste u Budimpešti (npr. 192.168.2/24) i Beogradu (191.168.1/24). Slično bi se uradilo i na ruterima u druge dve filijale - Budimpešti i Beogradu. Uz to, na ruterima u posmatranim filjialama ne sme se postaviti default putanja (0.0.0.0). Tako bi računari na mreži korisnika A u bečkoj filijali „znali“ da na mreži postoje samo još dve filijale - i ništa više. Poruke upućene sa bilo koje tačke na Internetu računarima u bečkoj filijali, van posmatrane privatne mreže završiće na ruteru, kojim je filijala povezana sa provajderom. Ruter, s obzirom na to da u tabeli ima samo IP mreže druge dve filijale, a nema default putanju, neće umeti da uputi odgovor. Dodatna mera zaštite može da obuhvati i postavljanje access lista na ruteru, kojima će se sprečiti ulazak svih IP datagrama u mrežu filjiale, čije izvorišne adrese ne pripadaju drugim filijalama. Relevantan deo konfiguracije rutera u bečkoj filijali prikazan je na slici 6.

Konfiguracija deluje jednostavno, ali ima brojne nedostatke. Ako je upravljanje ruterom u nadležnosti filijala, postoji mogućnost da korisnici u filijali postave statičku default putanju ka provajderu; dovoljan je neozbiljan administrator, koji ima elementarno znanje o ruteru, a koji će „samo privremeno“ uključiti default putanju i skinuti access liste da bi mogao da se šeta Internetom u trenucima dokolice. Eto problema: hakerima su vrata mreže filijale širom otvorena, a kada se domognu pristupa, vršljaće po kompletnoj privatnoj mreži.

Problem je delimično rešiv dodatnim filtriranjem saobraćaja na strani provajdera, ali još ozbiljniji nedostatak jeste rasipanje adresnog prostora. Zatvoreni karakter ovakvih mreža nalaže korišćenje privatnih IP adresa, definisanih preporukom RFC 1918 (npr. mreža 10/8). S druge strane, većina provajdera će glatko odbiti da rutira privatne IP mreže pojedinih korisnika, jer je pomenutom preporukom zabranjeno rutirati ove IP mreže na Internetu. Jedina solucija je korišćenje javnih IP adresa u zatvorenoj mreži, što se, prema tekućim preporukama, smatra lošim rešenjem.

Mogući izlaz je korišćenje privatnih IP adresa, uz upotrebu adresnog translatora (NAT) na ruteru svake filijale ponaosob. Uz dodatak kvalitetnih firewall servera i odgovarajućih access lista na ruterima, u ovakvoj konfiguraciji može da se ostvari solidna zaštita mreže. Tipična konfiguracija lokalne mreže jedne filijale prikazana je na slici 2: mreža se sastoji iz (opcionog) javnog dela, na kome se koristi 16 javnih IP adresa (192.168.3/29 na slici 2), dodeljenih od strane lokalnog provajdera, kao i privatnog dela, na kome se koriste privatne IP adrese (10.1.3/24). Savremeni firewall serveri (Cisco PIX), omogućavaju fleksibilno definisanje prava pristupa korisnika unutar privatnog dela mreže pojedinim odredištima na Internetu, kao i pristup pojedinim računarima na privatnoj mreži sa Interneta.

Time se omogućava definisanje permanentnog adresnog prostora za kompletnu korporacijsku mrežu. Tako se u našem primeru, na nivou kompletne virtuelne mreže može usvojiti da filijala u Beogradu koristi privatne adrese 10.1.1/24, u Budimpešti 10.1.2/24 u Beču 10.1.3/24... javne adrese će zavisiti od provajdera. Pri promeni provajdera, privatne adrese će ostati iste, dok će se izmeniti samo adrese u javnom delu mreže, kao i adresa spoljašnjeg interfejsa Firewall servera.

Kroz tunel do cilja

Odlična alternativa je formiranje logičkih tunela (tunneling) za razmenu poruka između dve privatne mreže. Formiranje logičkih tunela predstavlja način da se paketi podataka, koji pripadaju proizvoljnom mrežnom protokolu (IPX, DECnet, AppleTalk... pa čak i IP!), upakuju u IP datagrame i kao takvi prenose putem Internet i intranet mreža, kao i svi ostali paketi. Pakovanje poruka u IP datagrame, kao i njihovo raspakivanje se vrši na polaznom i odredišnom računaru, tj. ruteru u mreži - dve fiksno određene tačke u mreži, koje određuju krajeve logičkog tunela (tunnel endpoints).Logički tuneli mogu da se definišu između dve fiksne tačke u mreži (point-to-point) ili između jedne i više fiksnih tačaka u mreži (point-to-multipoint). Primer ponit-to-point tunela prikazan je na slici 3, gde se između rutera koji povezuju lokalne Ethernet mreže A (10.1.1/24) i B (10.1.3/24) na Internet uspostavlja logički tunel. IP datagram, upućen sa 10.1.3.5 ka 10.1.1.5, najpre dolazi na ruter, koji mrežu A povezuje sa ostatkom sveta. Ruter pakuje datagram u novi paket, čija će izvorišna IP adresa odgovarati njegovom serijskom interfejsu (195.1.1.1), a odredišna adresa serijskom interfejsu rutera mreže B ka Internetu (195.2.3.1). Ovakav paket preneće se, kao i svaki drugi IP datagram; ruter B će ga primiti i raspakovati, čime će se originalni IP datagram rekonstruisati i nastaviti put ka odredišnom računaru (10.1.1.5).

Ključnu ulogu u pakovanju i raspakivanju datagrama imaju ruteri u mrežama A i B sa slike 3, koji predstavljaju krajnje tačke tunela. U primeru sa slike, ruter A mora da zna kako da upakuje datagrame koji mu pristižu sa Ethernet interfejsa, kao i adresu na Internetu (drugi kraj tunela) gde tako upakovane datagrame treba da pošalje. Ruter B mora da zna kako da raspakuje datagram koji mu pristiže sa rutera A, kao i da ga prosledi odredišnom računaru. Da bi ove zadatke uspešno obavljali, neophodno je da im se obezbedi mehanizam kojim će razlikovati „obične“ datagrame od datagrama koji sadrže pakete drugih protokola.

Prepoznavanje datagrama koji sadrže pakete drugih protokola rešeno je u okviru samog IP-a: posebno polje u zaglavlju IP datagrama (protocol_id) nosi informaciju o protokolu kome paket sadržan unutar IP datagrama pripada. Način pakovanja paketa drugih protokola unutar IP datagrama rešava se zavisno od protokola i proizvođača opreme. Cisco ruteri koriste univerzalan način pakovanja IP i non-IP paketa unutar IP datagrama, poznat pod nazivom GRE (Generic Route Encapsulation), a podržavaju nekoliko drugih standardnih načina pakovanja paketa; u slučaju korišćenja GRE enkapsulacije, protocol_id ima vrednost 47. Kada primi ovakav datagram, Cisco ruter zna da on u sebi sadrži drugi paket i pristupa raspakivanju.

Dve alternative

Sa stanovišta korisnika (ako se koriste Cisco ruteri) na ruterima A i B treba definisati tunelske interfejse. U okviru definicije posebno treba navesti protokole čiji se paketi prenose iz jedne mreže u drugu. Za slučaj mreže sa slici 3, unutar IP datagrama prenose se drugi IP datagrami, pa konfiguracija tunelskih interfejsa ima oblik sa slike 7. Da bi virtuelna privatna mreža sa slike 1 funkcionisala kao jedinstvena, treba definisati bar dva tunela, npr. Beograd-Beč i Beograd-Budimpešta.

Sa stanovišta Internet provajdera, svakoj filijali je za rad potrebna samo jedna IP adresa, adresa serijskog interfejsa ka lokalnom provajderu, pa ovakav način rada štedi adresni prostor. Povećanjem broja filijala raste potreba za uspostavljanjem novih logičkih tunela, ali treba imati u vidu da preveliki broj tunela, uspostavljenih na jednom fizičkom interfejsu rutera može da optereti kako fizički link, tako i sam ruter. Zato treba izabrati decentralizovanu organizaciju logičkih tunela ili primenu NHRP protokola i multipoint tunela.

Tunel ne rešava jedan od osnovnih problema u virtuelnim mrežama, a to je zaštita podataka koji se prenose. Korisnicima Cisco rutera, na raspolaganju su dva nivoa zaštite. Jednostavniji nivo podrazumeva korišćenje zajedničkog ključa (tunnel key), identifikatora sadržanog unutar IP datagrama koji se prenosi među krajevima tunela, a koji je poznat na obe strane. Zajednički ključ konfiguriše se naredbom tipa tunnel key 42, gde je 42 broj poznat obema stranama tunela, koji se prenosi unutar datagrama. Drugi, složeniji nivo, podrazumeva korišćenje mehanizama kriptozaštite (crypto maps), što je detaljnije opisano na www.cisco.com/warp/public/700/13.html. Na kraju, primenom kriptozaštite na nivou aplikacije (npr. SSH - www.cs.hut.fi/ssh/) moguće je dobro zaštititi podatke.

Rešenje sa dial-in pristupom

Česte su firme u čijim filijalama radi mali broj ljudi; ekstreman slučaj jesu off-shore kompanije u kojima sedi samo sekretarica, koja prima i šalje faksove, e-mail poruke i odgovara na telefonske pozive i to isključivo od 9-17 časova! Iznajmiti fiksnu liniju do provajdera u takvom slučaju predstavlja čisto bacanje novca.

Daleko je bolje obezbediti jedan dial-in nalog kod provajdera, kojim će sekretarica pristupati korporacijskoj mreži po potrebi. Time dolazimo do posebne kategorije virtuelnih privatnih mreža, koje se u literaturi zovu VPDN (Virtual Private Dial Networks). Da bi VPDN mreža funkcionisala kao jedinstvena, treba rešiti dva problema. Prvi se odnosi na sprečavanje zloupotreba, koje su prisutne kod dial-in pristupa.

Drugi problem vezan je za adresni prostor koji koristi korporacijska mreža. Korporacijski intranet najčešće je rešen korišćenjem privatnih IP adresa, pa treba uspostaviti logički tunel između računara dial-in korisnika i neke tačke unutar korporacijske mreže. Oba problema uspešno su rešili Microsoft - PPTP (Point-to-Point Tunneling Protocol) protokolom i Cisco - L2F (Layer 2 Forwarding) protokolom. Potom su, ova dva giganta, kombinacijom oba protokola, definisali novi L2TP (Layer 2 Tunneling Protocol).

Koncepcija VPDN mreže u kojoj se koristi PPTP protokol prikazana je na slici 4: korisnik uspostavlja klasičnu dial-in vezu sa lokalnim provajderom, korišćenjem PPP protokola (1, 2). Pošto se veza uspostavi, korisnikov računar uspostavlja tzv. kontrolnu sesiju sa udaljenim PPTP serverom (3), korišćenjem TCP protokola, zahtevajući formiranje tunela.

Jednostavno korišćenje

Korišćenje PPTP protokola za formiranje virtuelne mreže je jednostavno - treba obezbediti PPTP server i softver na strani korisnika koji podržava PPTP (Windows 95 DialUp Networking, počev od OSR-2, podržava PPTP!). Na access serverima lokalnih provajdera nisu potrebne izmene. Provajderi neće uočiti razliku između normalnog IP saobraćaja i saobraćaja koji se prenosi PPTP tunelima.

Alternativa PPTP protokolu je L2TP, prikazan na slici 5. I u ovom slučaju korisnik uspostavlja klasičnu PPP vezu sa provajderom, ali dalje aktivnosti preuzima access server provajdera koji uspostavlja logički tunel preko Interneta sa tzv. L2TP serverom, lociranim na korporacijskoj mreži.

Access server provajdera prosleđuje korisničko ime i lozinku koju je korisnik uneo L2TP serveru, koji obavlja autentifikaciju. Ako je identitet korisnika ispravan, PPP pakete koje korisnik šalje sa svog računara access server lokalnog provajdera će primati, skidati im PPP zaglavlje i CRC, pakovati ih u L2TP pakete i slati ih kroz logički tunel ka L2TP serveru, koji će ih dalje raspakovati. Ovakav način rada je na prvi pogled složeniji, jer zahteva delimičnu rekonfiguraciju access servera lokalnih provajdera. Zahvaljujući tome, lokalni provajderi su u poziciji da tu uslugu posebno naplaćuju firmi koja zahteva formiranje tunela. Prednost L2TP protokola dolazi do izražaja u firmama koje svojim radnicima žele da obezbede rad u korporacijskoj mreži od kuće (telecommuting). S obzirom na to da veliki broj radnika stanuje u naseljima blizu kompanija gde su zaposleni, izbor lokalnog provajdera sa kojim bi se sklopio ugovor može doneti drastične uštede u odnosu na slučaj gde svaki radnik bira različitog provajdera, a kompanija mu refundira troškove pristupa.

Zaključak

Virtuelne privatne mreže predivno izgledaju na papiru, ali kako je u praksi? Is it safe, pitao je Lorens Olivije u jednom starom filmu, a isto se pitaju i administratori. Bez obzira na sve, pojava VPN označava potvrdu sveprisustva globalne mreže, koje postajemo sve svesniji kako vreme prolazi.

Slika 6

interface Serial0
description Interface to ISP Vienna
ip address 192.168.254.9 255.255.255.252
ip access-group 101 in
! Known routes to: Belgrade (192.168.1/24) and Budapest (192.168.2/24)
ip route 192.168.1.0 255.255.255.0 Serial0
ip route 192.168.2.0 255.255.255.0 Serial0
! —- Access list - allow only Belgrade and Budapest to send us datagrams
access-list 101 permit ip 192.168.1.0 0.0.0.255 any
access-list 101 permit ip 192.168.2.0 0.0.0.255 any

Slika 7

Ruter A:

interface Ethernet0
description Office A LAN
ip address 10.1.3.1 255.255.255.0
interface Serial0
description Interface to ISP of A
ip address 195.1.1.1 255.255.255.252
interface Tunnel0
tunnel source Serial0
tunnel destination 195.2.3.1
ip address 10.254.1.1 255.255.255.252

Ruter B:

interface Ethernet0
description Office B LAN
ip address 10.1.1.1 255.255.255.0
interface Serial0
description Interface to ISP of A
ip address 195.2.3.1 255.255.255.252
interface Tunnel0
tunnel source Serial0
tunnel destination 195.1.1.1
ip address 10.254.1.2 255.255.255.252