GERBELOTBARILLON.COM

Parce qu'il faut toujours un commencement...

pfSense

Mise à jour du pfSense OpenVPN

Mise à jour du pfSense

Une fois connecté à l'interface du pfSense, rendez-vous sur la page d'accueil Status / Dashboard. Vous y retrouverez les informations de version et si une mise à jour est disponible. Si c'est le cas, cliquez sur le lien en forme de nuage pour vous retrouver sur la page du choix du type de mise à jour à apporter. Préférez utiliser la branche Stable pour réaliser cette mise à jour. Vous pouvez également revenir à la version précédente si besoin. Pressez ensuite le bouton Confirm. Après quelques longues secondes d'attente, le routeur va redémarrer pour appliquer sa mise à jour. Au bout de 5 minutes...

Tunnel OpenVPN

Certificats OpenVPN

La mise en place d'un tunnel OpenVPN va demander plusieurs étapes pour valider la possibilité de pouvoir utiliser la mécanique OpenVPN pour monter un tunnel VPN avec un routeur pfSense et ainsi accéder à des ressources informatiques de manière protégée.

Pour commencer, il faut créer une autorité de certification pour la gestion des certificats de connexion. Faire ensuite Add sur le bouton vert en bas à droite de l'interface.

Dans la zone CAs, laisser la méthode à "Create an internal Certificate Authority" mais précisez un nom pour décrire votre autorité de certification. Vous en aurez besoin plus loin donc mettez quelque chose qui vous inspire... Dans la seconde partie de cette fenêtre, validez les champs avec les différentes valeurs telles que définies dans l'image. Pour la partie CountryCode, mettez autre chose si vous ne souhaitez pas France comme Pays. Remplissez également les autres champs administratifs en-dessous. Le champ Common Name doit être unique et sans espace. Il va identifier le certificat.

L'autorité de certification ainsi créée apparaît dans la liste des autorités de certification. La clé ainsi créée doit être exportée pour pouvoir être manipulée lors de la génération des tunnels.

Toujours depuis la même page, cliquez sur Certificates. Vous voici devant la feuille listant les certificats disponibles. Il y en a déjà un : celui du configurateur Web de pfSense. Celui-ci ne nous concerne pas. Cliquez sur la bouton Add/Sign.

Laisez la méthode à "Create an internal Certificate" et renseignez le nom du certificat serveur. Celui-ci sera également utile pour les autres opérations donc renseignez-le avec soin.

La partie centrale recense les paramètres définis par rapport à l'autorité de certification utilisée. Nous ne touchons pas à ces paramètres. Comme précédemment, pour le champ Common Name il faut mettre un nom unique.

Dans la partie des attributs du certificat, nous allons créer un certificat pour notre serveur. Sélectionnez le type de certificat sur "Server Certificate" et faites Save. Le certificat apparaît alors dans la liste des certificats disponibles.

Création des utilisateurs du VPN

Se rendre dans System > User Manager Cliquer sur + Add

Entrez un nom d'utilisateur et un mot de passe. Cliquez sur Click to create a user certificate

Saisir ensuite le nom du certificat ainsi que l'autorité de certification. L'utilisateur est maintenant créé et apparaît dans la liste des utilisateurs.

Créer le serveur OpenVPN

Maintenant que vous avez le certificat, vous pouvez créer la configuration du serveur VPN qui va utiliser la configuration à base de certificats que vous venez de mettre en place. Ce serveur VPN sera le point d'entrée au tunnel que vous allez mettre en place pour vos utilisateurs.

Commencez par vous rendre sur VPN > OpenVPN > Servers et faites + Add

Choisissez le mode d'accès au serveur :

Sur l'interface, précisez bien WAN. ATTENTION : si vous avez mis en place un CARP entre deux routeurs pfSense, spécifiez ici le port WAN virtuel.
Pour le port local, par défaut c'est 1194 mais vous pouvez spécifier n'importe quel port tant que celui-ci est autorisé en sortie à l'endroit depuis lequel le client se connecte.
Mettez une description, toujours pour savoir de quoi vous parlez par la suite.

Dans les paramètres de Cryptographie, spécifiez le certificat de l'autorité de certification ainsi que le certificat du serveur avec lequel vous allez établir la connexion. Vous pouvez laisser les autres valeurs par défaut pour le moment.

Dans les paramètres du tunnel, précisez l'adresse IP virtuelle qui sera affectée au réseau monté par ce tunnel. Cela ne doit pas être celle qui correspond au réseau réel caché derrière le firewall. Son format est CIDR et peut être n'importe quel intervalle d'adresses valide. Par exemple 10.73.0.0/24.
Pour passer en mode full tunneling, cochez la case Redirect IPv4 Gateway (pas utile dans la majorité des cas).
Spécifiez également le nombre de connexions simultanées souhaitées au maximum sur ce tunnel.

Dans les paramètres du client qui va utiliser ce tunnel, cocher Dynamic IP et laisser la topologie du réseau sur Subnet - One IP address per client

Dans la suite des configurations, en fonction des besoins, vous pouvez laisser un timeout survenir et déconnecter le client en cas de non utilisation du tunnel pendant un laps de temps.
Vous pouvez également gérer le DNS que va recevoir votre client. Cela peut être très pratique dans la majorité des cas car les connexions avec des lecteurs mappés où des résolutions de noms sont souhaitées est simplifié avec un DNS.

Pour des raisons de sécurité, il est possible de désactiver la mise en cache des identifiants. Pour cela il faut renseigner l'option auth-nocache dans les Custom Options.
Vous pouvez également forcer un routage à la connexion du tunnel pour être sûr que vos paquets prendront le bon chemin.

Vous pouvez maintenant faire Save et voir que votre serveur VPN avec son tunnel est créé et prêt à répondre aux sollicitations des clients.

Création des utilisateurs

Un serveur VPN sans utilisatyeurs n'a que peu d'intérêt. Pour peupler votre serveur, rendez-vous sur System > User Manager Ceci est un passage indispensable étant donné que nous avons décidé que nos utilisateurs s'authentifieraient auprès du pfsense. Ce dernier dispose également d'une solution d'authentification de type RADIUS ou bien avec un LDAP type Active Directory. Dans la liste qui s'affiche, appuyez simplement sur + Add pour ajouter un utilisateur.

Commencez par donner un nom pour l'utilisateur, puis un mot de passe et enfin un nom complet pour la partie informative seulement (mais pratique pour le retrouver parfois). N'oubliez pas de cliquer sur Click to create a user certificate afin de pouvoir utiliser le certificat serveur que nous avons mis en place dans les étapes précédentes.

La partie de génération du certificat doit disposer d'un nom et de l'autorité de certification qui va autoriser votre tunnel. Les autres paramètres peuvent rester tels que définis par défaut.

Maintenant que l'utilisateur est dans la liste, il ne nous reste plus qu'à exporter le certificat pour permettre la connexion de notre utilisateur.

Export des certificats

Les utilisateurs étant définis localement, leur permettre d'utiliser la connexion VPN nomade OpenVPN va imposer d'exporter la configuration afin que le client puisse l'installer sur son poste utilisateur. Sur pfSense l'export s'effectue depuis le menu VPN > OpenVPN. Si vous n'avez pas le menu Client Export, alors il faut procéder à l'installation du package. Se rendre sur System > Package Manager. Dans la section Available Packages, dans la zone de recherche, saisir openvpn Cliquez sur + Install pour mettre en place le package d'export openvpn

Si vous avez ce package d'export, cliquez sur VPN > OpenVPN > Client Export.
Dans la partie Remote Access Server, vous pouvez choisir depuis quelle définition de serveur distant vous souhaitez procéder à l'export. Comme nous n'avons qu'un serveur, passons à la suite.

Descendez jusqu'à la partie Clients Settings pour trouver votre configuration utilisateur. Un certain nombre de configurations sont disponibles.

Règles de pare-feu

ATTENTION : tout cela ne fonctionnera que si vous autorisez le flux à joindre votre réseau privé caché derrière le VPN. Pour ajouter des règles : Firewall > Rules > WAN et cliquez sur + Add.

Il faut laisser passer le flux arrivant sur votre interface WAN (ou l'interface du CARP si jamais) et en spécifiant le protocole UDP. OpenVPN est un mécanisme fondé sur UDP...

L'objectif est de laisser passer n'importe quelle source arrivant sur l'adresse WAN du firewall et se présentant avec le port 1194.

Quand la règle de configuration du firewall est faite, n'oubliez pas de faire Apply changes afin d'activer les modifications.

Maintenant que la règle de firewall principale est active, laissant passer le flux de OpenVPN à travers le firewall, il faut également autoriser le flux OpenVPN à traverser. Pour cela, allez sur Firewall > Rules > OpenVPN et faites Add.

Faites une règle générique qui laisse passer tout le trafic à travers cette interface.

Lorsque vous établissez la connexion depuis OpenVPN Gui (dans la barre de systray), après quelques secondes vous obtenez une bulle de confirmation de bon établissement de lien VPN. En faisant un

C:\> ipconfig
vous devriez obtenir quelque chose de ce type Et maintenant que vous avez une connexon un petit ping pour s'assurer que le flux passe (si ce n'est pas le cas, assurez-vous tout de même que votre équipement distant laisse passer l'ICMP dans son propre firewall)