Da quando ho installato Snow Leopard da capo (la prima esperienza era un banale aggiornamento) ho riscontrato un sacco di problemi inerenti ai client VPN. Il mio lavoro mi porta ad avere una cozzaglia di client: cisco, sonicwall, watchguard.
Come far funzionare la maggior parte di loro è più tosto semplice, due minuti su google risolvono la maggior parte dei problemi. Se poi si tratta di Cisco, allora il supporto vpn è già integrato nel sistema operativo. Io rimango fedele al software Cisco, anche perche mi serve come traccia per un eventuale assistenza telefonica, ecc...
Quindi Cisco funziona, SonicWall pure, addirittura quella cagata di Check Point, bene.... Ma Watchguard SSL ? Ecco, bravo. Non c'è modo di farlo andare... E' fosse solo un problema del client, ma andiamo in ordine.
Esperienza windows: in base al firmware installato sul firewall, e io ho testato solo la 10.x e la 11.x, occorre avere il relativo client. Peccato che se ne possono installare uno per volta. Tanto di capello ai sviluppatori Wachguard, magari non hanno pensato che un povero cristiano potrebbe collegarsi sia a un 10.x che a un 11.x ...
Esperienza mac: se si parte dalla con Leopard (10.5 quindi) il client funziona, sia in versione 10.x che 11.x; aggiornando a Snow Leopard lo stesso. Ma con un Snow installato pulito no ! La 10.x crasha in maniera silenziosa:
25/01/10 09.40.48 SubmitDiagInfo[1777] Submitted crash report: /Users/rafal/Library/Logs/DiagnosticReports/WatchGuard Mobile VPN with SSL_2010-01-22-192117_homemacbook.crash
con la 11.x invece non riesce a scaricare qualcosa perche CURL ha la sintassi diversa, mi manca il log ma l'errore riguardava curl, credo...
Visto che non si può dare la colpa alla (poca) fantasia dei programmatori, e che sicuramente non ho visto la famosa opzione scritta alla pagina 46 del manuale (che non ho letto) che risolveva il tutto, tocca correre ai ripari.
Il cilent SSL VPN di Watchguard è un porting personalizzato di OpenVPN. Già in passato avevo risolto la questione di questo genere di accesso da parte di utenti linux (non esiste un client ufficiale watchgurd) con successo; osx non ne sarà immune.
Quindi come prima cosa bisogna munirsi di un ... windows... Anche se sono in attesa di una spiegazione da parte di Watchguard, non ho trovato altro modo per recuperare i certificati per la creazione della vpn. Infatti il client per windows salva tutto l'occorrente nella cartella :
C:\Documents and Settings\[ utente ]\Dati applicazioni\WatchGuard\Mobile VPN
I file sono:
- ca.crt
- client.crt
- client.pem
- client.ovpn
Il primo è il certificato della CA, altro certificato (2) e la relativa chiave (3) sono del utente, mentre il file ovpn è il file di configurazione del client openvpn. Per maggiori dettagli http://www.openvpn.net/
Qui il gioco si fa semplice, è sufficiente avere openvpn o un software simile. Io ho trovato un software semplice e abbastanza completo: Viscosity (http://www.viscosityvpn.com/), lo consiglio anche se è a pagamento (costa appena 9USD). Una volta installato basta copiare la cartella contenente i file recuperati da qualche parte, magari in ~/.openvpn/ e fare doppio click sul file di configurazione client.ovpn. Il profilo viene importato è sarà già perfettamente funzionante. Opzionalmente sarebbe da aggiungere le opzioni che aggiunge lo script che esegue Watchguard:
verb 3
management 127.0.0.1 1337
service wgsslvpnc_ExitEvent
management-query-passwords
management-hold
Anche se, dopo aver letto il manuale di OpenVpn, tali opzioni non sono necessarie.
Ovviamente è solo un esempio. Viscosity è molto carino e parecchio OSX like, esistono però delle alternative open source e non.
In definitiva in poco tempo ho risolto diversi aspetti: il primo è la funzionalità, purtroppo con queste vpn gestisco remotamente un diverse reti, il secondo la possibilità di profilare gli accessi. Infatti il client Watchgurd non ha una simile funzionalità. Inoltre, altro plus di Viscosity, posso salvare le credenziali nel Keychain, comodo.
Lo scotto è recuperare i file, occorre infatti stabilire una connessione funzionante con il peer per poterli recuperare. Ho aperto un post sul forum Watchgurd per sapere se è possibile recuperare queste informazioni in un'altro modo.
Prima di chiudere due parole su windows. Vale lo stesso discorso a patto che il client OpenVpn è 2.1 o superiore. Addirittura se si installa il client sopra l'installazione Watchguad, il profilo viene importato automaticamente. Peccato che la distribuzione base ha si la GUI ma senza la possibilità di gestire i profili. Ho visto comunque che esiste un porting per windows capace di farlo (a google arduo compito di ricerca).