OpenVPN – Deo I
VPN ili Virtual Private Network predstavlja mrežu računara međusobno povezanih na siguran način, iako se nalaze na različitim lokacijama i koriste različite metode pristupa. Najveća prednost VPN-a je sigurna konekcija između računara u mreži, odnosno zaštita od presretanja saobraćaja koja se postiže enkripcijom podataka. Konektovanjem na VPN mrežu možemo se zaštititi od rizika i opasnosti korišćenja nebezbednih javnih mreža kao što su na primer WiFi mreze u kafićima i ostalim javnim mestima.
Druga velika prednost VPN-a je da se postiže efekat kao da su svi računari u istoj lokalnoj mreži, što znači da računari mogu da komuniciraju kao da su povezani na isti ruter. Postoje dve mogućnosti kada je reč o korišćenju VPN-a, a to su korišćenje nekog od servisa koje nude VPN provajderi među kojima su najpopularniji Private Internet Access, proXPN, TopVPN, TopGuard i WiTopia, ili korišćenje sopstvenog VPN servera što će u nastavku biti detaljno opisano. Interesantnu diskusiju o izboru komercijalnog VPN provajdera možete pronaći na portalu PixelPrivacy.
OpenVPN je open source paket koji koristi sigurnosni protokol zasnovan na SSL i TLS protokolima i omogućava 256-bitnu enkripciju podataka.
OpenVPN paket sastoji se od tri glavne komponente:
- OpenVPN Access Server
- Admin Web Interface/Admin UI
- Connect Client
OpenVPN Access Server je glavna komponenta i dostupna je za više Linux distribucija među kojima su RedHat, Fedora, CentOS, Ubuntu, Debian i openSUSE kao i za Windows i MAC sisteme. Admin Web Interface predstavlja web aplikaciju preko koje se vrši administracija Access Servera, a Connect Client je aplikacija koju klijenti koriste za konekciju na VPN mrežu. Connect Client dostupan je za Linux, Windows i MacOS operativne sisteme kao i za mobilne uređaje koji koriste Android, Windows Mobile i iOS operativne sisteme.
Sadržaj
Instalacija OpenVPN Access Servera
Pre same instalacije Access Servera potrebno je izvršiti nekoliko koraka u cilju priprema Linux okruženja
- Treba proveriti da li je instaliran i da li je aktiviran SELinux (Security-Enhanced Linux) modul i ako jeste potrebno je da se deaktivira. Kod Fedora i RedHat distribucija deaktiviranje je moguće izvršiti izmenom fajla
/etc/selinux/config
tako što što se postavi vrednost SELINUX na disabled (SELINUX=disabled
). Za ostale distribucije koje nemaju config fajl deaktiviranje se vrši tako što se u fajlu/boot/grub/grub.conf
na kraju reda koji počinje sa komandom kernel doda vrednostselinux=0
i zatim potrebno restartovati računar. - Treba proveriti dostupnost servera, odnosno da li je serveru moguće pristupiti putem interneta preko željenog domena ili IP adrese. Korisnici kablovskog interneta i ADSL-a koji imaju dinamičke IP adrese moraju registrovati dinamički hostname koji će pratiti promene IP adrese. Ovu uslugu nudi veliki broj provajdera i uglavnom je besplatna. Pri izradi ovog seminarskog rada korišćen je servis na adresi www.no-ip.com gde je otvoren novi nalog i izabran domen bojangrabez.ddns.net.
Zatim je potrebno instalirati No-IP Linux Dynamic Update Client (DUC) koji će pratiti promene IP adrese. Za instalaciju je portebno izvršiti sledeće komande:
sudo -s cd /usr/local/src/ wget http://www.no-ip.com/client/linux/noip-duc-linux.tar.gz tar xf noip-duc-linux.tar.gz cd noip-2.1.9-1/ make install
Pokretanje No-IP klijenta:
/usr/local/bin/noip2
- Potrebno je napraviti nalog na sajtu www.openvpn.net i kupiti licencu za korišćenje Access Servera, jer bez licence postoji ograničenje da serveru mogu da pristupe najviše dva korisnika istovremeno. Cena licence određuje se na osnovu izabranog broja korisnika koji istovremeno mogu da pristupe serveru i vremenskog perioda važenja licence kao što je prikazano na sledećoj slici:
Za instalaciju OpenVPN Access Servera portebno je prvo preuzeti paket za odgovarajuću distribuciju Linux-a koji se može naći na sledećoj adresi:
http://openvpn.net/index.php/access-server/download-openvpn-as-sw.html
Za instalaciju preuzetog paketa treba izvršiti sledeću naredbu kao root korisnik:
- za Ubuntu:
dpkg -i openvpn_as_deb_filename
- za Fedora/CentOS/RHEL:
pm -i openvpn_as_rpm_filename
pri čemu openvpn_as_deb_filename odnosno openvpn_as_rpm_filename treba zameniti imenom odgovarajućeg preuzetog paketa.
Posle poruke o uspešnoj instalaciji u terminalu su ispisane adrese za pristup web korisničkom interfejsu za administratora i običnog korisnika (slika iznad). Na kraju je potrebno podesiti lozinku za pristup administratorskom nalogu izvršavanjem komande:
sudo passwd openvpn
i unošenjem željene lozinke. Sada je moguće pristupiti administratorskom nalogu sa korisničkim imenom openvpn i prethodno unetom lozinkom.
Prilikom instalacije izvršena je inicijalna konfiguracija servera sa podrazumevanim podešavanjima. Ako korisnik želi da samostalno izvrši konfiguraciju, to može učiniti komandom:
sudo /usr/local/openvpn_as/bin/ovpn-init --force
Pomenuta konfiguracija može se izvršti i preko korisničkog interfejsa što će biti objašnjeno u sledećem poglavlju. Komande za pokretanje, zaustavljanje i restartovanje servera:
/etc/init.d/openvpnas start /etc/init.d/openvpnas stop /etc/init.d/openvpnas restart
Deinstalacija servera može se izvršiti sa rpm –e openvpn-as
ili dpkg –r openvpn-as
u zavisnosti od Linux distribucije.
Konfiguracija OpenVPN Access Servera
Podešavanje Access Servera može može se obaviti na jednostavan način preko web korisničkog interfejsa kome se pristupa preko IP adrese prikazane na kraju uspešno izvršene instalacije servera, na primer https://192.168.0.10:943/admin gde je potrebno ulogovati se sa administratorskim nalogom. Početna strana prikazana je na sledećoj slici:
Kao što se vidi sa prethodne slike na početnoj strani prikazan je status servera, osnovni podaci o trenutnoj konfiguraciji, broj aktivnih korisnika a sa leve strane nalazi se meni, podeljen na pet sekcija Status, Configuration, Management, Authentication i Tools.
Status
U sekciji Status nalazi se:
- Status Overview
- Current Status
- Log Reports
Status Overview je ujedno i početna strana koja se prikazuje administratoru i na njoj se nalaze osnovne informacije o serveru. Na strani Curent Users nalazi se pregled i pretraga svih korisnika trenutno konektovanih na VPN mrežu. Na ovoj strani adminstrator može da diskonektuje nekog od aktivnih korisnika i zabrani mu pristup. Blokiranom korisniku može ponovo da se omogući pristup, na strani User Permissions.
Na strani Log Reports mogu se videti logovi pristupa serveru prema unetim kriterijumima kao što su korisničko ime, IP adresa ili vremenski interval. Lista željenih logova može se eksportovati u CSV format.
Korisni linkovi
- http://en.wikipedia.org/wiki/Vpn
- http://en.wikipedia.org/wiki/OpenVPN#Software_implementations
- http://openvpn.net/index.php/access-server/docs.html
- http://openvpn.net/images/pdf/OpenVPN_Access_Server_Sysadmin_Guide_Rev.pdf
- http://jack-brennan.com/how-to-create-your-own-openvpn-server/
- http://lifehacker.com/5940565/why-you-should-start-using-a-vpn-and-how-to-choose-the-best-one-for-your-needs
- http://lifehacker.com/5900969/build-your-own-vpn-to-pimp-out-your-gaming-streaming-remote-access-and-oh-yeah-security
- http://www.digicert.com/ssl.htm
- https://www.noip.com/support/knowledgebase/getting-started-with-no-ip-com/
- https://www.noip.com/support/knowledgebase/installing-the-linux-dynamic-update-client-on-ubuntu/
- http://portforward.com/help/portforwarding.htm