Mise en place du WPA Enterprise (802.1X et RADIUS) avec PEAP-MS-CHAP v2 sur les points d'accès WiFi UniFi
- Mise à jour le 29 juil. 2023
De nos jours, l'accès au WiFi devient une norme courante dans un grand nombre d'entreprises. Malheureusement, cela soulève de nombreuses préoccupations concernant la sécurité. En effet, lorsque l'on définit un mot de passe WPA unique pour un grand nombre d'utilisateurs, cela nécessite de changer fréquemment le mot de passe de l'accès au WiFi (j'ai déjà écrit un article à ce sujet pour le faire via GPO ici), mais cela peut être fastidieux à mettre en place.
Nous allons donc voir ici comment mettre en œuvre l'accès WPA Enterprise afin de renforcer la sécurité et répondre aux préoccupations énoncées ci-dessus.
⚠️Note : Veuillez noter que le protocole PEAP-MSCHAPv2 semble sentir des fesses et ne pas être totalement sécurisé. Sources : https://www.youtube.com/. Envisagez d'utiliser EAP-TLS à la place (voir par exemple la) ! ⚠️
Note II : PEAP-MSCHAPv2 utilise un login et un mot de passe traditionnels pour authentifier les utilisateurs (basés ici sur les comptes Active Directory), alors que EAP-TLS utilise des certificats X.509.
- Les améliorations et avantages de WPA Enterprise sont :
- Authentification utilisateur plus robuste par rapport au WPA standard : grâce à l'utilisation d'(EAP).
- Identifiants d'utilisateur individuels : chaque utilisateur dispose de ses propres identifiants, généralement sous forme de nom d'utilisateur et de mot de passe ou de certificats numériques.
- Authentification et gestion centralisées : par exemple en utilisant le protocole RADIUS.
- Contrôle précis des accès des utilisateurs : il est plus facile d'ajouter ou de supprimer l'accès des utilisateurs.

Serveur d'authentification
Installation du rôle NPS
Nous avons deux options pour installer le rôle NPS : en utilisant PowerShell ou via l'interface graphique.
PowerShell
- Pour une installation rapide en utilisant PowerShell, exécutez la commande suivante :
PS C:\Users\administrator.STD> Install-WindowsFeature NPAS -Restart -IncludeManagementTools
Interface graphique utilisateur (GUI)
- Depuis le Gestionnaire de serveur, accéder à Ajouter des rôles et des fonctionnalités :

- Sélectionner Installation basée sur un rôle ou une fonctionnalité :

- Sélectionner le serveur :

- Sélectionner le rôle Network Policy Server :

- Cliquer simplement sur Suivant :

- Cochez Redémarrer le serveur de destination et cliquez sur Installer :

Génération d'un certificat auto-signé
Comme vu précédemment sur le schéma, un tunnel TLS est établi entre le supplicant et le serveur NPS. Pour ce faire, nous avons le choix entre créer un certificat sur un serveur ADCS (méthode abordée dans le tutoriel EAP-TLS) ou en générer un auto-signé. Dans cette option, nous devrons déployer le certificat sur chaque supplicant qui se connectera aux Points d'accès.
PowerShell
- À partir du serveur NPS, ouvrez une console PowerShell :
PS C:\Users\administrator.STD> New-SelfSignedCertificate -DnsName "nps.std.local" -KeyLength 2048 -CertStoreLocation cert:\LocalMachine\My -NotAfter (Get-Date).AddYears(20)
Exporter le certificat
Afin d'être reconnu en tant qu'entité de confiance par les Supplicants Windows, le certificat doit être exporté et ajouté à la liste de certificats de confiance. Je montrerai comment faire cela ultérieurement pour le Supplicant.
- Ouvrir la Console de gestion Microsoft :

- Cliquer sur Ajouter ou supprimer des extensions… :

- Sélectionner Certificats et cliquer sur OK :

- Sélectionner Compte de l'ordinateur :

- Sélectionner Ordinateur local :

- Enfin, cliquer sur OK :

- Le certificat généré devrait apparaître sous Certificats > Personnel > Certificats :

- Faire un clic droit sur le certificat et sélectionner Exporter… :

- Cliquer sur Suivant :

- Ne pas exporter la clé privée :

- Sélectionner le format du certificat, par exemple DER :

- Spécifier le chemin où l'on souhaite exporter le certificat :

- Cliquer sur Terminer pour terminer :

- Le certificat exporté devrait apparaître dans le répertoire spécifié :

Configurer NPS
- Ouvrir la Console du serveur Network Policy (NPS) :

Déclarer les points d'accès en tant que clients RADIUS
- Naviquer dans NPS > Clients et serveurs RADIUS > Client RADIUS et cliquez sur Nouveau :

- Pour chaque point d'accès, donner un nom, définir l'adresse IP et donner un mot de passe fort (il faut utiliser le même pour chaque point d'accès) :

- Les points d'accès précédemment ajoutés devraient être visibles dans le dossier Clients RADIUS :

Créer une politique réseau
Nous devons maintenant créer une politique réseau où nous définirons quel groupe d'utilisateurs pourra se connecter et les protocoles à utiliser.
- Cliquer sur Nouveau dans le dossier Politiques réseau :

- Donner un nom à la politique :

- Cliquer sur Ajouter pour spécifier la condition :

- Sélectionner Groupes d'utilisateurs et cliquer sur Ajouter des groupes… :

- Ajouter un groupe d'utilisateurs Active Directory, par exemple Utilisateurs du domaine :

- Cliquer sur Suivant :

- Sélectionner Accès accordé :

- Choisir Protected EAP (PEAP) comme type EAP et modifier sa configuration :

- Sélectionnez le certificat nouvellement créé et choisir Secured password (EAP-MSCHAP v2) comme type EAP :

- Cliquer sur Suivant :

- Cliquer sur Suivant :

- Enfin, cliquer sur Terminer pour créer la politique :

Configuration du serveur UniFi Network
Nous devons maintenant configurer notre serveur UniFi Network.
- Accéder au menu Profils et créer un nouveau profil RADIUS :

- Cliquez sur Create New :

- Donner un nom au profil RADIUS et ajouter l'adresse IP du serveur NPS pour le serveur d'authentification et le serveur RADIUS de comptabilité. Ne pas oublier d'ajouter le mot de passe précédemment configuré sur le serveur NPS, définir les ports, puis cliquer sur les boutons Ajouter pour valider la configuration :

- Maintenant, accéder au menu WiFi et ajouter un nouveau profil WiFi ou modifier-en un existant :

- Définir le protocole de sécurité et le profil RADIUS :

Supplicant
Dernière étape, comme expliqué précédemment, nous devons déclarer le certificat précédemment créé comme étant légitime. Pour ce faire, nous devons déployer le certificat exporté sur chaque ordinateur Supplicant qui doit se connecter au WiFi. Nous pouvons le faire manuellement ou via GPO.
Manuellement
Tout d'abord, copier le certificat sur le Supplicant.
- Ouvrir ou cliquer sur Installer un certificat :

- Choisir Utilisateur actuel ou Ordinateur local; les deux devraient fonctionner :

- Cliquer sur Parcourir, puis sélectionner Autorités de certification racines de confiance :

- Ensuite, cliquer sur Suivant :

- Cliquer sur Terminer pour terminer l'importation :

- Cliquer sur Oui sur la fenêtre d'avertissement de sécurité :

GPO
- Créer une nouvelle GPO et importer le certificat dans Configuration de l'ordinateur > Stratégies > Paramètres Windows > Paramètres de sécurité > Stratégies relatives aux clés publiques > Autorités de certification racines de confiance :

References
- https://www.securew2.com/
- https://www.youtube.com/
- https://serverfault.com/
- https://www.youtube.com/
- https://pbarth.fr/node/407
- https://pbarth.fr/node/426
- https://www.virtualizationhowto.com/2020/05/ubiquiti-unifi-radius-authentication-configuration/
- https://forsenergy.com/fr-fr/radius/html/25b886ed-75e9-4f49-8ca0-c90991dfc20e.htm