OpenVPN
OpenVPN on GNU GPL -lisenssin alainen SSL VPN -ohjelmisto. Se on saatavilla Solaris-, Linux-, OpenBSD-, FreeBSD-, NetBSD-, QNX-, Mac OS X-, Raspberry Pi- ja Windows 2000-8 -tietokoneille, sekä joihinkin Maemo-, Windows Mobile-, iOS ja Android-alypuhelimille. Toisin, kuin useimmat SSL VPN -järjestelmät, ei siihen oteta yhteyttä selaimella, vaan asiakaskoneeseen on asennettava OpenVPN-ohjelmisto.[2] Etukäteen asennettava ohjelmisto takaa sen, ettei luottosuhteita koneiden välille luoda "lennosta".
OpenVPN | |
---|---|
Luoja | James Yonan |
Kehittäjä |
OpenVPN project (OpenVPN Technologies, Inc.) |
Kehityshistoria | |
Ensijulkaisu | 0.90[1] / 13. toukokuuta 2001 |
Vakaa versio | 2.3.6[1] / 1. joulukuuta 2014 |
Tiedot | |
Ohjelmistotyyppi | VPN |
Alusta | Useita alustoja |
Ohjelmointikielet | C |
Lisenssi | GNU GPL |
Aiheesta muualla | |
OpenVPN.net |
Toisin, kuin monet muut VPN-protokollat, toimii OpenVPN käyttäjänympäristössä (user space) kernelin sijaan (kernel space). Tämä mahdollistaa järjestelmän suorittamisen alennetuilla käyttöoikeuksilla (user nobody) ja hiekkalaatikossa (chroot).
OpenVPN käyttää TLS-protokollaa yhteysosapuolten avaintenvaihtoon. Avaintenvaihdon jälkeen OpenVPN hyödyntää IPsec:n ESP-protokollaa tiedon salaamiseen.[3] ESP:n käyttö mahdollistaa NAT:n ohittamisen asiakaspäässä. Käytössä on kaikki salaus- ja tiivistysalgoritmit, jotka löytyvät OpenSSL-ohjelmistosta. Lisäksi OpenVPN mahdollistaa HMAC-allekirjoituksen käyttöön ottamisen TLS-kättelyssä. Tällöin vain oikean staattisen avaimen omaavat järjestelmät, voivat aloittaa avaintenvaihdon.
OpenVPN tunnistaa järjestelmään yhteyttä ottavien koneiden oikeellisuuden sertifikaateilla tai staattisilla salasanoilla. Käytettäessä sertifikaatteja OpenVPN mahdollistaa, sekä palvelimen, että asiakaskoneen tunnistuksen. CRL-listat ovat myös tuettuja PEM-muodossa. Lisäksi OpenVPN osaa hyödyntää PAM-moduuleita, joilla on mahdollista tunnistaa mm. käyttäjä. Valmiita PAM-moduuleita on olemassa mm. RADIUS-protokollalle ja LDAP-protokollalle. PAM-moduuleja hyödyntämällä on mahdollista ottaa käyttöön mm. kertakäyttöiset salasanat.
OpenVPN-ohjelmistolla on mahdollista luoda sekä LAN-to-LAN, että etäkäyttöön sopivia yhteyksiä. Yleensä OpenVPN-palvelin asennetaan GNU/Linux-ympäristöön, jolloin sen kanssa voi tehokkaasti käyttää Iptables-ohjelmaa liikenteen suodattamiseen ja IP-ohjelmaa reititysten tekoon. Yhteydet luodaan, joko OSI-mallin toisella tai kolmannella kerroksella.[4] Kolmannella kerroksella ainut täysin tuettu protokolla on IPv4. OpenVPN osaa tunneloida liikenteen käyttämällä, joko UDP- tai TCP-protokollaa. Oletusporttina käytetään IANA:n OpenVPN:lle antamaa porttia 1194.
Lähteet
- OpenVPN Change Log (englanniksi)
- OpenVPN: An Introduction and Interview with Founder (englanniksi)
- What distinguishes OpenVPN from other VPN packages? (Arkistoitu – Internet Archive) (englanniksi)
- OpenVPN Introduction (englanniksi)
Aiheesta muualla
- http://openvpn.net/
- http://www.kernel.org/pub/linux/libs/pam/modules.html (Arkistoitu – Internet Archive)