Download as pdf or txt
Download as pdf or txt
You are on page 1of 26

UNIVERZITET SINGIDUNUM

FAKULTET ZA INFORMATIKU I RAUNARSTVO

OpenVPN - virtualna privatna mrea Projektni rad iz predmeta Raunarske mree

Mentor: dr. Aleksandar Jevremovi

Studenti: Kristina Kunjadi-ulibrk 2011/200525 Milutin ukanovi 2011/200072 Dalibor Marijanevi 2011/200933

Beograd, 2013.

OpenVPN

Sadraj

UVOD ........................................................................................................................................................... 2 1.1 1.2 1.3 1.4 1.5 TA JE VPN? ............................................................................................................................................. 2 VRSTE VPN-A ........................................................................................................................................... 2 POVERLJIVOST I PRIVATNOST .................................................................................................................... 3 INTEGRITET ............................................................................................................................................... 4 AUTENTIFIKACIJA ..................................................................................................................................... 4

OPENVPN ................................................................................................................................................... 6 2.1 IFROVANJE (ENCTYPTION) ...................................................................................................................... 6 OpenSSL ......................................................................................................................................... 6

2.1.1 2.2 2.3 2.4 3 4 5 6 7

AUTENTIFIKACIJA (AUTHENTICATION) ..................................................................................................... 7 UMREAVANJE (NETWORKING) ................................................................................................................ 7 SIGURNOST (SECURITY) ........................................................................................................................... 8

INSTALACIJA OPENVPN-A NA LINUX SERVERU ........................................................................... 9 INSTALACIJA OPENVPN NA KLIJENTU ......................................................................................... 15 USPOSTAVA VEZE KLIJENT-SERVER ............................................................................................. 23 ZAKLJUAK............................................................................................................................................ 24 LITERATURA .......................................................................................................................................... 25

OpenVPN

1
1.1

Uvod
ta je VPN?

VPN (Virtual Private Network) je skraenica koja se koristi za oznaavanje ifrovanog tunela izmeu dva ureaja preko neobezbeene mree kao to je Internet. VPN predstavlja drugaiju formu VPS-a (Virtual Private Server). VPN grupie dve lokalne mree iza VPN ureaja i time stvara jedinstvenu privatnu mreu. VPN omoguuje transport podataka izmeu pojedinih lokalnih mrea i korisnika preko Interneta ali ipak zadravaju svojstvo sigurnosti i privatnosti. VPN mree su i znatno fleksibilnije od zakupljenih kanala. Njihova se fleksibilnost ogleda u tome da nije potrebna direktna veza izmeu privatnih lokalnih mrea ili zaposlenih, a to znai tri stvari: veliko smanjenje trokova uspostavljanja i odravanja vea sposobnost prilagoavanja promenama potreba preduzea (npr. poveanje broja ispostava i njima pripadajuih lokalnih mrea)
podrka radu na terenu, odnosno mobilnoj radnoj snazi

1.2

Vrste VPN-a Remote-Access (daljinski-pristup) koji se takoe naziva i Virtual Private Dial-up Network (VPDN), ovo je user-to-LAN veza koju koriste kompanije iji zaposleni moraju da se poveu na privatnu mreu sa razliitih udaljenih lokacija. Dobar primer za kompaniju kojoj je potreban remote-access VPN bi bila velika firma sa stotinama prodavaca na terenu. Remote-access VPN dozvoljava bezbedne, ifrovane veze izmeu privatne mree kompanije i udaljenih korisnika preko nekog drugog provajdera.

Site-to-site kroz korienje namenske opreme i veliko-razmernog ifrovanja, kompanija moe da povee vie fiksnih sajtova preko javne mree kao to je Internet. Svakom sajtu treba samo lokalna veza sa istom javnom mreom, ime tedi novac ne

OpenVPN

koristei duge, privatne, iznajmljene linije. Site-to-site VPN se dalje moe podeliti na intranet ili ekstranet site-to-site VPN-ove. Site-to-site VPN koji povezuje kancelarije iste kompanije se naziva intranet VPN, dok se VPN koji povezuje odreenu kompaniju sa njenim partnerima ili klijentima naziva ekstranet VPN. Da bi se VPN smatrao sigurnom mreom mora potovati naredne kljune stavke:

1.3 -

Poverljivost i privatnost Podaci ne mogu biti vieni u itljivom formatu Koriste tipine simetrine algoritme: DES, 3DES, AES, Blowfish ifarski i sigurnosni protokoli u VPN-u

ifrovanje je proces kodiranja podataka, tako da je samo raunar sa pravim dekoderom u mogunosti da proita i iskoristi podatke. U VPN-u, raunari na svakom kraju tunela ifruju podatke koji ulaze u tunel i deifruju ih na drugom kraju. Meutim, VPN-u je potrebno mnogo vie od par kljueva da bi se primenilo ifrovanje. Tada se javljaju protokoli. Site-to-site VPN moe da koristi ili IPsec (Internet Protocol Security) protokol ili GRE (Generic Routing Encapsulation) protokol. I GRE obezbeuje radno okruenje za pakovanje protokola podataka za saobraaj

preko Internet Protokola. Ovo okruenje sadri informacije o tome koji tip paketa enkapsulirate i podatke o vezi izmeu poiljaoca i primaoca. II IPsec je veoma rasprostranjen protokol koji se koristi za obezbeenje saobraaja na IP

mreama, ukljuujui i Internet. IPsec moe da ifruje podatke izmeu raznih ureaja: izmeu dva rutera, firewall-a i rutera, desktopa i rutera i desktopa i servera. IPsec se sastoji od dva pod-protokola koji obezbeuju uputstva koje su potrebne VPN-u da bi obezbedio svoje pakete: 1) Encapsulated Security Payload (ESP) koji ifruje korisnu nosivost paketa (podaci koji se transportuju) sa simetrinim kljuem.

2) Autentication Header (AH) koristi hash funkciju na zaglavlju paketa, kako bi doprineo sakrivanju odreenih informacija iz paketa (kao to je identitet poiljaoca) dok ne stigne na svoje odredite.

OpenVPN

Umreeni ureaji mogu da koriste IPsec u jednom od dva naina ifrovanja. U transport mode-u (transportnom reimu), ureaji ifruju podatke koji putuju izmeu njih. U tunnel mode-u (reimu tunela), ureaji grade virtuelni tunel izmeu dve mree. VPN koristi IPsec u tunnel mode-u sa IPsec ESP i IPsec AH koji rade zajedno. U remote-access VPN-u, usmeravanje (tunneling) se obino oslanja na Point-to-point Protocol (PPP) koji je deo maternjeg protokola kojeg koristi Internet. Tanije, remote-access VPN koristi jedan od tri protokola baziranih na PPP: 1) L2F (Layer 2 Forwarding) koga je razvio Cisco; On koristi sve autentifikacijske eme podrane od strane PPP 2) PPTP (Point-to-point Tunneling Protocol) koji podrava 40-bitno i 128-bitno ifrovanje i sve autentifikacijske eme podrane od strane PPP 3) L2TP (Layer 2 Tunneling Protocol) koji kombinuje osbine PPTP i L2F i u potpunosti podrava IPsec; Takoe se moe primeniti u site-to-site VPN-ovima

1.4

Integritet Podaci se ne mogu menjati Tipini hash-funkcijski algoritmi: sha1, md5

1.5

Autentifikacija U VPN mrenom prolazu je siguran identitet druge strane Tipini algoritmi: RSA, DH

OpenVPN

Slika prikazuje kako izgleda paket kada putuje unutar LAN-a i VPN-a

OpenVPN

OpenVPN

OpenVPN je open source aplikacija koja omoguava uspostavljanje virtuelne privatne mree. Ova aplikacija je napravljena od strane James Yonan 2001. godine, dok je poslednja stabilna verzije aplikacije 2.3.0 objavljena u januaru 2013. godine. Aplikacija koristi vlastiti protokol koji je razvijen na SSL/TLS protokolima. Korisnici se u OpenVPN-u mogu autentifikovati preko tajnih kljueva koje su pre razmenili, sertifikata ili preko korisnikih imena i lozinki Za sigurnost koristi OpenSSL biblioteku, SSLv3/TLSv1 protokol kao i mnoge druge sigurnosne zatite. Jo neke od mogunosti su podrka za dinamike IP adrese i podrka za NAT (eng. Network Address Translation)

2.1

ifrovanje (Enctyption)

Open VPN koristi OpenSSL biblioteku koja omoguava ivrovanje podataka i naredbi koje aplikacija razmjenjuje. OpenSSL odrauje sav posao prilikom ifrovanja podataka i dozvoljava OpenVPN aplikaciji da koristi sve ifre koje su dostupne unutar OpenSSL paketa. Osim ovakve zatite mogua je i dodatna zatita preko HMAC (Hash-based Message Authentication Code) paketa autentifikacijskih funkcija, radi dodavanja dodatnog sloja zatite u vezi koji se naziva HMAC Firewall. Takoe se moe koristiti hardversko ubrzanje da bi se postigle bolje performanse za ifrovanje. 2.1.1 OpenSSL OpenSSL je projekt kojem je poetna namena bila da napravi open source implementaciju protokola SSL i TLS. Osim ovih protokola OpenSSL sadri i kriptografsku biblioteku. Projekt se razvijao slino kao i OpenVPN pomou razliitih programera irom sveta. OpenSSL je pisan u C jeziku pa ga je mogue upotrebljavati na razliitim platformama. Poslednja stabilna verzija je 1.0.1e koja je objavljena 11. februara 2013. godine. OpenSSL je izdat pod Apache licencom koji omoguava da se koristi besplatno u komercijalne svrhe, i ne postoji previe prepreka za njegovu upotrebu.

OpenVPN

2.2

Autentifikacija (Authentication)

OpenVPN ima nekoliko naina na koji se moe sprovesti autentifikacija: 1) Najlaki nain je pomou tajnih kljueva koje korisnici prethodno razmene i zatim ih prilikom uspostavljanja VPN konekcije upotrebljavaju. 2) Sledei nain koji moemo koristiti je pomou sertifikata koji nam omoguavaju prepoznatljivost. Ovaj nain autentifikacije sadri najvie mogunosti i smatra se najsnanijim. (Kod Windows okruenja moemo itati sertifikate sa pametnih kartica.) U server klijentskoj konfiguraciji OpenVPN omoguava da server klijentima izda sertifikate za autentifikaciju ili izradi digitalni potpis. 3) Poslednji nain je pomou korisnikog imena i lozinke koji moemo, ali i ne moramo, koristiti zajedno sa sertifikatima. Problem kod autentifikacije sa korisnikim imenom i lozinkom je u tome to sam OpenVPN ne moe pruiti ovakvu autentifikaciju ve zavisi od nadogradnja tree strane

2.3

Umreavanje (Networking)

OpenVPN moe raditi preko UDP (User Datagram Protocol) ili TCP (Transmission Control Protocol), pomou multipleksiranja kreira SSL tunele na samo jednom TCP/UDP portu. Aplikacija ima mogunost da radi preko veine proxy servera (ukljuujui HTTP), dobra je u radu sa NAT-om (Network address translation) i prolasku kroz firewall. Server ima mogunost da prosledi klijentima odreene opcije vezane za konfiguraciju mree, kao to su: IP adrese, naredbe za usmeravanje i nekoliko opcija vezanih za konekciju. OpenVPN nudi dve vrste interface-a za ostvarivanje veze putem univerzalnih TUN/TAP drajvera. On moe kreirati ili IP tunel (TUN) na treem (mrenom) sloju, ili Eternet TAP konekciju na drugom sloju (sloju veze) koja moe prenositi bilo koji tip mrnog saobraaja. OpenVPN moe koristiti LZO (LempelZivOberhumer je algoritam za
kompresovanje koji je fokusiran na brzinu deifrovanja) za kompresovanje toka podataka.

Port 1194 je zvanino dodeljeni broj porta za OpenVPN od strane IANA (Internet Assigned Numbers Authority) i novije verzije programa automatski koriste ovaj port. Funkcija u verziji 2.0 omoguava da jedan proces upravlja istovremeno sa vie tunela,

OpenVPN

nasuprot originalnoj zabrani da moe da postoji samo jedan tunel po procesu (u 1.x verzijama). Kako OpenVPN koristi uobiajne mrene protokole (TCP i UDP) to ga ini poeljnom alternativom za IPsec u situacijama kada ISP (Internet Service Provider) blokira odreene VPN protokole, sa ciljem da prisili korisnike da se pretplate na usluge koje kotaju vie ("business grade" nivo usluga). Moe se rei da je uvoenje TUN/TAP dalo OpenVPNu prednost nad konkurencijom.

2.4

Sigurnost (Security)

Sigurnost kao glavni segment VPN komunikacije je u ovoj aplikaciji omoguena preko vie funkcija. Sve radnje se odvijaju u korisnikom prostoru, umesto da zahtevaju IP stack (a samim time i kernel) operacije. OpenVPN ima mogunost da ukine root privilegije, koristi mlockall (funkcija koja zakljuava/otkljuava adresni prostor nekog procesa) kako bi se spreilo brisanje osetljivih podataka sa diska, ulaskom u chroot jail (okruenje u kojem je korisniku promenjen root direktorijum i ne moe raditi van tog direktorijuma) nakon

inicijalizacije i sprovoenja SELinux sadraja SELinux (eng. Security Enhanced Linux) je nadogradnja za Linux koja omoguuje veu kontrolu nad sadrajem. Kao to je ve spomenuto OpenVPN koristi protokole koji su bazirani na SSL i TLS (Transport Layer Security). OpenVPN takoe nudi podrku za smart kartice preko kriptografskih tokena baziranih na PKCS#11.

OpenVPN

Instalacija openVPN-a na Linux serveru

U okviru ovog projektnog rada, za VPN server smo koristili operativni sistem Ubuntu server 8.04. Koriena je instalacija ovog OS na VMWare plejeru pomou datoteke mini.iso koja je preuzeta sa zvaninog Ubuntu sajta na linku:

http://archive.ubuntu.com/ubuntu/dists/hardy/main/installer-i386/current/images/netboot/ mini.iso. Prilikom instalacije VMWare plejer je podeen da koristi 512MB RAM memorije za ovaj OS i mreni adapter je postavljen u mod Bridged sa ukljuenom opcijom za replikaciju. Instalacija je obavljena u terminalskom modu i nije izabran ni jedan serverski paket koji je poduen a OpenSSL paket je standardno ukljuen u instalaciju. Potrebno je da napomenemo da je konfiguracija mree na kojoj je postavljen server i prikljueni ureaji sledea:
Adresa mree Mrena maska Gateway (adresa routera) DHCP pool routera Statika adresa koju emo dodeliti VPN serveru PC na kom se nalazi VM server 192.168.10.0 255.255.255.0 192.168.10.1 192.168.10.2 192.168.10.40

192.168.10.50

192.168.10.3

Nakon zavrene instalacije OS-a i logovanja na sistem sa korisnikim imenom i ifrom, pristupamo instalaciji paketa openVPN i njegovog podeavanja za serverski mod. Komandom sudo su prelazimo u administratorski reim sa root privilegijama, tako da sve komande unosimo privilegovano. S obzirom da podeavamo VPN server za povezivanje klijenata na lokalnu mreu instaliraemo dva paketa na OS. To su openvpn i bridge-utils paketi. Bridge-utils nam omoguava da premostimo eternet inferfejs na TAP interfejs i obezbedi TAP drajveru da direktno radi sa eternet okvirima na 2. sloju.

OpenVPN

10

root@ubuntu:/# apt-get install openvpn bridge-utils

Ova komanda vri automatsko preuzimanje i instaliranje ova dva paketa sa interneta, tanije baze softverskih alata koja podrava Ubuntu OS. Zatim emo pomou text editora da izvrimo premoavanje mrenog adaptera eth0 u konfiguracionom fajlu za mreni pristup pomou sledee komade:

root@ubuntu:/# vi /etc/network/interfaces

U okviru ovog konfiguracionog fajla izbrisaemo linije auto eth0 i iface eth0 inet dhcp i umesto njih uneti sledee podatke za premoavanje:
auto br0 iface br0 inet static address 192.168.10.50 netmask 255.255.255.0 network 192.168.10.0 gateway 192.168.10.1 broadcast 192.168.10.255 bridge_ports eth0 bridge_fd 9 bridge_hello 2 bridge_maxage 12 bridge_stp on bridge_prio 1000

Zatim emo sauvati ovaj fajl i pristupiti izmeni fajla sysctl.conf da bi smo omoguili klijenet raunarima da koriste internet preko naeg mrenog prolaza (gateway):

root@ubuntu:/# vi /etc/sysctl.conf

i uklonite znak # ispred linije net.ipv4.ip_forward=1 a zatim snimite fajl i izvrite restartovanje mrenog menadera radi aktiviranja novih postavki:

root@ubuntu:/# /etc/init.d/networking restart

Ovim je podeavanje mrenog pristupa i premoavanja adaptera zavreno. Sada podeavamo openVPN server. Prvo je potrebno da generiemo sve fajlove sa kljuevima za

OpenVPN

11

zatitu pristupa openVPN serveru. Potrebno je da kopiramo skripte koje se standardno distribuiraju u paketu openVPN (easy-rsa) u folder easy-rsa koji emo kreirati u folderu openvpn:
root@ubuntu:/# mkdir /etc/openvpn/easy-rsa root@ubuntu:/# rsync avP /usr/share/doc/openvpn/examples/easyrsa/2.0/* /etc/openvpn/easy-rsa/

Prvo emo podesiti osnovne podatke naeg VPN sertifikata. Ti podaci se nalaze u fajlu vars u okviru easy-rsa foldera. Potrebno je promeniti parametre KEY_COUNTRY, KEY_PROVINCE, KEY_CITY, KEY_ORG i KEY_EMAIL:

root@ubuntu:/# vi /etc/openvpn/easy-rsa/vars

Ovi parametri se nalaze na kraju fajla a mi smo ih podesili na sledei nain:


export KEY_COUNTRY=RS export KEY_PROVINCE=RS export KEY_CITY=Beograd export KEY_ORG=Singidunum export KEY_EMAIL=admin@example.org

Zatim generiemo serverske RSA i SSL kljueve i sertifikat pomou dodatnog paketa Easy-RSA koji se nalazi u paketu openVPN, a zatim ih kopiramo u openvpn folder u kome e ih server koristiti:
root@ubuntu:/# chown R root:admin /etc/openvpn/easy-rsa root@ubuntu:/# chmod g+w /etc/openvpn/easy-rsa root@ubuntu:/# cd /etc/openvpn/easy-rsa root@ubuntu:/etc/openvpn/easy-rsa# source ./vars root@ubuntu:/etc/openvpn/easy-rsa# sh ./clean-all root@ubuntu:/etc/openvpn/easy-rsa# sh ./build-dh root@ubuntu:/etc/openvpn/easy-rsa# sh ./pkitool --initca root@ubuntu:/etc/openvpn/easy-rsa# sh ./pkitool --server server
root@ubuntu:/etc/openvpn/easy-rsa# cd keys root@ubuntu:/etc/openvpn/easy-rsa/keys# openvpn --genkey --secret ta.key root@ubuntu:/etc/openvpn/easy-rsa/keys# cp server.crt server.key ca.crt

dh1024.pem ta.key /etc/openvpn/

OpenVPN

12

Posle kreiranja kljueva potrebnih za rad VPN servera, kreiraemo dva skript fajla koja e se pokretati kada se openVPN server startuje ili zaustavlja. Prvo kreiramo fajl down.sh:

root@ubuntu:/# vi /etc/openvpn/down.sh

sa sadrajem:

#!/bin/sh PATH=/sbin:/usr/sbin:/bin:/usr/bin BR=$1 DEV=$2 brctl delif $BR $DEV ip link set "$DEV" down

a zatim i fajl up.sh:

root@ubuntu:/# vi /etc/openvpn/up.sh

sa sadrajem:
#!/bin/sh PATH=/sbin:/usr/sbin:/bin:/usr/bin BR=$1 DEV=$2 MTU=$3 ip link set "$DEV" up promisc on mtu "$MTU" if ! brctl show $BR | egrep -q "\W+$DEV\$"; then brctl addif $BR $DEV fi

i na kraju oba fajla modifikujemo da budu izvrnog tipa:

root@ubuntu:/# chmod a+x /etc/openvpn/down.sh /etc/openvpn/up.sh

Sada je potrebno da konfiguriemo openVPN server, a to moemo uraditi preko konfiguracionog fajla server.conf kojeg emo kreirati na sledei nain:

root@ubuntu:/# vi /etc/openvpn/server.conf

OpenVPN

13

i u fajl emo upisati sledei sadraj:

port 1194 proto udp dev tap0 server-bridge 192.168.10.1 255.255.255.0 192.168.10.110 192.168.10.150 push route 192.168.10.0 255.255.255.0 push dhcp-option DNS 192.168.10.1 push redirect-gateway def1 bypass-dhcp ca ca.crt cert server.crt key server.key dh dh1024.pem tls-auth ta.key 0 ifconfig-pool-persist ipp.txt keepalive 10 120 persist-key persist-tun comp-lzo cipher BF-CBC verb 3 mute 20 status openvpn-status.log client-config-dir ccd client-to-client up /etc/openvpn/up.sh br0 down /etc/openvpn/down.sh br0

Posle snimanja fajla izvriti restartovanje openVPN servera:

root@ubuntu:/# /etc/init.d/openvpn restart

Ako pogledamo konfiguracioni fajl, podeavanja koja smo postavili se odnose na: VPN port koji emo koristiti i to je defaultni port 1194, zatim smo podesili tip protokola kroz kanal na udp, postavili smo za mreni adapter premoeni adapter tap0, zatim smo odredili DHCP opciju servera kojom se zadaje opseg IP adresa koje e server dodeljivati klijentima (u ovom sluaju 192.168.10.110 do 192.168.10.150) i na poetku komande se prosleuje mreni prolaz mree na kojoj se nalazi server kao i maska mree, zatim navodimo imena fajlova kljueva koje e server koristiti kao i algoritam ifrovanja podataka kroz VPN kanal (u ovom

OpenVPN

14

sluaju BlueFish) i omoguavamo kompresiju podataka na strani servera. Sve konekcije klijenata e biti upisane u fajl openvpn-status.log i komandom client-to-client omoguavamo da se klijenti meusobno vide u mrei (bez ovog podeavanja klijenti bi bili u mogunosti da vide samo server). Komandom push prosleujemo parametre klijentima kako bi izvrili podeavanje openVPN klijent programa. Ovim smo zavrili podeavanje openVPN servera i pustili smo ga u rad. Sada je potrebno da na serveru generiemo kljueve za svakog klijenta posebno. Pomou ovih kljueva klijenti e moi da pristupe serveru sa udaljenih lokacija putem internet konekcije. Postoji mogunost da se generie samo jedan set kljueva i da svi klijenti koriste iste kljueve ali iz bezbednosnih razloga ovo je neproporuljivo i koristi se samo u sluaju testiranja openVPN konekcije. Generisanje klijent RSA i SSL kljueva postiemo sledeim setom komandi:

root@ubuntu:/# cd /etc/openvpn/easy-rsa root@ubuntu:/etc/openvpn/easy-rsa# source ./vars root@ubuntu:/etc/openvpn/easy-rsa# ./build-key-pass naziv_klijenta

Ovim smo generisali kljueve za jednog klijenta. Fajlove naziv_klijenta.crt, naziv_klijenta.csr, naziv_klijenta.key, ca.crt i ta.key je potrebno iskopirati iz foldera /etc/openvpn/easy-rsa/keys i proslediti klijentu za upotrebu na openVPN klijent programu. Ukoliko elimo da generiemo kljueve za narednog klijenta ponoviemo gore navedenu proceduru.

OpenVPN

15

Instalacija openVPN na klijentu

Instalacija i konfigurisanje openVPN na klijentu. Konfigurisanje na klijentu Ubuntu 12.10

Nakon preuzimanja potrebnih konfiguracionih fajlova od administratora servera, otvoriti konekcije i izabrati Edit Connections,

Nakon toga na kartici VPN napraviti novu ili Edit za postojeu

OpenVPN

16

Uneti gateway i priloiti odgovarajue crt sertifikate kao i privatni klju administratora.

dobijen od

OpenVPN

17

Zatim otii na Advanced i na kartici General potvrditi polja Use LZO data compresion i Use a TAP Device.

Na kartici TSL Authentifikation dodati preostali ta.key.

OpenVPN

18

Ako se konekcija i dalje ne vidi

potrebno je da se runo ukljui

OpenVPN

19

otvoriti Netvork, izabrati odgovarajuu i kliknuti na ON / OFF dugme.

OpenVPN

20

Sada bi trebalo da izgleda ovako, tako da je mogue pokrenuti je.

Podeavanja na Windows klijentu

Preuzeti i instalirati grafiki intefejs sa adrese http://swupdate.openvpn.org/community/releases/openvpn-install-2.3.1-I001-i686.exe i u folder \OpenVPN\config iskopirati sertifikate i kljueve dobijene od administratora. Zatim pokrenuti OpenVPN GUI i u System tray-u bi trebalo da se pojavi VPN agent, desni klik na ikonicu aktivirati meni i kliknuti na connect i pokrenuti konekciju. Proslediti ifru i saekati da se veza uspostavi.

OpenVPN

21

Proverom javne IP-adrese, utvrdiemo je to adresa gateway-a VPN servera, to je potvrda da se nalazimo u istoj udaljnoj mrei.

OpenVPN

22

Podeavanja klijenta u fajlu "\OpenVPN\config\klijent2.ovpn

OpenVPN

23

Uspostava veze klijent-server

Testiranje i uspostavu veze pomou openVPN paketa koji smo uspeno instalirali na serveru i klijentu smo izvrili izmeu dve udaljene kune mree koje su svaka zasebno povezane na internet provajdera putem router ureaja. U okviru mree na kojoj je prikljuen PC (Windows 8 64bit) sa pokrenutim openVPN serverom u VM plejeru, nalazilo se jo nekoliko ureaja i jo jedan PC (Windows 7 32 bit) kojima je dinamiki router dodelio IP adrese iz DHCP opsega 192.168.10.2 192.168.10.50. Na glavnom PC-ju su deljena dva foldera a na Win7 Pc-ju jo jedan folder. Prilikom uspostavljanja veze klijentski program u Windows okruenju je bez problema izvrio povezivanje sa serverom i autentifikaciju konekcije i dodeljena mu je IP adresa 192.168.10.110 i time je postao lan mree na udaljenom serveru. Ubrzo potom su se na klijentovom PC u okviru network menadera pojavili oba PC iz udaljene mree na kojoj je server i bilo je omogueno pristupanje deljenim foledrima na oba mesta. Na klijentskom raunaru smo proverom ARP tabele u komandnom modu ustanovili da je klijent povukao ARP podatke iz udaljene mree servera. S obzirom na to da smo u klijent podeavanjima postavili da klijent promeni sopstveni gejtvej na gejtvej udaljene mree servera, proverom IP adrese na web-u ustanovili smo da sav internet saobraaj koji obavljamo sa klijent maine ide preko VPN kanala i da klijent zaista koristi serverski gejtej za pristup internetu. Kopiranje fajlova kroz openVPN kanal je bilo zadovoljavajue brzine s obzirom da smo koristili, pored SSL zatite kanala, i BlowFish enkripciju podataka. Iskljuivanjem enkripcije podataka dobili smo rezultate pingovanja za oko 30% bolje nego sa ukljuenom enkripcijiom, to je uticalo na poveanje brzine protoka podataka kroz komunikacioni VPN kanal. Ovim smo potvrdili upotrebnu funkcionalnost openVPN kanala koji smo ovim projektom realizovali.

OpenVPN

24

Zakljuak

OpenVPN je paket koji radi u sloju aplikacije. Jednostavan je za konfiguraciju i na serverskoj i na klijentskoj strani i ne zahteva previe angaovanja oko NAT i firewall podeavanja. Drugi deo prihvatljivosti ovog programskog paketa se ogleda u tome da je mogue prihvatiti vei broj klijenata na samo jedan port a sa time nije potrebno ni podeavanje dodatnih portova za vie klijenata kao ni podeavanje pravila firewall-a. S obzirom da se SSL ifrovanje podataka odvija u okviru samog servera, openVPN je solucija koja pati od nedostatka brzine protoka podataka kroz VPN kanal. Ukoliko koristimo i kompresiju podataka i dodatno ifrovanje podataka koji prolaze kroz kanal, brzina protoka podataka postaje direktno zavisna od brzine samog servera. Ovaj problem je delimino reiv jedino upotrebom hardverskih dodataka za real-time enkripciju. Karakteristike openVPN-a ga svrstavaju u kategoriju VPN za upotrebu u SOHO okruenjima i nije primenljiv za zahtevne korporacijske VPN-ove. Nije preporuen za povezivanje servera ali ima i onih koji ga za to koriste. U okviru ovog paketa na raspolaganju su nam razni dodatni algoritmi za enkripciju od BlueFish, AES-128 i AES-256 do DES-a i TripleDES-a. Naravno, poto se upotreba ovih enkripcija odvija na programskom nivou, performanse openVPN konekcije drastino opada sa njihovom upotrebom. Pored navedenih dobrih i loih osobina openVPN-a, premoavanje mrea sa ovim paketom nam nudi solidne performanse sa jako dobrom bezbednou podataka i zatitom od pokuaja neovlaenih upada u sistem i snimanja protoka saobraaja. S obzirom na to da se moe implementirati na skoro sve postojee platforme OS, predstavlja jednostavno reenje za manje zahtevne korisnike.

OpenVPN

25

Literatura
http://openvpn.net/ http://www.linuxsysadmintutorials.com/ http://openmaniak.com/openvpn.php http://www.cisco.com/en/US/tech/tk583/tk372/technologies_tech_note09186a008009 4865.shtml http://en.wikipedia.org/wiki/OpenVPN

You might also like