[MontelLUG] Comportamento "furbesco" di OpenVpn

Samuele Zanin samuele.zanin a tiscali.it
Sab 5 Lug 2008 15:36:25 CEST


In questo pomeriggio di caldo infernale, per farvi scappare da davanti al
computer, vi pongo due domande.
Nell'eterna lotta di fare quanto più possibile dall'ufficio senza dover
andare in giro dai clienti, mi sono imbatturo in OpenVpn.
Qualche mese fa avevo messo sù pptpd che attualmente funziona alla grande.
Per le connessioni che invece rimangono su per giorni e settimane, volevo
passare a qualcosa di più sicuro tipo OpenVpn (il prossimo passo sarà
IPSEC).
La configurazione di client e server non mi ha dato grossi problemi e sembra
andare, ho solo qualche problemino con il firewall.
Il demone OpenVPN gira sulla stessa macchina che fa anche da firewall.
Per sbaglio, avevo aperto la porta TCP 1194 invece che UDP 1194 e mi sono un
po' sorpreso nel vedere che funzionava.
Ho provato a chiudere la porta TCP, riavviato la connessione e funziona.
Provato a mettere un drop sulla porta UDP 1194 e continua a funzionare.
Provato a sniffare la rete ed effettivamente le due macchine comunicano
sulla UDP 1194.
Ho provato anche a chiudere altre porte tipo ssh ed effettivamente il
traffico viene bloccato.
Pensando che fosse un problema di UDP, ho fatto la prova chiudendo e
riaprendo la porta UDP 53 del DNS.
Quando la porta era chiusa il DNS non funzionava giustamente.

Non riesco a spiegarmi come faccia openvpn a continuare a funzionare.

Sulla manpage di openvpn, fanno riferimento ad un trucco per passare
attraverso i firewall che non hanno aperta la porta 1194, attraverso
l'utilizzo del parametro --ping 15, parametro che però io non ho attivo.

A forza di prove, ad un certo punto open vpn non funzionava più con il DROP
sulla porta.
Ho riabilitato la porta, si è messo a funzionare, ho richiuso la porta e ha
continuato a funzionare.

Riavviato la macchina con la porta chiusa, openvpn non funzionava.
Aperto e chiuso la porta continua a funzionare. Dopo essermi disconnesso, ho
provato ad aspettare dai 20 secondi a 5 minuti prima di riconnettermi in
alcuni casi non mi collegavo, in altri si. Quando non mi collegavo, poi
mandavo un ping al client ed ecco che ripartiva la connessione.
Io non ci capisco più nulla (anche se penso che il problema sia dovuto ad
una regola del firewall che permette l'ingresso delle connessioni
ESTABLISHED e RELATE (regola che comunque mi serve per altri motivi)).

P. S.: ad ogni modifica delle regole sul firewall, disconnettevo e poi
riconnettevo il client per evitare eventuali problemi con connessioni in
piedi (anche se in teoria UDP non fa connessioni).

Seconda domanda:
Perché il client openvpn si colleghi al server, purtroppo, chiunque abbia il
file con la chiave di connessione è in grado di collegarsi.
Eventualmente può essere utilizzata una password, che però deve essere
digitata al momento della connessione.
Io ho bisogno che la connessione vada su in automatico al momento dell'avvio
della macchina, quindi il sistema con la password non posso utilizzarlo.
Come fare, se la macchina in questione è amministrata oltre che da me anche
da altre società?
Un controllo sull'ip di partenza non può essere fatto, visto che il client
ha ip dinamico.
Al momento ho bloccato tutto il traffico dal client verso il server,
permettendolo solo dal server verso il client, però se un giorno avessi
bisogno anche del contrario potrebbero cominciare i problemi.
Bisognerebbe in qualche modo criptare la chiave con qualche dato della
macchina tipo il nr. di serie dell'hd o altro.

Ciao a tutti.





More information about the montellug mailing list