VPN (Openvpn/Linux) - Luik

VPN SERVER. Levinumad VPN serverid, nende tööpõhimõte, parameetrid ja
seadistamine. Klientide poolsed seadistused.

VPN - Avalikes Wifi levialades on väga lihtne lugeda näiteks kiirsuhtlussõnumeid, meiliserveri ja muude rakenduste paroole, ärikriitilisi elektronkirju, rate.ee kasutajakonto andmeid ja muud informatsiooni, mida pahaaimamatu kasutaja igaühega ei jagaks. Enda kaitseks on soovitatav kasutada sellistes kohtades VPN-i. VPN ehk Virtual Private Network on virtuaalvõrgu tehnoloogia, mis loob krüpteeritud tunneli kasutaja ja kohtvõrgu serveri vahel kaitsmaks kasutajat avalikes Interneti levialades küberkurjategijate eest. Loodud tunneli kaudu on kasutajal võimalik liikuda ringi kõikjal Internetis, kuid teised ei pääse kasutaja arvutisse. VPN kasutab krüptimist ja teisi turvamehhanisme, selleks et kindlustada autoriseeritud kasutajate pääsu võrku ning et andmeid ei saaks kinni püüda.

VPN-i tööks on vajalikud kolm osapoolt: tunnel, server ja klient. Tunnel on vajalik serveri ja kliendi vaheliste andmete vahendamiseks. Server paikneb asutuse võrgus ning vahendab liiklust kliendi ja sisevõrgu vahel. Klient alagatab oma arvuti kaudu ühenduse serveriga. Tunneli kasutamist nimetatkse lühemalt tunneldamiseks. Tunneldamine on meetod ühe võrgu andmete edastamiseks läbi teise võrgu. Selle meetodi puhul sisaldavad võõras võrgus edastatavad andmepaketid lisaks andmetele ka oma võrguprotokolli. Näiteks Microsofti PPTP meetod võimaldab kasutada Internetti andmete edastamiseks virtuaalses privaatvõrgus (VPN). Selleks manustatakse oma privaatne võrguprotokoll Interneti kaudu edastatavatesse TCP/IP pakettidesse.

CentOS 7.0 VPN install ja konf:

Kõigepealt on vaja installida lisad juurde centosile:

```
yum install epel-release

```

Seejärel tuleb installida openvpn:

```
yum install openvpn easy-rsa -y

```

Kuna OpenVPN-il on näidis konf fail olemas siis kopeerime selle endale ja teeme selles ka muudatusi:

```
cp /usr/share/doc/openvpn-*/sample/sample-config-files/server.conf /etc/openvpn

```

Nüüd muudame selle konfi faili sisu, vastavalt oma soovile kasuta kas VI-d või Nano-d vm.

```
nano või vi /etc/openvpn/server.conf

```

Failis on vaja teha mõned muudatused:

1. dh muuta 2048.pem .. arvatavasti see juba on, aga üle kontrollida, rida siis näeb välja:

```
dh dh2048.pem

```

2. osad asjad on välja komenteeritud ";" abil, seega osad asjad on vaja nüüd tagasi võtta, lihtsalt

kustuta järgnevate ridade eest ";":

```
push "redirect-gateway def1 bypass-dhcp"

push "dhcp-option DNS 8.8.8.8"

```

.. esialgselt on 8.8.8.8 asmel miskit muud, aga muuda 8.8.8.8 peale

```
push "dhcp-option DNS 8.8.4.4"

```

.. esialgselt siin samuti midagi muud, aga muuda ümber 8.8.4.4 peale

3. user nobody ja group nobody eest on vaja samuti kustuda sümbol ";"

4. Salvesta ja pane vi / nano kinni

Nüüd teeme kausta võtmetele:

```
mkdir -p /etc/openvpn/easy-rsa/keys

```

Kopeeri võtme ja certifikaadi skrpitid sellesse kausta:

```
cp -rf /usr/share/easy-rsa/2.0/* /etc/openvpn/easy-rsa

```

Nüüd avame vars faili, samuti kas VI või nano või mis iganes teksti töötlus progrega:

```
vi või nano /etc/openvpn/easy-rsa/vars

```

Muudatused, mida teha:

```
KEY_NAME , sinna läheb "server"
KEY_CN , sinna läheb "openvpn.example.com"

```

Järgnevad pole kohustuslikud, sest aadressiks võib jääda ka US, aga kui muuta, siis:

```
KEY_COUNTRY="EE"
KEY_PROVINCE="LV" .. (LV ehk Lääne-Virumaa)
KEY_CITY="RAKVERE"
KEY_ORG="RAKVERE AMETIKOOL"
KEY_EMAL="me.@myhost.mydomain"
KEY_OU="STUDENT"

```

Salvesta ja pane vi kinni.

Kopeeri konf fail ja kustuta versiooni number:

```
cp /etc/openvpn/easy-rsa/openssl-1.0.0.cnf /etc/openvpn/easy-rsa/openssl.cnf

```

Nüüd liiga easy-rsa kausta ja hakka genereerima võtmeid:

```
cd /etc/openvpn/easy-rsa
source ./vars

```

Kustuta kõik sees olevad võtmed ja certifikaadid:

```
./clean-all

```

Nüüd teeme uue certifikaadi:

```
./build-ca

```

kuna oli varasemalt märgitud väikesätetena juba kõik muudatused ära, siis klõpsi lihtsalt enter ja kuni

küsib kas soovid muudatused salvestada siis vasta Y (yes).

Teeme võtme:

```
./build-key-server server

```

Genereerime dh võtme vahetus faili:

```
./build-dh

```

Kui nüüd kõik võtmed ja sertifikaadid ilusti valmis siis kopeerime need OpenVPN kausta:

```
cd /etc/openvpn/easy-rsa/keys
cp dh2048.pem ca.crt server.crt server.key /etc/openvpn

```

Kuna klient vajab ka sertifikeerimiseks võtit siis teeme selle võtme:

```
cd /etc/openvpn/easy-rsa
./build-key client

```

Võtmed ja sertifikaadid on nüüd kõik valmis.

Nüüd muudatuste kallale, mis tuleb teha viirusetõrjes:
Teeme kindlaks, et oleks ära istallitud iptables teenused ja ka lubatud:

```
yum install iptables-services -y
systemctl mask firewalld
systemctl enable iptables
systemctl stop firewalld
systemctl start iptables
iptables --flush

```

Lisame ühe reegli:

```
iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE

```

```
iptables-save > /etc/sysconfig/iptables

```

Nüüd lubame IP edastuse "sysctl"is:

```
vi /etc/sysctl.conf

```

Veendu, et failis on järgnev rida:

```
net.ipv4.ip_forward = 1

```

Salvesta fail ja lahku vi-st.

Tee restart "network service"le

```
systemctl restart network.service

```

Nüüd paneme OpenVPN-I käima, kõigapealt lisades ta systemctl-I:

```
systemctl -f enable openvpn@server.service

```

Käivita OpenVPN:

```
systemctl start openvpn@server.service

```

Nüüd on kogu konffimine valmis ja alustame Clientiga ehk testimine:

Nüüd oleks vaja kopeerida ca.crt , client.crt ja client.key kliendi masinasse:

Seda kas Win-SCP abil või ava igal fail vi või nanoga ja kopeeri sisu klient masinasse ümber.

Tõmba alla OpenVPN klient arvutisse. Lisa need neli faili OpenVPN /conf kataloogi. Ja seejärel teeme

sinna samusesse kausta uue faili nimega client.ovpn , ja siis muudame selle sisu (notepadiga või ++iga):

```
client
dev tun
proto udp
remote "sinu ip aadress" 1194
resolv-retry infinite
nobind
persist-key
persist-tun
comp-lzo
verb 3
ca ca.crt
cert client.crt
key client.key

```

Selle ovpn faili abil saab nüüd Windowsist , OS X-ist , Linuxist ühendada end serverisse.

Windowsi puhul OpenVPNiga

Nüüd OpenVPN'I peal parem klõps "run as admin" ja seejärel alla tekib OpenVPN ikoon ja sellel samuti

parem klõps ja seejärel "connect".