Essalem
dans ce tutoriel, on va discuter briĂšvement sur les les rĂ©seaux privĂ©s virtuels ou les VPN et voir comment exploiter l’open source openvpn pour crĂ©er des VPNs.

Introduction

Vous avez sans doute  dĂ©jĂ  entendu parler des VPN (Virtual Private Network ou RPV,  RĂ©seaux privĂ©s virtuels en français). Le rĂŽle des VPN est d’apporter une sĂ©curitĂ© Ă©conomiquement viable aux Ă©changes d’informations sur des rĂ©seaux dits « peu sĂ»rs », garantissant ainsi une contribution importante au dĂ©veloppement du formidable mĂ©dia que reprĂ©sente Internet.

Comment fonctionne un VPN ?

Un rĂ©seau Vpn repose sur un protocole appelĂ© “protocole de tunneling”. Ce protocole permet de faire circuler les informations de l’entreprise de façon cryptĂ©e d’un bout Ă  l’autre du tunnel. Ainsi, les utilisateurs ont l’impression de se connecter directement sur le rĂ©seau de leur entreprise.

Le principe de tunneling consiste Ă  construire un chemin virtuel aprĂšs avoir identifiĂ© l’Ă©metteur et le destinataire. Par la suite, la source chiffre les donnĂ©es et les achemine en empruntant Ce chemin virtuel. Afin d’assurer un accĂšs aisĂ© et peu coĂ»teux aux intranets ou aux extranets d’entreprise, les rĂ©seaux privĂ©s virtuels d’accĂšs simulent un rĂ©seau privĂ©, alors qu’ils utilisent en rĂ©alitĂ© une infrastructure d’accĂšs partagĂ©e, comme Internet.

Pourquoi utiliser les VPNs ?

De plus en plus les entreprises offrent Ă  leurs clients ou partenaires d’affaires un accĂšs protĂ©gĂ© Ă  des donnĂ©es pertinentes pour leurs relations d’affaires, comme les formules de commande ou le stockage de donnĂ©es.
Lorsque vous ĂȘtes sur votre ordinateur, il est reliĂ© Ă  l’internet par un fournisseur d’accĂšs, que ce soit chez vous ou au bureau. Votre ordinateur passe par lui pour accĂ©der aux diffĂ©rents services qu’offre le rĂ©seau internet (page web, courriel, musique, etc). Le fournisseur peut dĂ©terminer le type d’utilisation faite par votre ordinateur. Il peut mĂȘme filtrer ou surveiller certains Ă©lĂ©ments comme le partage de fichiers par P2P ou Torrents. La transmission circule sur internet, par dĂ©faut, en clair (c’est Ă  dire sans ĂȘtre chiffrĂ©).

Pour conserver votre anonymat et pour chiffrer vos transmissions, vous pouvez utiliser un VPN.
Vous devez Ă©tablir une connexion avec un serveur VPN qui crĂ©e un tunnel entre vous et celui-ci. Ce tunnel est cryptĂ© et passe Ă  travers votre fournisseur d’accĂšs. Celui-ci ne voit qu’une seule connexion entre vous et le serveur VPN. Toutes les informations entre vous et les services internet sont alors encapsulĂ©s, chiffrĂ©s et invisibles pour votre fournisseur.

C’est un exemple d’utilisation des VPN, en rĂ©alitĂ© il existe plusieurs scĂ©narios.

Les différents protocoles VPN:

Les rĂ©seaux privĂ©s virtuels s’appuient, comme la plupart des technologies rĂ©seaux, sur des protocoles. Plusieurs protocoles sont utilisĂ©s dans la technologie VPN.

A-Les protocoles VPN de niveau 2 du model OSI (la couche liaison de données)
PPTP (Point to Point Tunneling Protocol)
L2F ( Layer Two Forwarding)
L2TP (Layer Two Tunneling protocol)
B-Les protocoles VPN de niveau 3 du model OSI (la couche réseau)
IPSec (IP secure)
C-Les protocoles VPN de la couche transport
SSL (Secure Socket Layer- Transport  Layer Security )
SSH (Secure Shell)

La solution OpenVpn

On a dĂ©jĂ  parlĂ© sur cette solution dans l’article prĂ©cĂ©dent, mais vraiment l’openvpn mĂ©rite plus que ça, c’est une solution robuste, simple, flexible et multiplateforme.
OpenVPN est un logiciel qui a Ă©tĂ© inventĂ© par « James Yonan » au cours de l’annĂ©e 2001 et a Ă©tĂ© rĂ©guliĂšrement amĂ©liorĂ©e. Aucune autre solution VPN offre un mĂ©lange de comparable au niveau de la sĂ©curitĂ© de l’entreprise, la convivialitĂ©, la fonctionnalitĂ© et de richesse.

La complexitĂ© des solutions VPN classique, en particulier IPsec, donne l’impression que la technologie VPN, en gĂ©nĂ©ral, est un sujet difficile et qu’elle demande beaucoup d’expĂ©rience (rĂ©seau et sĂ©curitĂ©).

Les avantages de l’openvpn

Avec OpenVPN, une nouvelle gĂ©nĂ©ration de VPN est entrĂ©e en scĂšne. Alors que d’autres solutions VPN utilisent souvent des propriĂ©taires ou des mĂ©canismes non-standard, OpenVPN est un concept modulaire, tant pour la sĂ©curitĂ© et la mise en rĂ©seau sous-jacent. OpenVPN est sĂ»r, stable, utilise le SSL / TLS pour les mĂ©canismes d’authentification et de cryptage, et ne souffre pas de la complexitĂ© qui caractĂ©rise les autres implĂ©mentations VPN comme IPsec le leader du marchĂ©.
‱ OpenVPN offre deux modes de base, qui s’exĂ©cutent en tant que couche 2 ou couche 3 de VPN . Ainsi, les tunnels OpenVPN peut aussi transporter des trames Ethernet, des paquets IPX, et les paquets NetBIOS (Network Browsing), qui sont tous des problĂšmes dans la plupart des autres solutions VPN.
‱ Les connexions OpenVPN  peuvent ĂȘtre tunnellisĂ©s presque par tous les pare-feu
‱ Le support des proxys

L’installation de openvpn
Installation d’OpenVPN est facile et indĂ©pendant de la plateforme.

A- Sur windows
Si vous voulez installer OpenVPN sur Windows, vous devez faire un choix avant le tĂ©lĂ©chargement. Vous pouvez tĂ©lĂ©charger l’OpenVPN sur  http://openvpn.net/download.html ou bien installer l’openvpn en mode interface graphique sur http://openvpn.se/. Ce paquet contient les logiciels OpenVPN en plus d’une interface graphique pour faire apparaĂźtre ou de fermer les tunnels. Surtout, si vous configurez un client OpenVPN, les utilisateurs de Windows veulent avoir un outil facile Ă  utiliser. Toutefois, si vous ne voulez pas que les utilisateurs d’interagir avec les tunnels VPN, le logiciel OpenVPN peut ĂȘtre exĂ©cutĂ© comme un service sur le PC sous Windows, ce qui signifie qu’il est lancĂ© automatiquement au dĂ©marrage. L’installation est assez simple et ne devrait pas poser de problĂšme.

L’assistant d’installation GUI OpenVPN, probablement le moyen le plus pratique d’installer OpenVPN sur Windows.

A la fin d’installation, une nouvelle interface rĂ©seau virtuelle va ĂȘtre crĂ©e  (TAP-Win32 Adapter)

AprĂšs l’installation de OpenVPN GUI, OpenVPN est lancĂ© et une icĂŽne est crĂ©e dans la barre
Des taches Ă  gauche :

B-Sur Mac os x
Bien sĂ»r, il existe Ă©galement OpenVPN pour Mac OS X. Son nom est Tunnelblick, qui est libre et open-source, publiĂ© sous la licence BSD, et il contient un assistant d’installation
graphique. Vous pouvez le télécharger à partir de http://www.tunnelblick.net/.

Si vous avez besoin d’informations plus dĂ©taillĂ©es sur l’installation et la dĂ©sinstallation Tunnelblick, le fichier readme http://www.tunnelblick.net/README.txt est le meilleur endroit pour regarder .Il contient une liste complĂšte des fichiers installĂ©s sur votre systĂšme.
Les fichiers Pour la version 3.0 sont:
/ System / Library / Extensions / tap.kext
/ System / Library / Extensions / tun.kext
/ System / Library / StartupItems / robinet
/ System / Library / StartupItems / tun
/ usr / local / sbin / OpenVPN
/ usr / local / sbin / openvpnstop
/ usr / local / sbin / openvpnstart
/ Applications / Tunnelblick.app
Pour désinstaller Tunnelblick de votre systÚme, il vous suffit de supprimer ces fichiers et redémarrez votre machine.
Mais avant cela, nous allons installer Tunnelblick. L’installation est lancĂ©e simplement en double-cliquant sur le fichier Tunnelblick-Complete.mpkg pour dĂ©marrer l’assistant d’installation.

C-Sur linux
Redhat Fedora
Si vous utilisez Redhat Fedora, « Yellow dog Updater, Modified » (yum) est probablement la façon la plus simple pour installer des logiciels. Il peut ĂȘtre trouvĂ© sur http://linux.duke.edu/projects/yum/ et offre de nombreuses fonctionnalitĂ©s intĂ©ressantes comme la mise Ă  jour automatique, la rĂ©solution de problĂšmes de dĂ©pendance, et la gestion de l’installation de paquets logiciels.

yum install openvpn

Debian
apt-get install openvpn
Configurer openvpn
Nous allons crĂ©er une clĂ© de chiffrement pour OpenVPN et de l’utiliser pour mettre en place notre premier tunnel OpenVPN entre deux systĂšmes Windows dans le mĂȘme rĂ©seau puis entre windows et linux.

1- Un tunnel vpn entre deux systÚmes windows xp
GĂ©nĂ©ration d’une clĂ© statique pour openvpn: Avant de connecter les deux systĂšmes avec un tunnel OpenVPN, il faut crĂ©er une clĂ© qui sera utilisĂ© pour le chiffrement du trafic. Cette clĂ© doit ĂȘtre fournie sur les deux systĂšmes, car dans le cas d’un chiffrement symĂ©trique, les deux parties utilisent la mĂȘme clĂ©.
Sélectionner « Generate a static OpenVPN key » dans le menu « OpenVPN »

OpenVPN va ouvrir une fenĂȘtre de ligne de commande et gĂ©nĂšre une clĂ© de chiffrement de 2048 bits. Cette clĂ© est sauvegardĂ©e dans le rĂ©pertoire de configuration standard “C:\Program Files\OpenVPN\config” avec le nom key.txt .

La création du tunnel
Selon ma configuration, j’ai deux machines windows XP connectĂ©s entre eux par  un rĂ©seau local avec les adresses IP suivantes :
192.168.115.128 l’adresse IP de la machineA
192.168.115.129 l’adresse IP de la machineB
Et on veut obtenir les adresses VPN suivantes :
10.3.0.1 l’adresse VPN de la machineA
10.3.0.2 l’adresse VPN de la machineB
Jetons un cout d’Ɠil sur l’une des machines, par exemple la machineA

Le schéma suivant explique bien notre plateforme :

Maintenant, on va créer un fichier de configuration nommé  « TunnelVpn.ovpn »   dans le dossier « C:\Program Files\OpenVPN\config »  au niveau de la mchineA  et ajouter ces commandes :

Et la mĂȘme chose pour la machineB

NB : il faut que le fichier secret « key.txt » gĂ©nĂ©rĂ© prĂ©cĂ©demment soit le mĂȘme fichier dans les deux machines car il s’agit d’une clĂ© symĂ©trique.

Le démarrage de tunnel
Maintenant que toute est prĂ©s, il est le temps de lancer et tester le fonctionnement de notre tunnel vpn, pour ce faire : Sur l’une des machines, Clique droit sur l’icĂŽne « openvpn » dans la barre des taches et choisir « connect »

Et la mĂȘme chose pour l’autre machine.
Et ouiiiii, notre tunnel vpn est crĂ©eee avec l’adresse VPN souhaitĂ©e.

Pour VĂ©rifier le bon fonctionnement de openvpn, jetons un cout d’Ɠil sur l’état de l’interface rĂ©seau virtuelle crĂ©e avec openvpn :

Et maintenant, on va effectuer des requĂȘtes « ping » pour assurer le bon fonctionnement de notre tunnel :

Et voila tout est opérationnelle.
2-Un tunnel vpn entre windows xp et fedora
PremiĂšrement, il faut copier le fichier « key.txt » sur la machine fedora. Pour ce la, personnellement, j’utilise « WinSCP » un logiciel gratuit pour effectuer le transfert de fichiers entre windows et linux.
La machine fedora Ă  une adresse IP 192.168.115.130
On va utiliser WinSCP pour copier le fichier « key .txt » de la machine windows vers fedora

Copier le fichier « C:\Program Files\OpenVPN\config\key.txt » vers /etc/openvpn Puis créer un nouveau fichier TunnelVpn.conf dans « /etc/openvpn »

Maintenant, il faut modifier le fichier de configuration « TunnelVPN.ovpn » de la machineA pour qu’elle puisse se connecte avec fedora

Lancer l’openvpn sur la machine xp.
Et sur fedora, dans le terminal : /etc/openvpn]#openvpn - -config TunnelVPN.conf

Et pour VĂ©rifier le bon fonctionnement de l’openvpn sur fedora, on va utiliser les requĂȘtes ping

Et voila, la fin du toto
A la prochaine
cdt