OpenVPN: erinevus redaktsioonide vahel

Allikas: Kuutõrvaja
Mine navigeerimisribaleMine otsikasti
Imre (arutelu | kaastöö)
Jj (arutelu | kaastöö)
Resümee puudub
 
(ei näidata 3 kasutaja 140 vahepealset redaktsiooni)
1. rida: 1. rida:
===Eesmärk===
Kasutades avalikku ebaturvalist võrku võimaldab virtuaalne privaatvõrk (ingl. k. Virtual Private Network, VPN) korraldada osaliste arvutite ja alamvõrkude vahel turvalist andmevahetust. Reeglina osaleb VPN lahenduses enam kui kaks osapoolt või vähemalt tehnoloogiliselt see on võimalik. Virtuaalne privaatvõrk esineb kas etherneti (layer 2) või ip kihis (layer 3), mis tähendab, et virtuaalses privaatvõrgus omavahel suhtlevate rakenduste jaoks on põhimõtteliselt VPN olemasolu läbipaistev. VPN'i eeliseks muude turvalist suhtlemist võimaldavate lahenduste (nt tcp ühenduse tasemel toimuv ssh abil tehtav pordi suunamine) ees on, et rakendusi ei tule kuidagi spetsiifiliselt ette valmistada või seadistada ning andmevahetuse aluseks saab kasutada nn tavalist avalikku võrku ehk internetti, mille kasutamine on iseenesest suhteliselt odav. VPN ühendusega kaasnevat kanalit üle avaliku võrgu kahe otspunkti vahel nimetatakse tunneliks.


Käesolevas tekstis kirjeldatakse OpenVPN kasutamist eesmärgiga on seada käima turvaline ühendus ühe OpenBSD arvuti ja ühe või mitme Debian arvuti vahel, kusjuures OpenBSD juures töötab OpenVPN server režiimis ning Debianil klient režiimis.
Võrreldes muude VPN lahendustega on OpenVPN tarkvarale iseloomulik


OpenVPN kasutab OpenBSD poolel tun seadet ning Linuxi poolel analoogilist tun/tap seadet. Need on virtuaalsed võrguseadmed, mis tähendab, et nad on realiseeritud tarkvaraliselt võimaldades neid kasutaval programmil saata andmeid operatsioonisüsteemi võrgu pinnu (ingl. k. networking stack) ning vastupidi, võtta sealt andmeid vastu.
* turvaline - kasutab SSL/TLS vahendeid ja töötab nö user-space'is erinevalt IPSec'ist, mis töötab kernel-space'is
* lihtne kasutada - toetab rohkelt erinevaid platvorme (Linux, BSD, Windows, MacOSX) ning on reeglina olemas paketihalduses
* funktsionaalne - nt võimaldab moodustada VPN lahendust etherneti ja ip kihis, praktiliselt sisaldab IPSec'iga samaväärseid võimalusi
* paindlik - kuna OpenVPN kasutab andmevahetuseks UDP protokolli, siis ei ole probleemiks nt NAT seadmete läbimine; aga OpenVPN serveri võib seadistada käima ka nt 443/tcp pordil
* vaba tarkvara - arendus toimub James Yonan'i eestvedamisel, http://openvpn.org/
* VPNiga seotud seadmete MTU on 1500 baiti, st ip paketi sees on kasutada 1480 baiti (erinevalt nt IPSec lahendusest kus paketi sees on kasutada vähem)


tun/tap seade võib töötada kahes kihis
Kuutõrvajas on OpenVPN tarkvara kasutusjuhendid jaotatud erinevateks tekstideks lähtudes kasutusjuhtudest, kusjuures OpenVPN kliendi platvormist ei sõltu oluliselt tema edukus serveriga suhtlemisel.


* layer 2 - etherneti kiht, nt moodustada sildu (Linuxi puhul tap)
* [[OpenVPNi lihtsad kasutusjuhud]]
* layer 3 - ip kiht, tegeleda ruuditavate ip pakettidega (Linuxi puhul tun)


Kuna andmevahetuse krüptimisel kasutatakse sertifikaate, siis OpenVPN tarkvaraga koos jagatakse ka pisikest CA tarkvara, millega on mõnus sertifikaate hallata.
Serverid


OpenVPN kasutamisel on oluline, et osalevate arvutite kellaajad oleksid õiged, alates sertifikaatide moodustamisest.
* [[:OpenVPN serveri kasutamine OpenBSD'ga]]
* [[:OpenVPN serveri kasutamine FreeBSD'ga]]
* [[:OpenVPN serveri kasutamine Debianiga]]
* [[:OpenVPN serveri kasutamine Eesti ID-kaardiga]]


===OpenVPN tarkvara paigaldamine ning sertifikaatide ettevalmistamine - OpenBSD===
Kliendid


Paigalda pakett openvpn
* [[:OpenVPN kliendi kasutamine OpenBSD'ga]]
* [[:OpenVPN kliendi kasutamine FreeBSD'ga]]
* [[:OpenVPN kliendi kasutamine Debianiga]]
* [[:OpenVPN kliendi kasutamine Windowsiga]]
* [[:OpenVPN kliendi kasutamine MacOSX'iga]]


  # pkg_add openvpn
Muud üldised tekstid


Seejärel tuleb moodustada mõned kataloogid ja failid
* [[:OpenVPN ja nimesüsteem]]
* [[:OpenVPN serveri haldusliides]]
* [[:Märkused OpenVPN kasutamise kohta]]


  # mkdir /etc/openvpn /etc/openvpn/keys
Abiks olevat materjal
  # touch /etc/openvpn/keys/index.txt
  # echo 01 > /etc/openvpn/keys/serial
  # cp /usr/local/share/examples/openvpn/easy-rsa/openssl.cnf /etc/openvpn


Seada sobivab keskkonnamuutujad
* [[:Sertifikaadid]] Sertifitseerimiskeskuse loomine ja sertifikaadi kinnitamine


  # . /usr/local/share/examples/openvpn/easy-rsa/vars
* http://wiki.itcollege.ee/index.php/VPN_seadistamine_OpenVPN-iga


Seejärel tuleb genereerida sertifikaadid
http://wiki.debian.org/OpenVPN
 
* Süsteemi CA sertifikaat
 
  # cd /etc/openvpn/keys
  # /usr/local/share/examples/openvpn/easy-rsa/build-ca
 
Oluline on, et CA ja järgneval serveri sertifikaadil oleks sama organisatsiooni nimi, sisestage mõistlikud andmed, näiteks
 
  ...
  Country Name (2 letter code) [KG]:EE
  State or Province Name (full name) [NA]:Tartu
  Locality Name (eg, city) [BISHKEK]:Tartu
  Organization Name (eg, company) [OpenVPN-TEST]:LOOMAAED
  Organizational Unit Name (eg, section) []:
  Common Name (eg, your name or your server's hostname) []:aix.loomaaed.tartu.ee
  Email Address [me@myhost.mydomain]:
  ..
 
Tekivad failid
 
  keys/ca.key
  keys/ca.crt
 
* OpenVPN serveri sertifikaat
 
  # /usr/local/share/examples/openvpn/easy-rsa/build-key-server server
  ...
  The Subject's Distinguished Name is as follows
  countryName          :PRINTABLE:'EE'
  stateOrProvinceName  :PRINTABLE:'Tartu'
  localityName          :PRINTABLE:'Tartu'
  organizationName      :PRINTABLE:'LOOMAAED'
  commonName            :PRINTABLE:'tuler.loomaaed.tartu.ee'
  emailAddress          :IA5STRING:'me@myhost.mydomain'
  Certificate is to be certified until Jul 23 18:03:58 2018 GMT (3650 days)
  Sign the certificate? [y/n]:y
  ..
 
Tekivad failid
 
  ./keys/server.key
  ./keys/server.crt
 
* OpenVPN kliendi sertifikaat
 
  # /usr/local/share/examples/openvpn/easy-rsa/build-key emmija
  ..
  The Subject's Distinguished Name is as follows
  countryName          :PRINTABLE:'EE'
  stateOrProvinceName  :PRINTABLE:'Tartu'
  localityName          :PRINTABLE:'Tartu'
  organizationName      :PRINTABLE:'AUUL'
  commonName            :PRINTABLE:'emmija.loomaaed.tartu.ee'
  emailAddress          :IA5STRING:'me@myhost.mydomain'
  Certificate is to be certified until Jul 23 18:11:25 2018 GMT (3650 days)
  Sign the certificate? [y/n]:y
  ..
 
Tekivad failid
 
  ./keys/emmija.key
  ./keys/emmija.crt
 
* Diffie-Hellmani ajad
 
  # /usr/local/share/examples/openvpn/easy-rsa/build-dh
 
Tekivad failid
 
  ./keys/dh1024.pem
 
===OpenVPN ruuditud lahenduse seadistamine===
 
 
===OpenVPN sillatud lahenduse seadistamine===
 
Serveri poolel sobib kasutada sellist seadistusfaili bridge režiimis
 
  # cat /etc/openvpn/openvpn.conf
  local 10.0.10.251
  port 1194
  proto udp
  dev-type tap
  dev tun0
  ca keys/ca.crt
  cert keys/server.crt
  key keys/server.key
  dh keys/dh1024.pem
  server-bridge 172.16.0.254 255.255.255.0 172.16.0.210 172.16.0.220
  ifconfig-pool-persist /tmp/ipp.txt
  push "redirect-gateway local def1"
  keepalive 10 120
  comp-lzo
  user nobody
  group nobody
  persist-key
  persist-tun
  status /var/log/openvpn-status.log
  verb 3
 
Ning sellist seadistusfaili route režiimis
 
  # cat /etc/openvpn/openvpn.conf
  local 10.0.10.251
  port 1194
  proto udp
  dev tun0
  ca keys/ca.crt
  cert keys/server.crt
  key keys/server.key
  dh keys/dh1024.pem
  server 10.8.0.0 255.255.255.0
  ifconfig-pool-persist /tmp/ipp.txt
  push "redirect-gateway local def1"
  keepalive 10 120
  comp-lzo
  user nobody
  group nobody
  persist-key
  persist-tun
  status /var/log/openvpn-status.log
  verb 3
 
Käivitamiseks tuleb öelda
 
  # cd /etc/openvpn
  # openvpn --config openvpn.conf
 
===OpenVPN kliendi seadistamine - Debian===
 
Paigaldada pakett openvpn
 
  # apt-get install openvpn
 
OpenVPN kliendile vajalikud võtmed moodustatakse OpenVPN serveris ja kopeeritakse klienti, vajalikud on sellised failid
 
  # scp keys/sid1.crt keys/sid1.key keys/ca.crt root@192.168.50.144:/etc/openvpn
 
Kliendi poolel sobib bridge režiimis kasutada sellist seadistusfaili
 
  # cat /etc/openvpn/openvpn.conf
  client
  dev tap
  proto udp
  remote 10.0.10.251
  resolv-retry infinite
  nobind
  persist-key
  persist-tun
  ca ca.crt
  cert sid1.crt
  key sid1.key
  comp-lzo
  verb 3
 
Käivitamine toimub öeldes
 
  # cd /etc/openvpn
  # openvpn --config openvpn.conf
 
===Kasulikud materjalid===
 
* http://www.openvpn.org/
* http://blog.innerewut.de/2005/07/04/openvpn-2-0-on-openbsd

Viimane redaktsioon: 8. august 2012, kell 15:00

Kasutades avalikku ebaturvalist võrku võimaldab virtuaalne privaatvõrk (ingl. k. Virtual Private Network, VPN) korraldada osaliste arvutite ja alamvõrkude vahel turvalist andmevahetust. Reeglina osaleb VPN lahenduses enam kui kaks osapoolt või vähemalt tehnoloogiliselt see on võimalik. Virtuaalne privaatvõrk esineb kas etherneti (layer 2) või ip kihis (layer 3), mis tähendab, et virtuaalses privaatvõrgus omavahel suhtlevate rakenduste jaoks on põhimõtteliselt VPN olemasolu läbipaistev. VPN'i eeliseks muude turvalist suhtlemist võimaldavate lahenduste (nt tcp ühenduse tasemel toimuv ssh abil tehtav pordi suunamine) ees on, et rakendusi ei tule kuidagi spetsiifiliselt ette valmistada või seadistada ning andmevahetuse aluseks saab kasutada nn tavalist avalikku võrku ehk internetti, mille kasutamine on iseenesest suhteliselt odav. VPN ühendusega kaasnevat kanalit üle avaliku võrgu kahe otspunkti vahel nimetatakse tunneliks.

Võrreldes muude VPN lahendustega on OpenVPN tarkvarale iseloomulik

  • turvaline - kasutab SSL/TLS vahendeid ja töötab nö user-space'is erinevalt IPSec'ist, mis töötab kernel-space'is
  • lihtne kasutada - toetab rohkelt erinevaid platvorme (Linux, BSD, Windows, MacOSX) ning on reeglina olemas paketihalduses
  • funktsionaalne - nt võimaldab moodustada VPN lahendust etherneti ja ip kihis, praktiliselt sisaldab IPSec'iga samaväärseid võimalusi
  • paindlik - kuna OpenVPN kasutab andmevahetuseks UDP protokolli, siis ei ole probleemiks nt NAT seadmete läbimine; aga OpenVPN serveri võib seadistada käima ka nt 443/tcp pordil
  • vaba tarkvara - arendus toimub James Yonan'i eestvedamisel, http://openvpn.org/
  • VPNiga seotud seadmete MTU on 1500 baiti, st ip paketi sees on kasutada 1480 baiti (erinevalt nt IPSec lahendusest kus paketi sees on kasutada vähem)

Kuutõrvajas on OpenVPN tarkvara kasutusjuhendid jaotatud erinevateks tekstideks lähtudes kasutusjuhtudest, kusjuures OpenVPN kliendi platvormist ei sõltu oluliselt tema edukus serveriga suhtlemisel.

Serverid

Kliendid

Muud üldised tekstid

Abiks olevat materjal

  • Sertifikaadid Sertifitseerimiskeskuse loomine ja sertifikaadi kinnitamine

http://wiki.debian.org/OpenVPN