Qu'est-ce que OpenConnect ?

En bref

Connectez-vous en toute sécurité à un VPN : OpenConnect est un client et serveur open source avec TLS/DTLS, compatible avec les VPN SSL d'entreprise et solution complète.

Pas envie de monter le serveur vous-même ? Obtenir un serveur prêt
Qu'est-ce que OpenConnect ?

OpenConnect est un logiciel open source conçu pour se connecter à des réseaux privés virtuels (VPN), établissant des connexions point à point sécurisées.

À l'origine, il a été développé comme une alternative open source au client SSL VPN propriétaire AnyConnect de Cisco, pris en charge par plusieurs routeurs Cisco. Depuis 2013, le projet OpenConnect propose également un serveur compatible AnyConnect, ocserv, offrant ainsi une solution VPN complète client-serveur.

Le client OpenConnect a intégré la prise en charge du VPN SSL de Juniper Networks à partir de la version 7.05. Une branche a ensuite développé la prise en charge du VPN GlobalProtect de Palo Alto Networks, intégrée à la version 8.00.

Protocoles

Les VPN Cisco AnyConnect utilisent TLS pour l’authentification et la configuration du routage, puis DTLS pour chiffrer efficacement et transmettre les données tunnelées. Le trafic VPN peut revenir au transport basé sur TLS lorsque les pare-feux bloquent le trafic UDP. Le protocole DTLS utilisé par les serveurs Cisco AnyConnect était basé sur un brouillon non standard de DTLS 1.0, jusqu'à ce qu’en 2018 la prise en charge du standard DTLS 1.2 soit ajoutée.

OpenConnect et ocserv implémentent une version étendue du protocole VPN AnyConnect (proposé comme standard internet) dans le cadre d’un projet open source indépendant de Cisco. Les deux visent à assurer une compatibilité complète avec les serveurs et clients Cisco AnyConnect.

Le client OpenConnect prend aussi en charge les protocoles Juniper et GlobalProtect VPN. Ceux-ci ont une structure très similaire à AnyConnect : ils authentifient et configurent le routage via TLS, mais utilisent ESP pour un transport tunnel chiffré efficace (au lieu de DTLS). Ils peuvent aussi revenir à un transport TLS selon les besoins.

Architecture

Le client OpenConnect est principalement écrit en C et contient la majeure partie de l’infrastructure nécessaire pour intégrer facilement d’autres protocoles VPN fonctionnant sur un flux similaire, accessibles via une interface commune :

  • Connexion initiale au serveur VPN via TLS
  • Phase d’authentification via HTTPS (en utilisant des formulaires HTML, certificats clients, XML, etc.)
  • Configuration du routage fournie par le serveur dans un format standard, géré par vpnc-script
  • Phase de transmission de données à travers un tunnel UDP (DTLS ou ESP) avec possibilité de recours à un tunnel TLS
    • Boucle d’événements intégrée pour gérer la détection de pairs morts (Dead Peer Detection), keepalive, changement de clés, etc.

Plateformes

OpenConnect est disponible sur Solaris, Linux, OpenBSD, FreeBSD, MacOS et propose des clients avec interface graphique pour Windows, GNOME et KDE. Un client graphique existe aussi pour les appareils Android et il est intégré aux firmwares de routeurs comme OpenWrt.


Partager cet article :