Résoudre l’absence de paquets RADIUS lors de l’authentification MAC‑Based sur NPS Windows Server

Vous activez la « MAC Authentication Bypass » sur votre borne Wi‑Fi, mais aucun paquet RADIUS n’apparaît dans Wireshark ? Cette procédure pas‑à‑pas explique pourquoi le flux est invisible avec NPS sous Windows Server et détaille une méthode éprouvée pour rendre l’authentification MAB totalement fonctionnelle.

Sommaire

Problème : aucune trame RADIUS visible lors de l’authentification MAC‑Based avec NPS

Vue d’ensemble

Dans certains déploiements, un point d’accès ou un commutateur doit autoriser des équipements dépourvus de pile 802.1X (imprimantes, téléphones IP, terminaux IoT, etc.) en se fondant uniquement sur leur adresse MAC. Ce mécanisme, communément appelé MAC Authentication Bypass (MAB), encapsule la MAC du client dans une requête RADIUS Access‑Request destinée à Network Policy Server (NPS).
Lorsque rien n’est mal configuré, le couple « Access‑Request / Access‑Accept » est clairement visible dans une capture Wireshark filtrée sur le port 1812. Or, il arrive qu’aucun paquet ne soit vu, même si le client rejoint le SSID : l’accès réseau se fait sans authentification centralisée, compromettant la traçabilité et le contrôle d’accès.

Symptômes typiques

  • Le client reçoit une adresse IP du VLAN « invité » ou du VLAN par défaut.
  • Le journal des événements NPS (« ID 6272 : Network Policy Server granted access ») reste muet.
  • Sur le point d’accès, la session apparaît comme « Open » ou « Auth Unknown ».
  • Aucune entrée RADIUS n’est capturée dans Wireshark malgré le filtre udp.port == 1812.

Analyse de la cause racine

L’absence de trames RADIUS est le plus souvent liée à l’un des éléments suivants :

  1. Identité non reconnue par NPS : par défaut, NPS recherche le nom d’utilisateur dans l’attribut RADIUS User‑Name. Si cet attribut est absent ou mal formaté, l’accès est bloqué avant même la génération de la requête.
  2. Méthode d’authentification incompatibles : MAB n’implémente pas EAP ; si la stratégie NPS n’autorise que PEAP ou EAP‑TLS, le switch/point d’accès n’enverra rien.
  3. Politique incorrecte côté équipement réseau : certains firmware désactivent l’envoi de RADIUS lorsqu’ils ne trouvent pas de VLAN ou de profil d’accès associé.
  4. Port RADIUS erroné : 1645 versus 1812 ou utilisation de RADIUS‑CoA sans écouteur actif sur NPS.
  5. Firewalls ou ACL : une règle bloque les paquets sortants/entrants vers le serveur NPS.

Solution mise en œuvre

La matrice ci‑dessous résume la démarche validée sur Windows Server 2022 NPS + points d’accès Cisco Meraki (v28) ; elle s’applique de façon comparable à Aruba, HPE/Comware, Juniper EX, Extreme ou Cambium. Chaque étape est détaillée plus loin avec scripts et bonnes pratiques.

ÉtapeActionDétails clés
1Création des comptes Active DirectoryCréer pour chaque équipement un compte dont le nom d’utilisateur et le mot de passe correspondent à la MAC sans séparateurs (ex. 001122334455). Regrouper ces comptes dans un groupe AD dédié (p. ex. « MAC Bypass »), ce qui simplifie le filtrage par stratégie.
2Activation de l’attribut « User Identity » dans le registre NPSAjouter la valeur DWORD User Identity Attribute = 31 (0x1F) sous HKLM\SYSTEM\CurrentControlSet\Services\RemoteAccess\Policy. Cet attribut (Calling‑Station‑Id) remplace User‑Name et force NPS à utiliser l’adresse MAC fournie par l’équipement réseau comme identifiant principal.
3Création d’une stratégie réseau NPS « MAC Bypass »Condition : appartenance au groupe AD « MAC Bypass ». Constraints : laisser PAP seul (désactiver MS‑CHAP, EAP…). Settings (facultatif) : attribuer un VLAN (p. ex. Tunnel‑Type = VLAN, Tunnel‑Medium‑Type = 802, Tunnel‑Pvt‑Group‑ID = 30).
4Activation du MAB sur le commutateur / point d’accèsPar commande CLI ou interface Web :
Cisco IOS: authentication order mab
Aruba Instant: aaa authentication mac-auth
Meraki Dashboard : Activer « MAC-based RADIUS auth » dans Wireless > Access Control.
5Vérification et capture WiresharkRedémarrer l’interface ou relancer l’association. Observer maintenant les paquets Access‑Request / Access‑Accept sur le port 1812 UDP. Éventuellement, activer le Accounting pour tracer Accounting‑Start / Accounting‑Stop.

Détails techniques pour chaque étape

1. Création automatisée de comptes MAC

Pour déployer des centaines de terminaux, utilisez PowerShell :


Import-Csv .\maclist.csv | ForEach-Object {
    $sam = $_.mac -replace '[:-]', ''
    New-ADUser -Name $sam -SamAccountName $sam -AccountPassword (ConvertTo-SecureString $sam -AsPlainText -Force) `
               -PasswordNeverExpires $true -Enabled $true
    Add-ADGroupMember -Identity "MAC Bypass" -Members $sam
}

2. Modification du registre NPS

Évitez les erreurs de frappe : exécutez en Elevated PowerShell :


New-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\RemoteAccess\Policy" `
                 -Name "User Identity Attribute" -Value 31 -PropertyType DWord -Force

Un redémarrage du service IAS (Network Policy Server) est requis.

3. Configuration fine de la stratégie NPS

  • Dans l’onglet Conditions, ajoutez Windows Group = « MAC Bypass ».
  • Dans Constraints > Authentication Methods, décochez tout sauf PAP, unencrypted authentication.
  • Dans Settings → Standard, ajoutez les attributs VLAN, ou un Filter‑Id pour appliquer un profil QoS/ACL.

4. Activation côté infrastructure réseau

Le matériel doit envoyer une requête RADIUS même en l’absence d’EAP. Exemple Cisco IOS :


interface GigabitEthernet1/0/10
  switchport access vlan 2
  authentication host-mode multi-auth
  authentication order mab
  mab
  dot1x pae authenticator
  radius-server dead-criteria time 10 tries 3
!

Pour les architectures Wi‑Fi, vérifiez que la passerelle RADIUS (contrôleur ou cloud) utilise le bon secret partagé et la bonne IP du NPS.

5. Contrôle en temps réel

Dans Wireshark, ajoutez la colonne RADIUS Code (Analyse > Colonnes) pour distinguer rapidement 1 = Access‑Request, 2 = Access‑Accept et 3 = Access‑Reject. Filtre utile :

udp.port==1812 && (radius.code==1 || radius.code==2)

Call‑Flow détaillé

  1. Association Wi‑Fi – Le client répond au beacon et au probe ; l’AP crée une table de station.
  2. Échec 802.1X – Aucun paquet EAPOL‑Start n’est généré ; le délai expire.
  3. Access‑Request (Switch/AP → NPS)
    User‑Name: 001122334455
    Calling‑Station‑Id: 00‑11‑22‑33‑44‑55
    NAS‑Identifier, NAS‑IP‑Address, etc.
  4. Recherche d’identité (NPS) – Grâce à la valeur de registre (31), NPS mappe la MAC vers le compte AD.
  5. Access‑Accept (NPS → Switch/AP) – Contient éventuellement les attributs VLAN ou un Filter‑Id.
  6. Autorisation du port – Le commutateur/point d’accès place la session dans le VLAN voulu et ouvre le trafic.

Bonnes pratiques de sécurité

  • Utiliser des VLAN restreints : placez les équipements MAB dans un réseau dédié (imprimantes, téléphonie) isolé des postes utilisateurs.
  • Filtrer par ACL : autorisez uniquement les ports et services indispensables (SNMP, SIP, print).
  • Coupler MAB et DHCP Snooping : empêche l’usurpation d’IP et facilite la corrélation MAC <→ IP.
  • Surveiller régulièrement : exportez les logs NPS (Accounting) vers un SIEM pour détecter des MAC inconnues.
  • Plan de migration : lorsque l’équipement prend en charge 802.1X (firmware plus récent), planifiez la transition vers EAP‑TLS ou PEAP.

Checklist de dépannage rapide

QuestionOuiNonAction si « Non »
NPS reçoit‑il des paquets sur 1812 ?  Vérifier firewall Windows / ACL réseau.
Le compte AD existe‑t‑il ?  Créer compte & mot de passe = MAC.
Valeur registre « User Identity Attribute » = 31 ?  Ajouter la clé + redémarrer service NPS.
Stratégie NPS autorise‑t‑elle PAP ?  Décochez EAP, MS‑CHAP, etc.
Equipement réseau envoie‑t‑il MAB ?  Activer mab / « MAC RADIUS ». Firmware à jour.

Questions fréquentes (FAQ)

Comment limiter le côté « mot de passe = MAC » ?

Parce que MAB repose sur PAP en clair, la protection se fait par le réseau (VLAN, ACL) et non par le secret. Vous pouvez toutefois définir un mot de passe commun très complexe et stocker ce hash via net user <mac> <password>; mais cela complique l’automatisation.
La clé de registre User Identity Attribute est‑elle prise en charge par Microsoft ?

Oui ; elle est officiellement documentée dans la KB 2401676 pour NPS 2008 R2 et reste valable sous Server 2022. Elle n’est simplement pas exposée dans l’interface graphique.
Puis‑je appliquer un VLAN différent selon le type d’équipement ?

Absolument : ajoutez un vendor‑specific attribute (VSA) ou plusieurs stratégies NPS filtrant sur Filter‑Id. Par exemple : imprimantes → VLAN 30, téléphones IP → VLAN 40.


Perspective d’évolution

Pour des raisons de conformité (ISO 27001, PCI‑DSS) et de visibilité (NAC), MAB ne devrait rester qu’une solution de dernier recours. Les alternatives modernes incluent :

  • 802.1X + EAP‑TLS avec certificats machine.
  • Profiling DHCP/SNMP combiné à des politiques dynamiques (Cisco ISE, Aruba ClearPass).
  • Device Onboarding MDM (Intune, Workspace ONE) pour pousser automatiquement un supplicant sécurisé.

À court terme, assurez‑vous de conserver un inventaire à jour des MAC autorisées et de renouveler périodiquement les secrets partagés RADIUS.


Conclusion

En ajustant la recherche d’identité de NPS via le registre, en autorisant exclusivement PAP, et en configurant correctement le switch/point d’accès, vous restaurez la visibilité complète du trafic RADIUS pour l’authentification MAC‑Based. Cette transparence est essentielle pour auditer et sécuriser les flux réseau d’équipements dépourvus de 802.1X.

Sommaire