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. Etukäteen asennettava ohjelmisto takaa sen, ettei luottosuhteita koneiden välille luoda "lennosta".

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. 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. 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

Aiheesta muualla
http://openvpn.net/
http://www.kernel.org/pub/linux/libs/pam/modules.html 

Tietoturvaohjelmat
Vapaat ohjelmistot
VPN