Erinevus lehekülje "OpenVPN" redaktsioonide vahel

Allikas: Kuutõrvaja
(Paketifiltri seadistamine)
 
(ei näidata 2 kasutaja 20 vahepealset redaktsiooni)
1. rida: 1. rida:
===Sissejuhatus===
 
 
 
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.
 
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.
  
8. rida: 6. rida:
 
* lihtne kasutada - toetab rohkelt erinevaid platvorme (Linux, BSD, Windows, MacOSX) ning on reeglina olemas paketihalduses
 
* 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
 
* 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
+
* 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/
 
* 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)
  
Kuutorvajas on OpenVPN tarkvara kasutusjuhendid jaotatud erinevateks tekstideks lähtudes kasutusjuhtudest, kusjuures OpenVPN klienti platvormist ei sõltu oluliselt tema edukus serveriga suhtlemisel
+
Kuutõrvajas on OpenVPN tarkvara kasutusjuhendid jaotatud erinevateks tekstideks lähtudes kasutusjuhtudest, kusjuures OpenVPN kliendi platvormist ei sõltu oluliselt tema edukus serveriga suhtlemisel.
 +
 
 +
* [[OpenVPNi lihtsad kasutusjuhud]]
  
 
Serverid
 
Serverid
18. rida: 19. rida:
 
* [[:OpenVPN serveri kasutamine FreeBSD'ga]]
 
* [[:OpenVPN serveri kasutamine FreeBSD'ga]]
 
* [[:OpenVPN serveri kasutamine Debianiga]]
 
* [[:OpenVPN serveri kasutamine Debianiga]]
 +
* [[:OpenVPN serveri kasutamine Eesti ID-kaardiga]]
  
 
Kliendid
 
Kliendid
25. rida: 27. rida:
 
* [[:OpenVPN kliendi kasutamine Debianiga]]
 
* [[:OpenVPN kliendi kasutamine Debianiga]]
 
* [[:OpenVPN kliendi kasutamine Windowsiga]]
 
* [[:OpenVPN kliendi kasutamine Windowsiga]]
 +
* [[:OpenVPN kliendi kasutamine MacOSX'iga]]
  
 
Muud üldised tekstid
 
Muud üldised tekstid
  
 
* [[:OpenVPN ja nimesüsteem]]
 
* [[:OpenVPN ja nimesüsteem]]
* [[:OpenVPN ja Eesti ID-kaardi kasutamine]]
+
* [[:OpenVPN serveri haldusliides]]
 
+
* [[:Märkused OpenVPN kasutamise kohta]]
Käesolevas tekstis kesendutakse OpenVPN kasutamisele eesmärgiga seada käima turvaline ühendus ühe keskse OpenBSD arvuti ja ühe või mitme Debian arvuti vahel. Antud palas kirjeldatud asjakorraldust võiks ette kujutada selliselt, et OpenBSD juures töötab OpenVPN server režiimis ning Debianil klient režiimis, kusjuures klient saab ligi OpenBSD külge ühendatud võrkudele sh avalikule võrgule. Samas, käesolev tekst peaks andma piisavalt üldise ja samas detailse käsitluse, mida saab kasutaja varieerida omale sobiva lahenduse moodustamiseks.
 
 
 
Kuna andmevahetuse krüptimisel kasutatakse sertifikaate, siis OpenVPN tarkvaraga koos jagatakse ka pisikest CA tarkvara, mis lihtsustab sertifikaatide haldust.
 
 
 
OpenVPN kasutamisel on oluline, et osalevate arvutite kellaajad oleksid õiged, alates sertifikaatide moodustamisest.
 
 
 
 
 
 
 
===Kasutajate gruppide haldamine===
 
 
 
Üks levinud nõudeid VPN-lahenduse juures on jagada kasutajaid gruppidesse ja neile gruppidele anda ligipääse nö VPN serveri tagusele territooriumile, erinevatele gruppide erineval määral ligipääse. Kui OpenVPN serverina kasutatakse OpenBSD tulemüüri, siis võiks seda korraldada hõlpsasti paketifiltri (PF) abil, seejuures on eelduseks, et kasutajatele on omistatud fikseeritud ip aadressid. Sedasi saab erinevate gruppide piiranguid kehtestada sihtpunkti protokolli, ip aadress ja pordi täpsusega.
 
 
 
OpenVPN parameeteri client-config-dir (ccd) abil saab konkreetse kasutaja jaoks täpsustada tema seadistusi. Selleks peab OpenVPN seadistusfail sisaldama rida, mis näitab kus asub failisüsteemis ccd kataloog
 
 
 
  client-config-dir /etc/openvpn/ccd
 
 
 
ccd kataloogis on kliendi-spetsiifilised seadistusfailid, mille nimedena kasutatakse kliendi sertifikaadis näidatud domeenime, nt
 
 
 
  # cat /etc/openvpn/ccd/martkask.vpn.loomaaed.tartu.ee
 
  ifconfig-push 172.17.1.5 172.17.1.6
 
  push "route 192.168.2.0 255.255.255.0"
 
  push "route 10.0.5.0 255.255.255.0"
 
 
 
Antud juhul on täpsustatud kliendi Mart Kask fikseeritud ip aadress ja talle ruutingu andmete saatmine, mida vpn klient kasutab oma ruutingutabelis.
 
 
 
Tundub, et praktiliselt on sobiv igale kliendile planeerida /30 subnet.
 
 
 
Paketifiltri abil kontrollitakse klientide ligipääsu OpenVPN serveri taga olevatesse võrkudesse. Tundub, et kõige efektiivsem on jagada klientide ip aadressid gruppidesse ja panna nad kirja paketifiltris vastavatesse tabelitesse, nt <openvpn_arendajad>, <openvpn_testijad>, <openvpn_administraatorid> ning nende tabelite alusel ligipääsemist lubada.
 
 
 
  # arendajad
 
  pass in quick on $openvpn inet from <openvpn_arendajad> to $arendus_subnet tag FROM_OPENVPN $udpopts (tcp.established 1064000) label "JSopenvpn_from_arendajad"
 
 
 
  # testijad
 
  pass in quick on $openvpn inet from <openvpn_testijad> to $test_subnet tag FROM_OPENVPN $udpopts (tcp.established 1064000) label "JSopenvpn_from_testijad"
 
 
 
  # administraatorid
 
  pass in quick on $openvpn inet from <openvpn_administraatorid> to any tag FROM_OPENVPN $udpopts (tcp.established 1064000) label "JSopenvpn_from_administraatorid"
 
 
 
  ...
 
 
 
  pass out quick on vorguseadmetegrupp tagged FROM_OPENVPN $udpopts (tcp.established 864000) label "JVsmd_from_openvpn_to_vorgud"
 
 
 
 
 
 
 
 
 
  
===Märkused===
+
Abiks olevat materjal
  
* Kui on vajalik pidada OpenVPN serveri Debiani peal, siis CA pidamiseks sobib kasutada kataloogis /usr/share/doc/openvpn/examples/easy-rsa/2.0 asuvaid programme.
+
* [[:Sertifikaadid]] Sertifitseerimiskeskuse loomine ja sertifikaadi kinnitamine
* Deemon režiimis käivitamiseks tuleb kasutada --daemon võtit.
 
* Kui OpenVPN server suunab ümber kliendi vaikelüüsi üle tunneli (push "redirect-gateway local def1"), siis peab arvestama, et kõik liiklus hakkab selle kliendi jaoks käima läbi OpenVPN serveri, st kliendi internetiühenduse kiirus on piiratud OpenVPN serveri internetiühenduse kiirusega
 
* Kui CA jaoks kasutada mõnda muud programmi kui OpenVPNiga kaasa tulevat eary-rsa, nt TinyCA (http://kuutorvaja.eenet.ee/wiki/TinyCA_kasutamine), siis ei ole vaja tegeleda keskkonnamuutujate seadistamisega, piisab vaid näidata seadistusfailis võtmete ja sertifikaatide asukohad.
 
  
===Kasulikud materjalid===
+
* http://wiki.itcollege.ee/index.php/VPN_seadistamine_OpenVPN-iga
  
* http://www.openvpn.org/
+
http://wiki.debian.org/OpenVPN
* http://blog.innerewut.de/2005/07/04/openvpn-2-0-on-openbsd
 

Viimane redaktsioon: 8. august 2012, kell 18: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