TP N°
SUJET :
RÉSEAU PRIVÉ VIRTUEL (VPN ROUTER)
Said Hoceini
OpenVpn TP n°2
Prologue
La complexité des architectures de réseaux d’interconnexion des équipements
informatiques et le manque de sécurité sur Internet a amené l’ensemble des acteurs
spécialistes du domaine à se pencher sur des solutions de surveillance curative et
évolutive afin d’assurer la disponibilité des services en ligne et leur continuité - du
fonctionnement, des débits, de la sécurité des échanges d’information entre sites
distants mais également du contrôle des flux dans les équipements informatiques.
Tout en se basant sur les protocoles TCP/IP, c’est ainsi qu’est apparu les
concepts des réseaux privés virtuels (VPN).
L’objectif de ce TP :
L’objectif de ce TP est d’étudier et mettre en œuvre deux types de vpn utilisant un :
1. Tunnel sans cryptage : On établit un réseau privé virtuel, mais les données qui
transitent par ce tunnel ne sont pas cryptées.
2. Tunnel avec cryptage par clefs privées et certificat d'authentification : On
établit un réseau privé virtuel. Les données qui transitent par ce tunnel sont
cryptées tandis que les clefs privées de cryptages de chaque extrémité ne se
trouvent pas sur l'autre extrémité. Nous utilisons aussi des certificats
d'authentification.
Matériel utilisé :
• 1 PC Station Windows XP (pc analyseur)
• 2 PC Station Linux Débian (serveur VPN et Client VPN)
Remarque :
Vérifier le matériel disponible avec le matériel de la liste ci-dessus.
A chaque fin de séance, il vous est demandé de nettoyer votre maquette et de rendre
le cahier de TP à votre chargé de TP.
S. HOCEINI 2/8
OpenVpn TP n°2
Installation et configuration du réseau
On se propose de configurer le réseau suivant :
PC2 PC3
Réseau Ethernet
PC1
Pour le bon fonctionnement de la maquette de TP, les programmes suivants ont été
installés sur les machines Linux:
Pour le serveur VPN : Pour le client VPN :
bridge-utils openssl
openssl openvpn
openvpn
Les clients et serveurs OPENVPN utilisent des interfaces virtuelles appelées TUN ou
TAP.
Pour vérifier que les pilotes TUN/TAP sont chargés on utilise la commande suivante :
# ls –l /dev/net | grep tun.
Question 1
Vérifiez le câblage de la maquette et les adresses IP des interfaces réseaux des
machines.
S. HOCEINI 3/8
OpenVpn TP n°4
VPN utilisant un tunnel sans cryptage
Créez un fichier où vous mettez votre configuration d'OpenVPN pour le client et le
serveur. (/etc/openvpn/[Link])
remote adesse_serv dev tun
dev tun ifconfig [Link] [Link]
ifconfig [Link] [Link] cipher none
port 2000 port 3000
cipher none auth none
auth none verb 2
verb 2
Fichier client Fichier serveur
Remarque : pour la directive remote vous donnez l’adresse IP et le
port du serveur VPN
Question 2
Les adresses VPN du client et du serveur sont-elles statiques ou dynamiques ?
Les adresses ip sont en statics
Démarrer le serveur et le client VPN
#openvpn --config fichier_de_config
Question 3
Comment vérifier que la connexion VPN fonctionne ?
Lancer la capture de trames avec wireshark sur le pc analyseur puis effectuer un
ping
Question 4
Les informations échangées sont-elles sécurisées ?
Non les informations echange ne sont pas sécurisées car le chiffrement n’est pas effectué
Question 5
Quel est l’utilité de chaque ligne du fichier de configuration client et serveur ?
- Ligne :1 accès à distance au serveur
- Ligne 2 : interface virtuelle utilise
- Ligne 3 l’ip du client sur quel ip il peut taper pour le vpn
- Ligne 4 Le port utilisé
- Ligne 5 choix encription ici aucun
- Ligne. 6 l’authentification
S. HOCEINI 4/8
OpenVpn TP n°4
Remarque : appeler votre enseignant pour lui faire une
démonstration.
S. HOCEINI 5/8
OpenVpn TP n°4
VPN utilisant cryptage par clefs privées et certificat
d'authentification
La clef privée d'un équipement est gardée secrète et sa clef publique est
publiquement diffusée par l'intermédiaire de certificats. L'autorité de certification (CA)
sera serveur, les certificats et autres fichiers que nous allons générer par la suite
devront être dans le répertoire /etc/ssl/openvpn. Sur le serveur VPN, nous allons
générer les certificats et clefs nécessaires pour OpenVPN.
Créer les répertoires /etc/ssl/openvpn, /etc/ssl/openvpn/certs,
/etc/ssl/openvpn/private, /etc/ssl/openvpn/newcerts, /etc/ssl/openvpn/crl.
Taper la commande echo '01' > /etc/ssl/openvpn/serial; touch
/etc/ssl/openvpn/[Link].
Copier et renommer le fichier /etc/ssl/[Link] par /etc/ssl/openvpn/openssl-
[Link]
Dans le fichier /etc/ssl/openvpn/[Link] remplacer le répertoire par défaut
par /etc/ssl/openvpn
Question 6
Pourquoi copier, renommer et modifier le fichier de configuration openssl?
Remarque : pour la suite du TP mettez vous dans le répertoire
/etc/ssl/openvpn (utiliser la commande cd /etc/ssl/openvpn)
Créer un certificat auto-signé pour le CA en utilisant la commande :
openssl req -nodes -new -x509 -keyout private/[Link] -out [Link] -days 365 -
config /etc/ssl/openvpn/[Link]
Question 7
Quelle est l’utilité de chaque attribut de la commande openssl ?
Créer la clef et le certificat à faire signer par votre autorité pour le serveur VPN en
utilisant la commande :
openssl req -nodes -new -keyout [Link] -out [Link] -config
/etc/ssl/openvpn/[Link]
Question 8
Quelle est l’utilité de chaque attribut de la commande openssl ?
Vérifier et signer le certificat du serveur en utilisant la commande :
S. HOCEINI 6/8
OpenVpn TP n°4
openssl ca -out [Link] -in [Link] –md md5 -config /etc/ssl/openvpn/openssl-
[Link]
Question 9
Quelle est l’utilité de chaque attribut de la commande openssl ?
En s’inspirant et adaptant les deux dernières commandes précédentes, créer la clef
et le certificat à faire signer par votre autorité pour les clients VPN.
Vérifier et signer le certificat des clients.
Question 10
Quelles sont les commandes utilisées ?
Créer les paramètres Diffie Hellman pour le cryptage du tunnel en utilisant la
commande :
openssl dhparam -out [Link] 1024
Question 11
Quelle est l’utilité de chaque attribut de la commande openssl ?
Copier les fichiers .crt, .key et .pem dans le répertoire /etc/openvpn/tls/ de chaque
machine
A. Créer un VPN routé (IP)
Modifier le fichier de configuration des clients et du serveur pour intégrer les
paramètres suivants :
tls-client tls-server
ca /etc/openvpn/tls/ [Link] ca /etc/openvpn/tls/[Link]
cert /etc/openvpn/tls/[Link] cert /etc/openvpn/tls/[Link]
key /etc/openvpn/tls/[Link] key /etc/openvpn/tls/[Link]
verb 2 dh /etc/openvpn/tls/[Link]
Fichier client Fichier serveur
Question 12
Quelle est l’utilité de chaque ligne ajoutée dans les fichiers de configuration client et
serveur ?
Pour attribuer des adresses ip dynamiques, vous devez remplacer la ligne «ifconfig»
par la ligne server 10.9.0.O [Link] (voir man openvpn (serveur, mode)
Question 13
S. HOCEINI 7/8
OpenVpn TP n°4
Cette modification doit être mise en place sur le client, le serveur ou les deux à la
fois? Pourquoi ?
Après la modification, redémarrer le serveur et le client VPN.
Question 14
Vérifier que la connexion VPN fonctionne ?
Lancer la capture de trames sur le pc analyseur puis effectuer un ping
Question 15
Les informations échangées sont-elles sécurisées ?
Remarque : appeler votre enseignant pour lui faire une
démonstration.
S. HOCEINI 8/8