0% ont trouvé ce document utile (0 vote)
18 vues3 pages

TP 4

OpenVPN est un utilitaire libre permettant de créer un serveur VPN avec des fonctionnalités de sécurité avancées. Le document décrit les étapes d'installation, de configuration et de test d'OpenVPN, y compris l'utilisation de clés partagées et de certificats SSL/TLS. Il aborde également la mise en place d'un pontage réseau et la configuration du pare-feu pour assurer le bon fonctionnement du VPN.

Transféré par

jairusonesimefeibona
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
18 vues3 pages

TP 4

OpenVPN est un utilitaire libre permettant de créer un serveur VPN avec des fonctionnalités de sécurité avancées. Le document décrit les étapes d'installation, de configuration et de test d'OpenVPN, y compris l'utilisation de clés partagées et de certificats SSL/TLS. Il aborde également la mise en place d'un pontage réseau et la configuration du pare-feu pour assurer le bon fonctionnement du VPN.

Transféré par

jairusonesimefeibona
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

M2 IFI, le 30 janvier 2017

OpenVPN
OpenVPN est un utilitaire libre pour mettre en place un serveur VPN (Virtual Private Network) qui authen-
tifie mutuellement les pairs à l’aide d’une clé privée partagée pré-distribuée, de certificats ou de couples
login/passwords. Il utilise de manière intensive la librairie OpenSSL. Disponible sous Solaris, Linux,
*BSD, MacOS, Windows*, il offre aussi de nombreuses fonctions de sécurité et de contrôle.

1 Installation d’OpenVPN et premiers tests


OpenVPN s’installe au moyen de apt-get dans la version openvpn-2.3.2-7 avec ses dépendances
sur ubuntu et par un pkg_add -i sur client-bsd. Dans un premier temps, nous allons petit à petit
mettre en place la configuration proposée F IGURE 1.

F IGURE 1 – Première configuration.


1.1 Premiers tests
Afin de vérifier l’installation, effectuons un test (non chiffré) où ubuntu est serveur VPN et client-bsd :

ubuntu# openvpn --dev tun0 --ifconfig 10.0.0.1 10.0.0.2


bsd# openvpn --remote ubuntu.cs.sr --dev tun0 --ifconfig 10.0.0.2 10.0.0.1
Ces commandes démarrent le VPN (sur le réseau 10.0.0.0) et attribuent des adreeses IP aux machines.
(1) Notez la création d’une nouvelle interface réseau (ifconfig).
(2) Vérifiez par des ping que le réseau fonctionne convenablement.
(3) Utilisez le serveur telnet de ubuntu pour avoir accès à un service depuis le client.
(4) Le cas échéant, vérifiez que la connexion n’est pas chiffrée.

1.2 Ajout d’une clé partagée


Il est indispensable de chiffrer les communications avec un VPN. On commence par le réaliser au moyen
d’une clé partagée qu’il faut engendrer au préalable sur le serveur et distribuer au client.
(1) engendrez une clé partagée sur le serveur openvpn - -genkey - -secret static.key,
recopiez-là sur le client (de manière sécurisée).
(2) Relancez le VPN entre les deux machines en concaténant aux commandes précédentes la directive
- -secret /path/to/key et vérifiez le bon fonctionnement du réseau.
(3) Le cas échéant, vérifiez que la connexion est maintenant chiffrée.
(4) Pour utiliser de la compression (et gagner ainsi de la bande pasante) vous pouvez également conca-
téner la directive - -comp-lzo - -keepalive 10 60 - -float aux commandes précé-
dentes (et en vérifier le bon fonctionnement).

1
1.3 Fichiers de configuration
Pour simplifier le démarrage, il est préférable de créer un fichier de configuration. Le démarrage en devient
grandement simplifié : openvpn /path/to/pc.conf. Fichier de configuration client :
dev tun
remote 192.168.1.2
ifconfig 10.0.0.2 10.0.0.1
secret /etc/openvpn/static.key
comp-lzo
keepalive 10 60
float

(1) Créez le fichier de configuration serveur et testez-en le bon fonctionnement.

2 Utilisation de clés SSL/TLS


La première étape étape pour obtenir une vraie configuration est de construire une PKI qui consiste en :
(1) un certificat séparé (une clé publique) et une clé privée pour le serveur et pour chaque client ;
(2) une autorité de certification qui signe les certificats précédents.

2.1 Création de l’AC et du PKI


Après installation du paquet easy-rsa sur Ubuntu, on construit l’AC au moyen des scripts four-
nis dans easy-rsa/2.0 distribué avec le paquet. Vous pourrez vous inspirer du tutoriel http://
grantcurell.com/2014/07/22/setting-up-a-vpn-server-on-ubuntu-14-04/
(1) Editez et mettez à jour le fichier vars qui va contenir les informations X509 de certification.
(2) Initialisez la PKI par
. ./vars
./clean-all
./build-ca
(3) Construisez les paramètres de Diffie-Hellman par ./build-dh (lent)
(4) Construisez le certificat et la clé privée du serveur par ./build-key-server ubuntu
(5) Construisez enfin la clé du client (ou autant de clés que de clients) par ./build-key bsd
(6) Copiez les clés dans les répertoires concernés pour le serveur et les clients
(7) Copiez depuis le répertoire sample-config-files de /usr/share/doc/openvpn/examples
les fichiers server.conf et client.conf et adaptez-les à votre configuration
(8) Adaptez et utilisez le script /etc/init.d/openvpn pour démarrer automatiquement le serveur
(9) Testez votre configuration.
A la fin de l’étape (5), le répertoire /easy-rsa/keys/ doit contenir :

fichier pour rôle secret ?


ca.crt serveur+clients cert. racine AC non
ca.key AC=serveur clé racine AC oui
dh1024.pem serveur paramètres DH non
ubuntu.crt serveur cert serveur non
ubuntu.key serveur clé serveur oui
bsd.crt client cert client non
bsd.key client clé client oui

2
3 Pontage
L’intérêt d’un VPN est surtout de permettre d’accéder à un réseau privé physique via le VPN hébergé sur
ubuntu. On se place dans la configuration réseau du TP1 : une passerelle avec deux interfaces réseau en
faisant du nat. Le nouveau schéma du réseau devient celui de la FIGURE 2.

F IGURE 2 – Seconde configuration.

Pour réaliser le pontage (bridge), il faut préalablement installer bridge-utils par apt-get et reco-
pier les scripts bridge-start et bridge-stop dans /etc/openvpn.
Pour le TP, nous utilisons la configuration suivante :

config. paramètre bridge-start valeur


interface eth. eth eth1
IP locale ip 192.168.2.1
masque local eth_netmask 255.255.255.0
broadcast eth_broadcast 192.168.2.255
IP clients VPN 192.168.2.128 à 192.168.2.254
iface virtuelle bridge br br0
iface virtuelle TAP tap tap0

— Définissez le réseau comme décrit dans la FIGURE 2 sur eth1.


— Modifiez le script bridge-start en lui donnant les valeurs convenables pour br, eth, eth_ip,
eth_netmask et eth_broadcast.
— Vérifiez la création des deux interfaces réseau br0 et tap0 par ifconfig.
Modifiez le fichier de configuration d’openvpn en remplaçant dev tun par dev tap0. Commentez
également la ligne server et remplacez-la par server-bridge 192.168.2.1 255.255.255.0
192.168.2.128 192.168.2.254. Les adresses seront attribuées dynamiquement, comme par dhcp.
Activez ensuite l’ip_forwarding et mettez à jour les règles de firewall de linux :
iptables -A INPUT -i tap0 -j ACCEPT
iptables -A INPUT -i br0 -j ACCEPT
iptables -A FORWARD -i br0 -j ACCEPT
On initialise le VPN en démarrant successivement : bridge-start puis openvpn et on le stoppe en
arrêtant successivement openvpn puis bridge-stop.
Coté client, il faut commenter la ligne qui débute par dev tun et la remplacer par dev tap. Le système
openBSD active l’interface tap au moyen de l’interface tun. La configuration du client doit comporter :
dev tun0
dev-type tap
On désactive la 2e interface réseau du client-bsd par ifconfig vic1 down, on vérifie par un
ping sur le sous-réseau 2 ou en demandant l’affichage des interfaces désactivées ifconfig -d.

4 Firewalling
Avec un VPN, il faut également configurer le firewall pour permettre le bon fonctionnement du VPN.

Vous aimerez peut-être aussi