III.10. Utilisation d'un réseau privé
virtuel
Un réseau privé virtuel repose sur un protocole,
appelé protocole de tunnellisation (tunneling), c'est-à-dire un
protocole permettant aux données passant d'une extrémité
à l'autre du VPN d'être sécurisées par des
algorithmes de cryptographie. VPN s'utilise essentiellement dans deux cas de
figures :
- Le type `routed' pour mettre en relation des machines
distantes (par Internet et par le protocole PPP)
- Le type `briged' pour mettre en relation des réseaux
différents.
Rédiger par NGOUCHEME MBOUOMBOUO A. Page
60
Concevoir et déployer d'une architecture de
réseau sécurisée à l'IUT
OpenVPN nécessite une authentification et une
vérification mutuelle d'un certificat par une clé (principe de
SSL). Voici pour une bonne compréhension le déroulement de cette
opération pour un client :
1. L'autorité de certificat de certification (CA) envoie
son certificat au client
2. Le client génère sa clé et une demande
(CSR) à partir du certificat.
3. Le client envoie cette demande au CA.
4. Le CA génère le certificat du client (CRT) et
le lui envoie.
Dans le cadre de notre réseau il est difficile de
mettre en place un VPN du premier type, aussi nous verrons la deuxième
et, évidemment toujours dans le cadre de l'utilisation du logiciel
VMware, entre le système hôte et le réseau interne de
l'entreprise. Cette technique présente un avantage certain : avant pour
accéder au réseau VIRTUALIUT (par exemple avec l'utilitaire
WinScp) depuis le système hôte, il faut ajouter des routes
statiques au système Windows. Avec une connexion VPN, tout ceci est
transparent.
Nous allons installer un VPN de type `bridged' entre le
système hôte sous Windows et le réseau local 192.168.3.0
via un serveur VPN ou passerelle qui sera SVRFWL. Nous nous basons sur le
serveur SVRFWL et nous allons aussi déclarer ce serveur comme serveur
d'autorité racine (CA). Après avoir installé le paquet qui
est apt-get install openvpn,
Figure 68 : installation du paquet openvpn pour le
VPN
Il faut définir quelque élément de base
pour la compréhension du fonctionnement du paquet openvpn
- Clean-all : création et/ou effacement des
clés existantes ; - build-ca : création de la
certification d'autorité ;
- build-key-server : création de la clé et
d'un certificat serveur - build-key : création de la clé
et d'un certificat client
Rédiger par NGOUCHEME MBOUOMBOUO A. Page
61
Concevoir et déployer d'une architecture de
réseau sécurisée à l'IUT
III.10.1. Génération des certificats et
clés d'authentification
Lorsque nous créons les certificats, divers
renseignements sont demandés. Une bonne partie d'entre eux peut
être renseignée dans le fichier vars, éditons le,
et changeons le renseignement et faisons prendre en compte les exportations des
variables pour le système.
[root]# vim vars [root]#. ./vars
Les variables à initialiser sont :
Figure 69 : initialisation des variables du fichier
easy-rsa
Enfin, on exécute enfin le script afin d'initialiser
les variables : source vars. Pour générer ce master CA et la
clé correspondante, il faut exécuter les scripts suivants
à partir du dossier /etc/openvpn/easy-rsa :
./clean-all> ./build-ca. Ainsi l'exécution du script build-ca (La
commande permet de générer les certificats d'authentification
(./build-ca) pour n'ai pas avoir de problème lors de l'éxecution
il faut renseigner obligatoirement les champs importants qui sont (rappel dans
le ficher « vars » la partie importante est `Export KEY_ORG = `tstri'
gardons -le à l'esprit))entraîne la création du certificat
ca.crt et de la clé ca.key dans le répertoire
/etc/openvpn/easy-rsa/keys.
Nous devons faire parait pour le générer le
certificat du server juste après pour les différents clients
(client1, client2,..., client n) respectivement par les commandes
Rédiger par NGOUCHEME MBOUOMBOUO A. Page
62
Concevoir et déployer d'une architecture de
réseau sécurisée à l'IUT
III.10.1.1. Génération des certificats
et clés pour les clients
De la même façon, ils sont
générés par l'exécution du script build-key
à partir du dossier /etc/openvpn/easy-rsa/ : .
/build-key nom_du_client1. Pour le paramètre « Commun-name »,
saisissez le même nom que nom_du_client1 que vous avez utilisé
dans la commande ! Répétez cette opération autant de fois
que vous voulez pour générer plusieurs certficats et clés
si vous avez plusieurs clients. N'oubliez pas cependant de changer de
nom_du_client à chaque fois !!! Ce script entraine la création
des fichiers nom_du_client1.crt et nom_du_client1.key dans le dossier
/etc/opnevpn/easy-rsa/keys.
- Génération des paramètres de
Diffie-Hellman
Le protocole Diffie-Hellman est un protocole de cryptographie
utilisé dans les échanges de clés. Les paramètres
de Diffie-Hellman sont générés par l'exécution du
script build-dh à partir du dossier /etc/openvpn/easy-rsa
: ./build-dh
Figure 70 : génération des
paramètres de Diffie Hellman
Après la génération des clés il faut
copier les clés dans le répertoire /etc/openvpn # cp keys/*
/etc/openvpn
Maintenant nous pouvons configurer le fichier du serveur dans
lequel, il y a le protocole l'adresse et bien autre chose. Pour cela copie le
fichier zippé (server.conf.gz)
|