You are on page 1of 60

Translated from Czech to Croatian - www.onlinedoctranslator.

com

TEHNIČKO SVEUČILIŠTE BRNO


TEHNOLOŠKO SVEUČILIŠTE U BRNU

FAKULTET ELEKTROTEHNIKE I KOMUNIKACIJSKIH TEHNOLOGIJA INSTITUT


ZA TELEKOMUNIKACIJE

FAKULTET ELEKTROTEHNIKE I KOMUNIKACIJA ODSJEK ZA


TELEKOMUNIKACIJE

OPENVPN VIRTUALNA MREŽA LABORATORIJSKI ZADATAK

DIPLOMSKI RAD
DIPLOMSKI RAD

AUTOR DJELA JÍRI KORTUS


AUTOR

Brno 2012
TEHNIČKO SVEUČILIŠTE BRNO
TEHNOLOŠKO SVEUČILIŠTE U BRNU

FAKULTET ELEKTROTEHNIKE I KOMUNIKACIJSKIH


TEHNOLOGIJA
INSTITUT ZA TELEKOMUNIKACIJE

FAKULTET ELEKTROTEHNIKE I KOMUNIKACIJA ODSJEK ZA


TELEKOMUNIKACIJE

OPENVPN VIRTUALNA MREŽA LABORATORIJSKI


ZADATAK
LABORATORIJSKA VJEŽBA "OPENVPN VIRTUALNE MREŽE"

DIPLOMSKI RAD
DIPLOMSKI RAD

AUTOR DJELA JÍRI KORTUS


AUTOR

VODITELJ RADA doc. Ing. KAREL BURDA, sc.


NADGLEDNIK

Brno 2012
VIŠE UČENJE
TEHNIČKA U Brnu

Fakultet elektrotehnike i
komunikacijskih tehnologija

Institut za telekomunikacije

Diplomski rad
Prvostupnički smjer studija
Teleinformatika

Student: Jiří Kortus iskaznica: 126760


godina studija: 3 Akademska godina: 2011./2012

NAZIV TEME:

Laboratorijska zadaća Virtualne mreže tipa OpenVPN

UPUTE ZA PRIPREMU:
Proučite i opišite princip, osnovne komponente i način rada OpenVPN virtualnih mreža. Na temelju toga
osmislite koncept za laboratorijski zadatak pod nazivom OpenVPN virtualna mreža. Opravdajte, praktično
implementirajte, testirajte i evaluirajte svoj prijedlog. Pripremite upute za predloženi zadatak, u kojima
obratite pažnju na razumljivost, razumljivost i jasnoću.

PREPORUČENA LITERATURA:
[1] Krčmář, P.: Linux: izgraditi računalnu mrežu. Naklada Grada. Prag 2008.
[2] - : Vodič za administratore sustava OpenVPN pristupnog poslužitelja. Tehnologije OpenVPN. Pleasanton 2010.

Rok za prijavu: 6.2.2012 Rok:31.5.2012

Nadglednik: doc. Ing. Karel Burda, CSc.


Konzultanti za diplomski rad:

prof. Ing. Kamil Vrba, CSc.


Predsjednik vijeća podružnice

OBAVIJEST:
Autor diplomskog rada ne smije povrijediti autorska prava trećih osoba prilikom izrade diplomskog rada, posebice ne smije
na neovlašten način zadirati u autorska prava trećih osoba i mora biti u potpunosti svjestan posljedica kršenja odredbi § 11.
et seq. Zakona o autorskim pravima br. 121/2000 Coll., uključujući moguće kaznenopravne posljedice koje proizlaze iz
odredbi drugog dijela, glave VI. dio 4. Kaznenog zakona br. 40/2009 Coll.
SAŽETAK
U uvodu, ovaj rad opisuje principe virtualnih privatnih mreža (VPN) te ukratko spominje glavne
protokole i pristupe za njihovu implementaciju. Zatim se detaljnije usredotočuje na upoznavanje
čitatelja s prirodom i karakteristikama OpenVPN mreža. Navodi pojedinačne značajke i opcije,
raspravlja o njihovim prednostima i nedostacima.
Nadalje, posvećen je osmišljavanju laboratorijskih radova usmjerenih na korištenje OpenVPN-a.
Raspravlja se o mogućnostima oblikovanja rada, posebice s tehničkog i didaktičkog gledišta. Na
temelju njih predstavlja koncept laboratorijskog zadatka s jednim OpenVPN poslužiteljem i jednim
OpenVPN klijentom koji simulira praktično rješenje problema neželjenog ograničavanja internetske
veze od strane loše ili prerestriktivno postavljenog vatrozida. Dio koncepta je i dodjela i stvarna
implementacija virtualnih strojeva koji se koriste u vježbi. Nadalje, opisane su mogućnosti proširenja
predloženog zadatka ili mogućnosti njegovog korištenja kao temelja za nove zadatke.

KLJUČNE RIJEČI
VPN Virtualna privatna mreža OpenVPN Lab Zadatak SSL TLS Linux

SAŽETAK
Ovaj diplomski rad opisuje principe virtualnih privatnih mreža (VPN) i ukratko
spominje glavne protokole i metode za implementaciju VPN-a. Nakon toga, cilj je
detaljniji opis karakteristika OpenVPN-a. Opisuje njegova svojstva i mogućnosti te
govori o njihovim prednostima i nedostacima.
U sljedećem dijelu fokusira se na laboratorijsku vježbu koja se odnosi na implementaciju
OpenVPN-a. Raspravlja se o mogućnostima izrade laboratorijskih vježbi uglavnom s
tehničkog i didaktičkog gledišta. S obzirom na njih, prikazan je koncept vježbe s jednim
OpenVPN poslužiteljem i jednim klijentom. Vježba simulira rješenje praktičnog problema
koji se često pojavljuje s neželjenim ograničenjima pristupa internetu uzrokovanim
pogrešno konfiguriranim ili previše restriktivnim vatrozidima. Koncept se sastoji od
teorijskog dijela i uputa te slika virtualnih strojeva koji se koriste u vježbi. Osim toga,
spominju se različite mogućnosti daljnjeg proširenja vježbe ili njezine upotrebe kao
podloge za neku drugu vježbu.

KLJUČNE RIJEČI
VPN virtualna privatna mreža OpenVPN laboratorijske vježbe SSL TLS Linux

KORTUS, JiříLaboratorijski zadatak Virtualne mreže tipa OpenVPN:Diplomski rad. Brno: Brno
University of Technology, Faculty of Electrical Engineering and Communication Technologies,
Institute of Telecommunications, 2011. 59 str. Voditelj je doc. Ing. Karel Burda, CSc.
DEKLARACIJA

Izjavljujem da sam svoj diplomski rad na temu "Laboratorijska zadaća virtualne


mreže tipa OpenVPN" izradio samostalno pod vodstvom voditelja diplomskog rada
te koristeći stručnu literaturu i druge izvore informacija koji su svi citirani u radu i
navedeni u bibliografiji na kraju rada.
Kao autor navedenog diplomskog rada, nadalje izjavljujem da u vezi s izradom ovog
diplomskog rada nisam povrijedio autorska prava trećih osoba, posebice da nisam na
nezakonit način zadirao u tuđe osobne i/ili vlasnička autorska prava, te sam u potpunosti
svjestan posljedica kršenja odredbiS11 i dalje Zakona o autorskom pravu br. 121/2000
Coll., o autorskom pravu, o pravima srodnim autorskom pravu i o izmjenama i dopunama
određenih zakona (Zakon o autorskom pravu), s izmjenama i dopunama, uključujući
moguće kaznene posljedice koje proizlaze iz odredaba drugog dijela, Glava VI. dio 4.
Kaznenog zakona br. 40/2009 Coll.

Brno. . . . . . . . . . . . . . . ..................................
(potpis autora)
HVALA

Zahvaljujem mentoru doc. Ing. Karlu Burdu, dipl.ing.sc., na konzultacijama i vrijednim savjetima tijekom

izrade diplomskog rada.

Brno. . . . . . . . . . . . . . . ..................................
(potpis autora)
SADRŽAJ

Uvod 10

1 VPN 11
1.1 Značajke VPN-a . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

2 Mehanizmi za tuneliranje 13
2.1 PPTP. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2.2 L2TP. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2.3 IPsec. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.4 SSL/TLS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.4.1 SSTP. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.4.2 OpenVPN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.5 VPN topologija . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

3 OpenVPN 18
3.1 Filozofija/Arhitektura . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
3.2 Sigurnost . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
3.2.1 Komunikacija . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
3.3 Autentifikacija . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
3.3.1 Provjera autentičnosti temeljena na PKI-ju . . . . . . . . . . . . . . . . . . . 20
3.3.2 Autentifikacija imenom i lozinkom . . . . . . . . . . . . . . . . 21
3.3.3 Autentifikacija pomoću čip kartice . . . . . . . . . . . . . . . . . . . 22
3.4 Enkripcija . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
3.5 Sustav . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
3.6 Mreža . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
3.6.1 Princip prijenosa podataka. . . . . . . . . . . . . . . . . . . . . . . . 23
3.6.2 Sažimanje prenesenih podataka . . . . . . . . . . . . . . . . . . . . 24
3.6.3 TUN, TAP sučelje. . . . . . . . . . . . . . . . . . . . . . . 24
3.6.4 Obraćanje klijentima . . . . . . . . . . . . . . . . . . . . . . . . 25
3.6.5 Prijenos parametara klijentima . . . . . . . . . . . . . . . . . . 25
3.6.6 Raspodjela opterećenja, redundancija . . . . . . . . . . . . . . . . . . 25
3.7 Konfiguracija . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
3.7.1 Konfiguracijske datoteke . . . . . . . . . . . . . . . . . . . . . . . 26
3.7.2 Upravljačko sučelje . . . . . . . . . . . . . . . . . . . . . . . 27
3.7.3 Grafičko sučelje . . . . . . . . . . . . . . . . . . . . . . . . . 27

4 OpenVPN pristupni poslužitelj 29


5 Laboratorijski zadatak 30
5.1 Zadani uvjeti ............................ 30
5.2 Predmet laboratorijskog zadatka. . . . . . . . . . . . . . . . . . . . . . . . 31
5.2.1 Scenarij primjene . . . . . . . . . . . . . . . . . . . . . . . . . . 31
5.2.2 Potrebne radnje . . . . . . . . . . . . . . . . . . . . . . . . . . 31
5.2.3 Topologija . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
5.3 Provedba . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
5.3.1 Operativni sustav, okruženje. . . . . . . . . . . . . . . . . . . . 33
5.3.2 Mreža, vatrozid . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
5.4 Korist za studente . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
5.5 Didaktički pogled. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35

6 Zadavanje laboratorijskog zadatka 36


6.1 Teorijski uvod. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
6.1.1 Virtualne privatne mreže - VPN . . . . . . . . . . . . . . . . . . 36
6.1.2 Ključne značajke VPN-a . . . . . . . . . . . . . . . . . . . . . . 37
6.1.3 OpenVPN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
6.1.4 Asimetrična kriptografija, PKI . . . . . . . . . . . . . . . . . . 38
6.2 Zadaci . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
6.3 Tijek rada . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
6.3.1 Upoznavanje s okolinom . . . . . . . . . . . . . . . . . . . . . 39
6.3.2 Pokretanje virtualnih strojeva . . . . . . . . . . . . . . . . . . . . 41
6.3.3 Zadani status mreže . . . . . . . . . . . . . . . . . . . . . . . . . 41
6.3.4 Generiranje certifikata . . . . . . . . . . . . . . . . . . . . . . 41
6.3.5 Postavke OpenVPN poslužitelja. . . . . . . . . . . . . . . . . . . 43
6.3.6 Postavke OpenVPN klijenta . . . . . . . . . . . . . . . . . . . 45
6.3.7 Status mreže tijekom VPN veze. . . . . . . . . . . . . . . . . . . . 46

7 Informacije za praktičare 47
7.1 Instaliranje virtualnih strojeva . . . . . . . . . . . . . . . . . . . . . . . . 47
7.2 Primjeri konfiguracija . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
7.2.1 poslužitelj.konf. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
7.2.2 client.conf. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
7.3 Mogući problemi ............................. 48
7.3.1 Poslužitelj . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
7.3.2 Klijent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
7.4 OpenVPN Pitanja i odgovori . . . . . . . . . . . . . . . . . 49
8 Testiranje, moguće daljnje proširenje 51
8.1 Ispitivanje . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
8.2 Ostala moguća proširenja. . . . . . . . . . . . . . . . . . . . . . . . . . . 51

9 Zaključak 53

Književnost 54

Popis simbola, količina i kratica 56

Popis priloga 59
POPIS SLIKA
1.1 Načelo virtualnih privatnih mreža. . . . . . . . . . . . . . . . . . . . 11
2.1 Shematski prikaz mrežnog tunela . . . . . . . . . . . . . . . . . 13
5.1 Topologija virtualne mreže u laboratorijskom zadatku. . . . . . . . . . . . . . . 33
6.1 Princip mrežnog tunela . . . . . . . . . . . . . . . . . . . . . . . . . . 36
6.2 Princip virtualnih privatnih mreža . . . . . . . . . . . . . . . . . . . . 37
6.3 Topologija virtualne mreže . . . . . . . . . . . . . . . . . . . . . . . . . . 40
UVOD
U današnjim računalnim mrežama često se susrećemo s potrebom povezivanja udaljenih
mreža ili dopuštanja pristupa mreži korisnicima koji se nalaze izvan nje. Istodobno,
postavljamo zahtjeve za sigurnost, nisko financijsko opterećenje i druge važne aspekte
vezane uz ovu problematiku.
U prošlosti je bilo uobičajeno povezivati udaljene mreže pomoću namjenskih krugova
(fiksni telefoni),što je bilo financijski skupo i ne baš fleksibilno. Postupnim razvojem interneta
počele su se promovirati virtualne mreže (VPN) koje omogućuju pristup udaljenim mrežama i
njihovo međusobno povezivanje, temeljeno na različitim tehnološkim rješenjima. Pojedinačna
rješenja su više ili manje različita i imaju različite prednosti ili ograničenja.
Ovaj diplomski rad bavi se problematikom virtualnih mreža temeljenih na OpenVPN
tehnologiji te se fokusira na njezine glavne karakteristike i mogućnosti korištenja u
laboratorijskim vježbama. U uvodu se analiziraju svojstva VPN mreža i najčešće korištene
obitelji protokola, odn mehanizmi koji se koriste za implementaciju virtualnih privatnih
mreža. Uz karakteristike, za svaku tehnologiju ukratko su navedene i prednosti i nedostaci.

Slijedi opis OpenVPN tehnologije, s fokusom na filozofiju koja stoji iza nje,
sigurnost i mehanizme koje koristi za postizanje te tehnologije. Također su
opisane dostupne metode autentifikacije i enkripcije te osnovni principi koje
koriste, kao i rad OpenVPN-a u smislu vlastitog prijenosa podataka.
Također opisuje kako se OpenVPN može konfigurirati (konfiguracijske datoteke, grafička
korisnička sučelja). Među opisanim alatima za konfiguraciju i upravljanje OpenVPN-om
uključena je i proširena verzija OpenVPN-a -OpenVPN pristupni poslužitelj,koji nudi
sveobuhvatno okruženje za brzu implementaciju OpenVPN-a.
Sljedeći dio rada posvećen je izradi laboratorijskog zadatka čiji je cilj postaviti
jednostavnu virtualnu mrežu temeljenu na OpenVPN-u. Opisuje uvjete koji se moraju uzeti
u obzir pri izradi zadatka, kao i uvjete i specifikacije za provedbu zadatka. Razmatraju se
mogućnosti sadržaja zadatka, a iznose se i razmatrani didaktički aspekti koji ravnaju pri
zadavanju rada.
Na temelju uvjeta dodjele i njihove analize opisuje se stvarna implementacija zadatka, kako sa
stajališta implementacije (konfiguracija virtualnih strojeva na kojima je zadatak izgrađen) tako i sa
stajališta stvarne implementacije. dodjela zadatka. Dodjela zadatka dodatno je proširena
informacijama za polaznike.

10
1 VPN
VPN (Virtual Private Network) je mreža koja uglavnom koristi javnu
telekomunikacijsku infrastrukturu, kao što je Internet, kako bi omogućila pristup
udaljenim poslovnicama ili putujućim korisnicima središnjoj mreži organizacije.[1]
VPN dakle stvara vezu između pojedinih mreža ili terminalnih uređaja kroz
komunikacijski kanal koji ne pripada tim mrežama (osobito Internet) tako da se čini
kao da su povezani izravno.
Povijesno gledano, VPN principi su implementirani korištenjem iznajmljenih
podatkovnih krugova. Međutim, takvo je rješenje bilo financijski skupo i
nefleksibilno. S razvojem Interneta, tj. posebno sa sve većom dostupnošću, većim
dostupnim brzinama prijenosa i padom cijena veza, Internet (a ne više namjenski
podatkovni krugovi) počeo se koristiti za izgradnju VPN-ova[1]. Nadalje, samo će se
ova vrsta veze nazivati pod pojmom VPN.
U praksi se VPN-ovi uglavnom koriste za sigurno povezivanje mreža pojedinih
podružnica organizacija ili za udaljeni pristup radnika tim mrežama. Princip udaljene
mrežne veze i mrežne veze prikazan je na slici 1.1, isprekidana linija predstavlja vezu
pomoću VPN-a. Druga opcija za korištenje VPN-a je stvaranje tunela koji služi kao
potpuna internetska veza u okruženju u kojem su postavljena ograničenja za
korištenje određenih usluga (npr. dopuštanje samo određenih komunikacijskih
portova na vrućim točkama, itd.) [2].

1.1 Značajke VPN-a


Gornja definicija VPN-a može se proširiti kako bi uključila druge značajke koje se obično očekuju
od virtualnih privatnih mreža. Ovdje se prvenstveno radi o osiguravanju autentifikacije,
autorizacije, povjerljivosti i integriteta:

Div. 1.1: Princip virtualnih privatnih mreža

11
Ovjera -provjera identiteta sugovornika (VPN poslužitelj, VPN klijent), dokaz
identiteta. Općenito, autentifikacija se može implementirati, na primjer, s korisničkim
imenom i lozinkom, zajedničkim ključem, certifikatom ili drugim sredstvima.
Autorizacija –omogućavanje pristupa VPN mreži ili pod-uslugama koje se u ovoj mreži
pružaju samo odgovarajućim subjektima.
Povjerljivost –osiguravajući da prenesene podatke (u čitljivom obliku) ne može dobiti
treća strana. Povjerljivost je osigurana u VPN-u šifriranjem komunikacije.
Integritet –mogućnost saznanja da tijekom prijenosa nije došlo do promjene prenesenih
podataka, bilo zbog pogreške u prijenosu ili namjerne izmjene od strane napadača.
Gore navedena načela važna su pri implementaciji VPN-a u okruženju koje se
po svojoj prirodi ne može smatrati sigurnim (internet), tj. u velikoj većini slučajeva.
Načini na koje je svaka sigurnosna točka osigurana razlikuju se ovisno o specifičnoj
vrsti VPN-a i njegovim postavkama. Oni se mogu dalje proširivati, ali se neki mogu
u praksi i izostaviti, ovisno o konkretnoj primjeni i zadanim zahtjevima.

12
2 TUNELSKI MEHANIZMI
Postoje mnoge vrste virtualnih privatnih mreža s različitim razinama sigurnosti, koristeći
različite (osobito tunelske) protokole. Protokol tuneliranja koristi se za stvaranje tunel,odnosno
virtualna veza od točke do točke između čvorova u mreži na linijskom ili mrežnom sloju. Tunel je
shematski prikazan na slici 2.1, tunel koji se koristi za povezivanje prve i druge mreže prikazan
je kontinuiranom linijom, protok podataka kroz tunel isprekidanom linijom.
S jednom ili više takvih veza može se ostvariti koncept virtualnih privatnih mreža. Za
tuneliranje se mogu koristiti protokoli koji su izravno dizajnirani za tu svrhu (npr. PPTP,
L2TP, itd.) ili drugi protokoli prikladni za tu svrhu, uz pomoć kojih se komunikacija
naknadno enkapsulira (npr. SSL). VPN-ovi se (prema korištenim protokolima) uglavnom
mogu svrstati u sljedeće skupine:

2.1 PPTP
PPTP (Point-to-Point Tunneling Protocol) je protokol za tuneliranje koji je razvio
Microsoft u suradnji s drugim tvrtkama [3] dokumentiran u preporuci RFC 2637.
Izgrađen je na temelju GRE protokola, u koji inkapsulira PPP pakete, komunikaciju
upravlja se vezom preko TCP protokola. Najčešća implementacija PPTP-a je
Microsoft klijent/poslužitelj (od Windows 95 OSR2). Podržava autentifikaciju putem
PAP, CHAP, MSCHAPv1/v2 ili EAP-TLS protokola, podaci koji se prenose putem PPP-
a kriptirani su MPPE protokolom.
Nedostatak je niska sigurnost (ranjivost MSCHAPv1/v2 protokola) [3], s druge
strane, nativna dostupnost u Microsoft Windows operativnim sustavima je prednost.
Dostupne su i druge PPTP implementacije, npr. PoPToP za Linux.

2.2 L2TP
L2TP (Layer 2 Tunneling Protocol)[4] je protokol za tuneliranje razvijen u suradnji s
Microsoftom i Ciscom, opisan u preporuci RFC 2661. Koristi se za tuneliranje podataka

Div. 2.1: Shematski prikaz mrežnog tunela

13
na sloju veze u IP mrežama koristi UDP datagrame za prijenos podataka. Sam L2TP
protokol omogućuje samo osnovnu autentifikaciju i nema mehanizme za šifriranje
prenesenih podataka. U slučaju da je potreban snažan mehanizam provjere
autentičnosti ili sigurnost prijenosa, L2TP se može koristiti u kombinaciji s IPsec-om;
prvo se stvara sigurna IPsec veza između čvorova, u kojoj se potom stvara L2TP tunel.
L2TP protokol podržan je u operativnim sustavima MS Windows (nativno
Windows 2000 i noviji), Apple Mac OS X (verzija 10.3 i noviji) i Unix operativnim
sustavima.

2.3 IPsec
IPsec je sigurnosna ekstenzija IP protokola [5], koja omogućuje autentifikaciju i
enkripciju svakog poslanog paketa. IPsec se može koristiti za tuneliranje u kombinaciji
s L2TP (kao što je gore spomenuto) kada radite unačin transportai šifrirani su samo
preneseni podaci (i/ili njihova autentifikacija je osigurana), a ne izvorna/odredišna
adresa [5, Transportni način]. U ovom slučaju, prisutnost NAT-a u prijenosnom putu
može biti problematična.
Druga opcija je korištenje samog IPsec v protokolanačin tuneliranja. Cijeli
paket je šifriran (i/ili autentificiran) i naknadno enkapsuliran u novi paket s
novim zaglavljem [5, Tunnel mode].
IPsec je izvorno podržan u operativnim sustavima MS Windows (Windows 2000 i
noviji), podrška u kernelu ili podrška uz pomoć drugih implementacija izvan kernela
može se koristiti pod Linuxom, *BSD sustavi su također podržani (uključujući
implementaciju u KAME projekt) i drugi OS uključujući OS za mrežni hardver, npr. Cisco
IOS, Juniper Junos, itd.

2.4 SSL/TLS
Protokoli SSL (Secure Socket Layer) i TLS (Transport Layer Security) [6] koji se temelje
na SSL-u služe za osiguranje sigurne komunikacije putem Interneta. U tu svrhu koriste
asimetričnu kriptografiju (za razmjenu ključeva), simetričnu kriptografiju (za šifriranje
prenesenih podataka) i otiske poruka (MAC, Message Authentication Code) kako bi
osigurali cjelovitost prenesenih podataka. SSL omogućuje jednostranu ili dvostranu
autentifikaciju pomoću certifikata.
SSL protokol dizajnirao je Netscape, prva verzija (2.0) javno je objavljena 1995.
godine, nakon čega je uslijedila verzija 3.0 1996. godine, koja je popravila brojne
sigurnosne nedostatke [6]. TLS protokol standardiziran je u verziji 1.0 1999. godine
kao RFC 2246, trenutno je najnovija verzija TLS 1.2 (RFC 5246). Koncepti

14
TLSiSSLde facto se odnosi na isti protokol u različitoj verziji (TLS 1.0 odgovara SSL-u
3.1, TLS 1.1 odgovara SSL-u 3.2, a TLS 1.2 je ekvivalentan SSL-u 3.3), u ovom kontekstu
pojmovi se mogu smatrati labavo zamjenjivima.
Protokoli rade na aplikacijskom sloju (sa stajališta TCP/IP modela), odn
relacijski sloj (sa stajališta ISO/OSI modela), a obično se koriste za osiguranje
aplikacijskih protokola, gdje je komunikacija putem izvorno nesigurnog protokola
(npr. HTTP, SMTP, IMAP) osigurana pomoću SSL/TLS (HTTPS, SMTPS) , IMAPS).
Osim komercijalnih implementacija, dostupne su i besplatne biblioteke koje
podržavaju SSL protokol, kao što su OpenSSL, GnuTLS ili PolarSSL.

2.4.1 SSTP
Realizaciju VPN mreže (ili tunela) temeljene na TLS-u omogućuje SSTP (Secure Socket Tunneling
Protocol)[7] protokol, kada se putem SSL 3.0 kanala uspostavlja veza PPP ili L2TP protokola.
Razvio ga je Microsoft s namjerom da eliminira neke od nedostataka PPTP ili L2TP [8] protokola,
posebice mogućnost jednostavnog blokiranja ovih protokola na vatrozidima. Korištenje SSL-a s
jedne strane osigurava autentifikaciju i sigurnost prenesenih podataka, a s druge strane
omogućuje bolju propusnost VPN veza kroz vatrozide ako ne blokiraju SSL-kriptirani promet
(prema zadanim postavkama na portu 443).
Uz prednosti koje proizlaze iz korištenja SSL-a, možemo spomenuti nativnu podršku u
MS Windows Vista SP1 i novijim (nadalje, protokol podržavaju RouterOS sustavi i
djelomično pod Linuxom). Nedostatak je korištenje TCP protokola za prijenos podataka
VPN veze (objašnjeno u nastavku) i orijentacija samo na udaljeni pristup pojedinačnih
klijenata privatnoj mreži (ne povezivanje udaljenih mreža -site-to-site).

2.4.2 OpenVPN
OpenVPN je glavna VPN aplikacija koja se temelji na SSL protokolu. To je besplatni
softver licenciran pod GPL[9], čiji je razvoj 2002. godine započeo James Yonan, a
trenutno ga razvija OpenVPN Technologies Inc. i zajednica softvera otvorenog
koda (najnovija stabilna verzija u vrijeme pisanja - studeni 2011. - 2.2.1). Osim
verzije otvorenog koda, postoji i komercijalno dostupna verzija (OpenVPN Access
Server [10]), koja proširuje mogućnosti Open-VPN-a i pojednostavljuje upravljanje,
posebno u instalacijama s velikim brojem klijenata.
Zahvaljujući otvorenoj licenci, OpenVPN može biti sigurniji (svatko može pronaći i
popraviti sigurnosni propust u izvornim kodovima) i može se koristiti besplatno.
Funkcionalnost SSL protokola pruža bibliotekaOpenSSL (dostupna pod besplatnom
licencom Apache [11], jedna je od najčešće korištenih besplatnih kriptografskih
knjižnica.

15
Uz sigurnost koju pruža otvorena licenca, OpenVPN pokušava osigurati sigurnost
najprikladnijim dizajnom arhitekture, posebno modularnim dizajnom - npr. upotrebom
proširene OpenSSL SSL biblioteke (ne vlastite ponovne implementacije SSL protokola) ili
univerzalnog upravljačkog programa za stvaranje TUN/TAP mrežnih sučelja. Također
koristi sigurnosne mehanizme operativnog sustava, poput zaštite prenesenih podataka i
ključeva u memoriji prije spremanja u prostor za pohranu (na disku), mogućnost
zaključavanja u podstablo datotečnog sustava (chroot)pokretanje procesa pod korisnikom
bez administratorskih prava. Implementacija se vrši u korisničkom prostoru (korisnički
prostor),zahvaljujući tome, nema potrebe za miješanjem u jezgru operativnog sustava
prilikom instaliranja OpenVPN-a ili nadogradnje na novu verziju. OpenVPN je
višeplatformski softver koji se može pokrenuti na Unix OS-u (Linux, *BSD, Solaris, MacOS X,
itd.), MS Windows, ali i na drugim platformama uključujući mobilne uređaje.
Mogući nedostatak je potreba za instaliranjem OpenVPN aplikacije, budući da
OpenVPN protokol možda nije izvorno podržan u operativnom sustavu.

2.5 VPN topologija


U vezi s VPN-ovima ponekad se govori o tipičnim obrascima korištenja s gledišta vrsta
entiteta (klijent, poslužitelj, peer) koji su povezani putem VPN-a.
Povezivanje više mreža, site-to-site.Više mreža je međusobno povezano pomoću VPN-a
(VPN veza se implementira između krajnjih točaka koje dalje povezuju mreže kojima
pripadaju na poveznici ili mrežnom sloju). Ova se topologija može koristiti, primjerice, za
povezivanje pojedinih podružnica poduzeća ili druge organizacije.
Povezivanje više klijenata na mrežu.VPN veza se provodi između pojedinačnih
klijenata i mreže kojoj pristupaju putem VPN-a. Topologija prikladna, na primjer, za
pristup zaposlenika mreži tvrtke ako rade kod kuće ili kada putuju. Ako je VPN
poslužitelj na koji se klijent povezuje postavljen kao zadani pristupnik u klijentovoj
tablici usmjeravanja, sav promet od klijenta usmjerava se kroz njega. Ovo se može
iskoristiti kao prednost ako je klijent spojen na Internet u restriktivnom okruženju (npr.
ograničenje vrsta usluga na vatrozidu); u tom slučaju (ako SSL promet nije blokiran),
klijent tada može pristupiti internetu bez ograničenja (ili uz ograničenja koja nameće
veza na internet s VPN poslužitelja). Potpuno usmjeravanje prometa kroz VPN
poslužitelj također se može koristiti za bolje provođenje sigurnosnih pravila.
Veza u dvije točke, Point-to-Point (PtP).To može biti VPN veza između dva
krajnja čvora ili između dva čvora preko kojih se na njih spajaju susjedne mreže
(site-to-site veza dviju mreža), u osnovi to je jedan (sigurni) tunel.
Najjednostavnija topologija prikladna za potrebe povezivanja dvaju krajnjih
čvorova ili dviju mreža (npr. sjedište tvrtke i podružnice, ako nema

16
više grana).
Gornje topologije nisu iscrpne i mogu se (ovisno o korištenim
tehnologijama) različito kombinirati.

17
3 OPENVPN

3.1 Filozofija/Arhitektura
Jednostavnost dizajna.Filozofija OpenVPN-a temelji se na najjednostavnijem mogućem
pristupu s ciljem izbjegavanja pretjerane složenosti (IPsec pristup se ovdje često spominje
kao kontrast)[12, pogl. 3], budući da složen dizajn može dovesti do zabune i stoga biti
skloniji pogreškama. Jednostavnost dizajna također olakšava razumijevanje kako OpenVPN
radi, smanjujući rizik od konfiguracijskih pogrešaka.
Modularna arhitektura.Još jedna značajka je modularna arhitektura, tj., s jedne strane,
mogućnost proširenja funkcija, na primjer, korištenjem dinamički povezanih biblioteka
(DLL)i, s jedne strane, korištenje provjerenih sredstava za izvođenje nekih funkcija (ovo je
uglavnom OpenSSL knjižnica i upravljački program TUN/TAP virtualnog mrežnog sučelja).

Proširljivost, mogućnosti konfiguracije.Funkcionalnost OpenVPN-a može se proširiti s jedne


strane s gore spomenutim DLL bibliotekama, druga opcija je korištenje skripti na različitim mjestima
konfiguracije. Na primjer, skripte se mogu koristiti za kontrolu provjere autentičnosti ili izmjenu
postavki vatrozida. Nadalje, neki konfiguracijski parametri mogu se posebno mijenjati za različite
klijente.

3.2 Sigurnost
OpenVPN je razvijen s ciljem jednostavne konfigurabilnosti, koja se ne postiže nauštrb
sigurnosti. Također se spominju pojedinačna područja kojima se upravlja sigurnošću u
OpenVPN-u.

3.2.1 Komunikacija
Komunikacijski sigurnosni protokol (SSL/TLS) odabran je (između ostalih prednosti) jer
je to provjereni protokol koji se može smatrati industrijskim standardom u svom
području [12, pogl. 1]. SSL/TLS funkcionalnost pruža biblioteka OpenSSL1.
OpenSSL[11] je biblioteka s otvorenom licencom i fokusirana je na implementaciju
funkcija definiranih protokolima SSL 2, 3 i TLS 1.0 (od verzije 1.0.1 djelomično podržava
TLS 1.2) i opću kriptografsku podršku. OpenSSL pruža sljedeće značajke:
ˆsimetrična enkripcija (AES, Blowfish, 3DES i drugi algoritmi)

1Od verzije 2.3 planirana je podrška za alternativnu SSL/TLS biblioteku [9] – PolarSSL. Zahvaljujući
ovoj promjeni bit će lakše pokrenuti OpenVPN na uređajima s malim kapacitetom radne memorije,
odn vanjska memorija (obično MB flash memorijske jedinice) i mala računalna snaga, kao što su
kućni usmjerivači.

18
ˆraspršivanje (MD5, SHA1, SHA2 algoritmi, itd.)
ˆpodrška za kriptografiju s javnim ključem (PKI, infrastruktura javnih ključeva) –al-
algoritmi RSA, DSA, Diffie-Hellman algoritam razmjene ključeva, kriptografija
temeljena na eliptičnim krivuljama i rad s certifikatima
Komunikacija je prema zadanim postavkama kriptirana u OpenVPN-u, enkripcija se vrši
pomoću simetrične šifre, može se podesiti vrsta i duljina ključa. Simetrična enkripcija se
koristi zbog performansi (enkripcija asimetričnom kriptografijom znatno je zahtjevnija za
računalnu snagu).
Prva opcija je šifriranje statičkim ključem – ključ se generira unaprijed i prenosi putem
sigurnog puta na obje strane OpenVPN-a (klijent i poslužitelj, odnosno oba peera), a zatim
se koristi za enkripciju tijekom bilo kojeg prijenosa podataka putem OpenVPN-a. Očita
prednost je mali utrošak rada za puštanje ovakvog rješenja u rad (nema potrebe baviti se
radom s certifikatima), međutim, u usporedbi s korištenjem certifikata, statički ključ nudi
nižu razinu sigurnosti. Ako je ključ kompromitiran, potrebno je generirati novi ključ i
prenijeti ga na poslužitelj i sve klijente (ili oba peera), što čini korištenje statičkog ključa
neprikladnim za konfiguracije s velikim brojem klijenata. Drugi nedostatak je da napadač
može dešifrirati sve komunikacije snimljene prije nego što je ključ otkriven, kao i naknadne
komunikacije.
Kada se koristi PKI, strane u komunikaciji se autentificiraju i, ako je uspješna,
uspostavlja se ključ za simetričnu enkripciju, koji dodatno štiti prenesene podatke.
Kako bi se povećala sigurnost, ovaj simetrični ključ se povremeno mijenja, čime se
smanjuje količina podataka koje potencijalni napadač može analizirati i dešifrirati ako
ključ pronađe (mogu se dešifrirati samo podaci preneseni tijekom korištenja jednog
ključa). Također je nemoguće dešifrirati i promijeniti (spoof) podatke prenesene nakon
promjene ključa. Promjena ključa obično se odvija nakon jednog sata.
Postoje određeni troškovi povezani s održavanjem PKI-ja (generiranje
certifikata ili potpisivanje zahtjeva za certifikatom, distribucija, opoziv), ali pruža
veću sigurnost od statičkog ključa. U situaciji kada je privatni ključ jedne od
strana u komunikaciji ugrožen, dovoljno je opozvati (poništiti) samo certifikat
kojem taj ključ pripada, generirati novi ključ i certifikat i prenijeti ga na
odgovarajuće mjesto.
Osiguravanje cjelovitosti i autentičnosti podataka ostvaruje se otiskom prsta poruke (MAC, kod
za provjeru autentičnosti poruke).MAC je hash podataka prenesenih u određenom paketu, u
kombinaciji s utvrđenim ključem za šifriranje podataka. Dakle, pošiljatelj koristi podatke namijenjene
prijenosu i dodaje ključ za enkripciju te proizvodi hash ove cjeline, stvarajući MAC. Primatelj
dekriptira primljene podatke, dodaje im ključ za enkripciju, ponovno pravi raspršivanje ovog ključa i
primljenih podataka (to jest, MAC poruke) i uspoređuje ih s primljenim MAC-om. Ako se podudaraju,
podaci nisu oštećeni ili na drugi način modificirani usput.
HMAC sigurnost nudi još višu razinu sigurnosti u tom pogledu

19
(Kôd provjere autentičnosti raspršene poruke)[13]. Princip sigurnosti je isti kao i za MAC, ali
se koristi poseban ključ za enkripciju, koji već mora postojati prije uspostavljanja SSL sesije
(za razliku od ključa uspostavljenog tijekom SSL sesije). Korištenje HMAC-a daje mogućnost
provjere autentičnosti svih paketa koje OpenVPN prima. Osim toga, ova se provjera
autentičnosti može izvesti prije nego što se paket proslijedi na daljnju obradu SSL biblioteci
(čime se eliminiraju napadi koji bi mogli iskoristiti potencijalne sigurnosne rupe u ovoj
biblioteci). Još jedna prednost je povećana otpornost na DoS napade (Uskraćivanje usluge,
uskraćivanje usluge) i protiv skeniranja portova, čiji je cilj otkriti koji su UDP portovi
otvoreni[14].

3.3 Autentifikacija
OpenVPN nudi prilično širok raspon opcija za autentifikaciju klijenata na VPN mreži. Metode
provjere autentičnosti u nastavku mogu se kombinirati kako bi se osigurala još veća sigurnost.
Poziva se kombinacija više metoda (kao što je korištenje certifikata i provjera autentičnosti
korisničkog imena/lozinke).provjera autentičnosti s više faktora.

3.3.1 Provjera autentičnosti temeljena na PKI-ju

Infrastruktura javnih ključeva – PKI – temelji se na asimetričnoj kriptografiji i


pouzdanoj trećoj strani (certifikacijsko tijelo, CA). U asimetričnoj kriptografiji
enkripcija se provodi (ovisno o tome tko šifrira poruku i kome je namijenjena)
privatnim i javnim ključem. Privatni ključ potrebno je čuvati na sigurnom
mjestu, dok javni ključ možete prikazati po želji (ili je poželjno njegovo opće
poznavanje).
Ako stranka A koja komunicira želi poslati šifriranu poruku strani B (tako da je
samo strana B može dešifrirati), šifrira poruku s javnim ključem strane B i šalje poruku
toj strani. Strana B tada može dešifrirati poruku koristeći svoj privatni ključ. Ako se
postupak i dešifriranje izvode obrnutim redoslijedom (tj. poruka je šifrirana B-ovim
privatnim ključem, a zatim dešifrirana B-ovim javnim ključem), može (u određenoj
mjeri, ako je povezanost B-ovog javnog ključa s B-ovim javnim ključem može vjerovati)
potvrditi da poruka doista dolazi sa strane B.
Viša razina autentifikacije može se postići korištenjem certifikata i treće strane
od povjerenja, odnosno certifikacijskog tijela. Certifikat je u načelu skup
informacija o subjektu kojem certifikat pripada (npr. naziv organizacije na čije ime
je certifikat izdan, sjedište organizacije, organizacijska mapa itd.) + javni ključ ovog
entiteta, a ta informacija je potpisana (njegov hash je šifriran) privatnim ključem
certifikacijskog tijela (čiji je javni ključ dobro poznat). Svatko može koristiti CA-ov
javni ključ za provjeru je li certifikat potpisao CA (ako je promijenjen,

20
provjera potpisa ne bi uspjela). Ako je CA organizacija od povjerenja, tada se može
pretpostaviti da su podaci sadržani u certifikatu istiniti, te stoga da certifikat (i javni ključ)
pripada subjektu.
U praksi se za neke svrhe (npr. sigurni prijenosi korištenjem HTTPS protokola)
koriste certifikati koje uz naknadu izdaje akreditirani CA, čiji je korijenski certifikat
(a time i javni ključ) dio softvera koji podržava SSL/TLS (npr. web preglednik).
Korištenje certifikata izdanog od strane akreditiranog CA prikladno je ako usluzi
koja se dokazuje certifikatom pristupa neodređeni krug korisnika (za koje se
unaprijed može pretpostaviti samo poznavanje certifikata akreditiranih tijela za
izdavanje certifikata).
Ako se unaprijed može odrediti raspon korisnika koji pristupaju (ili je prihvatljiv
rizik da podaci u certifikatu nisu istiniti), moguće je uspostaviti vlastiti CA i uz
njegovu pomoć izdavati certifikate, dok CA potpisuje root sam certifikat. Takve
potvrde nazivaju sesamopotpisanii npr. u OpenVPN-u se obično koriste. Kod
korištenja samopotpisanog certifikata, međutim, potrebno je pristati (od strane
korisnika) na korištenje certifikata čiji CA nije akreditiran, ili spremiti ovaj certifikat
(ili CA korijenski certifikat) i tako razmotriti to pouzdano.
Ako je privatni ključ izgubljen ili ugrožen, njegov vlasnik može kontaktirati CA, koji
će organizirati poništavanje pridruženog certifikata (njegov opoziv). On vrši opoziv
dodavanjem informacija o ovom certifikatu na popisCRL (Popis opozvanih certifikata).
CRL je javno dostupan (u slučaju akreditiranih CA-ova), u slučaju korištenja u
OpenVPN-u dovoljno je da bude dostupan OpenVPN poslužitelju koji na temelju njega
može odbiti autentifikaciju klijenata koji se dokazuju certifikatom to jest na CRL-u.

OpenVPN nudi autentifikaciju korištenjem certifikata kao jednu opciju[14]. Za korištenje


ove metode provjere autentičnosti, poslužitelj i svaki od klijenata moraju imati CA korijenski
certifikat te privatni ključ i certifikat koji pripadaju danom poslužitelju/klijentu. Privatni ključ
može biti zaštićen lozinkom (kriptiran) kako bi se zaštitio od neovlaštene uporabe. U tom
slučaju morate unijeti lozinku za dešifriranje ključa prije njegove uporabe. Iz tog razloga
(nužnost interakcije s korisnikom) nije preporučljivo koristiti privatne ključeve zaštićene
lozinkom na poslužiteljima ili općenito za usluge gdje se očekuje automatska upotreba
ključa bez interakcije korisnika.

3.3.2 Autentifikacija pomoću imena i lozinke


Druga opcija za provjeru autentičnosti klijenta je korištenje korisničkog imena i lozinke.
Podatke koje daje klijent zatim (opcionalno) koristi OpenVPN poslužitelj na jedan od
sljedećih načina:

21
ˆMogu biti po arhitekturiPAM (Plugable Authentication Module)nad-
dano PAM modulu, koji osigurava autentifikaciju prema bazi korisničkih podataka (u
slučaju Unix sustava, na primjer, može se koristiti lokalna datoteka s korisničkim
imenima i lozinkama /itd/sjena)ili dodatno prilagodite opcije provjere autentičnosti
prema postavkama uz pomoć dostupnih PAM modula.
ˆMogu se proslijediti za provjeru autentičnosti putem imeničke uslugeLDAP (lagan
Protokol za pristup imeniku)uključujućiAktivni direktorijili krozRADIUS (korisnička usluga
biranjem za daljinsku provjeru autentičnosti).Autentifikacija korištenjem navedenih
usluga moguća je samo kada se koriste moduli trećih strana ili proizvod Open-VPN
Access Server.
ˆTijekom provjere autentičnosti može se pokrenuti skripta na čiji standardni ulaz
potrebne podatke za provjeru autentičnosti. Na temelju njih skripta odlučuje hoće li
autentifikacija biti uspješna ili ne.

3.3.3 Autentifikacija pomoću čip kartice

Moguće je koristiti pametnu karticu za autentifikaciju za OpenVPN vezu (pametna


kartica). Pristup kartici temelji se na standardu PKI upravljanja neovisnom o platformi
– PKCS#11 (Standard kriptografije javnog ključa #11) [15].

3.4 Enkripcija
OpenVPN šifrira prenesene podatke simetričnom šifrom, prema zadanim postavkama to je
Blowfish blok šifra s duljinom ključa od 128 bita. Može se postaviti bilo koja druga
simetrična šifra (i duljina ključa unutar raspona koju podržava data šifra) koju nudi
biblioteka OpenSSL.

3.5 Sustav
OpenVPN koristi i dodatne sigurnosne mehanizme na razini operativnog sustava:
ˆOmogućuje postavljanje pokretanja pod neprivilegiranim korisnikom (pod Unix sustavom
teme uglavnom korisničkenitko).Kada se OpenVPN pokrene, prvo izvodi
inicijalizaciju za koju su potrebna dopuštenja superkorisnika, a zatim, kada ta
prava više nisu potrebna da bi se OpenVPN sam pokrenuo, mijenja vlasnika
procesa u korisnika s ograničenim pravima. Ako je došlo do uspješnog napada
na OpenVPN proces, napadač bi dobio samo prava neprivilegiranog korisnika u
sustavu, a ne superkorisnika.
ˆSprječava pohranjivanje prenesenih podataka i ključeva za šifriranje izvan radne memorije
(spremi na disk,zamijeniti).

22
ˆNudi mogućnost zaključavanja podstabla datotečnog sustava postavljanjem
navedeni direktorij kao korijen sustava (chroot).Ako napadač dobije kontrolu nad
OpenVPN procesom, on dobiva pristup samo danom podstablu datotečnog
sustava i stoga ne može dobiti ili modificirati podatke izvan njega.

3.6 Mreža

3.6.1 Princip prijenosa podataka

OpenVPN implicitno koristi UDP protokol za prijenos podataka, OpenVPN poslužitelj sluša
na portu 1194. Ako je potrebno, može se postaviti korištenje TCP protokola, ali ako za to ne
postoje razlozi (npr. blokiranje UDP prijenosa na određenom portu od strane vatrozid),
povoljnije je koristiti UDP protokol. Doista, s točke gledišta od kraja do kraja, OpenVPN
implementira logičku vezu na drugom ili trećem sloju ISO/OSI modela, gdje se ne
pretpostavlja da će osigurati pouzdanost prijenosa podataka ili urediti redoslijed paketa .
Te stvari rješava samo transportni sloj, ili čak i viši slojevi. Stoga je korištenje UDP-a za
stvaranje nepouzdanog prijenosnog puta u redu s gledišta podataka koji se prenose kroz
SSL tunel (ako se TCP veza prenosi kroz tunel, ona sama po sebi osigurava pouzdanost, ako
je UDP veza, pouzdanost nije potrebna ili njime rukuju viši slojevi).
Ako se podaci SSL kanala prenose TCP protokolom, može doći do značajnog
pada brzine prijenosa podataka tijekom prijenosa podataka TCP protokolom ovim
kanalom (tzv.kolaps TCP-a) [16]. Ovaj fenomen je uzrokovan pouzdanim
mehanizmom isporuke TCP protokola, koji ne pretpostavlja da se drugi takvi
mehanizmi koriste na nižim razinama. Paketi su numerirani redoslijedom, a njihov
primitak potvrđuje primatelj. Ako pošiljatelj ne primi potvrdu da je dani paket
isporučen unutar navedenog vremena, pretpostavlja se njegov gubitak zbog
zagušenja linije i stavlja paket u red čekanja za ponovno slanje. Ali prije toga čeka
određeno vrijeme (podešeno timerom) kako linija ne bi bila preopterećena. Ako se
gubitak paketa ponavlja, tajmer se povećava (povećanje je eksponencijalno). Ako
dođe do prekida rada, TCP odgovara na podatkovnoj vezi SSL kanala povećavajući
vrijeme čekanja prije slanja i ponovnog slanja paketa. U slučaju da je vrijednost
vremena čekanja za TCP vezu koja se prenosi unutar kanala niža, iz toga nužno
slijedi da paket nije isporučen, da je u redu za slanje i da se mjerač vremena
povećava. To će uključivati više zahtjeva za ponovni prijenos TCP veze unutar SSL
kanala nego što vlastita TCP veza SSL kanala može obraditi, a to može rezultirati
ukupnim usporavanjem ili prekidom veze.
OpenVPN veza također se može implementirati putem HTTP ili SOCKS proxy
poslužitelja. Prilikom postavljanja TCP prijenosa podataka, OpenVPN nudi opciju dijeljenja
porta s drugom aplikacijom (podržava HTTP i HTTPS protokole). Ako trebate OpenVPN

23
poslužitelj je slušao na određenom portu (na primjer, 80 ili 443) - obično zbog
filtriranja prometa na drugim portovima - au isto vrijeme neka druga aplikacija (na
primjer, web poslužitelj) mora raditi na istom portu, ovo problem se može riješiti
dijeljenjem porta. Aplikacija koja dijeli port mora biti postavljena da sluša drugu IP
adresu ili port, a OpenVPN tada sluša izvorni port. Na zahtjevu za dolaznu vezu,
procjenjuje sadržaj paketa i ako ne otkrije podatke o OpenVPN vezi, prosljeđuje
ovaj paket aplikaciji s kojom dijeli port.
Ako je potrebno, moguće je koristiti limitator brzine u OpenVPN (oblikovatelj)te postavite
maksimalnu brzinu prijenosa podataka putem VPN veze. Ograničenje brzine moguće je samo u
jednom smjeru u jednom trenutku, ako je potrebno ograničiti brzinu u oba smjera, potrebno je
postaviti ograničenje za svaku stranu VPN veze posebno.

3.6.2 Sažimanje prenesenih podataka

Podaci koji se prenose putem VPN veze mogu se komprimirati pomoću algoritmaOZO (oznaka
je izvedena iz imena njegovih tvoraca –Lempel, Ziv, Oberhumer).OpenVPN osigurava (osim ako
takvo ponašanje nije isključeno u konfiguraciji) da je kompresija prilagodljiva. To znači da
OpenVPN povremeno analizira uzorke prenesenih podataka i, u slučaju da se kompresija u tom
trenutku ne isplati (prilikom prijenosa nekompresibilnih ili već komprimiranih podataka),
privremeno isključuje kompresiju (dok na temelju sljedećeg uzorka podataka ne izvrši
kompresiju procjenjuje da se kompresija isplati ponovno koristiti).

3.6.3 TUN, TAP sučelje


Terminacija OpenVPN tunela rješava se pomoću univerzalnih TUN-ova, odn TAP
sučelje. To su virtualna mrežna sučelja povezana s procesom u korisničkom
prostoru - podaci koje aplikacije pišu u virtualno sučelje prosljeđuju se procesu (u
ovom slučaju OpenVPN), a isto tako podatke iz tog procesa aplikacije mogu čitati
putem virtualnog sučelja. OpenVPN tako načelno (sa stajališta prijenosa podataka)
osigurava spajanje kontrolnih podataka kanala i vlastitih podataka koje kanal
prenosi (payload), pri čemu se ti spojeni podaci šifriraju prije slanja, a dekriptiraju i
odvajaju nakon prijema .
Virtualna mrežna sučelja mogu biti dvije vrste –BAZENiTAPNITE.Naziv TUN sučelja
govori da je riječ o skraćenici riječituneli karakterizira implementaciju tunela na 3.
(mrežnom sloju) pa se kroz njega može prenositi svaka IP komunikacija. Korištenje
TUN sučelja podrazumijeva korištenje rutirane topologije, tj. stvaranje jedne ili više
podmreža s vlastitim rasponom adresa i usmjeravanjem (ili prijevod adresa –NAT,
prijevod mrežne adrese)između njega i ostatka mreže kojoj se pristupa putem VPN-a.

24
Naziv TAP sučelja izveden je iz izrazadodirniteizražavajući izravnu (fizičku) vezu
s mrežom (analogija, na primjer, s načinom na koji su stanice spojene na Ethernet
10Base-5). TAP sučelje podržava Layer 2 (linijski) prijenos i emulira Ethernet sloj.
Tako se može implementirati VPN veza, logično simulirajući izravnu vezu krajeva
VPN tunela na Ethernet razini.
Obično je praktičnije koristiti TUN sučelje, jer ih dijeljenjem na više podmreža smanjuju
emitiratidomene (dijelovi mreže u kojima se podaci mogu slati višesmjerno, tj. do svih
povezanih stanica) i na taj način smanjiti opterećenje VPN veze. Još jedna prednost
povezivanja na 3. sloju može biti bolja podjela povezanih stanica u smislu podjele raspona
adresa ili ograničavanje pristupa različitim dijelovima mreže vatrozidom. Naprotiv,
implementacija veze na 2. sloju je neophodna ako se tunelom želi osigurati komunikacija
aplikacija koje za svoju funkciju koriste emitiranje (dijeljenje u MS Windows mrežama bez
WINS ili Samba poslužitelja, starije igre s podrškom za igranje preko mreža itd.) [14] .

3.6.4 Obraćanje klijentima


OpenVPN može dodijeliti statičke IP adrese klijentima (uključujući mogućnost definiranja
parova klijent-adresa u vanjskoj datoteci) ili može dodijeliti adrese na temelju dostupnosti iz
rezerviranog raspona.

3.6.5 Prijenos parametara klijentima


Poslužitelj može prenijeti konfiguracijske parametre klijentima kako bi osigurao da je VPN veza
ispravno postavljena. Ovi parametri uključuju, na primjer, informacije o usmjeravanju (tj. koje
informacije klijent treba dodati u tablicu usmjeravanja kako bi mogao komunicirati s mrežama
povezanim na VPN), postavljanje VPN poslužitelja kao zadanog pristupnika (tada sav promet s
klijent se usmjerava preko VPN poslužitelja), isključite/uključite kompresiju itd.

3.6.6 Raspodjela opterećenja, redundancija

OpenVPN klijenti mogu se konfigurirati za pristup jednom od skupa definiranih


poslužitelja. Poslužiteljima mogu pristupiti određenim redoslijedom – klijent će se pokušati
spojiti na prvi poslužitelj, u slučaju kvara na drugi i analogno tome na ostale poslužitelje
(ako su definirani), čime se može riješiti redundancija i time osigurati mogućnost
povezivanje klijenata na VPN mrežu čak i u slučaju ispada poslužitelja.
Klijent također može pristupiti poslužiteljima nasumičnim redoslijedom, što je prednost pri
raspodjeli opterećenja između više OpenVPN poslužitelja. Nužan uvjet za ispravno
funkcioniranje OpenVPN mreže u ovom slučaju je sinkronizacija konfiguracija svih poslužitelja.

25
3.7 Konfiguracija

3.7.1 Konfiguracijske datoteke


Postoji nekoliko načina na koje se OpenVPN može konfigurirati. Osnovna opcija je
korištenje konfiguracijskih datoteka u koje se u tekstualnom obliku unose potrebni
konfiguracijski parametri. Te se datoteke mogu odnositi na druge datoteke povezane s
konfiguracijom, kao što su popisi dodijeljenih IP adresa, pojedinačni konfiguracijski
parametri (za pojedinačne klijente) ili npr. skripte. Ručno uređivanje konfiguracijskih
datoteka ima prednost u slučajevima kada je dovoljno jednom konfigurirati OpenVPN i
više se ne očekuju daljnje promjene ili u slučajevima kada je potrebno podesiti detaljne
postavke parametara što bi inače bilo nemoguće (na primjer, kada se koristi grafičko
sučelje ).
OpenVPN konfiguracijske datoteke pod Linuxom (kao i većina konfiguracijskih
datoteka) imaju nastavak .konfi nalaze se u imeniku /itd/openvpn.Ostale datoteke
povezane s konfiguracijom (certifikati, ključevi, itd.) također se nalaze u ovom direktoriju (ili
poddirektorijima - radi bolje preglednosti). U sustavu Windows OS, staza glavnog
direktorija s konfiguracijskim datotekamaC:\Program Files\OpenVPN\config.
Konfiguracijske datoteke u ovom slučaju imaju nastavak .otvorenai povezani su s
otvorenim OpenVPN aplikacijama [14].
Da biste koristili konfiguracijsku datoteku, moguće ju je odrediti kao parametar za
OpenVPN aplikaciju pri pokretanju (ili to čine skripte za pokretanje za Open-VPN). Ista se
konfiguracija također može postići pokretanjem OpenVPN klijenta/poslužitelja (u Unix
sustavima nazivamo takvu aplikaciju, posebno ako radi u pozadini, demon)s pojedinačnim
parametrima proslijeđenim izravno ovoj aplikaciji kada se pokrene. Ova se opcija može
koristiti prilikom testiranja OpenVPN-a.
Konfiguracijske datoteke u biti su neovisne o platformi, tj. na primjer, konfiguracijska
datoteka stvorena i korištena pod Linuxom može se koristiti pod Windowsima. Možda će
biti potrebno izvršiti manje prilagodbe, posebice promjenu ekstenzije datoteke i
modificiranje unosa staza sadržanih u datoteci, također je potrebno osigurati ispravnu
konverziju krajeva redaka u konfiguracijskoj datoteci (krajevi redaka zapisani su na
drugačiji način na Unix platformama i pod MS Windows). Pretvorba se može izvesti
pomoću alata, na primjerunix2dos,odnosnodos2unix.
Osim ovih prilagodbi specifičnih za platformu, važno je spomenuti postojanje
opcija (konfiguracijskih direktiva) koje ovise o platformi, te se ta činjenica mora uzeti u
obzir prilikom prijenosa konfiguracija između različitih platformi. Primjer je opcija
zaključavanja u određeni direktorij (chroot), što je specifično za Unix sustave.
Osim prilagođenog postavljanja parametara, može biti potrebno (ovisno o konkretnoj
postavci) izvršiti i druge radnje koje su neizravno povezane s konfiguracijom. djela

26
prvenstveno o generiranju ključeva ili certifikata, ili poništenje postojećeg
certifikata. U te svrhe OpenVPN instalacija sadrži skup skripti (lako-rsa)koji gore
navedene radnje čine bržima i lakšima za korištenje.

3.7.2 Upravljačko sučelje


Upravljanje OpenVPN-om (i klijent i poslužitelj) može se izvršiti putem sučelja
naredbenog retka [14] (CLI, sučelje naredbenog retka)dostupan preko TCP veze na
adresu i priključak gdje sluša dio aplikacije koji pruža pristup CLI-u. Komunikacija nije
šifrirana i odvija se isključivo u tekstualnom obliku, bilo koja klijentska aplikacija za
pristup udaljenom terminalu može se koristiti za povezivanje (npr. često korištena
aplikacijatelnet)upravljanje se vrši unosom naredbi kroz CLI.
Putem sučelja za upravljanje može se prikazati status OpenVPN demona (povezani
klijenti, količina prenesenih podataka itd.), mogu se prikupljati zapisi i izvješća te
isključiti povezani klijenti. Sučelje je prikladno ne samo za daljinsko (ili centralizirano)
upravljanje OpenVPN poslužiteljima, već i klijentima (koriste ga neka grafička sučelja
za upravljanje).

3.7.3 Grafičko sučelje


Konfiguriranje OpenVPN-a uređivanjem tekstualnih datoteka možda neće biti
jednostavno ili jasno, posebno za korisnike koji su navikli raditi samo u grafičkim
okruženjima operativnog sustava. Isto tako, može doći do situacije da nemaju
dovoljno znanja da bi mogli izvršiti konfiguraciju uređivanjem konfiguracijskih
datoteka. Drugo moguće razmatranje zašto tekstualna konfiguracija može biti
neprikladna je zahtjev za integracijom u grafičko okruženje sustava.
U tim slučajevima rješenje je korištenje grafičkog sučelja (GUI, grafičko korisničko
sučelje)za upravljanje i konfiguraciju, što je određena nadgradnja koja olakšava
konfiguraciju i uobičajene operacije s OpenVPN-om (povezivanje, prekidanje veze,
indikacija statusa veze, upravljanje višestrukim vezama itd.). Grafičko sučelje može se
implementirati kao program ili dodatak postojećim GUI resursima za upravljanje
mrežom ili kao web sučelje.
Brojni GUI-ji za upravljanje OpenVPN-om (i klijenti i poslužitelji) dostupni su za
različite platforme, njihov popis dostupan je nahttps://community.openvpn. net/
openvpn/wiki/RelatedProjects.Jedno od prvih grafičkih proširenja za OpenVPN klijente
pod MS Windows jeOpenVPN GUI (http://www.openvpn.se), koji omogućuje osnovne
postavke za povezivanje na OpenVPN. OpenVPN GUI pokazuje status veze, pokretanje/
zaustavljanje/ponovno pokretanje OpenVPN aplikacije ako je konfigurirana za rad kao
usluga (poput demona pod Unix sustavima). Dopušta

27
više veza odjednom (s mogućnošću automatskog povezivanja nakon pokretanja GUI-ja),
postavke povezivanja mogu se uređivati u uređivaču teksta. Nudi dijaloške okvire za unos
lozinke prilikom autentifikacije na OpenVPN poslužitelju ili za dešifriranje privatnog ključa i
druge značajke. Međutim, OpenVPN GUI nije razvijen od 2006., tako da se ovaj projekt ne može
smatrati obećavajućim.
Projektom su riješeni nedostaci OpenVPN GUIopenvpn-gui (https://sourceforge. net/
projekti/openvpn-gui)a također dodatno proširuje opcije za postavljanje i kontrolu
OpenVPN klijenta pod Windows OS-om.
Od GUI za Linux, najznačajniji je dodatak za OpenVPN podršku u upravitelju
mrežnih vezaUpravitelj mreže Gnome,što je zadano u okruženju Gnome. U KDE
okruženju, raznim VPN vezama (uključujući OpenVPN) može se upravljati pomoću
alataKVpnc.Nudi relativno široke mogućnosti konfiguracije i, između ostalog,
čarobnjaka za postavljanje VPN veze, koji može biti koristan alat za manje
napredne korisnike.

28
4 OPENVPN PRISTUPNI POSLUŽITELJ
OpenVPN pristupni poslužiteljprodužava se, plaća se1verzija OpenVPN-a koju je
razvio OpenVPN Technologies Inc. [10]. Predstavlja složenu aplikaciju koja sadrži
OpenVPN poslužitelj i web sučelje za jednostavnu administraciju poslužitelja i
pristup klijentu. Osim sučelja za ubrzavanje i pojednostavljenje upravljanja, nudi i
druge opcije koje nisu dostupne u verziji OpenVPN-a za zajednicu ili su dostupne
samo pri korištenju dodataka trećih strana. Open-VPN Access Server je po svojoj
prirodi usmjeren na korištenje u tvrtkama ili drugim organizacijama u kojima se
očekuje pristup većeg broja klijenata, čemu je preporučljivo prilagoditi sustav
upravljanja.
U usporedbi s verzijom OpenVPN-a za zajednicu, Access Server također nudi izvornu
podršku za autentifikaciju putem LDAP protokola (uklj.Aktivni direktorij)ili RADIJUS. Dizajniran je
da osigura dostupnost čak i u slučaju kvara jednog poslužitelja - omogućuje replikaciju
konfiguracije na sekundarni OpenVPN poslužitelj putem sigurnog kanala pomoću protokolaSSH
(sigurna ljuska)i dijeljenje IP adrese između dva poslužitelja. Svaki od poslužitelja ima svoju IP
adresu, a uz to je uspostavljena i jedna zajednička (virtualna) na kojoj je dostupan Open-VPN
poslužitelj. U normalnim okolnostima, primarni poslužitelj radi pod ovom adresom, au slučaju
njegovog kvara, sekundarni poslužitelj preuzima ovu adresu, ova funkcionalnost koristi
protokolUCARP (Userland Common Address Redundancy Protocol).
Access Server nudi i opće opcije za postavljanje OpenVPN poslužitelja (tako
da ga nije potrebno ručno konfigurirati uređivanjem konfiguracijskih datoteka)
i upravljanje korisnicima (dodavanje, uklanjanje, blokiranje, dijeljenje u grupe
itd.). Pristupi korisnika VPN mreži i web sučelju se bilježe i mogu se
pregledavati putem web sučelja.
Sa gledišta klijenta, Access Server nudi klijentski softver koji se može preuzeti za OS
Windows i Mac OS X putem web sučelja (nakon prijave). Klijent za Linux nije ponuđen,
ali web sučelje nudi poveznicu na web stranicu tvrtke, gdje su dostupne upute za
instaliranje klijentskog softvera. Kompletne generirane konfiguracijske datoteke
također se mogu preuzeti s web sučelja (sadrže konfiguracijske parametre kao i
odgovarajuće certifikate i privatni ključ), bilo specifične za određenog prijavljenog
korisnika ili opću konfiguracijsku datoteku koju mogu koristiti svi korisnici. Na ovaj
način korisnik se može jednostavno spojiti i s računala na kojem do sada nije koristio
OpenVPN, ako ima potrebne dozvole.

1OpenVPN se može besplatno preuzeti s web stranice tvrtke, probna verzija sadrži licencu za
istovremeno povezivanje dva klijenta s poslužiteljem. Veći broj istovremeno povezanih klijenata moguć je
samo uz odgovarajuće produženje licence (trenutno je minimalno 10 klijenata za kupnju licence).

29
5 LABORATORIJSKA ZADATA

5.1 Zadani uvjeti


Cilj ovog rada je osmisliti i realizirati laboratorijsku zadaću o konfiguraciji Open-VPN
virtualne mreže na temelju proučavane problematike virtualnih mreža tipa Open-VPN.
Zadatak će se koristiti u vježbama iz predmetaDizajn mreže, upravljanje i sigurnost.
Prilikom izrade zadatka bilo je potrebno uzeti u obzir sljedeće uvjete:
ˆZa rješavanje zadatka na raspolaganju je radno mjesto s jednim, najviše dva računala
s OS MS Windows XP koji su spojeni na mrežu. ˆVrijeme
za rješavanje zadatka je 90 minuta.
ˆOd učenika se može očekivati barem djelomično poznavanje operacijskog sustava
Linux jer ga koriste iu drugim zadacima.
ˆZadatak je da se izgradi na virtualnim strojevima koji će raditi u virtualizaciji
VMware okruženje.
ˆStudenti neće pripremati laboratorijsko izvješće iz zadaće.
ˆPraktičari ne moraju imati dubinsko znanje o konkretnom pitanju o kojem je riječ (tj
potrebno je usredotočiti se na moguće probleme tijekom provedbe zadatka te
na način provjere ispravnosti izvršenja zadatka).
Prvi dio rada je uputa za laboratorijsku zadaću (uključuje teorijski uvod – opis
problema, mogućnosti praktične primjene i zatim zadatak za konfiguraciju OpenVPN
mreže. Ovaj dio je dopunjen informacijama za polaznike , gdje se ukratko govori o
mogućim problemima i njihovim rješenjima, te o tematskim pitanjima za studente
(uključujući ogledne odgovore).
Drugi dio rada su vlastite slike virtualnih strojeva korištenih u vježbama.

Korištenje virtualnih strojeva ima prednost iz sljedećih razloga: ˆZa


provedbu zadatka dovoljan je jedan fizički stroj.
ˆSlike virtualnog stroja moguće su u bilo kojem trenutku kada je potrebno (na primjer, kada
kvar) prijenos na drugo računalo.
ˆAko je virtualno računalo oštećeno ili onesposobljeno, može se lako popisati
u prvobitno stanje.
ˆSlike se mogu koristiti kao osnova za sličan zadatak ili
dodatno proširio.

30
5.2 Predmet laboratorijskog zadatka

5.2.1 Scenarij primjene


Zbog ograničenja zadanih posebice vremenom raspoloživim za razvoj, bilo je potrebno odabrati
predmet zadatka imajući na umu to ograničenje, au isto vrijeme uključiti važne značajke
OpenVPN mreža u zadatak. U tu svrhu čini se prikladnim koristiti jednostavnu mrežnu
topologiju koja radi s OpenVPN-om, tipičnu za određeni scenarij aplikacije. Ovi tipični scenariji
uključuju, na primjer, povezivanje dviju udaljenih mreža, povezivanje dvaju računala ili pristup
klijenta mreži organizacije. Nadalje, moguće je birati između različitih metoda enkripcije i
autentifikacije (mreža bez enkripcije, korištenje statičkog ključa, korištenje certifikata) te
eventualno odrediti detaljne zahtjeve za mrežne postavke.
OpenVPN nudi bogate mogućnosti konfiguracije, kada implementirate OpenVPN izvan
vlastite konfiguracije, druge potrebne radnje također su povezane s ovim problemom, kao što
su izmjene vatrozida (neophodne za samu funkciju OpenVPN – ne smije biti blokiran od strane
vatrozida, omogućavajući balansiranje opterećenja, rješavanje prijevoda adresa ili drugih
specifičnih izmjena). Predloženi laboratorijski zadatak fokusiran je na osnovne postavke Open-
VPN-a, koji je također praktično upotrebljiv (uz male izmjene), ili se može prilagoditi za drugi
scenarij aplikacije bez većih poteškoća.
Zadatak simulira situaciju u kojoj imamo internetsku vezu, ali je ona ograničena
vatrozidom koji dopušta promet samo na određenim portovima, a ostale blokira. Na
raspolaganju imamo i stroj preko kojeg se promet može dalje usmjeravati, a na kojem
možemo pokrenuti OpenVPN server. Nakon konfiguriranja OpenVPN klijenta i OpenVPN
poslužitelja te implementacije VPN veze (zadatak razmatra vezu na mrežnom sloju),
moguće je učinkovito zaobići blokiranje prometa na vatrozidu (prema Internetu), koje se
može susresti u praksi.

5.2.2 Neophodne radnje


Na temelju navedenog scenarija, koji je zadatak implementirati, student će
konfigurirati OpenVPN poslužitelj i klijent (poslužitelj radi na jednom virtualnom
računalu - označeno kaoovpn-poslužitelj,klijent s druge - označen kaoovpn-klijent).
Zadatak uključuje i uspostavu vlastitog certifikacijskog tijela te generiranje ključeva
i certifikata za poslužitelj i klijenta koji se koriste za autentifikaciju i enkripciju
komunikacije. Konfiguracija se izvodi ručnim uređivanjem konfiguracijskih
datoteka1.
1Bilo bi moguće koristiti web sučelje OpenVPN Access Servera, međutim, prilikom uređivanja
konfiguracijske datoteke svi parametri su zajedno na jednom mjestu, te bi iz tog razloga
konfiguracija (njena bit) trebala biti razumljivija. Štoviše, vjerojatno se radi o rješenju koje se u praksi
češće susreće.

31
Prilikom konfiguriranja unosa, temelji se na oglednim konfiguracijskim datotekama
isporučenim s OpenVPN-om. Prednost je u tome što te datoteke sadrže potrebne upute za
konfiguraciju (od kojih se u ovom slučaju koristi samo dio) i, posebno, relativno iscrpne
komentare (na engleskom), što poboljšava orijentaciju i možda bolje pojašnjava značenje nekih
postavki. Osim toga, nakon obavljenih zadataka zadanih u laboratorijskim vježbama (ako im
preostane vremena), studenti mogu dalje istraživati druge opcije konfiguracije i njihov učinak
na ponašanje mreže.
Sažetak pojedinačnih točaka zadatka je sljedeći:
ˆIspitivanje zadanog stanja mreže i prisutnih ograničenja ˆ
Uspostavljanje certifikacijskog tijela, generiranje ključeva i certifikata
ˆPostavke OpenVPN poslužitelja ˆPostavke OpenVPN klijenta

ˆIspitivanje stanja nakon implementacije VPN veze

5.2.3 Topologija
Virtualni strojovpn-klijentsadrži sučeljeeth0 (IP adresa 192.168.1.2/24) preko koje
se spaja na sučeljeeth1strojeviovpn-poslužitelj (IP adresa 192.168.1.1/24). Mašina
ovpn-poslužiteljsadrži i sučeljeeth0 (njegovu adresu dinamički dodjeljuje
virtualizacijski alat VMWare Player), postavlja se kao zadani pristupnik, a prijevod
adrese primjenjuje se na podatke koje usmjerava ovaj stroj. Nadalje, ovdje se
primjenjuje vatrozid koji ograničava promet prema Internetu sa strojaovpn-klijent
kroz sučeljeeth1strojeviovpn-poslužitelj.
Topologija virtualne mreže prikazana je na slici 5.1. Puna linija između aplikacija na
strojuovpn-klijenti Internet karakterizira zadanu situaciju kada je komunikacija s
vanjskom mrežom moguća, ali vatrozid dopušta usluge samo na određenim
priključcima (ovdje je prikazana zabrana usluga osim za DNS, NTP, HTTP i HTTPS
protokole, koji inače rade na UDP portovi 53 i 123 i TCP portovi 80 i 443, ICMP protokol
je također omogućen).
Veza označena isprekidanom linijom predstavlja situaciju nakon što su Open-VPN
klijent i poslužitelj operativni i njihova veza - u ovoj situaciji sav promet dolazi sa stroja
ovpn-klijentusmjeren na laboratorijsku mrežu ili internet preko strojaovpn-poslužiteljbez
granica. Komunikacija je omogućena VPN vezom na mrežnom sloju koja koristi prolazni
port na vatrozidu.

32
Div. 5.1: Topologija virtualne mreže u laboratorijskom zadatku

5.3 Provedba

5.3.1 Operativni sustav, okruženje


Ubuntu Linux odabran je kao operativni sustav za implementaciju na virtualnim strojevima
11.04. Umjesto toga instalirano je zadano GUI (Gnome 3/Unity).
LXDE okruženje, kako zbog kontroverznih mišljenja korisnika o prijateljstvu
Unity okruženja, tako i posebno zbog niskih zahtjeva LXDE okruženja
na resursima sustava.
Izvršene su modifikacije osnovnog okruženja i sustava kako bi se poboljšala
upotrebljivost i sustav učinio prikladnijim za implementaciju u virtualni stroj kao
osnovu laboratorijskog zadatka. U sustav su instalirani svi potrebni paketi s
programima i bibliotekama.
Kao virtualizacijsko okruženje (prema specifikaciji) odabran je VMware program u
verziji VMware Player koji je besplatno dostupan na VMwareovim stranicama. Konfiguracija
virtualnog stroja je izmijenjena tako da se napravljene promjene (stvorene, modificirane
datoteke itd.) ne spremaju nakon što se stroj isključi2.

2Ovo se ponašanje može isključiti komentiranjem opcijescsi0:0.mode = "independent-nonpersistent"


u konfiguracijskoj datoteciovpn-client.vmx,odnosnoovpn-poslužitelj.vmx.

33
5.3.2 Mreža, vatrozid

Mrežne postavke su sažete u sljedećoj tablici:

Mašina Sučelje Adresa

ovpn-klijent eth0 192.168.1.2/24


tona0 DHCP – OpenVPN (iz raspona 192.168.10.0/24)
ovpn-poslužitelj eth0 192.168.1.1/24
eth1 DHCP - VMware
tona0 DHCP – OpenVPN (iz raspona 192.168.10.0/24)

Na strojuovpn-poslužiteljpaketno usmjeravanje je omogućeno i vatrozid je postavljen


na njega pomoću skripte /itd/init.d/vatrozidpokreće se pri pokretanju sustava:

# !/bin/bash

ipt="/sbin/iptables"

$ipt -F
$ipt -F -t nat

$ipt -A FORWARD -i eth1 -p tcp --dport http -j ACCEPT $ipt -A


FORWARD -i eth1 -p tcp --dport https -j ACCEPT $ipt -A
FORWARD -i eth1 -p udp --dport domena -j PRIHVAT $ipt -A
PROSLJED -i eth1 -p udp --dport ntp -j PRIHVAT $ipt -A
PROSLIJED -i eth1 -p icmp -j PRIHVAT
$ipt -A NAPRIJED -i eth1 -j DROP

$ipt -A INPUT -i eth1 -p tcp --dport http -j PRIHVATA $ipt -A


INPUT -i eth1 -p tcp --dport https -j PRIHVATA $ipt -A INPUT -i
eth1 -p tcp --dport ssh -j PRIHVAT $ipt -A ULAZ -i eth1 -p udp
--dport domena -j PRIHVAT $ipt -A ULAZ -i eth1 -p icmp -j
PRIHVAT
$ipt -A INPUT -i eth1 -m stanje --stanje ESTABLISHED -j PRIHVAT $ipt
-A INPUT -i eth1 -j DROP

$ipt -t nat -A POSTROUTING -o eth0 -j MASKARE

Skripta osigurava komunikaciju koja dolazi iz sučeljaeth1 (tj. iz stroja ovpn-


klijentprema zadanim postavkama), bit će dopušten samo ako se radi o TCP
prometu s odredišnim priključkom 80 ili 443 (ili 22 ako je odredište stroj

34
ovpn-poslužitelj)UDP promet s odredišnim priključkom 53 ili 123 ili ICMP
podacima.

5.4 Korist za studente


Laboratorijski rad ima za cilj upoznati studente s virtualnim mrežama
implementiranim OpenVPN tehnologijom. Studenti mogu isprobati konfiguraciju koja
predstavlja rješenje problema koji se pojavljuje u praksi. Rješenje nije iscrpno, ali
studentima daje osnovni vodič koji se po potrebi može koristiti praktično i eventualno
dodatno prilagoditi potrebnoj uporabi.

5.5 Didaktički pogled


Zadatak je prvenstveno osmišljen kako bi omogućio studentima (kao što je gore
navedeno) da konfiguriraju mrežu koja odražava jedan od tipičnih scenarija VPN
aplikacije. Cilj je da student razumije praktične prednosti virtualnih mreža tipa
OpenVPN. Naravno, tome mora prethoditi teorijski uvod u problematiku VPN mreža te
osnovne karakteristike i prednosti OpenVPN mreža, kako bi se student mogao snaći u
gradivu. Potrebni konfiguracijski postupci i opis potrebnih parametara sastavni su dio
zadatka laboratorijske vježbe.
Uz zadatke, za polaznike su pripremljene i kratke informacije o zadatku. Ove
informacije uključuju postupak instalacije stroja, primjer konfiguracije OpenVPN klijenta i
poslužitelja, probleme koji se mogu pojaviti tijekom vježbe i njihova rješenja, kao i
prijedloge za pitanja koja se studentima mogu postaviti i njihove odgovore. Tekst za
laboratorijsku zadaću i informacije za polaznike u OpenDocument formatu (na priloženom
DVD-u) nalazi se u prilogu ovog rada. Ti se tekstovi mogu izravno koristiti u vježbama ili po
potrebi mijenjati.

35
6 IZRADA LABORATORIJSKOG ZADATKA

6.1 Teorijski uvod

6.1.1 Virtualne privatne mreže – VPN


U računalnim mrežama često se susrećemo s potrebom povezivanja zasebnih
mreža (ili pojedinačnih uređaja) na način da je moguće međusobno komunicirati
na isti način kao da su izravno povezani u jednu cjelinu. U praksi to može biti npr.
povezivanje mreža pojedinih podružnica poduzeća u različitim gradovima ili
državama ili npr. osiguravanje pristupa putujućeg radnika mreži poduzeća. Ne
mora nužno biti riječ o povezivanju na razini cijelih mreža, u nekim slučajevima
može biti namjera jednostavnog povezivanja dva uređaja (računala), dok
zahtijevamo da ta veza bude osigurana.
U te svrhe koriste se virtualne privatne mreže (VPN, Virtual Private Networks),
odnosno tzv. tuneli. Tunel predstavlja virtualnu vezu u dvije točke dvaju uređaja u
mreži (mogu biti i krajnji čvorovi i usmjerivači koji osiguravaju komunikaciju sa
susjednim mrežama), koja se realizira preko mreže treće strane (najčešće putem
Interneta). Virtualna privatna mreža se tada može usporediti sa skupom
međusobno povezanih tunela.
Shematski prikaz funkcioniranja principa tunela može se pronaći na slici 6.1.
mreže Mreža 1iMreža 2možemo ih zamisliti kao dvije neovisne cjeline (npr. u dva
različita grada). Oni su međusobno povezani putem routera koji stvaraju tunel,
odnosno virtualnu vezu, putem interneta. Da pojednostavimo, možemo zamisliti
da je situacija praktički analogna, kao da smo spomenute dvije mreže spojili
kabelom.
VPN-ovi (Sl. 6.2) rade na vrlo sličan način u načelu, obično je povezano samo
nekoliko mreža ili nekoliko krajnjih uređaja. Na slici je prikazan primjer gdje su dvije
mreže povezane putem interneta (opet mogu komunicirati kao da su izravno fizički
povezane), a mobilnim korisnicima također je omogućen pristup internoj mreži na isti
način. Ako su svi prijenosi (uključujući prijenose izvan interne mreže) od

Div. 6.1: Princip mrežnog tunela

36
usmjeravat ćemo klijente kroz VPN poslužitelj, možemo bolje kontrolirati gdje
klijenti imaju pristup. S druge strane, možemo im omogućiti i potpuni pristup
Internetu ako im je, primjerice, pružatelj internetske veze zabranio korištenje
samo određenih usluga. Ovu situaciju ćemo obraditi u zadatku.

6.1.2 Ključne značajke VPN-a


Glavni zahtjev za VPN je osigurati gore spomenutu transparentnu mrežnu vezu –
podaci iz jedne mreže omotani su (inkapsulirani) u nove pakete s različitim
svojstvima (vrsta paketa, izvorna i odredišna adresa) na granici ove mreže putem
aplikacije osiguravanje VPN veze, poslane prema ciljnoj mreži, na čijoj se granici
podaci ponovno raspakiraju iz paketa i isporučuju na pravo odredište.
Međutim, osim ovih osnovnih funkcija, virtualne privatne mreže mogu (i
obično nude) druge opcije:
ˆOvjera -provjera identiteta strana u komunikaciji
ˆAutorizacija –kontrola pristupa mreži temeljena na identitetu strane koja komunicira ˆ
Provjera integriteta prenesenih poruka –potvrda da podaci nisu bili na putu
izmijenjen, bilo namjerno (od strane napadača) ili nenamjerno (pogreškom u prijenosu) ˆ
Osiguravanje povjerljivosti poruka –drugim riječima, šifriranje prenesenih podataka, što
obično je jedan od ključnih zahtjeva za VPN
Autorizacijom se može upravljati izravno putem VPN aplikacije ili na neki drugi način,
primjerice uz pomoć vatrozida. Ostala svojstva temelje se na kriptografskim načelima.

6.1.3 OpenVPN
Postoje različiti načini implementacije VPN-a. Jedna od tih opcija je korištenje
OpenVPN paketa čijom konfiguracijom ćemo se baviti u ovoj vježbi.

Div. 6.2: Princip virtualnih privatnih mreža

37
To je besplatan softver otvorenog koda izgrađen na temelju OpenSSL kriptografske
biblioteke. Osim dostupnosti i otvorenosti, OpenVPN ima i druge prednosti, posebice u
području sigurnosti. Filozofija OpenVPN-a je ne duplicirati funkcije (odnosno koristiti
komponente koje su već kreirane za zadanu namjenu i testirane), osigurati najvišu
moguću razinu sigurnosti i istovremeno pružiti visoku fleksibilnost.
OpenVPN se može koristiti za povezivanje dva uređaja ili mreže u peer-to-peer
načinu rada (spoj u dvije točke), kao i više mreža/uređaja u načinu rada klijent-
poslužitelj. Veza ne mora biti kriptirana, ali se obično koristi enkripcija - može biti i
enkripcija simetričnim ključem (tj. isti ključ na svim čvorovima koji pružaju VPN vezu) i
asimetrična enkripcija temeljena na infrastrukturi javnih ključeva (PKI, Infrastruktura
javnih ključeva). Komunikacija između mreža može se odvijati na linijskom sloju ili na
mrežnom sloju (preporuča se korištenje veze na mrežnom sloju ako nema razloga za
korištenje veze na linijskom sloju - npr. potreba za pokretanjem aplikacija u mreže koje
za komunikaciju koriste emitiranje i rade samo unutar jedne podmreže).

OpenVPN nudi širok raspon konfiguracijskih parametara, globalno i pojedinačno za


svakog povezanog klijenta. Možete odabrati koji će se protokol koristiti za prijenos
podataka putem međumreže (u pravilu se preporučuje korištenje UDP-a, jer OpenVPN
posreduje vezu na linijskom ili mrežnom sloju, što je samo po sebi nepouzdano,
pouzdanost osigurava samo TCP protokol ili protokoli viših slojeva). Također je moguće
postaviti kompresiju prenesenih podataka, što može povećati propusnost veze. Među
ostalim značajkama možemo spomenuti i prijenos (push) konfiguracijskih parametara
pojedinačnim VPN klijentima.
U ovom zadatku pokrit ćemo konfiguraciju OpenVPN klijenta i poslužitelja,
pri čemu poslužitelj djeluje kao zadani pristupnik, a sav promet ide kroz VPN
vezu i usmjerava ga poslužitelj. Veza će biti kriptirana, koristit ćemo PKI
infrastrukturu i set certifikata i privatnih ključeva.

6.1.4 Asimetrična kriptografija, PKI


Načelo asimetrične kriptografije može se jednostavno sažeti na sljedeći način:
Posjedujemo privatni i javni kriptografski ključ. Privatni ključ čuvamo u tajnosti, dok
javni ključ besplatno stavljamo na raspolaganje svima koje to zanima. Ako podatke
šifriramo privatnim ključem, oni se mogu dešifrirati javnim ključem. Ako nitko drugi
nema pristup privatnom ključu, tada možemo potvrditi da smo mi autori poslane
poruke (tj. može se dešifrirati našim javnim ključem).
Suprotan princip možemo koristiti ako znamo tuđi javni ključ i želimo poslati
povjerljivu poruku drugoj strani. Šifriramo ga javnim ključem druge strane i samo
ga on može dešifrirati (koristeći svoj privatni ključ). Asimetrična kriptografija

38
međutim, u usporedbi sa simetričnim (u kojem i pošiljatelj i primatelj koriste isti ključ
za šifriranje i dešifriranje) puno je zahtjevniji za računalnu snagu i stoga se koristi
samo u fazi uspostavljanja veze. Zatim će se uspostaviti sigurni zajednički ključ (za to
se koristi Diffie-Hellmanov mehanizam) s kojim se daljnja komunikacija simetrično
šifrira. Radi povećanja sigurnosti, ovaj se ključ može promijeniti tijekom prijenosa
nakon određenog vremenskog intervala.
PKI infrastruktura temelji se na korištenju asimetrične kriptografije, certifikata i
pouzdane treće strane. Certifikat je skup informacija o svom vlasniku (npr. ime,
organizacija, geografski podaci) i njegov javni ključ, nakon čega slijedi digitalni potpis
pouzdane treće strane (otisak prsta – hash podataka šifriranih privatnim ključem
pouzdane Treća strana). Ako imamo javni ključ treće strane od povjerenja, možemo ga
upotrijebiti za provjeru valjanosti certifikata, a time i identiteta subjekta koji dokazuje
(naravno, ovaj entitet također mora znati privatni ključ povezan s certifikatom) .

Treća strana od povjerenja je subjekt čiji identitet poznajemo i možemo sa


sigurnošću (ili velikom vjerojatnošću) pretpostaviti da se informacije koje su mu
pružene mogu smatrati istinitima. Certifikacijsko tijelo (CA) može izdavati certifikate na
komercijalnoj osnovi (prikladni su ako ne znamo unaprijed s kim ćemo točno
komunicirati ili nemamo kontrolu nad stranama koje komuniciraju). Druga opcija je
uspostaviti vlastiti CA i uz njegovu pomoć potpisivati certifikate, što je prikladno
rješenje za korištenje npr. u OpenVPN-u (imamo kontrolu nad OpenVPN serverom i
klijentima), u tom slučaju nema potrebe plaćati trećinu stranka za izdavanje uvjerenja.
OpenVPN paket uključuje alate za izgradnju vlastitog CA i izdavanje
certifikata koji su relativno jednostavni za korištenje.

6.2 Zadaci
ˆProvjerite zadani status mreže, posebno na strojuovpn-klijent.
ˆPostavite CA, generirajte certifikate i privatne ključeve za stroj
ovpn-poslužiteljiovpn-klijent.
ˆPostavite OpenVPN na oba računala i uspostavite VPN vezu između njih. ˆIstražite
kako se ponašanje mreže promijenilo u odnosu na zadane postavke.

6.3 Tijek rada

6.3.1 Upoznavanje s okolinom


Zadatak se temelji na dva virtualna računala s OS Ubuntu Linux 11.10 u okruženju
VMWare. Jedan od strojeva djelovat će kao OpenVPN klijent (strojovpn-klijent),

39
Div. 6.3: Topologija virtualne mreže

drugi kao poslužitelj (strojovpn-poslužitelj).Prema zadanim postavkama, oba su stroja


povezana mrežom 192.168.1.0/24, strojovpn-poslužiteljima i drugo sučelje s dinamički
dodijeljenom adresom (adresu dodjeljuje program VMWare). Komunikacija sa stroja
ovpn-klijentse usmjerava kroz strojovpn-poslužitelj,dodatno je ograničen
vatrozidom. Vatrozid curi iz strojaovpn-klijentprema vanjskoj mrežnoj komunikaciji
samo za protokolTCP port 80 (HTTP), TCP port 443 (HTTPS), UDP port 53 (DNS),
UDP port 123 (NTP)a omogućen je i protokolICMP.
Ova konfiguracija simulira praktičnu situaciju u kojoj imamo računalo spojeno
na Internet (ovdjeovpn-klijent),ali ograničeni smo na korištenje samo određenih
usluga. Na raspolaganju imamo i drugo računalo s neograničenim pristupom
internetu (ovdjeovpn-poslužitelj)na kojem možemo konfigurirati OpenVPN. Open-
VPN ćemo konfigurirati i na prvom računalu, uspostaviti VPN vezu (na portu koji
nije blokiran vatrozidom) i usmjeriti svu komunikaciju na OpenVPN server (a odatle
na Internet). Time se zaobilazi izvorno ograničenje.
Spajanje je prikazano na sl. 6.3. Veze nacrtane punom linijom predstavljaju zadanu situaciju
- komunikaciju izvan mreže na koju je stroj spojenovpn-klijentpovezan, prolazi kroz strojovpn-
poslužitelj,međutim, pristup uslugama je ograničen. Stanje nakon konfiguracije prikazano je
spojem isprekidanom linijom - komunikacija usmjerena prema van
mreža se propušta kroz VPN vezu između strojeva, a zatim na vanjsku mrežu; Otvorena-
VPN veza koristi jedan od deblokiranih portova na vatrozidu. Priključak na stroj ovpn-
klijentna vanjsku mrežu i Internet više nije ograničen.

40
6.3.2 Pokretanje virtualnih strojeva
Pokrenite VMWare u dvije instance. Pokrenite virtualni stroj u jednom od njih ovpn-
poslužitelj,u drugomovpn-klijent.Nakon pokretanja operativnog sustava, prijavite se
na strojeve - korisničko ime jestudent,zaporkastudent.Na svakom od strojeva
pokrenite terminal (konzolu) s kojim ćete konfigurirati stroj.

6.3.3 Zadano stanje mreže

1. Saznajte koja su mrežna sučelja prisutna na strojevima i kako su


konfigurirana (koristiteifconfig).
2. Saznajte kako je konfigurirano usmjeravanje (naredbaruta -n),probaj dostupnost
(ping)i praćenje puta do poslužitelja koji se nalazi na Internetu (naredbom
tracerouteadresa.sljedivog.poslužitelja ).Kao adresu poslužitelja koji se nalazi na
Internetu možete koristiti npr.www.linux.cziliftp.linux.cz.
3. Isprobajte na strojuovpn-klijentmogućnost pristupa web poslužiteljima na
internetu korištenjem HTTP ili HTTPS protokola (bilo naredbomwget
www.adresa. poslužitelj -O -ili u web pregledniku). Na isti način testirajte
mogućnost spajanja na FTP poslužitelj na Internetu (pomoću naredbeftpili u
pregledniku), ili druge usluge. Koje usluge rade, a koje ne?

6.3.4 Generiranje certifikata


1. Na strojuovpn-poslužiteljnajprije se mora uspostaviti tijelo za izdavanje certifikata. Radnje
vezane uz uspostavu ovlaštenja za izdavanje certifikata i postavljanje OpenVPN-a moraju
se izvoditi s pravima superkorisnika, stoga se prijavite naredbomsukao superkorisnik;
lozinka je ista kao i za neprivilegiranog korisnika.
Ako bismo certifikacijsko tijelo uspostavili i koristili u praksi, bilo bi to iz
sigurnosnih razloga uspostaviti ga na posebnom stroju namijenjenom samo CA
djelatnosti! U našem slučaju CA ćemo uspostaviti na poslužitelju samo zbog
jednostavnosti takvog rješenja.
Skup alata dostupan je u paketu OpenVPN za uspostavljanje i upravljanje CA-
ovimaeasyrsa.U Ubuntu distribuciji, alati se nalaze u direktoriju /usr/share/
doc/openvpn/examples/easy-rsa/2.0/,radi jasnoće kopirajte ih u imenik /itd/
openvpn/easy-rsa:

cd /etc/openvpn
cp -r /usr/share/doc/openvpn/examples/easy-rsa/2.0 easy-rsa cd
easy-rsa

41
2. U uređivaču teksta (npr.vim, nano)otvorite datotekuvars,koji sadrži varijabilne postavke za
skripte koje se koriste za generiranje ključeva. Potražite retke u kojima su postavljene
vrijednosti varijabliKEY_COUNTRY, KEY_PROVINCE, KEY_CITY, KEY_ORG, KEY_EMAIL (nalaze
se na kraju datoteke). Varijable su unaprijed postavljene na zadane vrijednosti, sadrže
identifikacijske podatke CA-a, odnosno državu, dio države (regiju) i grad u kojem se CA
nalazi, kao i naziv organizacije i kontakt za CA administratora. Postavite varijable na
odgovarajuće vrijednosti, na primjer ovako:

izvoz KEY_COUNTRY="CZ"
export KEY_PROVINCE="Južna Moravska regija"
export KEY_CITY="Brno"
izvoz KEY_ORG="FEKT VUT" izvoz
KEY_EMAIL=" admin@moje-ca.cz "

3. Uspostava certifikacijskog tijela uključuje stvaranje korijenskog certifikata


CA i generiranje privatnog ključa koji se može koristiti za potpisivanje
certifikata izdanih od strane CA. Inicijalizirajte postavke varijable iz
prethodnog koraka, izbrišite postojeće ključeve (još nema ključeva, ali
naredba za brisanje ključeva također služi za inicijalizaciju direktorija za
pohranu ključeva) i izradite CA korijenski certifikat i CA privatni ključ:

izvor ./vars
. /čisto-sve
. /izgradnja-ca

Generirat će se CA privatni ključca.ključa zatim ćete morati ispuniti podatke za


CA certifikat. Neke stavke su već unaprijed ispunjene vrijednostima postavljenim
u prethodnom koraku - navedene su u uglatim zagradama. Ako želite koristiti
unaprijed postavljenu vrijednost, potvrdite to pritiskom na tipku Enter. Ukoliko je
potrebno promijeniti ponuđenu vrijednost, unesite željenu vrijednost i ponovno
potvrdite tipkom Enter. Uz vrijednosti unaprijed postavljene u prethodnom
koraku, potrebno je ispuniti vrijednostiNaziv organizacijske jedinice (naziv
organizacijske jedinice možete ispuniti nprUTKOili ostavite vrijednost praznom)
Uobičajeno ime (uobičajeno ime - možete ostaviti ponuđenu vrijednost ili unijeti
svoje vlastito CA ime) i ime povezano s certifikatom. Nakon unosa svih
vrijednosti kreirat će se CA root certifikatca. crt u imenikuključevi.

4. U sljedećem koraku izradite privatni ključ (poslužitelj.ključ)i certifikat (server.crt) za OpenVPN


poslužitelj. Da biste to učinili, samo pokrenite naredbu

. /build-key-server poslužitelj

42
i ponovno unesite tražene podatke vezane uz certifikat OpenVPN poslužitelja.
Ostavite unaprijed ispunjene vrijednosti, kao vrijednost organizacijske
jedinice koju možete ponovno ispuniti, npr.UTKOili ostavite stavku praznu.
Skripta će tražiti bilo koju lozinku (izazovna lozinka)opet ostavite prazno
(zaštita ključa lozinkom je nepoželjna za poslužitelj zbog prirode korištenja)!
Posljednja upitana stavka je izborni naziv tvrtke (izborni naziv tvrtke) –
ostavite prazno ili unesite vrijednost po svom izboru. Na kraju samo potvrdite
potpisivanje certifikata za poslužitelj unosom slovagi pritiskom na tipku Enter
(potvrda je potrebna skripti u dva koraka, pa ih izvedite dva puta).

5. Slično prethodnom koraku, izradite privatni ključ (ovpn-client.key) i certifikat (


ovpn-client.crt)za OpenVPN klijent, prilikom popunjavanja podataka i potvrde
izrade certifikata postupite kao u prethodnom koraku:

. /build-key ovpn-client

6. Da biste koristili Diffie-Hellman protokol za razmjenu ključeva, prvo se moraju


generirati parametri za njega (generiranje može trajati nekoliko desetaka
sekundi):

. /build-dh

7. Kopirajte generirani CA certifikat, DH parametre, certifikat poslužitelja i privatni


ključ poslužitelja iz direktorija /itd/openvpn/easy-rsa/ključeviu OpenVPN
konfiguracijski direktorij na poslužitelju (/itd/openvpn):

cd /etc/openvpn/easy-rsa/ključevi
cp ca.crt poslužitelj.crt poslužitelj.ključ dh1024.pem /etc/openvpn

8. Kopirajte kreirani CA certifikat, klijentski certifikat i privatni ključ klijenta u


OpenVPN konfiguracijski direktorij na klijentu (također /itd/openvpn,
kopiranje na drugi stroj vrši se pomoću alatascp):

scp ca.crt ovpn-client.crt ovpn-client.key \


192.168.1.2:/etc/openvpn

6.3.5 Postavke OpenVPN poslužitelja


1. Direktorij je određen za konfiguracijske i druge potrebne datoteke OpenVPN
aplikacije /etc/openvpn.Konfiguracija OpenVPN poslužitelja vrši se postavljanjem
konfiguracijskih direktiva u datoteci /itd/openvpn/server.conf.Prema zadanim
postavkama, datoteka ne postoji i prvo je treba stvoriti. Njegov sadržaj je moguć

43
izraditi ručno, međutim, praktičnije je i brže koristiti oglednu konfiguracijsku
datoteku (/usr/share/doc/openvpn/examples/sample-config-files/server.conf.gz)i
modificirati ga kako bi odgovarao našim potrebama. Datoteku je potrebno
kopirati u OpenVPN konfiguracijski direktorij i raspakirati:

cd /etc/openvpn
cp /usr/share/doc/openvpn/examples/sample-config-files/\
server.conf.gz ./
gunzip server.conf.gz

2. Sljedeći korak je uređivanje konfiguracijskih direktiva u datoteci /itd/openvpn/


server.conf.Prednost je što su praktički sve potrebne direktive uključene u
zadanu datoteku (tj. trebate ih samo urediti), a također su uvijek popraćene
opisom sa svojim značenjem i mogućnostima podešavanja. Simbol rešetke (#)
uvodi komentar, točka-zarez se koristi za onemogućavanje sljedeće
konfiguracijske direktive ili također uvodi komentar. Sljedeće upute su važne za
nas u konfiguracijskoj datoteci:
ˆlukaXYZ –OpenVPN poslužitelj slušat će broj portaXYZ.
Postavite priključak 53.

ˆstogaPROTOKOL -Određuje koji će protokol biti VPN podaci


samo preneseno (UDP, TCP) – UDP protokol odabran je prema zadanim
postavkama, ostavite ovu postavku.
ˆdivovskiVRSTA –Određuje koja će se vrsta sučelja koristiti za prijenos podataka. Tip
može biti bilo kojibazen,tada će VPN veza komunicirati na mrežnom sloju ili
dodirniteu tom slučaju komunikacija će se odvijati na linijskom sloju.
Ponovno ostavite zadane postavke.
ˆca, cert, ključ, dh –Ove se direktive koriste za određivanje staza do datoteka ob-
koji pokriva korijenski CA certifikat, poslužiteljski certifikat, privatni ključ poslužitelja
i DH parametre. Ostavite zadane postavke.
ˆposlužiteljMREŽA MASKA –Postavke adrese i virtualne privatne maske
mreže. Adrese poslužitelja i VPN klijenata bit će dodijeljene iz ovog raspona.
Postavite mrežnu adresu192.168.10.0i maska255.255.255.0.Također možete
odabrati vlastite postavke, ali vodite računa o rasponima adresa koji se koriste na
mreži kako biste izbjegli sukobe!
ˆgurnuti"parametri" -Poslužitelj može proslijediti klijentima prilikom uspostavljanja veze
mrežne konfiguracijske parametre koje klijenti primjenjuju na sebe. U našem
slučaju radit će se o postavljanju OpenVPN poslužitelja kao zadanog pristupnika i
postavljanju adrese DNS poslužitelja na8.8.8.8:

push "redirect-gateway" push


"dhcp-option DNS 8.8.8.8"

44
ˆkorisnikNA,skupinaG –Omogućuje pokretanje OpenVPN-a pod inicijalizacijom
dati korisnikNAi grupaG.Poslužitelj počinje s pravima superkorisnika,
nakon inicijalizacije se može odreći tih prava i raditi pod običnim
korisnikom/grupom, što je praktičnije sa sigurnosne točke gledišta.
Aktiviraj (odkomentiraj) ove stavke.
ˆcomp-lzo –Uključuje kompresiju prenesenih podataka LZO algoritmom, pri čemu
omogućuje povećanje propusnosti VPN veze pod određenim okolnostima. ˆ
statusRUTA –Definira put do datoteke u kojoj će biti moguće pratiti
Status OpenVPN poslužitelja. Postavite ovdje /var/log/openvpn-status.log.
Spremite promjene napravljene u datoteci.
3. Sada kada je konfiguracija dovršena, preostaje samo pokrenuti OpenVPN poslužitelj:

početak usluge openvpn

Ako dođe do pogreške tijekom pokretanja, provjerite postavke u konfiguracijskoj


datoteci, prisutnost svih potrebnih datoteka za enkripciju/autentifikaciju (CA
certifikat, certifikat poslužitelja, privatni ključ poslužitelja, datoteka DH
parametara). Zatim provjerite sve poruke pogreške OpenVPN-a u zapisniku
sustava (datoteka /var/log/syslog).

6.3.6 Postavke OpenVPN klijenta


1. Konfiguracija klijenta (na strojuovpn-klijent)je vrlo sličan konfiguraciji
poslužitelja (opet se konfiguracija mora izvršiti pod superuserom). Opet, prvo
je potrebno kopirati oglednu konfiguracijsku datoteku u konfiguracijski
direktorij:

cd /etc/openvpn
cp /usr/share/doc/openvpn/examples/sample-config-files/\
klijent.conf ./

2. U konfiguraciji klijenta (/itd/openvpn/client.conf)bitne su sljedeće


direktive:
ˆklijent –Opcija uzrokuje da OpenVPN aplikacija djeluje kao klijent. ˆdaljinski
PRIKLJUČAK POSLUŽITELJA –Adresa i port OpenVPN poslužitelja na koji
klijent će se povezati. U tom slučaju unesite adresu OpenVPN
poslužitelja i port koji je postavljen u konfiguraciji poslužitelja:

daljinski 192.168.1.1 53
ˆcertifikat, ključ –Kao i kod poslužitelja, ovo uključuje postavljanje certifikata i
privatni ključ, ali ovaj put za OpenVPN klijent:

45
certifikat ovpn-client.crt
ključ ovpn-client.ključ

ˆBaš kao i na poslužitelju, ovdje skinite komentare sa stavkikorisnikiskupina.


3. Aktivirajte OpenVPN servis koji će uspostaviti vezu s poslužiteljem (ako ste
ga ispravno konfigurirali):

početak usluge openvpn

Ako dođe do pogreške tijekom pokretanja, provjerite postavke u


konfiguracijskoj datoteci, prisutnost svih potrebnih datoteka za enkripciju/
autentifikaciju (CA certifikat, certifikat klijenta, privatni ključ klijenta) i sve
poruke o pogrešci u zapisniku sustava (datoteka /var/log / syslog).

6.3.7 Status mreže tijekom VPN veze

1. Pregledajte (i klijent i poslužitelj) poruke OpenVPN demona u syslogu:

manje /var/log/syslog
2. Saznajte kako su se dostupna mrežna sučelja i usmjeravanje promijenili na
klijentu. Pokušajte pratiti put do poslužitelja koji se nalazi na Internetu i
usporedite ga s opažanjem koje ste napravili na početku vježbe (upotrijebite
isti postupak).
3. Testirajte funkcionalnost servisa na klijentu koji nisu radili u zadanom stanju
mreže (npr. FTP).
4. Na poslužitelju prikažite informacije o povezanim OpenVPN klijentima i proučite
informacije:
manje /var/log/openvpn-status.log

46
7 INFORMACIJE ZA VJEŽBE

7.1 Instalacija virtualnih strojeva


Potrebno je samo kopirati virtualne strojeve na odgovarajuće računalo na kojem će se njima
raditi, a zatim ih raspakirati. Oba virtualna računala tada se mogu pokrenuti otvaranjem
odgovarajućih .vmxdatoteke.
Neophodno je kod prvog pokretanja strojakada VMware upita je li dani
virtualni stroj kopiran ili premješten,odaberite da je stroj pomaknut. U slučaju
drugog izbora, program VMware bi kreirao novu mrežnu karticu s novom MAC
adresom za virtualno računalo, a to bi promijenilo njegovu konfiguraciju, a time i
postavke IP adrese na virtualnom računalu.

7.2 Primjeri konfiguracija

7.2.1 server.conf
U konfiguraciji OpenVPN poslužitelja (u datoteci /itd/openvpn/server.conf)sljedeće stavke je
potrebno izmijeniti/dodati u usporedbi sa zadanim stanjem:

luka 53
poslužitelj 192.168.10.0 255.255.255.0
push "redirect-gateway"
push "dhcp-option DNS 8.8.8.8"
korisnik nitko
grupa nogroup
status /var/log/openvpn-status.log

7.2.2 client.conf
U konfiguraciji OpenVPN klijenta (u datoteci /itd/openvpn/client.conf)sljedeće stavke
treba promijeniti/postaviti prema zadanim postavkama:

daljinski 192.168.1.1 53
korisnik nitko
grupa nitko
certifikat ovpn-client.crt
ključ ovpn-client.ključ

47
7.3 Mogući problemi

7.3.1 Poslužitelj

U slučaju problema na strani poslužitelja, preporučljivo je pogledati izvješće OpenVPN


poslužitelja u zapisu sustava (log) – /var/log/syslog,iz njih je obično prilično lako otkriti
što je uzrok problema. Ako se poslužitelj ne uspije pokrenuti (pri pokušaju pokretanja
pojavljuje se poruka o pogrešci), preporučljivo je provjeriti nalaze li se u direktoriju /
itd/openvpnprisutni privatni ključ, CA certifikat, DH parametri i datoteke certifikata
poslužitelja.
Ostali problemi povezani sa strani poslužitelja mogu biti npr. ˆ
greška u konfiguraciji, zaboravljen parametar,
ˆset/nekomentirani parametar u konfiguraciji koji nije trebao biti
grickao,
ˆpogrešno postavljen port poslužitelja,
ˆodabrani raspon adresa za virtualnu vezu iz neprikladnog raspona
preklapati (ako učenik sam bira raspon).
Vjerojatno ne bi trebalo biti problema kod generiranja certifikata/ključeva, ako i
dođu, vjerojatno je to zbog nepažnje. U tom slučaju preporučljivo je pažljivo
ponoviti cijeli navedeni postupak i slijediti upute skripti za generiranje certifikata/
ključeva.

7.3.2 Klijent
Kao i na strani poslužitelja, dobra polazna točka za pronalaženje uzroka problema je
zapisnik sustava. Nadalje, preporučljivo je to provjeriti
ˆpotrebni parametri su ispravno postavljeni u konfiguracijskoj datoteci prema
dodjela zadatka,

ˆu imenik /itd/openvpnsve potrebne datoteke su kopirane za


autentifikacija, tj. CA certifikat, klijentski certifikat, klijentski privatni ključ, ˆIP adresa
(a posebno port) postavljena na strani klijenta odgovara postavci uključenoj
poslužiteljska strana,

ˆsučelje preko kojeg je klijent povezan s poslužiteljem (eth0),je aktivan i veza između
virtualni strojevi (u rasponu od 192.168.1.0/24) rade (npr. nije došlo do slučajnog
resetiranja).

48
7.4 OpenVPN pitanja i odgovori
Kako bi se osiguralo da je student razumio gradivo o kojem se raspravlja u ovoj
vježbi, ili za njegovo dublje promišljanje problema, mogu mu se postavljati pitanja
vezana uz vježbu. Slijedi popis predloženih pitanja koja bi se mogla koristiti u tu
svrhu, s odgovorima koji ukazuju na smjer u kojem bi učenikovo razmišljanje o
problemu trebalo ići.
ˆKoji je port odabran za rad OpenVPN poslužitelja i zašto? Bi li bilo od koristi za-
hoto port problematičan u praksi - ako da, pod kojim okolnostima?
Postavljen je UDP priključak 53 jer je to jedan od priključaka koji nije blokiran
na vatrozidu. Bilo bi moguće koristiti neki drugi port koji ne blokira (npr. TCP
80). U praksi bi korištenje UDP porta 53 bilo problematično ako bi DNS
poslužitelj također trebao biti pokrenut na istom računalu (port 53 se obično
koristi za DNS).
ˆZašto se UDP protokol koristi za prijenos podataka putem VPN veze? Može se koristiti
tcp protokol, bi li imao prednosti ili mane?
U zadanoj postavci OpenVPN-a koristi se nepouzdan UDP protokol (ova
postavka je preporučljiva) - njegova nepouzdanost ovdje nije problem, jer
VPN veza zamjenjuje nepouzdanu vezu s mrežom ili linijski sloj. Ako je
potrebno, pouzdanost se tada osigurava protokolima višeg sloja (osobito
TCP). Može se koristiti i TCP protokol za VPN tunel (ponekad je čak i potrebno
- ako nije dostupan, npr. zbog blokade na vatrozidu, odgovarajući UDP port).
Međutim, potencijalno bi moglo biti problema s performansama s VPN
vezom, budući da će pouzdanost osigurati i vanjska veza VPN tunela i TCP
veza unutar tunela, a budući da se unutarnja veza oslanja na nepouzdan
prijenosni medij, može doći do problema.
ˆZa što se koristi parametar u konfiguraciji?comp-lzo?Utječe na protok podataka
postojanje VPN veze? Ako da, pod kojim okolnostima?
Parametar aktivira kompresiju prenesenih podataka pomoću LZO algoritma. To
može rezultirati povećanjem propusnosti (ne bi se trebalo smanjivati - ako
OpenVPN otkrije da bi nakon kompresije trebalo prenijeti više podataka nego bez
kompresije, kompresija se neće koristiti). Međutim, uvjet je da se prenose
komprimirani podaci (po mogućnosti podaci koji još nisu komprimirani), npr. kod
prijenosa JPEG ili MPEG podataka, propusnost neće biti toliko veća nego npr. kod
prijenosa teksta.
ˆPostoje ograničenja u izboru raspona adresa iz kojeg se adrese dodjeljuju
za VPN vezu? Što je dobro uzeti u obzir u ovom slučaju (razmislite odakle
se VPN klijenti mogu spojiti)?
Naravno, raspon adresa ne smije biti u sukobu s bilo kojim korištenim rasponom

49
u mreži. Također je dobro razmotriti koji se rasponi adresa često koriste na
usmjerivačima u domovima ili malim poduzećima, odakle se klijenti također
mogu povezati (obično, na primjer, 192.168.0.0/24). Iz toga slijedi da je
preporučljivo odabrati drugačiji raspon za VPN vezu (u ovoj vježbi preporučuje se
raspon 192.168.10.0/24).
ˆJe li korištenje asimetrične kriptografije potrebno za rad VPN-a? Ako je tako, zašto;
ako ne, ima li drugih opcija?
Upotreba asimetrične kriptografije nije nužna za funkcionalnost VPN-a. Može se
koristiti i simetrična kriptografija (na svim klijentima i poslužitelju koristi se isti ključ
za šifriranje) ili je moguć i rad bez enkripcije (iako u praksi potpuno neprikladno).
Asimetrična kriptografija je složenija za upravljanje od simetrične, ali ima značajne
prednosti (međusobna autentifikacija klijenta i poslužitelja ili situacija kada je jedan
od ključeva ugrožen - samo opozovite odgovarajući klijentski certifikat i izdajte novi,
intervencija se tiče samo jedan stroj).
ˆČemu služe parametri?korisnikiskupinau OpenVPN konfiguraciji?
Ovi parametri određuju s kojim dopuštenjima (pod kojim korisnikom i
grupom) će se OpenVPN demon pokrenuti nakon inicijalizacije (u početku se
pokreće s pravima superkorisnika). Ovo je sigurnosni dizajn - u slučaju da
demon sadrži pogrešku i da je ugrožen, napadač će dobiti pristup sustavu
samo s privilegijama običnog korisnika, a ne baš superkorisnika.

50
8 TESTIRANJE, MOGUĆE DALJNJE PROŠIRENJE

8.1 Ispitivanje
Zadatak je testiran kako bi se provjerila ispravnost teksta zadatka, te je na temelju
ovog testa tekst zadatka dodatno modificiran kako bi se odrazili uočeni nedostaci.
Nadalje, funkcionalnost virtualnih strojeva (i cjelokupnog zadatka) testirana je u
različitim okruženjima i to pod Ubuntu Linux 11.10 OS-om u VMware Playeru 4.0.2 i
Windows 7 Professional 4.0.3. Proveden je i test na školskom računalu sa sustavom
Windows XP Professional, no pokazalo se da stvorene slike virtualnog računala
zahtijevaju noviju verziju VMware Playera od instalirane verzije.
Test na školskom stroju u okruženju Ubuntu/VMware 4.0.3 pokazao se bez problema.
Dakle, nakon instaliranja trenutne verzije VMware-a na školske strojeve, implementacija bi
se trebala odvijati bez ikakvih problema.

8.2 Ostala moguća proširenja


Predloženi zadatak može se dodatno proširiti (npr. ako se nakon praktične
uporabe u nastavi pokaže da je vremenski lako savladav za studente) ili se
može koristiti kao osnova za neki drugi zadatak koristeći OpenVPN (barem bi
virtualni strojevi mogli vjerojatno samo s manjim izmjenama).
Moguća proširenja uključuju nadzor mrežnog prometa s odgovarajućim alatom
(npr.wiresharkilitcpdump)usporedba stanja izravne veze strojeva (bez šifriranja) i veze
pomoću VPN-a (kriptirana veza). Nadalje, bilo bi moguće koristiti OpenVPN postavke -
primjerice, individualne postavke za pojedinačne OpenVPN klijente, mogućnost
uključivanja/isključivanja međusobne komunikacije između klijenata, šifriranje
simetričnim ključem, povezivanje u peer-to-peer modu ili napredne opcije
autentifikacije (npr. korištenje baze podataka korisnika lokalnog sustava ili LDAP-a).
Druga opcija za dizajniranje novog posla je korištenje proizvoda OpenVPN
Access Server. Drugo razmatranje je korištenje nepravilno pripremljene
konfiguracije, koju bi učenici trebali vratiti (na taj način vježbajući rješavanje
problema) ili uvesti umjetna ograničenja (npr. gubitak linije koja povezuje virtualne
strojeve) kako bi podesili vezu da daju najbolju moguću izvedbu.
Ako bi se zadatak znatno proširio, možda bi bilo prikladno podijeliti ga u
zasebne cjeline, na kojima bi učenici paralelno radili u parovima (ili većim
grupama) na dva računala. Međutim, dopunu postojećeg zadatka ili izradu
novog zadatka koji nadovezuje na njega bit će primjereno razmotriti kada se
zadatak ispituje izravno u razredima s većim brojem učenika. Predanost nastavi

51
najbolje će pokazati mogu li učenici obraditi veći opseg gradiva u jednoj vježbi
ili, naprotiv, postojeća koncepcija zadatka sadrži područja koja će učenicima
biti teška.

52
9 ZAKLJUČAK

Virtualne privatne mreže su često korišten element u izgradnji mreža. Oni osiguravaju
povezivanje udaljenih mreža ili općenito pristup udaljenim mrežama, u principu oponašaju
situaciju kada su strane koje komuniciraju povezane izravno.
Postoji niz tehnologija koje se mogu koristiti za implementaciju VPN-a, a jedna
od njih je OpenVPN. To je otvorena i slobodno dostupna tehnologija s vrlo širokim
mogućnostima primjene. U usporedbi s drugim tehnologijama, ima neke
nedostatke, ali i mnoge prednosti, koje treba uzeti u obzir u slučaju postavljanja
VPN tehnologija u mrežu ili pri prelasku s postojeće tehnologije na drugu.
Filozofija OpenVPN-a je jednostavnost i posljedična sigurnost, uz zadržavanje
raznih opcija postavki; Tijekom dizajna naglašena je i praktična upotrebljivost.
Postoje dodaci trećih strana za OpenVPN koji proširuju mogućnosti prilagodbe,
konfiguracije i upravljanja. Postoji i komercijalna verzija - OpenVPN Access Server, koja je
namijenjena tvrtkama i organizacijama i pruža opsežan paket za jednostavno upravljanje i
postavljanje OpenVPN poslužitelja, uključujući upravljanje korisnicima.
Osim opisa karakteristika OpenVPN-a, u ovom se radu radi i na izradi laboratorijske
vježbe za upoznavanje studenata s virtualnim privatnim mrežama tipa OpenVPN.
Vježba je osmišljena imajući na umu početne uvjete; fokusira se na praktično
upotrebljivu situaciju u kojoj se OpenVPN klijent i poslužitelj koriste kako bi se zaobišla
mrežna ograničenja (blokiranje usluga vatrozidom).
Uključuje i stvarni zadatak (uključujući teorijski uvod), kao i informacije za polaznike
i slike virtualnih strojeva na kojima će se obuka odvijati. Unos je uspješno testiran na
virtualnim računalima te je osigurana ispravnost svih navedenih postupaka. Virtualni
strojevi testirani su i na školskim računalima, problematična je bila verzija instaliranog
softvera VMware Player; nakon instaliranja trenutne verzije, implementacija posla bi
trebala biti besprijekorna.
Zadatak se može koristiti unutar kolegijaDizajn mreže, upravljanje i sigurnost; u
sklopu rada predložene su i moguće izmjene i proširenja, zadatak može poslužiti i
kao temelj za druge laboratorijske zadatke slične prirode.

53
KNJIŽEVNOST
[1] Virtualna privatna mreža. UWikipedia: besplatna enciklopedija [na liniji]. Sv.
Petersburg (Florida) : Zaklada Wikipedia, 31. prosinca 2004., zadnja izmjena 1.
studenog 2011. [cit. 2011-11-12]. Dostupno na WWW:
<http://en.wikipedia.org/wiki/Virtual_private_network>.

[2] KRČMÁŘ, Petr.Linux : izgraditi računalnu mrežu.Prag: Grada Publishing, 2008.


184 str.

[3] Protokol tuneliranja od točke do točke. UWikipedia: besplatna enciklopedija [


na liniji]. Sv. Petersburg (Florida) : Zaklada Wikipedia, 22. prosinca 2005.,
zadnja izmjena 20. veljače 2010. [cit. 2011-11-13]. Dostupno na WWW: <http://
en.wikipedia.org/wiki/Pptp>.

[4] Protokol tuneliranja razine 2. UWikipedia: besplatna enciklopedija [na liniji]. Sv.
Petersburg (Florida) : Zaklada Wikipedia, 8. ožujka 2007., zadnja izmjena 8. ožujka
2007. [cit. 2011-11-13].
Dostupno na WWW: <http://en.wikipedia.org/wiki/L2TP>.

[5] IPsec. UWikipedia: besplatna enciklopedija [na liniji]. Sv. Petersburg (Florida) :
Zaklada Wikipedia, 8. ožujka 2002., zadnja izmjena 26. studenog 2011. [cit.
2011-11-28]. Dostupno na WWW: <http://en.wikipedia.org/wiki/IPsec>.

[6] Sigurnost transportnog sloja. UWikipedia: besplatna enciklopedija [na liniji]. Sv.
Petersburg (Florida) : Zaklada Wikipedia, 7. prosinca 2001., zadnja izmjena 22.
studenog 2011. [cit. 2011-11-23]. Dostupno na WWW:
<http://en.wikipedia.org/wiki/Transport_Layer_Security>.

[7] Protokol sigurnog tuneliranja utičnica. UWikipedia: besplatna enciklopedija [na liniji].
Sv. Petersburg (Florida) : Zaklada Wikipedia, 23. siječnja 2007., zadnja izmjena 4.
listopada 2011. [cit. 2011-12-01]. Dostupno na WWW:
<http://en.wikipedia.org/wiki/Secure_Socket_Tunneling_Protocol>.

[8] FONTANA, Ivan.Techworld.com [na liniji]. 22. siječnja 2007. [cit.


2011-11-11]. Microsoft razvija novi protokol za tuneliranje. Dostupno na
WWW: <http://news.techworld.com/networking/7814/ microsoft-develops-
new-tunneling-protocol/>.

[9] Openvpn. UWikipedia: besplatna enciklopedija [na liniji]. Sv. Petersburg


(Florida) : Zaklada Wikipedia, 13. studenog 2004., zadnja izmjena 3. lipnja
2010. [cit. 2011-11-15]. Dostupno na WWW: <http://en.wikipedia.org/wiki/
Openvpn>.

54
[10]OpenVPN Access Server : Vodič za administratore sustava [na liniji].
Pleasanton : OpenVPN Technologies, 2010 [cit. 2011-11-30]. Dostupno na
WWW: <http://www.openvpn.net/images/pdf/OpenVPN_Access_Server_
Sysadmin_Guide_Rev.pdf?Name=Value>.

[11]OpenSSL : Alati otvorenog koda za SSL/TLS [na liniji]. 2009 [cit. 2011-11-28].
Dostupno na WWW: <www.openssl.org>.

[12] FEILNER, Markus; GRAF, Robert.Početak OpenVPN 2.0.9.Birmingham : Packt


Publishing Ltd., 2009. 356 str.

[13] HOSNER, Charlie.OpenVPN i SSL VPN revolucija [na liniji]. Bethesda : SANS
Institute, 2004 [cit. 2011-11-10]. Dostupno na WWW:
<http://www.sans.org/rr/whitepapers/vpns/1459.php>.

[14]OpenVPN [na liniji]. 2008 [cit. 2011-12-01]. KAKO DA. Dostupno na WWW:
<http://openvpn.net/index.php/open-source/documentation/howto.html>.

[15] PKCS11. UWikipedia: besplatna enciklopedija [na liniji]. Sv. Petersburg


(Florida) : Zaklada Wikipedia, 25. listopada 2006., zadnja izmjena 11. studenog
2011. [cit. 2011-12-05]. Dostupno na WWW: <http://en.wikipedia.org/wiki/
PKCS11>.

[16] TITZ, Olaf.Olaf Titz [na liniji]. 2001 [cit. 2011-12-01]. Zašto je TCP preko TCP-
a loša ideja. Dostupno na WWW: <http://sites.inka.de/bigred/devel/tcp-
tcp.html>.

55
POPIS SIMBOLA, KOLIČINA I KRATICA
3DES Trostruki standard enkripcije podataka

OGLAS Aktivni direktorij

AES Napredni standard šifriranja

BSD Berkeley Software Distribution

ca Tijelo za izdavanje certifikata

MOMAK Challenge-Handshake Authentication Protocol

CLI Sučelje naredbenog retka

CRL Popis opozvanih certifikata

DLL Biblioteka dinamičkog povezivanja

DoS Uskraćivanje usluge

DSA Algoritam digitalnog potpisa

EAP-TLS Extensible Authentication Protocol-Transport Layer Security

GRE Enkapsulacija generičkog usmjeravanja

GUI Grafičko korisničko sučelje

HMAC Kod autentifikacije raspršene poruke

HTTP Protokol prijenosa hiperteksta

HTTPS HyperText Transfer Protocol Secure

IMAP Protokol za pristup internetskim porukama

IMAPS Internet Message Access Protocol Secure

IP internetski protokol

ISO Međunarodna organizacija za standardizaciju

L2TP Layer 2 Tunneling Protocol

LDAP Lagani protokol za pristup direktoriju

OZO Lempel, Živ, Oberhumer

56
MAC Kod za provjeru autentičnosti poruke

MD5 Algoritam sažetka poruke 5

MPPE Microsoftovo šifriranje od točke do točke

MSCHAP Microsoft Challenge-Handshake Authentication Protocol

NAT Prijevod mrežne adrese

OS Međusobno povezivanje otvorenog sustava

PAM Priključni modul za provjeru autentičnosti

PAP Protokol provjere autentičnosti lozinke

PKCS#11 Standard kriptografije javnog ključa #11

PKI Infrastruktura javnih ključeva

PPP Protokol od točke do točke

PPTP Protokol tuneliranja od točke do točke

RADIUS Remote Authentication Dial In korisnička usluga

RFC Zahtjev za komentare

RSA Rivest Shamir Adleman

SHA Algoritam sigurnog raspršivanja

SMTP Jednostavan protokol za prijenos pošte

SMTPS Jednostavan siguran protokol prijenosa pošte

SSH Sigurna školjka

SSL Secure Sockets Layer

SSTP Protokol tuneliranja sigurnih utičnica

TCP Protokol kontrole prijenosa

TLS Sigurnost transportnog sloja

UCARP Userland Common Address Redundancy Protocol

UDP Protokol korisničkog datagrama

57
VPN Virtualna privatna mreža

POBJEDE Windows Internet Name Service

58
POPIS PRILOGA
Ovaj rad uključuje sljedeće priloge u elektroničkom obliku koji su pohranjeni na
priloženom DVD-u:
ˆKomprimirane slike virtualnih strojeva za VMware okruženja ˆ
Tekst diplomskog rada u PDF formatu
ˆUnos laboratorijskog zadatka u OpenDocument formatu (LibreOffice Writer) ˆ
Informacije za praktičare u formatu OpenDocument (LibreOffice Writer)

59

You might also like