Chapitre 1217 minIntermédiaire
Annuaire LDAP et RADIUS : authentification 802.1X avec NPS
Par Josselyn C., prof de BTS SIO. Mis à jour le .
À la fin de ce chapitre, tu sauras
- lire un nom distinctif et écrire un filtre LDAP ;
- relier une application à l'annuaire en LDAPS ;
- expliquer les rôles de 802.1X et le fonctionnement de RADIUS ;
- configurer NPS et un switch pour l'authentification 802.1X.
4 exercices corrigés1 schéma
LDAP (Lightweight Directory Access Protocol) est le protocole qui sert à interroger et à modifier un annuaire, comme Active Directory : une application s'en sert pour vérifier un mot de passe ou lire les groupes d'un utilisateur. RADIUS (Remote Authentication Dial-In User Service) est le protocole avec lequel un équipement réseau (switch, borne Wi-Fi, pare-feu, VPN) demande à un serveur central si un utilisateur ou un appareil a le droit de se connecter. Ce chapitre explique les deux, la façon dont les applications de Sorbier s'appuient sur l'annuaire, puis met en place l'authentification 802.1X des postes avec le serveur RADIUS de Windows, NPS.
Un annuaire, des noms distinctifs
Un annuaire LDAP range des entrées dans un arbre, le DIT (Directory Information Tree). Chaque entrée est un objet (un utilisateur, un groupe, un ordinateur, une unité d'organisation) avec des attributs (cn, mail, memberOf…), et ses types possibles sont définis par le schéma (l'attribut objectClass dit de quel type est l'entrée).
Une entrée est désignée par son nom distinctif (DN, Distinguished Name), qui décrit son chemin dans l'arbre, de l'entrée vers la racine :
CN=Julie Lefèvre,OU=Comptabilite,OU=Utilisateurs,OU=Sorbier,DC=ad,DC=sorbier,DC=example
| Élément | Signification |
|---|---|
DC=ad,DC=sorbier,DC=example | Les composants du domaine (Domain Component) : la racine, ad.sorbier.example |
OU=… | Une unité d'organisation, un « dossier » de l'annuaire |
CN=… | Le nom commun (Common Name) de l'objet |
| RDN | La première partie du DN (CN=Julie Lefèvre), unique dans son conteneur |
Active Directory est un annuaire LDAP (avec Kerberos et le DNS autour). Les attributs propres à AD les plus utilisés : sAMAccountName (l'identifiant d'ouverture de session, jlefevre), userPrincipalName (jlefevre@ad.sorbier.example), memberOf (les groupes de l'objet), userAccountControl (compte activé ou désactivé). L'organisation des OU et des groupes de Sorbier est décrite dans le cours Windows Server.
Les ports et la sécurité de LDAP
| Service | Port | Remarque |
|---|---|---|
| LDAP | TCP 389 (et UDP 389 pour la localisation des contrôleurs) | En clair, sauf si le client demande StartTLS ou si l'échange est signé |
| LDAPS | TCP 636 | LDAP dans TLS dès la connexion ; le contrôleur a besoin d'un certificat |
| Catalogue global | TCP 3268 (en clair), 3269 (TLS) | Recherche dans toute la forêt, avec une partie des attributs |
| Kerberos | TCP et UDP 88 | L'authentification des membres du domaine |
Une liaison (bind) est l'étape où le client s'authentifie auprès de l'annuaire. La liaison simple envoie l'identifiant et le mot de passe tels quels : sur le port 389 sans TLS, n'importe qui sur le réseau les lit. La liaison SASL (Kerberos, par exemple) n'envoie pas le mot de passe.
Interroger l'annuaire : filtres et outils
Une recherche LDAP précise une base (où commencer), une portée (cette entrée, un niveau, ou tout le sous-arbre), un filtre et les attributs à renvoyer. Les filtres s'écrivent en notation préfixée, entre parenthèses :
| Filtre | Sens |
|---|---|
(sAMAccountName=jlefevre) | L'objet dont l'identifiant est jlefevre |
(&(objectCategory=person)(objectClass=user)(department=Comptabilité)) | ET : les utilisateurs du service Comptabilité (objectCategory=person écarte les comptes d'ordinateur, dont la classe dérive de user) |
(|(mail=*@sorbier.example)(mail=*@ad.sorbier.example)) | OU : les adresses de l'un ou l'autre domaine |
(!(mail=*)) | NON : les objets sans attribut mail |
(memberOf=CN=GG_Techniciens,OU=Groupes,OU=Sorbier,DC=ad,DC=sorbier,DC=example) | Les membres directs d'un groupe |
Depuis un serveur Debian (paquet ldap-utils) :
ldapsearch -H ldaps://srv-ad.ad.sorbier.example -D "svc-ldap@ad.sorbier.example" -W \
-b "DC=ad,DC=sorbier,DC=example" \
"(&(objectCategory=person)(objectClass=user)(sAMAccountName=jlefevre))" cn mail memberOf
-H donne l'adresse du serveur (ici en LDAPS), -D le compte de liaison, -W demande son mot de passe, -b la base de recherche. Le poste ou le serveur doit faire confiance à l'autorité qui a signé le certificat du contrôleur.
Sous Windows, le module Active Directory de PowerShell accepte les mêmes filtres :
Get-ADUser -LDAPFilter "(department=Comptabilité)" -Properties mail | Select-Object Name, mail
Les applications qui s'appuient sur l'annuaire
Plutôt que de créer des comptes dans chaque application, on les relie à l'annuaire : un salarié a un seul mot de passe, et la désactivation de son compte AD lui ferme tout d'un coup.
| Application | Comment elle utilise l'annuaire |
|---|---|
| GLPI | Authentification des utilisateurs et import de leurs informations par LDAP (cours GLPI) |
| pfSense | System > User Manager > Authentication Servers : un serveur de type LDAP (connexion des administrateurs, VPN) ou RADIUS ; test dans Diagnostics > Authentication |
| Proxmox VE | Un « domaine » d'authentification de type Active Directory ou LDAP |
| Supervision, journaux | Connexion des administrateurs avec leur compte du domaine |
Chaque application utilise un compte de service dédié, sans droit particulier (lecture de l'annuaire seulement), avec un mot de passe long, et elle se connecte en LDAPS. Les groupes de l'annuaire (« GG_Admins_Pare-feu ») décident ensuite qui a quel rôle dans l'application.
RADIUS : le contrôle d'accès des équipements réseau
Un switch ou une borne Wi-Fi ne connaît pas les utilisateurs. Quand un appareil se connecte, l'équipement demande à un serveur RADIUS : « cet utilisateur, cet appareil, a-t-il le droit d'entrer, et avec quels réglages ? ». RADIUS fournit les trois « A » : authentification (qui es-tu ?), autorisation (qu'as-tu le droit de faire : quel VLAN ?) et traçabilité (accounting : quand t'es-tu connecté, combien de temps ?).
| Élément | Valeur |
|---|---|
| Ports | UDP 1812 (authentification), UDP 1813 (traçabilité) |
| Client RADIUS | L'équipement qui pose la question : switch, borne ou contrôleur Wi-Fi, pare-feu, concentrateur VPN |
| Serveur RADIUS | Celui qui décide : NPS sous Windows Server, FreeRADIUS sous Linux |
| Secret partagé | Un mot de passe propre à chaque client RADIUS, qui authentifie les messages entre le client et le serveur |
802.1X : l'authentification à la prise réseau
La norme IEEE 802.1X fait de chaque port de switch (ou de chaque association Wi-Fi) une porte fermée : tant que l'appareil ne s'est pas authentifié, le port ne laisse passer que les messages d'authentification. Trois acteurs :
- Le poste se branche. Le switch (l'authentificateur) lui demande de s'identifier, en EAP transporté directement dans des trames Ethernet (EAPOL, EAP over LAN).
- Le poste (le demandeur) répond. Le switch place cette réponse dans une requête RADIUS (Access-Request) vers NPS, en UDP 1812.
- NPS (le serveur d'authentification) dialogue avec le poste à travers le switch, selon la méthode EAP choisie, et vérifie l'identité dans Active Directory.
- NPS répond Access-Accept, éventuellement avec des attributs (le VLAN à attribuer), ou Access-Reject.
- Le switch ouvre le port, dans le VLAN demandé, ou le laisse fermé.
Les méthodes EAP
| Méthode | Ce qui prouve l'identité du poste | Verdict |
|---|---|---|
| EAP-TLS | Un certificat (de la machine ou de l'utilisateur), délivré par l'autorité interne et déployé par inscription automatique | Recommandé : aucun mot de passe en jeu, rien à voler par hameçonnage |
| PEAP-MSCHAPv2 | L'identifiant et le mot de passe du domaine, dans un tunnel TLS ouvert avec le certificat du serveur NPS | Encore très répandu, mais en recul : la sécurité dépend du mot de passe et du contrôle du certificat du serveur par le poste |
| MAB (MAC Authentication Bypass) | L'adresse MAC de l'appareil, comparée à une liste | Pour les imprimantes, téléphones, caméras qui ne savent pas faire 802.1X ; une MAC se falsifie facilement, donc VLAN restreint |
Configurer NPS sur Windows Server 2025
Chez Sorbier, NPS est installé sur srv-ad et srv-ad2, pour que l'authentification survive à la panne d'un serveur. Les étapes, sur srv-ad :
1. Installer le rôle et l'inscrire dans l'annuaire :
Install-WindowsFeature NPAS -IncludeManagementTools
Dans la console Serveur NPS (Network Policy Server), clic droit sur NPS (local) > Inscrire un serveur dans Active Directory : le serveur rejoint le groupe Serveurs RAS et IAS, qui lui donne le droit de lire les propriétés d'accès distant des comptes.
2. Déclarer les clients RADIUS. Dans Clients et serveurs RADIUS > Clients RADIUS > Nouveau : un nom, l'adresse de l'équipement et un secret partagé, long et différent pour chaque client. Ou en PowerShell :
New-NpsRadiusClient -Name "SW-ETAGE1" -Address "192.168.10.211" -SharedSecret (Read-Host "Secret")
New-NpsRadiusClient -Name "SW-ETAGE2" -Address "192.168.10.212" -SharedSecret (Read-Host "Secret")
Get-NpsRadiusClient
3. Créer la stratégie réseau. L'assistant de la page d'accueil, Configuration standard > Serveur RADIUS pour les connexions câblées ou sans fil 802.1X > Configurer 802.1X, crée d'un coup une stratégie de demande de connexion et une stratégie réseau. Pour le filaire de Sorbier :
| Élément de la stratégie | Valeur |
|---|---|
| Type de connexion | Connexions câblées sécurisées (Ethernet) |
| Clients RADIUS | Les switchs déclarés à l'étape 2 |
| Méthode d'authentification | Microsoft : Carte à puce ou autre certificat (EAP-TLS), avec le certificat de NPS délivré par Sorbier-AC |
| Groupes | Ordinateurs du domaine (authentification de la machine par son certificat) |
| Attributs RADIUS standard (VLAN) | Tunnel-Type = Virtual LANs (VLAN), Tunnel-Medium-Type = 802, Tunnel-Pvt-Group-ID = 10 |
Les stratégies réseau sont évaluées dans l'ordre, de haut en bas : la première dont les conditions correspondent s'applique, et elle accorde ou refuse l'accès. Une stratégie pour le groupe des techniciens qui renvoie le VLAN 99, placée avant la stratégie générale, attribue ainsi le VLAN d'administration aux seuls postes des techniciens.
4. Lire les journaux. Chaque décision est inscrite dans l'Observateur d'événements, journal Sécurité (événements 6272 : accès accordé ; 6273 : accès refusé, avec le motif) et dans la vue Rôles de serveur > Services de stratégie et d'accès réseau. Le motif d'un refus (stratégie qui ne correspond pas, certificat inconnu, compte désactivé) s'y lit directement.
Configurer le switch
Sur SW-ETAGE1 (Cisco), le switch devient client RADIUS de srv-ad et srv-ad2, puis chaque port d'accès exige 802.1X, avec MAB en repli pour les imprimantes :
SW-ETAGE1(config)# aaa new-model
SW-ETAGE1(config)# radius server NPS1
SW-ETAGE1(config-radius-server)# address ipv4 192.168.10.177 auth-port 1812 acct-port 1813
SW-ETAGE1(config-radius-server)# key <secret-partagé-1>
SW-ETAGE1(config)# radius server NPS2
SW-ETAGE1(config-radius-server)# address ipv4 192.168.10.181 auth-port 1812 acct-port 1813
SW-ETAGE1(config-radius-server)# key <secret-partagé-1>
SW-ETAGE1(config)# aaa group server radius GRP-NPS
SW-ETAGE1(config-sg-radius)# server name NPS1
SW-ETAGE1(config-sg-radius)# server name NPS2
SW-ETAGE1(config)# aaa authentication dot1x default group GRP-NPS
SW-ETAGE1(config)# aaa authorization network default group GRP-NPS
SW-ETAGE1(config)# aaa accounting dot1x default start-stop group GRP-NPS
SW-ETAGE1(config)# dot1x system-auth-control
SW-ETAGE1(config)# ip radius source-interface Vlan99
SW-ETAGE1(config)# interface range GigabitEthernet1/0/1 - 20
SW-ETAGE1(config-if-range)# switchport mode access
SW-ETAGE1(config-if-range)# switchport access vlan 10
SW-ETAGE1(config-if-range)# authentication port-control auto
SW-ETAGE1(config-if-range)# dot1x pae authenticator
SW-ETAGE1(config-if-range)# mab
| Commande | Rôle |
|---|---|
aaa new-model | Active le cadre d'authentification moderne du switch |
radius server … | Déclare un serveur RADIUS, son adresse et le secret partagé (le même que dans NPS pour ce switch) |
aaa authorization network … | Accepte les attributs renvoyés par NPS, dont le VLAN |
dot1x system-auth-control | Active 802.1X sur le switch |
ip radius source-interface Vlan99 | Les requêtes partent de l'adresse de gestion 192.168.10.211, celle que NPS connaît |
authentication port-control auto | Le port reste fermé jusqu'à l'authentification |
mab | Repli sur l'adresse MAC pour les appareils sans 802.1X |
show authentication sessions interface GigabitEthernet1/0/5 details affiche l'état d'un port : méthode utilisée (dot1x ou mab), résultat, VLAN attribué. La même logique s'applique au Wi-Fi : la borne ou le contrôleur est le client RADIUS, et le réseau des salariés est en WPA3-Entreprise (Cybersécurité des infrastructures).
NPS ou FreeRADIUS ?
| Critère | NPS (Windows Server 2025) | FreeRADIUS (3.2 dans Debian 13) |
|---|---|---|
| Lien avec Active Directory | Natif : groupes, comptes, certificats de l'autorité interne | Par LDAP et ntlm_auth (Samba), plus de configuration |
| Administration | Console graphique, PowerShell | Fichiers de configuration, très souple |
| Méthodes EAP | EAP-TLS, PEAP | EAP-TLS, PEAP, EAP-TTLS et d'autres |
| Usage type | Réseau d'entreprise avec Active Directory | Opérateurs, établissements d'enseignement (eduroam), réseaux sans Windows |
Exercices
Exercice 1 sur 4 Lire un DN et écrire un filtre Réussi À revoir
- Quel est le domaine, l'OU et le nom de l'objet
CN=PC-COMPTA-03,OU=Postes,OU=Ordinateurs,OU=Sorbier,DC=ad,DC=sorbier,DC=example? - Écris le filtre LDAP des comptes utilisateurs désactivés, sachant qu'un compte est désactivé quand le bit de valeur 2 de
userAccountControlest à 1. La règle de correspondance d'Active Directory pour tester un bit s'écrituserAccountControl:1.2.840.113556.1.4.803:=2. - Écris le filtre des utilisateurs qui n'ont pas d'adresse électronique.
Voir la réponseMasquer la réponse de l'exercice 1
- Domaine
ad.sorbier.example; OUPostes, dansOrdinateurs, dansSorbier; objetPC-COMPTA-03, un ordinateur. (&(objectCategory=person)(objectClass=user)(userAccountControl:1.2.840.113556.1.4.803:=2)).objectClass=userseul renverrait aussi les comptes d'ordinateur désactivés, car la classecomputerdérive deuser;objectCategory=personles écarte. Sous PowerShell,Search-ADAccount -AccountDisabled -UsersOnlyfait la même recherche.(&(objectCategory=person)(objectClass=user)(!(mail=*))). SansobjectCategory=person, tous les comptes d'ordinateur, qui n'ont jamais d'adresse, sortiraient aussi.
Tu avais trouvé ?
Exercice 2 sur 4 GLPI ne se connecte plus à l'annuaire Réussi À revoir
Sorbier remplace ses contrôleurs par des Windows Server 2025 neufs, dans un nouveau domaine. Depuis, l'authentification LDAP de GLPI, configurée sur srv-ad port 389 avec un compte de liaison simple, échoue.
- Quelle est la cause la plus probable ?
- Que faut-il configurer, côté contrôleurs et côté GLPI ?
- Pourquoi ne faut-il pas « réparer » en désactivant l'exigence ?
Voir la réponseMasquer la réponse de l'exercice 2
- Sur un domaine neuf en Windows Server 2025, les contrôleurs exigent la signature LDAP : une liaison simple en clair sur le port 389 est refusée.
- Côté contrôleurs : un certificat pour chaque contrôleur, délivré par l'autorité interne (modèle de contrôleur de domaine), qui active LDAPS. Côté GLPI : le serveur en
ldaps://srv-ad.ad.sorbier.example, port 636, et le certificat de l'autorité interne installé sur le serveur GLPI pour qu'il fasse confiance au contrôleur. - Une liaison simple en clair fait passer le mot de passe du compte de service sur le réseau : n'importe qui capable de capturer le trafic le récupère. L'exigence protège aussi contre le relais d'authentification.
Tu avais trouvé ?
Exercice 3 sur 4 Les acteurs de 802.1X Réussi À revoir
Pour l'accès Wi-Fi des salariés en WPA3-Entreprise, Sorbier utilise une borne Wi-Fi 192.168.10.216, NPS sur srv-ad et des certificats machine.
- Qui est le demandeur, l'authentificateur, le serveur d'authentification ?
- Qui est le « client RADIUS » ? Que faut-il déclarer dans NPS ?
- Quels flux autorises-tu entre le VLAN 99 et les serveurs ?
Voir la réponseMasquer la réponse de l'exercice 3
- Demandeur : le poste (son logiciel 802.1X, avec son certificat machine). Authentificateur : la borne Wi-Fi. Serveur d'authentification : NPS sur
srv-ad. - Le client RADIUS est la borne : on la déclare dans Clients RADIUS avec son adresse
192.168.10.216et un secret partagé, saisi aussi dans la configuration de la borne. - UDP 1812 et 1813 de la borne (VLAN 99) vers
srv-adetsrv-ad2. Rien dans l'autre sens n'est à ouvrir à l'initiative des serveurs.
Tu avais trouvé ?
Exercice 4 sur 4 Le VLAN des techniciens Réussi À revoir
NPS a deux stratégies réseau, dans cet ordre : « Postes du domaine » (condition : groupe Ordinateurs du domaine, VLAN 10), puis « Techniciens » (condition : groupe GG_Postes_Techniciens, VLAN 99).
- Le poste de Chloé, membre des deux groupes, se connecte. Dans quel VLAN arrive-t-il ? Pourquoi ?
- Comment corriger ?
- Où vérifies-tu, côté serveur et côté switch, quelle stratégie a été appliquée ?
Voir la réponseMasquer la réponse de l'exercice 4
- Dans le VLAN 10 : NPS applique la première stratégie dont les conditions correspondent, et « Postes du domaine » correspond déjà.
- Monter la stratégie « Techniciens » au-dessus de « Postes du domaine » (ordre de traitement 1), pour que la règle la plus précise soit évaluée d'abord.
- Côté serveur, l'événement 6272 du journal Sécurité de
srv-ad, qui nomme la stratégie réseau appliquée. Côté switch,show authentication sessions interface <port> details, qui affiche le VLAN attribué.
Tu avais trouvé ?