OpenVerbinden - OpenConnect

OpenConnect
Oorspronkelijke auteur(s) David Woodhouse
Ontwikkelaar(s) Daniel Lenski, Nikos Mavrogiannapoulos
Eerste uitgave 18 maart 2009 ( 2009-03-18 )
Stabiele vrijlating
8.10 / 14 mei 2020 ; 16 maanden geleden ( 2020-05-14 )
Opslagplaats
Type VPN
Vergunning GNU LGPL v2.1
Website www .infradead .org /openconnect /

OpenConnect is een open-source softwaretoepassing om verbinding te maken met virtuele privénetwerken (VPN), die veilige point-to-point- verbindingen implementeren .

Het is oorspronkelijk geschreven als een open-source vervanging voor Cisco 's eigen AnyConnect SSL VPN-client, die wordt ondersteund door verschillende Cisco- routers . De OpenConnect-client heeft ondersteuning toegevoegd voor Juniper Networks ' SSL VPN in versie 7.05. Een fork ontwikkelde vervolgens ondersteuning voor Palo Alto Networks 'GlobalProtect VPN, die was opgenomen in de versie 8.00-release.

Server

Vanaf 2013 biedt het OpenConnect-project ook een AnyConnect-compatibele server, ocserv , en biedt daarmee een volledige client-server VPN-oplossing.

OpenConnect en ocserv implementeren nu een uitgebreide versie van het AnyConnect VPN-protocol, dat is voorgesteld als een internetstandaard . Zowel OpenConnect als ocserv streven ernaar om achterwaartse compatibiliteit met Cisco AnyConnect-servers en -clients te behouden.

Protocollen

Cisco AnyConnect

Cisco AnyConnect VPN's gebruiken TLS om de routering te verifiëren en configureren, en vervolgens DTLS om het getunnelde VPN-verkeer efficiënt te coderen en te transporteren, en kunnen terugvallen op TLS-gebaseerd transport waarbij firewalls op UDP gebaseerd verkeer blokkeren . Het DTLS-protocol dat door Cisco AnyConnect-servers wordt gebruikt, was gebaseerd op een niet-standaard, pre-releaseversie van DTLS 1.0, totdat in 2018 ondersteuning voor de DTLS 1.2-standaard werd toegevoegd.

OpenConnect's implementatie van het AnyConnect-protocol is voldoende volledig dat sommige van Cisco's eigen IP-telefoonapparaten een zeer oude versie van OpenConnect insluiten (in plaats van Cisco's eigen propriëtaire software) om verbinding te kunnen maken met Cisco SSL VPN's.

DTLS

De eigen AnyConnect-clients en -servers van Cisco zijn oorspronkelijk gebouwd tegen een gepatchte versie van OpenSSL 0.9.8f uit 2007, die een pre-releaseversie van DTLS implementeerde die niet compatibel was met DTLS 1.0 zoals gestandaardiseerd in RFC 4347 . Hierdoor was het moeilijk om OpenConnect een Cisco-compatibele versie van DTLS te laten implementeren zonder koppeling met OpenSSL.

Expliciete ondersteuning voor Cisco's niet-standaard versie van DTLS was opgenomen in OpenSSL 0.9.8m (waar het bekend staat als DTLS1_BAD_VER) en vervolgens GnuTLS 3.2.1 (waar het bekend staat als GNUTLS_DTLS0_9). Nieuwere versies van Cisco's AnyConnect-clients en -servers ondersteunen DTLS 1.2 in zijn gestandaardiseerde on-the-wire vorm ( RFC 6347 ), hoewel ze nog steeds een niet-standaard mechanisme gebruiken (gebaseerd op hervatting van sessies) voor DTLS-sleuteluitwisseling.

Moderne versies van openconnect kan worden gebouwd om te gebruiken ofwel de GnuTLS of OpenSSL voor TLS , DTLS en cryptografische primitieven.

Andere protocollen

De openconnect cliënt voert ook Juniper , Junos Pulse en GlobalProtect VPN-protocollen. Deze hebben een zeer vergelijkbare structuur als het AnyConnect-protocol: ze authenticeren en configureren routering via TLS, behalve dat ze ESP gebruiken voor efficiënt, versleuteld transport van getunneld verkeer (in plaats van DTLS), maar ook zij kunnen terugvallen op TLS-gebaseerd transport. Vanaf mei 2020 is ondersteuning voor verschillende PPP-gebaseerde protocollen in ontwikkeling.

architectuur

De OpenConnect-client is voornamelijk in C geschreven en bevat veel van de infrastructuur die nodig is om aanvullende VPN-protocollen toe te voegen die in een vergelijkbare stroom werken, en om er verbinding mee te maken via een gemeenschappelijke gebruikersinterface:

  • Eerste verbinding met de VPN-server via TLS
  • Authenticatiefase via HTTPS (met behulp van HTML-formulieren , clientcertificaten , XML , enz.)
  • Door de server geleverde routeringsconfiguratie, in een protocolonafhankelijk formaat, dat kan worden verwerkt door een vpnc-script
  • Gegevenstransportfase via een UDP-gebaseerde tunnel (DTLS of ESP), met fallback naar een TLS-gebaseerde tunnel

Openconnect kunnen worden gebouwd om te gebruiken ofwel de GnuTLS of OpenSSL bibliotheken voor TLS , DTLS en cryptografische primitieven.

Platformen

OpenConnect is beschikbaar op Solaris , Linux , OpenBSD , FreeBSD , MacOS en heeft grafische gebruikersinterface-clients voor Windows , GNOME en KDE . Een grafische client voor OpenConnect is ook beschikbaar voor Android- apparaten en is geïntegreerd in routerfirmwarepakketten zoals OpenWrt .

Referenties

Externe links

Enkele nuttige gebruiksinformatie.