OpenConnect - OpenConnect

OpenConnect
Originale forfattere David Woodhouse
Utvikler (er) Daniel Lenski, Nikos Mavrogiannopoulos
Første utgivelse 18. mars 2009 ( 2009-03-18 )
Stabil utgivelse
8.10 / 14. mai 2020 ; 16 måneder siden ( 2020-05-14 )
Oppbevaringssted
Type VPN
Tillatelse GNU LGPL v2.1
Nettsted www .infradead .org /openconnect /

OpenConnect er en programvare med åpen kildekode for tilkobling til virtuelle private nettverk (VPN), som implementerer sikre punkt-til-punkt- tilkoblinger.

Den ble opprinnelig skrevet som en åpen kildekode-erstatning for Cisco 's proprietære AnyConnect SSL VPN-klient, som er støttet av flere Cisco -rutere . OpenConnect -klienten la til støtte for Juniper Networks 'SSL VPN i versjon 7.05. En gaffel utviklet deretter støtte for Palo Alto Networks 'GlobalProtect VPN, som var inkludert i versjonen 8.00 -utgivelsen.

Server

Fra 2013 tilbyr OpenConnect-prosjektet også en AnyConnect-kompatibel server, ocserv , og tilbyr dermed en fullstendig klient-server VPN-løsning.

OpenConnect og ocserv implementerer nå en utvidet versjon av AnyConnect VPN -protokollen, som har blitt foreslått som en internettstandard . Både OpenConnect og ocserv streber etter å opprettholde bakoverkompatibilitet med Cisco AnyConnect-servere og -klienter.

Protokoller

Cisco AnyConnect

Cisco AnyConnect VPN -er bruker TLS til å autentisere og konfigurere ruting, deretter DTLS for effektivt å kryptere og transportere den tunnelerte VPN -trafikken, og kan falle tilbake til TLS -basert transport der brannmurer blokkerer UDP -basert trafikk. DTLS-protokollen som ble brukt av Cisco AnyConnect-servere var basert på et ikke-standard, forhåndsutgivelse av DTLS 1.0, til støtte for DTLS 1.2-standarden ble lagt til i 2018.

OpenConnects implementering av AnyConnect -protokollen er tilstrekkelig fullstendig til at noen av Ciscos egne IP -telefon -enheter bygger inn en veldig gammel versjon av OpenConnect (i stedet for Ciscos egen proprietære programvare) for å kunne koble til Cisco SSL VPN -er.

DTLS

Ciscos proprietære AnyConnect-klienter og servere ble opprinnelig bygget mot en oppdateret 2007-versjon av OpenSSL 0.9.8f, som implementerte en forhåndsversjon av DTLS som ikke var kompatibel med DTLS 1.0 som standardisert i RFC 4347 . På grunn av dette var det vanskelig å få OpenConnect til å implementere en Cisco-kompatibel versjon av DTLS uten å koble til OpenSSL.

Eksplisitt støtte for Ciscos ikke-standardversjon av DTLS ble inkludert i OpenSSL 0.9.8m (der det er kjent som DTLS1_BAD_VER) og deretter GnuTLS 3.2.1 (der det er kjent som GNUTLS_DTLS0_9). Nyere versjoner av Ciscos AnyConnect-klienter og servere støtter DTLS 1.2 i sin standardiserte trådløse form ( RFC 6347 ), selv om de fortsetter å bruke en ikke-standard mekanisme (basert på økt gjenopptakelse) for DTLS-nøkkelutveksling.

Moderne versjoner av OpenConnect kan bygges for å bruke enten GnuTLS eller OpenSSL for TLS , DTLS og kryptografiske primitiver.

Andre protokoller

OpenConnect -klienten implementerer også Juniper , Junos Pulse og GlobalProtect VPN -protokoller. Disse har en veldig lignende struktur som AnyConnect-protokollen: de autentiserer og konfigurerer ruting over TLS, bortsett fra at de bruker ESP for effektiv, kryptert transport av tunneltrafikk (i stedet for DTLS), men de kan også falle tilbake til TLS-basert transport. Fra mai 2020 er støtte for flere OPS-baserte protokoller under utvikling.

Arkitektur

OpenConnect -klienten er hovedsakelig skrevet i C , og den inneholder mye av infrastrukturen som er nødvendig for å legge til ytterligere VPN -protokoller som opererer i en lignende flyt, og for å koble til dem via et felles brukergrensesnitt:

  • Første tilkobling til VPN -serveren via TLS
  • Godkjenningsfase via HTTPS (ved hjelp av HTML -skjemaer , klientsertifikater , XML , etc.)
  • Server-gitt rutingkonfigurasjon, i et protokoll-agnostisk format, som kan behandles av et vpnc-script
  • Datatransportfase via en UDP-basert tunnel (DTLS eller ESP), med tilbakefall til en TLS-basert tunnel

OpenConnect kan bygges til å bruke enten de GnuTLS eller OpenSSL bibliotekene for TLS , DTLS og kryptografiske primitiver.

Plattformer

OpenConnect er tilgjengelig på Solaris , Linux , OpenBSD , FreeBSD , MacOS og har grafiske brukergrensesnittklienter for Windows , GNOME og KDE . En grafisk klient for OpenConnect er også tilgjengelig for Android -enheter, og den har blitt integrert i rutermaskinvarepakker som OpenWrt .

Referanser

Eksterne linker

Noen nyttige bruksinformasjoner.