Installation de Serveur OpenVPN et d'un client
Avant de commencer l'installation nous allons initié une connection vpn non crypté afin d'en comprendre le fonctionnement.
Nous disposons de 2 machines debian avec openvpn installé, sur la machine serveur tapez la commande suivante.
Sur la machine cliente tapez la commande suivante
openvpn va nous permettre de crée l'interface tun0 sur chaque machine la configuration ip du tunnel est défini dans l'exemple par l'adress 10.255.0.1 pour le server et 10.255.0.2 pour le client.
Du coté client on à rajouter la mention --remote IpduServeur afin que la machine cliente sache qui contacter.
Nous voyons sur la capture ci-dessus que le serveur à initié sa connexion.
Et ici coté client.
En tapant la commande ip a. coter server on constate l'apparition de l'interface Tun0.
Pareil coté client.
En initalisant un ping depuis la machine client vers l'ip du serveur VPN de l'interface tun0.
Nous pouvons analyser la trame suivante
Les requête ICMP sont bien reçu mais on constate qu'il n'y a pas de chiffrement, les données apparaisse en claire.
Passons maintenant au vif du sujet. Nous allons maintenant installer openssl afin de crée des certificats qui nous permettrons de chiffré les communication.
Maintenant nous allons crée des répertoires que l'on utiliseras pour stocké nos certificats,logs et fichiers de configuration.
Dans /apps/pki-booktic/ nous modifions le fichier vars afin d'y entrée nos informations qui apparaitrons dans nos certificats.
Nous pouvons initialiser notre infra avec la commande suivante dans le répértoire /apps/pki-booktic.
Puis nous construison notre ca.crt avec la commande suivante ./easyrsa build-ca nopass le nopass nous permettant de ne pas avoir à gérer un mot de passe à chaque connexion.
Ensuite on genere le certificat et la clé pour le server.
Puis pour notre client
Ensuite il faut signé les certificats et les clé par l'autorité de certification realisé plus haut.
Il faut également crée une clé de session de Diffie-Hellman.
Transferer les clés et certificats ainsi que ca.crtetbookticsign.key client coter client avec scp.
Ensuite on configure notre fichier de configuration coté server puis on créera un lien symbolique permettant a openvpn de venir récuperer le fichier de configuration afin de l'executer.
Pareil coté client
Nous pouvons a présent vérifier coter server
coté client
En effectuant un ping depuis le client vers le server et vice-versa sur l'adresse ip du vpn correspondant nous constatons que la trame sur l'interface ens33 est chiffré. C'est que tout fonctionne correctement
Si on analyse la trame depuis l'interface tun0 on constate que la trame est claire.