Pour installer un VPN Site to client je me suis lancé dans GNS3 (ce fut long et laborieux), j’ai décidé de créer un VPN entre la topologie de mon ECF ainsi que celle de mon stage, c’est un projet pour m’exercer et approfondir mes connaissances sur les VPN et leurs installation / configuration.
La topologie ressemble donc à ça:

Pour configurer mon VPN, j’ai utilisé OpenVPN sur mon pare feu pfSense, voici comment j’ai procédé : 

J’ai commencé par créer l’autorité de certification nommé « VPN »

J’ai crée ensuite un certificat « Server » basé sur l’autorité de certification précédemment crée.
Il faut aussi que je crée un utilisateur que je nomme « Mathieu ». Maintenant que j’ai mon utilisateur il faut que je crée un certificat « User » basé sur l’autorité de certification « VPN ». 

Ensuite je suis passé à l’installation et la configuration d’OpenVPN maintenant que mes certificats sont prêts. J’ai choisi le mode « Remote Access » avec le chiffrement SSL/TLS + Authentification des utilisateurs. Sur la partie chiffrement, j’ai sélectionné mon autorité de certification sur laquelle va se baser OpenVPN donc « VPN » dans mon cas, peu après ça on me demande de renseigner le certificat « Server », j’ai donc entré le certificat précédemment crée.
J’ai aussi choisi AES 256 CBC comme algorithme de chiffrement car la sécurité est plus renforcé, mais attention cela impact légèrement plus les performances.

Par la suite il fallait que je crée mon Tunnel VPN, j’ai choisi le réseau 10.10.10.0/24, lorsqu’un client va se connecter au VPN une adresse lui sera attribué dans cette adresse réseau.

Ensuite on me demande de choisir les réseaux LAN accessible depuis le VPN, dans mon cas j’ai juste entré le VLAN10 soit 192.168.10.0/24. Je peux aussi choisir le nombre de connexion simultanés sur le VPN, j’ai laissé l’option par défaut à savoir 10.
Une option à cocher est l’option « Dynamic IP », cette option permet que si un client est mobile par exemple un commercial qui traverse la France en train, en voiture ou autres, son IP publique sera modifié. Cette option permet de laisser le VPN actif même si le client change d’IP publique.

Au niveau sécuritaire, il est préférable d’utiliser la topologie « net30 isolated /30 network per client ». Cela permet d’isoler chaque client dans son propre sous réseau. Cependant, cela nécessite 4 adresses IP par connexionVPN (une pour le PC, une pour le pare feu, et les adresses de réseau et broadcast).
Par contre si on a besoin de plus de 60 connexions VPN en simultanés, on doit utiliser une plage réseau VPN plus large.
Exporter la configuration du VPN, pour ça il faut installer le paquet « openvpn client export », une fois le paquet installé, il faut configurer une option essentielle celle du « Host Name Resolution », dans mon cas je choisi « Interface IP Address » ce qui correspond à mon IP Publique, mais il est possible d’enter d’autres options comme résolution par nom de domaine.

Maintenant qu’OpenVPN est configuré, je peux extraire via pfSense la pre configuration du VPN pour me connecter avec mes utilisateurs. Mais avant ça je dois créer une règle sur le pare feu qui autorise toutes les connexions entrantes sur l’interface WAN sur le port 1194 UDP, c’est le port par défaut d’OpenVPN.
Je peux également créer des règles qui autorisent OpenVPN à se connecter à différentes ressources dans le réseau dans mon cas j’autorise la connexion à l’interface web de pfsense pour tester mon VPN.

Pour terminer, je me suis connecté à une VM du réseau de « Transtec » et j’ai importé la configuration généré par OpenVPN pour mes utilisateurs (avec la clé) et j’ai entré mes identifiants. Si je tape « ipconfig » dans le cmd, je me retrouve bien avec une adresse dans le réseau 10.10.10.0/24 ce qui signifie que mon VPN fonctionne, pour confirmer ça je me suis connecté à l’interface web de pfsense que j’ai precedemment autorisé sur le pare feu et cela a fonctionné. Mon VPN est fonctionnel.

Récapitulatif de la configuration du VPN: