|
|
Rivi 1: |
Rivi 1: |
| VPN eli ''Virtual Private Network'' tarkoittaa kahden yksityisen verkon yhdistämistä julkisen, turvattoman verkon (yleensä Internet) yli yhdeksi kokonaisuudeksi. VPN-tekniikan tavallisin käyttökohde on yrityksen haarakonttorin tai etätyöntekijän turvallinen liittäminen sisäiseen verkkoon Internetin yli. | | '''VPN''' eli ''Virtual Private Network'' tarkoittaa kahden yksityisen verkon yhdistämistä julkisen, turvattoman verkon (yleensä Internet) yli yhdeksi kokonaisuudeksi. VPN-tekniikan tavallisin käyttökohde on yrityksen haarakonttorin tai etätyöntekijän turvallinen liittäminen sisäiseen verkkoon Internetin yli. |
|
| |
|
| ==Tekniikoita== | | ==Tekniikoita== |
| ===Hamachi=== | | ===Hamachi=== |
| Hamachi on Windowsille, Linuxille ja Mac OS X:lle saatavilla oleva, keskitettyyn palvelimeen pohjautuva, freewarena julkaistava VPN-ohjelmisto. Hamachia käytetään erityisesti lähiverkkojen yhdistämiseen pelaamisessa sekä etähallintaan. Hamachi-protokolla ei ole julkinen. | | Hamachi on suljetun lähdekoodin Windowsille, Linuxille ja Mac OS X:lle saatavilla oleva, keskitettyyn palvelimeen pohjautuva, freewarena julkaistava VPN-ohjelmisto. Hamachia käytetään erityisesti lähiverkkojen yhdistämiseen pelaamisessa sekä etähallintaan. Hamachi-protokolla ei ole julkinen, eikä sen turvallisuudelle ole mitään takeita. |
| *[[wikipedia:Hamachi|Hamachi englanninkielisessä Wikipediassa]] | | *[[wikipedia:Hamachi|Hamachi englanninkielisessä Wikipediassa]] |
|
| |
|
Rivi 13: |
Rivi 13: |
| ====FreeS/WAN==== | | ====FreeS/WAN==== |
| FreeS/WAN on ensimmäinen Linuxille kehitetty kokonainen IPSec-toteutus. Sen kehitys päättyi 2004. Projektia jatkamaan on perustettu Openswan ja strongSwan. | | FreeS/WAN on ensimmäinen Linuxille kehitetty kokonainen IPSec-toteutus. Sen kehitys päättyi 2004. Projektia jatkamaan on perustettu Openswan ja strongSwan. |
| *[http://www.freeswan.org/ Kotisivu] | | *[http://www.freeswan.org/ www.freeswan.org] |
|
| |
|
| ====Openswan==== | | ====Openswan==== |
| Openswan on FreeS/WANin pohjalta kehitettävä IPsec-ohjelmisto 2.0-, 2.2-, 2.4- ja 2.6-ytimille. | | Openswan on FreeS/WANin pohjalta kehitettävä IPsec-ohjelmisto 2.0-, 2.2-, 2.4- ja 2.6-ytimille. |
| *[http://openswan.org/ Kotisivu] | | *[https://www.openswan.org/ www.openswan.org] |
|
| |
|
| ====strongSwan==== | | ====strongSwan==== |
| strongSwan on vahvaan autentikointiin keskittyvä, FreeS/WANista [[haara|haarautettu]] IPsec-ohjelmisto 2.4- ja 2.6-ytimille. | | strongSwan on vahvaan autentikointiin keskittyvä, FreeS/WANista [[haara|haarautettu]] IPsec-ohjelmisto 2.4- ja 2.6-ytimille. |
| *[http://www.strongswan.org/ Kotisivu] | | *[http://www.strongswan.org/ www.strongswan.org] |
|
| |
|
| ===L2F=== | | ===L2F=== |
Rivi 31: |
Rivi 31: |
| ===OpenVPN=== | | ===OpenVPN=== |
| [[OpenVPN]] on [[OpenSSL]]:ään pohjautuva, [[GPL]]-lisensoitu VPN-protokolla. | | [[OpenVPN]] on [[OpenSSL]]:ään pohjautuva, [[GPL]]-lisensoitu VPN-protokolla. |
| *[http://openvpn.net/ Kotisivu] | | *[https://openvpn.net/ openvpn.net] |
|
| |
|
| ==== Asennus ==== | | ===PPTP=== |
| | PPTP eli ''Point-to-Point Tunneling Protocol'' on Microsoftin kehittämä, [[PPP]]:hen pohjautuva VPN-protokolla. Linux-[[ydin|ytimeen]] on sisältynyt PPTP-tuki 2.6.14-versiosta lähtien. PPTP-protokollasta on löytynyt useita haavoittuvuuksia, eikä se ole turvallinen protokolla. PPTP:n kehitys on nykyisin pysähtynyt. |
|
| |
|
| OpenVPN on asennettavissa useissa jakeluissa [[pakettienhallinta|pakettienhallinnan]] avulla, RPM-pohjaisissa käyttöjärjestelmissä se on käännettävissä [[rpmbuild]]-ohjelman avulla tai kääntämällä ./configure-menetelmällä suoraan lähdekoodista. Joissain jakeluissa se on jo valmiiksi asennettuna. Esimerkiksi Fedoralla tai vastaavalla [[RPM]]-pohjaisella voidaan tarkistaa:
| | ===Tinc=== |
| <pre>
| | [[Tinc]] on protokolla sekä ohjelma, jolla voidaan rakentaa [[wikipedia:en:Mesh Network|Mesh]]-verkkotopologian mukainen VPN-verkko. |
| shell>rpm -qa | grep openvpn
| |
| </pre>
| |
| RPM-paketista asennettaessa sillä on seuraavat riippuvuudet:
| |
| * openssl
| |
| * lzo
| |
| * pam
| |
| | |
| Ja jos ollaan rakentamassa itse käännettyä RPM-pakettia, myös seuraavat riippuvuudet:
| |
| * openssl-devel
| |
| * lzo-devel
| |
| * pam-devel
| |
| | |
| Huomaa, että näiden pakettien nimet eroavat jakelusta riippuen.
| |
| | |
| Lähdekoodista kääntämällä OpenVPN asennetaan seuraavasti:
| |
| <pre>
| |
| shell>tar xfz openvpn-[versionro].tar.gz
| |
| </pre>
| |
| Purkamisen jälkeen siirrytään puretun kansion juureen ja kirjoitetaan vaiheittain seuraavat komennot:
| |
| <pre>
| |
| shell>./configure
| |
| shell>make
| |
| shell>make install
| |
| </pre>
| |
| | |
| Katso lisätiedot [[kääntäminen|kääntämisestä]].
| |
| | |
| ===== Staattinen avain =====
| |
| | |
| Staattisella avaimen edut:
| |
| * Yksinkertainen asennus
| |
| * Ei X509 Julkisen avaimen infrastruktuurin ylläpitoa
| |
| Staattisen avaimen haitat:
| |
| * Vain yksi asiakas per palvelin
| |
| * Puute salauksessa (avaimen paljastuminen paljastaa aikaisempien istuntojen sisällön)
| |
| * Avaimen pitää olla selväkielinen jokaisella yhdistämiskerralla ja avaimen vaihto tapahtuu jo valmiina olevassa turvatussa tunnelissa.
| |
| | |
| ===== Esimerkki staattisella avaimella =====
| |
| | |
| Tässä esimerkissä esitellään hyvin yksinkertainen tapa OpenVPN yhteyden konfigurointiin staattisella avaimella. Esimerkin asetustiedot ja komennot on lainattu OpenVPN.net[http://www.openvpn.net] sivustolta ja on luettavissa sivustolta sellaisenaan.
| |
| | |
| Staattinen avain luodaan komennolla:
| |
| <pre>
| |
| shell>openvpn –genkey –secret static.key
| |
| </pre>
| |
| Huomio, että avaimen nimi voi olla mikä tahansa .key päätteinen.
| |
| | |
| Kopioi luotu avain sekä asiakaskoneelle että palvelimelle käyttäen salattua tunnelia pitkin tai esim. Siirrettävällä medialla.
| |
| Tehdään palvelimelle konfigurointitiedosto:
| |
| | |
| <pre>
| |
| dev tun
| |
| ifconfig 10.8.0.1 10.8.0.2
| |
| secret static.key
| |
| </pre>
| |
| Ensimmäisellä rivillä määritellään tunnelointitapa (tun = reititetty IP tunneli, tap = siltaava ethernet-tunneli), toisella rivillä ensin palvelimen ja toisena asiakaskoneen osoite. Viimeisellä rivillä määritellään staattinen avain.
| |
| | |
| Asiakaskoneen konfigurointitiedosto:
| |
| <pre>
| |
| remote munmasiina.mundomain
| |
| dev tun
| |
| ifconfig 10.8.0.2 10.8.0.1
| |
| secret static.key
| |
| </pre>
| |
| Ensimmäiseltä riviltä on muutettava munmasiina.mundomain joko palvelimen domainnimeksi tai IP-osoitteeksi.
| |
| | |
| Varmistetaan ja tarvittaessa avataan UDP portti 1194 palvelimella. Varmistetaan myös, ettei asiakaskoneella tai palvelimella estetä OpenVPN:n käyttämää virtuaalista TUN-käyttöliittymää. Linuxissa pitäisi löytyä nimellä tun0 ja Windows koneilla nimellä Local Area Connection n, jossa n on automaattinen järjestysnumero.
| |
| | |
| Seuraavaksi käynnistetään OpenVPN komentoriviltä (ongelmanratkaisun helpottamiseksi) seuraavalla tavalla ensin palvelimella ja sitten asiakaskoneella:
| |
| <pre>
| |
| shell>openvpn [palvelimen/asiakkaan asetustiedosto]
| |
| </pre>
| |
| Jos kaikki on mennyt nappiin eikä palomuuri estä tunnelin luomista, tee yhteyskokeilu asiakaskoneelta VPN kautta:
| |
| <pre>
| |
| shell>ping 10.8.0.1
| |
| </pre>
| |
| Jos palvelimessa käytetään siltaavaa tilaa (dev tap asetustiedostossa), IP-osoite on palvelimen IP-osoite sen aliverkossa.
| |
| Jos ping onnistuu, niin muodostettu VPN tunneli toimii.
| |
| | |
| ===PPTP===
| |
| PPTP eli ''Point-to-Point Tunneling Protocol'' on Microsoftin kehittämä, [[PPP]]:hen pohjautuva VPN-protokolla. Tuki sille on löytynyt Windows 95 -versiosta lähtien. Linux-[[ydin|ytimeen]] on sisältynyt PPTP-tuki 2.6.14-versiosta lähtien. PPTP:n kehitys on nykyisin pysähtynyt.
| |
|
| |
|
| ==Katso myös== | | ==Katso myös== |