OPENVPN Debian9
OpenVPN est un système de réseau privé virtuel développé par James Yonan sur le protocole SSL et non sur le protocole IPSEC comme la plupart des VPN.
VPN est l’acronyme de Virtual Private Network. Il s’agit d’un tube virtuel qui crée un réseau privé au travers d’un réseau public. Openvpn est utilisé pour relier deux ordinateurs (ou deux réseaux) de façon sécurisée au travers d’un tunnel crypté.
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.
INSTALLATION DE OPENVPN
Important : Faire un update et upgrade du système apt update –y && apt upgrade -y
CONFIGURATION D’UNE CONNEXION VPN NON SECURISEE : SERVEUR/CLIENT
Serveur :
10.0.1.1 = adresse virtuelle du serveur
10.0.1.2 = adresse virtuelle du client
Client :
Ici les adresse ip sont inversées : adresse client / adresse serveur
On rajoute également l’adresse physique du serveur debian :
— remote 172.16.6.15
On constate que la connexion se fait correctement
CREATION D’UN TUNNEL CRYPTE ET CERTIFICATS AVEC OPENSSL
Cette étape nous permettra de sécuriser notre connexion
- Création des répertoires suivants avec la commande mkdir (à la racine). Ici on trouvera les données stockées du tunnel vpn.
/apps/openvpn/keys
/apps/openvpn/log
/apps/openvpn/conffiles
/apps/easy-rsa
2. Copier le répertoire
3. Fichier à configurer
Ici on configure les différentes options aux valeurs de la société Booktic
A la fin de cette configuration copier le fichier
openssl-1.0.0.cnf > openssl.cnf
Puis effectuer « ./clean-all »
4. Mise en place du certificat de l’autorité
On lance le script « ./build-ca »
./build-key-server »+ nom du serveur
Ex : ./build-key-server vpn
./build-key »+ client
Ex : ./build-key client
Création de la clé Diffie-Hellman (1024-2048 bits) avec le script « ./build-dh »
Les différentes clés se trouvent dans le répertoire
/apps/openvpn/keys
MISE EN PLACE DU TUNNEL
2 ordinateurs sur le même vlan (ici le 10 et dans le réseau 172.16.6.0/24)
Configuration du serveur
Création d’un fichier dans /apps/openvpn/conffiles :
touch servidor.conf
Puis configuration de ce dernier comme dans la capture d’écran suivante :
nano servidor.conf
Redémarrer openvpn.
– Service openvpn restart
– openvpn mon fichier.conf (servidor.conf)
Et au même moment sur un autre terminal lancer la commande :
– tail -f /apps/openvpn/log/openvpn.log
Configuration du client
On gardera ici la même arborescence que celle utilisée précédemment sur le serveur.
1. Création des répertoires à la racine du serveur client avec la commande mkdir
/apps/openvpn/keys
/apps/openvpn/conffiles
2. Transfert des fichiers et certificats du serveur vers le poste client
Et voici le résultat de l’envoi sur le poste client
3. Création d’un fichier « client.conf » dans /apps/openvpn/conffiles
4. Modification du fichier « client.conf »
Remote correspond ici à l’adresse du serveur vpn.
1194 est le port d’openvpn
Test de la connexion
Sur le client on relance openvpn :
service openvpn restart
Puis on lance le service openvpn cliente.conf
Sur le serveur on démarre également openvpn :
openvpn servidor.conf
Et la connexion sécurisée se fait correctement avec 2 machines sur le même réseau.
Mise en place d’un tunnel sécurisé sur 2 réseaux différents
Dans un premier temps le client est configuré sur un réseau diffèrent
Le vlan est diffèrent de celui sur lequel se trouve le serveur VPN
Ici on le place dans le vlan 70 et le serveur se trouve dans le vlan 10.
Modification du fichier /apps/openvpn/conffiles/cliente.conf
Ensuite nous passons à la configuration de pfsense.
Nous allons dans le menu Firewall/Nat
Puis lançons une connexion.
Nous constatons alors que la connexion est opérationnelle.