Cos'è OpenConnect?
Connettiti in modo sicuro a una VPN: OpenConnect è un client e server open source con TLS/DTLS, compatibile con SSL VPN aziendali e una soluzione completa.
Contenuto dell'articolo
OpenConnect è un software open source per connettersi a reti private virtuali (VPN) che offre connessioni punto-punto sicure.
Inizialmente creato come alternativa open source al client SSL VPN proprietario Cisco AnyConnect, supportato da diversi router Cisco, dal 2013 il progetto OpenConnect include anche un server compatibile con AnyConnect, ocserv, fornendo così una soluzione VPN completa client-server.
Il client OpenConnect ha introdotto il supporto per SSL VPN di Juniper Networks nella versione 7.05. Successivamente un fork ha sviluppato il supporto per la VPN GlobalProtect di Palo Alto Networks, incluso nella release 8.00.
Protocolli
Le VPN Cisco AnyConnect utilizzano TLS per l'autenticazione e la configurazione del routing, seguito da DTLS per una cifratura efficiente e il trasporto dei dati tunnelizzati. Il traffico VPN può comunque tornare al trasporto basato su TLS quando firewall bloccano il traffico UDP. Il protocollo DTLS usato dai server Cisco AnyConnect si basava su una bozza non standard di DTLS 1.0, fino a quando nel 2018 è stato aggiunto il supporto per lo standard DTLS 1.2.
OpenConnect e ocserv implementano una versione avanzata del protocollo AnyConnect VPN (proposto come standard Internet) in un progetto open source indipendente da Cisco. Entrambi mirano a mantenere piena compatibilità retroattiva con server e client Cisco AnyConnect.
Il client OpenConnect supporta anche i protocolli VPN Juniper e GlobalProtect, molto simili ad AnyConnect: autenticano e configurano il routing via TLS, ma utilizzano ESP per il trasporto tunnel cifrato ed efficiente (invece di DTLS), con possibilità di fallback a trasporto TLS.
Architettura
Il client OpenConnect è scritto principalmente in C e contiene la maggior parte delle infrastrutture necessarie per integrare ulteriori protocolli VPN in modo simile e connettersi a essi tramite un'interfaccia utente comune:
- Connessione iniziale al server VPN tramite TLS
- Fase di autenticazione via HTTPS (usando moduli HTML, certificati client, XML ecc.)
- Configurazione del routing fornita dal server in formato standard, gestibile da vpnc-script
- Fase di trasmissione dati tramite tunnel UDP (DTLS o ESP) con fallback a tunnel TLS
- Ciclo integrato di gestione eventi per Dead Peer Detection, keepalive, cambio chiavi ecc.
Piattaforme
OpenConnect è disponibile su Solaris, Linux, OpenBSD, FreeBSD, MacOS e dispone di client con interfaccia grafica per Windows, GNOME e KDE. Un client grafico per OpenConnect è anche disponibile per dispositivi Android e integrato in firmware per router come OpenWrt.