OpenConnect - OpenConnect
| Autori originali | David Woodhouse |
|---|---|
| Dezvoltatori | Daniel Lenski, Nikos Mavrogiannopoulos |
| Eliberarea inițială | 18 martie 2009 |
| Versiune stabila | 8.10 / 14 mai 2020
|
| Repertoriu | |
| Tip | VPN |
| Licență | GNU LGPL v2.1 |
| Site-ul web | www |
OpenConnect este o aplicație software open-source pentru conectarea la rețele private virtuale (VPN), care implementează conexiuni securizate punct la punct .
A fost scrisă inițial ca un înlocuitor open-source pentru Cisco „s proprietate AnyConnect client SSL VPN, care este susținut de mai multe Cisco routere . Clientul OpenConnect a adăugat suport pentru VPN-ul SSL al Juniper Networks în versiunea 7.05. O furcă a dezvoltat apoi suport pentru GlobalProtect VPN de la Palo Alto Networks , care a fost inclus în versiunea 8.00.
Server
Începând cu 2013, proiectul OpenConnect oferă, de asemenea, un server compatibil AnyConnect, ocserv și, astfel, oferă o soluție VPN client-server completă .
OpenConnect și ocserv implementează acum o versiune extinsă a protocolului AnyConnect VPN, care a fost propus ca standard de internet . Atât OpenConnect, cât și ocserv se străduiesc să mențină compatibilitatea cu serverele și clienții Cisco AnyConnect.
Protocoale
Cisco AnyConnect
VPN-urile Cisco AnyConnect utilizează TLS pentru a autentifica și configura rutare, apoi DTLS pentru a cripta și transporta eficient traficul VPN tunelat și pot reveni la transportul bazat pe TLS unde firewall-urile blochează traficul bazat pe UDP . Protocolul DTLS utilizat de serverele Cisco AnyConnect s-a bazat pe un proiect non-standard, pre-lansare a DTLS 1.0, până când a fost adăugat suportul pentru standardul DTLS 1.2 în 2018.
Implementarea OpenConnect a protocolului AnyConnect este suficient de completă încât unele dintre dispozitivele telefonice IP ale Cisco să încorporeze o versiune foarte veche de OpenConnect (mai degrabă decât software-ul propriu Cisco) pentru a se putea conecta la VPN-urile SSL Cisco.
DTLS
Clienții și serverele AnyConnect proprietare de la Cisco au fost inițial construite pe baza unei versiuni de OpenSSL 0.9.8f din 2007, care implementa o versiune pre-lansare a DTLS care nu era compatibilă cu DTLS 1.0, așa cum este standardizat în RFC 4347 . Din această cauză, a fost dificil să facem ca OpenConnect să implementeze o versiune DTLS compatibilă cu Cisco fără a face legătura cu OpenSSL.
Suportul explicit pentru versiunea non-standard Cisco a DTLS a fost inclus în OpenSSL 0.9.8m (unde este cunoscut ca DTLS1_BAD_VER) și apoi în GnuTLS 3.2.1 (unde este cunoscut ca GNUTLS_DTLS0_9). Versiunile mai noi ale clienților și serverelor AnyConnect de la Cisco acceptă DTLS 1.2 în forma standardizată pe fir ( RFC 6347 ), deși continuă să utilizeze un mecanism non-standard (bazat pe reluarea sesiunii) pentru schimbul de chei DTLS.
Versiunile moderne ale OpenConnect pot fi construite pentru a utiliza fie GnuTLS, fie OpenSSL pentru TLS , DTLS și primitive criptografice.
Alte protocoale
Clientul OpenConnect implementează și protocoalele Juniper , Junos Pulse și GlobalProtect VPN. Acestea au o structură foarte similară cu protocolul AnyConnect: autentifică și configurează rutare prin TLS, cu excepția faptului că utilizează ESP pentru transportul eficient, criptat al traficului tunelat (în loc de DTLS), dar și ele pot reveni la transportul bazat pe TLS. Începând din mai 2020, este în curs de dezvoltare suportul pentru mai multe protocoale bazate pe PPP.
Arhitectură
Clientul OpenConnect este scris în principal în C și conține o mare parte din infrastructura necesară pentru a adăuga protocoale VPN suplimentare care funcționează într-un flux similar și pentru a se conecta la acestea printr-o interfață de utilizator comună:
- Conexiune inițială la serverul VPN prin TLS
- Faza de autentificare prin HTTPS (folosind formulare HTML , certificate client , XML etc.)
- Configurare de rutare furnizată de server, într-un format protocol-agnostic, care poate fi procesată de un script vpnc
- Faza de transport a datelor printr-un tunel bazat pe UDP (DTLS sau ESP), cu alternativă la un tunel bazat pe TLS
- Buclă de evenimente încorporată pentru a gestiona detectarea peerilor morți , keepalive , rekeying etc.
OpenConnect poate fi construit pentru a utiliza fie de GnuTLS sau OpenSSL biblioteci pentru TLS , DTLS și primitivele criptografice.
Platforme
OpenConnect este disponibil pe Solaris , Linux , OpenBSD , FreeBSD , MacOS și are clienți de interfață grafică pentru Windows , GNOME și KDE . Un client grafic pentru OpenConnect este, de asemenea, disponibil pentru dispozitivele Android și a fost integrat în pachetele de firmware ale routerului , cum ar fi OpenWrt .
Referințe
linkuri externe
Câteva informații utile de utilizare.