OpenVPN používá SSL/TLS (zajišťuje šifrování a autentizaci), podporuje platformy Linux, Solaris, OpenBSD, FreeBSD, NetBSD, Mac OS X a Windows 2000/XP.

 

Program běží v user módu (nemusí se patchovat jádro).

Podporuje tunel (1:1) nebo klient/server (N:1).

Bezpečný a odolný na nekvalitních linkách, podpora HTTP a SOCKS proxy – klient se může připojit odkudkoliv.

Pro každý směr komunikace je možno použít jiný klíč.

OpenVPN umí automaticky navazovat spadlé spojení.

 

Instalace Unix/Linux

Stáhnout balíček openvpn,

provédst příkazy:

./configure
make
make install

 

sestavení programu:

rpmbuild -tb [tarball] 

kde tarball je název archivu

 

instalovat:

rpm -ivh [binary-rpm]

 

 

Standardně je použit protokol UDP, ale použít lze i TCP (HTTP nebo SOCKS proxy). Komunikace probíhá na jediném portu, což umožňuje např. snadnou konfiguraci firewallu.

OpenVPN komunikuje prostřednictvím TUN a TAP rozhraní.

Pro kompresi se používá knihovna LZO.

Spouštěcí skript:

sample-scripts/openvpn.init

 

nakopírujeme do

/etc/init.d

 

a přidáme

chkconfig --add openvpn

 

Instalace ve Windows

stahnout balíček OpenVPN a nainstalovat. Ten přidá "Virtual TAP" síťové zařízení a službu OpenVPN.

 

 

Generování klíčů (certifikátů) pod operačním systémem MS Windows

 

Pomocí programu mycert.exe (My Certification Wizard) se provede vygenerování obou potřebných klíčů (privátní klíč i žádost o osobní certifikát). Pro spuštění programu je potřeba mít nainstalované OpenVPN a program mycert.exe nakopírovaný do podsložky bin v adresáři s OpenVPN. Vytváření je díky interaktivnímu režimu dostatečně intuitivní.

 

Link produktu: http://sweb.cz/mycert/

 

 

Generování klíčů pod systémem Unix/Linux

 

Provede se příkazem

openssl req –new –out cert.pem -keyout key.pem -days 1098

 

kde jednotli vé parametry jsou:

req          práce s certifikační žádostí (X.509 Certificate Signing Request (CSR) Management).

-out         provede výpis žádosti o osobní certifikát (Certificate Reguest) do souboru cert.pem.

-days       určuje, za jak dlouho vyprší platnost certifikátu.

-new        vytváří se nový soubor

-keyout    privátní klíč se zapisuje do souboru key.pem.

 

Vysvětlení jednotlivých položek konfigurace openSSL (standardně /etc/ssl/openssl.cnf) je možno nalézt zde: http://www.yarpen.cz/openssl/

 

 

Takto se vytváří jeden certifikát, chceme-li však vytvořit certifikáty v rámci jedné certifikační autority, nastavíme v souboru /etc/ssl/openssl.conf  v sekci [ca] položku default_ca – jedná se o jméno výchozí certifikační autority.

V sekci [CA_default] se nastaví např. default_days = 3600 a politiku na volnou policy = policy_anything.

 

Je potřeba vytvořit adresáře v /etc/ssl/: např. adresář demoCA a podadresáře certs, crl, newcerts, private, prázdný soubor index.txt a soubor serial s obsahem 01. Dále se vygeneruje sám sebou podepsaný certifikát certifikační autority:

 

openssl req -new -x509 -nodes -out cacert.pem -keyout cakey.pem -days 1098

 

Vygenerovaný certifikát se přesune do adresáře

/etc/ssl/demoCA

 

a klíč do

/etc/ssl/demoCA/private

 

Soubor s certifikátem se přejmenuje tak, aby měl příponu crt. Je to kvůli snadnějšímu importu ve Windows.

 

Když budeme chtít vytvořit podepsaný certifikát, vytvoříme nejdříve žádost:

openssl req -new -nodes -out request.pem -keyout key.pem -days 1098

 

Podepsání je možné ukázat v módu „ca“:

openssl ca -in request.pem -out cert.pem

 

Ve výstupním souboru bude podepsaný certifikát, obsah souboru serial je nyní 02, v adresáři certs je podepsaný certifikát a v souboru index.txt je údaj o certifikátu.

 

 

Nastavení HTTP proxy

 

Pomocí parametru programu

openvpn.exe –http-proxy adress port [usr][auth]

kde jednotlivé položky znamenají:

 

adress, port   – adresa a port pro připojení pomocí http proxy serveru

usr                 – je dvouřádkový soubor, obsahující uživatelské jméno/heslo pro případnou autentifikaci

auth               – nastavit auth=ntlm‘, pokud server tuto (NTLM) autentifikaci vyžaduje

 

Dále je možno provést konfiguraci pomocí aplikace OpenVPN GUI, kde v interaktivním režimu je možno volit ve vlastním nastavení buď HTTP Proxy nebo SOCKS Proxy. Tento program také poskytuje informace o běžících sítích VPN.