Fiche logiciel validé
  • Création ou MAJ importante : 16/07/08
  • Correction mineure : 16/07/08
Auteur :
  • Alice de Bignicourt - UREC (CNRS)
Relecteur(s) :
Responsable thématique :
Mots-clés

OpenVPN : connexion à distance sécurisée

Description
Fonctionnalités générales :

Ce logiciel permet de créer un VPN basé sur SSL pour les connexions de clients à distance. Le logiciel devient serveur ou client selon la configuration.

En pratique : un utilisateur sur un réseau distant veut accéder à un serveur dans la zone interne du réseau de son laboratoire, université… Prenons pour exemple, l’architecture réseau d’un laboratoire ou d’une université découpée en deux zones :
* une « zone semi-ouverte », accessible de l’Internet
* une « zone interne » hébergeant les serveurs internes
Ces deux premières zones sont séparées par un routeur assurant la sécurité entre elles. Une troisième zone nommée « zone VPN » est créée pour les machines distantes. Elle regroupe une plage d’adresses qui sera utilisée par le serveur OpenVPN pour celles-ci.
Le processus est le suivant :
1. L’utilisateur démarre le client OpenVPN et se connecte au serveur OpenVPN sur la machine Cerbère (se trouvant dans la zone semi-ouverte) via Internet.
2. A l’ouverture du tunnel, le serveur OpenVPN :
a. Affecte des adresses IP aux extrémités du tunnel entre le serveur et la machine cliente dans la zone VPN du réseau du laboratoire.
b. Envoie des commandes qui seront exécutées sur la machine cliente en particulier pour créer une interface réseau et modifier sa table de routage.
c. Une fois le tunnel établi, toutes les connexions entre le poste client et la zone interne du réseau du site passeront par le tunnel. Les datagrammes provenant de la machine cliente à destination du réseau du site auront une adresse source contenue dans la plage d’adresses de la « zone VPN ».

Autres fonctionnalités :

Possibilité de :

  • créer un tunnel entre des sous réseaux à travers de l’UDP ou du TCP
  • configurer un ensemble de serveurs VPN en utilisant une ou plusieurs machines pouvant gérer des milliers de connexions provenant des clients VPN
  • utiliser toutes les fonctionnalités de chiffrement, d’authentification et de certification provenant de la bibliothèque OpenSSL afin de protéger votre réseau privé à travers Internet
  • utiliser les algorithmes de chiffrement, la taille de la clé, ou HMAC digest (pour le contrôle d’intégrité des datagrammes), supportés par la bibliothèque OpenSSL
  • pour le chiffrement, possibilité de choisir entre une clé de cryptage conventionnelle ou sur un certificat avec une infrastructure à gestion des clés publiques
  • utiliser des clés statiques pré-partagées ou TLS dynamique basée sur l’échange de clés
  • créer des tunnels à travers des réseaux publics dont les extrémités sont dynamiques (DHCP par exemple)
  • créer des tunnels dans des réseaux à travers du NAT
  • créer des ponts ethernet virtuels sécurisé
  • utiliser une interface utilisateur graphique (GUI) disponible sous Windows ou Mac OS X.
Interopérabilité :

Seul un client OpenVPN peut interagir avec le serveur OpenVPN. Un seul logiciel peut être utilisé comme Client ou Serveur, cela dépend de la configuration. Il n’est pas non plus possible d’interagir avec d’autres logiciels VPN ou IPsec.
Par contre les certificats utilisés (dans le cas de choix de cette solution pour le chiffrement) sont standards.

Contexte d'utilisation :

L’UREC met à disposition deux serveurs OpenVPN pour les connexions à distance de ses membres : un utilisant le TCP l’autre utilisant l’UDP, ceci pour palier aux différentes politiques de filtrage dans laquelle se trouve le client. Par exemple, le protocole UDP est de plus en plus rejeté par les pare feux en entrée des réseaux de campus ou de laboratoires, ce qui rend l’utilisation d’OpenVPN impossible.

Limitations, difficultés, fonctionnalités importantes non couvertes :

Pour palier à des problèmes de compatibilité avec le client Windows et le driver TAP-Win32, il faut compter 4 adresses IP (dans la zone réservée) pour un client OpenVPN.

Environnement du logiciel
Plates-formes :

Linux, Windows 2000/XP et supérieur, OpenBSD, FreeBSD, NetBSD, Mac OS X et Solaris

Environnement de développement
Eléments de pérennité :

OpenVPN est basé sur SSL et utilise les librairies OpenSSL et les pilotes TUN/TAP.

Environnement utilisateur
Liste de diffusion ou de discussion, support et forums :
Divers (astuces, actualités, sécurité) :

La clé statique partagée permet d’éviter des attaques de type DoS et est très simple à mettre en œuvre (http://openvpn.net/static.html )

Un OpenVPN pour PocketPC est actuellement en cours de développement.

Le site web annonce pour bientôt :
* “client installers”
* outil de configuration
* forum pour les utilisateurs

Interface graphique sous Windows :
Si vous souhaitez utiliser OpenVPN avec une Interface Graphique sous Windows, voici le lien du site qui propose un soft contenant OpenVPN + GUI :
http://openvpn.se/
Et la page directe de téléchargement :
http://openvpn.se/download.html