TOTAL
Depuis Dec 2006
1'942'871 Visiteurs
4'218'042 Pages

Stats Nov 2010
82'909 Visiteurs
146'476 Pages
196 pays
Statistiques completes



Aidez-nous à traduire
nos tutoriaux!

REJOINGNEZ
l'équipe OpenManiak.
OPENVPN - Le Tutorial Facile - Introduction

OpenVPN Introduction
Dernière modif: Jun 13 2010


Outil
Installation
Ergonomie
Forum



Détails OpenVPN, c'est quoi?
Captures d'écran
Prérequis & Installation
Tutorial OpenVPN
-----MODE DE SECURITÉ -----------
Tunnel transparent
Clef statique
SSL & PKI (certificats)
-----ÉTUDE DE CAS-----------
VPN IP (TUN)
VPN Ethernet (TAP)
Configurations VPN avancées
----------------
Bridging
Routing



⚠️⚠️⚠️
Please check our website about
attractions in Western Switzerland !! (Please use english translation).

⚠️⚠️⚠️
Merci de consulter notre site sur les
activités à faire en Suisse romande !!



OpenVPN OpenSSL


OPENVPN

Créé en 2002, Open est un outil open source utilisé pour construire des VPNs site à site avec le protocole SSL/TLS ou avec des clefs partagées. Son rôle est de "tunneliser", de manière sécurisée, des données sur un seul port TCP/UDP à travers un réseau non sûr comme Internet et ainsi établir des VPNs.



FACILITÉ

La grande force d'OpenVPN est d'être extrêmement facile à installer et à configurer, ce qui est rarement le cas pour des outils utilisés pour créer des VPNs.

PORTABILITÉ

OpenVPN peut être installé sur presque toutes les plateformes comme Linux, Microsoft Windows 2000/XP/Vista, OpenBSD, FreeBSD, NetBSD, Mac OS X et Solaris.
Les systèmes Linux doivent avoir un noyau 2.4 ou supérieur. Le principe de configuration reste le même quel que soit la plate-forme utilisée.

ARCHITECTURE CLIENT/SERVER

OpenVPN est basé sur une architecture client/serveur. Il doit être installé aux deux extrémités du VPN, une est désignée comme serveur, l'autre comme client.

TUNNELLING

OpenVPN crée un tunnel TCP ou UDP et ensuite chiffre les données à l'intérieur de celui-ci.
Le port par défaut utilisé par OpenVPN est le port UDP 1194, basé sur un assignement officiel de port par l'IANA. Vous pouvez toutefois utiliser n'importe quel autre port et, depuis la version 2.0, un port unique peut être utilisé pour plusieurs tunnels sur le serveur OpenVPN.

MODES DE SECURITÉ:

Lors de l'utilisation de clefs statiques, les deux passerelles VPN partagent la même clef pour chiffrer et déchiffrer les données. Dans ce cas, les configurations seront très simples mais le problème peut venir du fait qu'il est parfois nécessaire de transmettre la clef (à travers un canal sécurisé bien sûr) à quelqu'un dont vous n’avez pas confiance à l'autre bout du tunnel.
L'infrastructure à clef publique (PKI pour Public Key Infrastructure en anglais) est utilisée pour résoudre ce problème. Elle est basée sur le fait que chaque partie possède deux clefs, une clef publique connue de tout le monde et une clef privée tenue secrète. Ce processus est utilisé par OpenSSL, la version gratuite et open source intégrée à OpenVPN, pour authentifier les machines VPN avant le chiffrement des données.

Regardons les avantages des deux modes:

Mode OpenVPN: Clefs partagées SSL
Mode de cryptographie: Symétrique Asymétrique/Symétrique
Implémentation: Plus facile Plus compliquée
Vitesse: Plus rapide Plus lente
Consommation CPU: Plus petite Plus grande
Echange des clefs: OUI NON
Renouvellement des clefs: NON OUI
Authentification des passerelles: NON OUI
Dans la section suivante, nous allons focaliser nos explications sur OpenVPN en mode SSL (cryptographie asymétrique) qui est recommandé par rapport au mode en clefs partagées (cryptographie symétrique).

BRIDGING/ROUTING

Vous pouvez choisir de construire soit un VPN Ethernet (mode Bridge ou Pont en anglais) ou soit un VPN IP (mode Routage) avec l'aide de respectivement, les pilotes réseaux TAP ou TUN. TAP/TUN sont disponibles sur toutes les plates-formes et sont déjà incorporé dans les noyaux Linux 2.4 ou supérieurs.

OPTIONS

Les options d'OpenVPN sont particulièrement importantes. Par exemple le serveur, peut fournir des routes réseaux au client ou peut être utilisé comme serveur DHCP.
Référez-vous à la page man d'OpenVPN pour plus d'informations.
Vous pouvez consulter le tutorial OpenVPN pour apprendre comment configurer OpenVPN ou continuer ci-dessous en lisant les explications sur le protocole SSL.

Regardons les concepts clefs du réseau et de la sécurité pour mieux comprendre l'outil OpenVPN.

Haut de la Page



1. SSL 2. VPN 3. OPENSSL 4. IPSEC & SSL 5. IPSEC



SSL

INTRODUCTION:

Pendant plusieurs années, IPSec a été le seul protocole de sécurité disponible pour sécuriser les VPNs site à site ou client à serveur. Par chance, cela a maintenant changé avec la sortie du protocole SSL. Disponible au début pour sécuriser seulement des protocoles comme HTTP, SSL est maintenant capable de sécuriser n'importe quelle application et de chiffrer des tunnels TCP ou UDP pour créer des VPNs site à site ou client à serveur.
Dans ce tutorial, nous allons focaliser notre travail sur des VPNs SSL site à site avec l'aide d'un excellent outil, OpenVPN ...

DESCRIPTION SSL:

SSL (pour Secure Sockets Layers, couche de sockets sécurisée en français) a été créé par Netscape dans les années 1990. Deux versions SSL sont sorties: v2 (1994) et v3 (1995). Le brevet a été ensuite racheté et mis à jour par l'IETF en 2001. Par la même occasion, il a été renommé en TLS qui signifie Transport Layer Security (RFC 2246).
Le mot SSL est communément utilisé pour désigner à la fois les protocoles SSL et TLS. La dernière version de TLS est la version 1.1.

BUT DE SSL:

Les deux buts principaux de SSL sont les suivants:

- Authentifier le serveur et le client en utilisant la PKI (Public Key Infrastructure).
- Fournir une connexion chiffrée pour le client et le serveur pour échanger des messages.

OpenVPN ET LE MODÈLE OSI:

Où pourrions-nous placer le protocole SSL dans le modèle OSI?
Le modèle standard OSI est composé de sept couches tandis qu'un modèle à quatre couches corresponds mieux à l'architecture TCP/IP utilisée par une large majorité d'applications.

SSL est situé entre la couche application et transport et va chiffrer la couche application.


TYPE DE VPN SSL:

Dans le passé, SSL était un protocole utilisé avec des applications spécifiques comme HTTP. Heureusement, depuis quelques années, il est maintenant capable de sécuriser les transactions de n'importe quelles applications à travers Internet et de créer des tunnels sécurisés (VPNs) comme peut le faire IPSec.

Il existe deux types de VPNs:
- VPNs client à serveur (ou accès distant) où le client à besoin d'un navigateur Internet comme Firefox.
- VPNs site à site où un logiciel spécifique est requis comme OpenVPN

Processus SSL:

Les quatre étapes du processus SSL/TLS sont listées ci-dessous:

SSL Handshake:
SSL Change Cipher Spec:
SSL Alert:
SSL Record:
Négocie la suite de protocole cryptographique à utiliser pendant le transfert.
Etablit et partage une clef de session entre le serveur et le client
Transmets des messages d'erreurs SSL entre le client et le serveur
Transfert les données
Haut de la page   Menu concepts clefs



PRINCIPES DU VPN:

VPN (Virtual Private Network, Réseau Privé Virtuel) est un acronyme utilisé pour désigner le tunnel chiffré entre deux équipements à travers un réseau non sécurisé, typiquement Internet.
Le VPN va regrouper les deux réseaux locaux derrière les équipements VPN et ainsi créer un unique réseau privé.
Le mot "VPN" peut être utilisé à la fois pour sécuriser des liaisons site à site ou client à serveur

Pou être considéré comme sécurisé, un VPN doit respecter les concepts de sécurité suivants:

-
 
 

-
 
 

-
 
 
Confidentialité:
Les données ne peuvent pas être vues dans un format lisible.
Algorithmes typiques de chiffrement symétrique: DES, 3DES, AES, Blowfish

Intégrité:
Les données ne peuvent pas être modifiées.
Algorithmes typiques de hachage: sha1, md5

Authentification:
Les passerelles VPN s'assurent de l'identité de l'autre.
Algorithmes typiques: RSA, DH
Le schéma ci-dessous fournit le statut de l'état d'un paquet lorsqu'il passe sur le LAN et le VPN.



Haut de la page    Menu concepts clefs



OPENSSL:

OpenVPN utilise une version gratuite et open source de SSL appelée OpenSSL pour les tâches de chiffrement et d'authentification. OpenSSL est une boite à outils composée de:
- La librairie SSL.
- La librairie de cryptographie.
- L'outil de ligne de commande.

La librairie de cryptographie implémente une large étendue d'algorithmes de cryptographie comme par exemple:
- Algorithmes symétriques: Blowfish, DES, 3DES, AES, etc...
- Certificats: x509
- fonctions de hachage: HMAC, MD5

Haut de la page    Menu concepts clefs



COMPARAISON IPSEC - SSL:

Le but de SSL et d'IPSEC est le même: créer des VPNs et ainsi encrypter le trafic entre deux équipements avec les même algorithmes. Mais, comme vous allez le voir, la manière d'y parvenir est très différente.
Bien sûr, IPSec et SSL ne sont pas compatibles.

Regardons en premier une table de comparaison:

  IPSEC SSL
RFC: 2401 4346 (TLS 1.1)
Couche OSI:
 
Couche Réseau
 
Entre les couches réseau et application
Localisation du logiciel: Noyau Espace utilisateur
Installation: Non-propriétaire Propriétaire
Configuration: Complexe Simple
NAT: Problématique Pas de problème
Pare-feu: Moins amical Amical
Interopérabilité: OUI NON
Donnons maintenant quelques informations à propos de la table de comparaison: IPSec est un protocole de couche 3. Pour être implémenté, il nécessite une modification de la stack IP au niveau du noyau de l'équipement IPSec. En raison de ce changement dans le noyau, chaque système d'exploitation (Cisco, Windows, Linux, etc ...) requiert sa propre implémentation d'IPSec.

OpenVPN va se comporter comme une application standard. Il est implémenté dans l'espace utilisateur et a donc l'avantage d'être bien plus sûr et portable.

-
 
 
 
 
 
-
 
"Sûr" parce que dans le cas d'IPSec, quand le logiciel est étroitement lié avec le noyau, un crash applicatif peut endommager le noyau et donc le système dans son entier. Aucun problème avec OpenVPN puisqu'il est complètement séparé du noyau. Une autre chose à souligner concernant la sécurité est que, en case de piratage du logiciel, avec IPSec le pirate aura accès au noyau, en d'autre terme aux privilèges root. Avec OpenVPN, un utilisateur spécifique va lancer l'application avec des droits limités seulement.
Portable parce que OpenVPN peut être virtuellement installé sur n'importe quelle plate-forme et ceci fera donc économiser du temps parce que vous aurez toujours le même logiciel à configurer.
Un problème réurrent à IPSec est le besoin de changer des règles de Pare-feu (FireWall) pour autoriser le protocole ainsi que le processus de traduction d'adresses (NAT) même si ce dernier a été partiellement résolu par le protocole NAT Traversal. Lisez les détails à propos des problèmes associés avec l'utilisation du NAT avec IPSec.

Avec OpenVPN, vous avez uniquement besoin d'ouvrir un port UDP ou TCP sur un Pare-feu s'il ne l'est pas déjà. OpenVPN peut même fonctionner via un serveur proxy (parfois appelé "mandataire de service" par les Français) signifiant qu'aucun changement au niveau du Pare-feu n'est nécessaire!
Comme les couche 3 (IP) n'est pas modifié par SSL, il n'y a aucun problème avec le protocole NAT.

Construire un tunnel SSL site à site est bien plus simple qu'avec IPSec. La complexité des configurations d'IPSec mène souvent à des trous de sécurité ou à des erreurs de configuration même lorsqu'elles sont effectuées par un administrateur réseau. En plus, les configurations IPSec sont toujours différentes pour chaque équipementier, tandis qu'avec SSL et OpenVPN, les configurations sont très similaires sur tous les systèmes.

Le grand avantage d'IPSec reste le fait qu'il puisse être utilisé sur n'importe quel équipementier supportant sa RFC. Par exemple, il est normalement possible d'établir un VPN entre un router Cisco et un router Nortel. Normalement, parce que le temps a montré que même si les différents équipementiers sont supposés respecter les standards IPSec, il reste fréquemment des problèmes de compatibilités.
Avec OpenVPN il n'est bien sûr pas possible d'installer le logiciel sur les principaux équipementiers comme Cisco Systems, Checkpoint, Juniper ou Nortel.

SSL a maintenant progressé très rapidement dans le segment des VPNs client à serveur comparé à IPSec et va progressivement le remplacer dans le futur.
Dans le segment des VPNs site à site, cela est différent parce que, comme expliqué juste avant, il n'y a pour le moment aucun papier standardisé (RFC) pour créer des VPNs SSL site à site sur des équipementiers au code source fermé comme Cisco Systems. Comme la grande majorité des VPNs site à site sont créés sur les équipements au code source fermé, IPSec reste pour le moment roi dans ce secteur.

Haut de la page    Menu concepts clefs



IPSEC:

IPSec peut être composé d'un ou des deux des protocoles de niveau 3 suivants: ESP ( Protocole IP 50, RFC 2406), AH (Protocole IP 51, RFC 2402). ESP peut être utilisé pour l'intégrité et la confidentialité et AH pour l'intégrité seulement.

Deux protocoles sont étroitement liés avec IPSec: ISAKMP (RFC 2408) and IKE (RFC 2409).
ISAKMP (Internet Security Association and Key Management Protocol) est utilisé pour établir des associations de sécurité et IKE (Internet Key Exchange) pour la gestion automatique des clefs d'échange via le port UDP 500.

Haut de la page    Menu concepts clefs