[long, philosophical] Re: VPN

Vasek Stodulka vaclav.stodulka na nwt.cz
Úterý Září 7 14:16:27 CEST 2004


On Tue, 7 Sep 2004 08:07:11 GMT, Petr "Qaxi" Klima <qaxi na seznam.cz> wrote:

>  To snad ne ...
> 
>  To opravdu neexistuje "jednoduche" a bezpecne reseni pro ruzne kienti OS 
>  a Linuxovy server?

	Nejbliz na opravdu OpenVPN a "jediny" problem je opravdu "jenom" v
tom, ze neumi server pro road warriory. Workaround: je mozne pustit jeden
server (na jednom portu) pro kazdeho potencionalniho klienta. Samozrejme je
v tom pri vetsim poctu potencionalnich klientu (IMHO tak > 10) patricny
chaos. Updated pred poslanim: Dobra zprava --- pokud se nebojite verze s
"beta11" na konci, tak uz to umi i neco, co by se dalo nazvat road warrior.

	Pak je tu pptp, ktere ma i GNU/GPL server. Je ale slabsi co se tyka
sifrovani (128bit RC4, da se podniknout slovnikovy utok na odposlechnutou
komunikaci, byvalo to i horsi). Nevyhody: spadle spojeni se musi navazovat
rucne znovu --- aspon teda na Windowsech, ztrati se stavy spojeni...

	Pak je tady IPsec. Ten ma spoustu "moznosti" --- sifrovaci protokoly
pro autentizaci, sifrovaci protokoly pro spojeni, Quick/Main mode navazani
spojeni, Rapid/Default key exchange, zpusob ulozeni tajemstvi --- X509
certifikat overovany proti CA, proti soukrome polovine klice, RSA klice,
pre-shared hesla, sifrovani jenom obsahu nebo obsahu i hlavicky, ulozeni
verejneho klice na serveru versus vyzadani od klienta (v patricnem
formatu!)... Pak do hry jeste skoro urcite vstupuje NAT traversal. Je toho
skutecne tolik, ze se pomerne tezko hledaji implementace, ktere maji
rozumny "prunik" schopnosti. A to vsechno nehlede na to, ze je potreba to
taky nastavit. :)




	Priklad: Mel jsem rozjety FreeSWAN s RSA klici (dle navodu z roota),
Windows umi jenom X509 certifikat, plain RSA neumi v podstate skoro nic. OK,
patchnu FreeSWAN aby umel X509 --- funguje to podobne, rozdil je v tom, ze
si ten RSA klic netaha z konfiguraku, ale ze soboru X509 certifikatu.
Certifikat neoveruje proti CA, ma ho ciste pro vytazeni RSA klice.

	Cele to nejak funguje, nez prijde bajecne jadro 2.6.0, kam nejde
(soudoby) FreeSWAN patchnout. OK, mame na vyber z ISAKMPD a Racoon. ISAKMPD
funguje tak, ze ma u sebe pouze klic CA a klic od klienta si vyzada pri
navazovani spojeni. Pak ho zkontroluje proti CA a pokud je OK, tak ho
prohlasi za duveryhodny. Krasny trik, rika si uzivatel, staci podepisovat
klice pomoci CA a neni potreba kazdy klic davat do ISAKMPD. Problem je vsak
(dle meho vyzkumu), ze asi 50% klientu neumi svuj verejny klic vubec poslat,
predpokladaji, ze server ho uz ma. Tak dal, mame Racoon. Racoonu jdou
podstrcit X509 certifikaty primo (i kdyz si je pak kontroluje proti CA),
takze mame skoro vyhrano. Problem je v tom, ze NAT traversal nefunguje uplne
presvedcive: funguje ping, ale nejde navazat TCP spojeni.

	V teto chvili definitivne vitezi myslenka OpenVPN: userspace
software (kolikrat ja kompiloval u IPsecu jadro!), jedno jedine UDP
"spojeni" (jedna strana muze byt za NAT, popr. obe + aspon na jedne strane
port forwarding, ktery ma u IPsecu taky problemy), klient/server vsude
stejny, autentizace pres plaintext RSA... Jako v nebi. Tech svych 5 road
warrioru zvladnu 5ti procesy (to uz je naprosto minoritni problem).
Nehlede na to, ze uz brzo vyjde stabilni a zpetne kompatibilni verze,
ktera tento problem resi.

	Ale klidne si vyberte sami. :)

-- 
Vašek Stodůlka
NWT Zlín
tel.: +420 608 200 860


Další informace o konferenci Linux