Double Authentification OpenVPN avec Pfsense

Bonjour à tous,

Etant donné le contexte sécuritaire a la période de rédaction de ce tutoriel, je penses qu’il est important de sécuriser les connexions distantes à notre infrastructure grâce à la double authentification (2FA).

Le but de cet article sera donc de mettre en place sur un utilisateur nomade, la double authentification qui va nous permettre d’améliorer le processus d’identification des utilisateurs à l’extérieur du réseau.

En préambule de ce tutoriel, vous devez avoir déjà votre serveur PFsense en place et les configurations OpenVPN doivent déjà fonctionner dans votre infrastructure.




1- Installation du paquet FreeRadius

Nous devons commencer par installer le paquet freeradius3 disponible dans le Package Manager

System > Package Manager > Available Packages

Chercher le paquet freeradius3 et cliquer sur « Install »





2 – Configuration du paquet FreeRadius

Rendez-vous dans le répertoire Services > FreeRADIUS, sous l’onglet Interfaces cliquez sur « Add » pour ajouter une interface et renseigner les informations suivantes

Interface IP Address127.0.0.1
Port1812
Interface TypeAuthentication
IP VersionIPv4
DescriptionFreeRadius Authentication




Enregistrer les modifications





Se rendre dans l’onglet NAS / Client et cliquer sur « Add » pour ajouter les informations ci-dessous

Client IP Address127.0.0.1
Client IP VersionIPv4 ou IPV6 (en fonction de votre conf)
Client ShortnameOpenVPN
Client Shared SecretJ5d393X79mgCuZA7wjLGHs9Rp6yR98m
Client ProtocolUDP
Client Typeother
Require Message AuthenticatorNo
Max Connections16
DescriptionFreeRadius Auth for OpenVPN




Enregistrer les modifications



Maintenant nous devons notre rendre dans l’onglet Users pour ajouter un nouvel utilisateur

Usernamevotrenomdeuser
Passwordvotremotdepasse
Password EncryptionCleartext-Password
One-Time PasswordEnable One-Time Password (OTP) for this user
OTP Auth MethodGoogle-Authenticator
Init-SecretCliquer sur Generate OTP Secret
PINEntrez un code pin entre 4 et 8 chiffres à mémoriser
QR CodeCliquer sur générer un QR Code et scanner le QR code avec votre application mobile 2FA




Enregistrer





3 – Définition de FreeRadius en tant que serveur d’authentification

Il faut se rendre dans Menu System > User Manager > Authentication Servers et « Add » pour ajouter notre authentification via FreeRadius

Descriptive Namelocalfreeradius
TypeRADIUS
ProtocolPAP
Hostname or IP address127.0.0.1
Shared SecretJ5d393X79mgCuZA7wjLGHs9Rp6yR98m
Services offeredAuthentication and Accounting
Authentiocation port1812
Accounting port1813
Authentication Timeout5
RADIUS NAS IP AttributeLAN




Enregistrer les modifications





Nous pouvons aller dans le menu VPN > OpenVPN > Servers pour éditer notre configuration OpenVPN serveur et définir Localfreeradius en tant que serveur d’authentification par défaut



Dans le groupe Advanced Configuration ajouter l’option « reneg-sec 0 » dans Custom options

Enregistrer les modifications et nous avons terminé la configuration de notre double authentification



4 – Test de fonctionnement

Pour tester le fonctionnement de notre configuration, nous allons nous rendre dans le menu Diagnostics > Authentification

Authentification Serverlocalfreeradius
UsernameLogin utilisateur nomaed
Password PIN + code généré par Google Authenticator