OpenConnect - OpenConnect
| Originale forfattere | David Woodhouse |
|---|---|
| Utvikler (er) | Daniel Lenski, Nikos Mavrogiannopoulos |
| Første utgivelse | 18. mars 2009 |
| Stabil utgivelse | 8.10 / 14. mai 2020
|
| Oppbevaringssted | |
| Type | VPN |
| Tillatelse | GNU LGPL v2.1 |
| Nettsted | www |
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
- Innebygd arrangement sløyfe for å håndtere død Peer Detection , -vedlikeholds , omnøkling , etc.
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.