
Considérons l'utilisation pratique de Windows Active Directory + NPS (2 serveurs pour assurer la résilience) + la norme 802.1x pour le contrôle d'accès et l'authentification des utilisateurs – des ordinateurs de domaine – des appareils. Vous pouvez consulter la théorie sur la norme sur Wikipedia, via le lien :
Comme mon "laboratoire" est limité en ressources, je combine les rôles de NPS et de contrôleur de domaine, mais je vous recommande de séparer ces services critiques.
Je ne connais pas de méthodes standard pour synchroniser les configurations (politiques) de Windows NPS, donc nous allons utiliser des scripts PowerShell, exécutés par le planificateur de tâches (l'auteur étant un ancien collègue). Pour l'authentification des ordinateurs du domaine et pour les appareils qui ne connaissent pas 802.1x (téléphones, imprimantes, etc.), une stratégie de groupe sera configurée et des groupes de sécurité seront créés.
À la fin de l'article, je parlerai de certaines subtilités du travail avec 802.1x – comment utiliser des commutateurs non gérés, des ACL dynamiques, etc. Je partagerai des informations sur les "bug" détectés...
Commençons par l'installation et la configuration du NPS de secours sur Windows Server 2012R2 (c'est similaire sur 2016) : via le Gestionnaire de serveur -> Assistant Ajout de rôles et fonctionnalités, nous choisissons uniquement le serveur de politique réseau.

ou avec PowerShell :
Install-WindowsFeature NPAS -IncludeManagementToolsUne petite clarification : comme pour Protected EAP (PEAP) vous aurez absolument besoin d'un certificat confirmant l'authenticité du serveur (avec les droits d'utilisation appropriés), qui sera sur les ordinateurs clients de confiance, donc vous aurez probablement besoin d'installer également le rôle Certification Authority. Mais considérons que CA est déjà installé chez vous…
Faisons de même sur le deuxième serveur. Créons un dossier pour le script C:Scripts sur les deux serveurs et un dossier réseau sur le deuxième serveur SRV2NPS-config$
Sur le premier serveur, nous allons créer un script PowerShell C:ScriptsExport-NPS-config.ps1 avec le contenu suivant :
Export-NpsConfiguration -Path "SRV2NPS-config$NPS.xml"Après cela, configurons une tâche dans le Planificateur de tâches : "Export-NpsConfiguration”
powershell -executionpolicy unrestricted -f "C:ScriptsExport-NPS-config.ps1" Exécuter pour tous les utilisateurs — Exécuter avec les privilèges les plus élevés
Quotidiennement — Répéter la tâche toutes les 10 minutes pendant 8 heures.
Sur le NPS de secours, nous allons configurer l'importation de la configuration (politiques) :
nous allons créer un script PowerShell :
echo Import-NpsConfiguration -Path "c:NPS-configNPS.xml" >> C:ScriptsImport-NPS-config.ps1et une tâche pour son exécution toutes les 10 minutes :
powershell -executionpolicy unrestricted -f "C:ScriptsImport-NPS-config.ps1" Exécuter pour tous les utilisateurs — Exécuter avec les privilèges les plus élevés
Quotidiennement — Répéter la tâche toutes les 10 minutes pendant 8 heures.
Maintenant, pour la vérification, ajoutons dans NPS sur l'un des serveurs (!) quelques commutateurs en tant que clients RADIUS (IP et Shared Secret), deux politiques de requête de connexion : WIRED-Connect (Condition : “Type de port NAS – Ethernet”) et WiFi-Enterprise (Condition : “Type de port NAS – IEEE 802.11”), ainsi qu'une politique réseau Accès aux dispositifs réseau Cisco (Administrateurs réseau) :
Conditions :
Groupes Windows - domainsg-network-admins
Restrictions :
Méthodes d'authentification - Authentification en texte clair (PAP, SPAP)
Paramètres :
Attributs RADIUS : Standard - Service-Type - Login
Dépendants du fournisseur - Cisco-AV-Pair - Cisco - shell:priv-lvl=15Du côté des commutateurs, les configurations suivantes :
aaa new-model
aaa local authentication attempts max-fail 5
!
!
aaa group server radius NPS
server-private 192.168.38.151 auth-port 1812 acct-port 1813 key %shared_secret%
server-private 192.168.10.151 auth-port 1812 acct-port 1813 key %shared_secret%
!
aaa authentication login default group NPS local
aaa authentication dot1x default group NPS
aaa authorization console
aaa authorization exec default group NPS local if-authenticated
aaa authorization network default group NPS
!
aaa session-id common
!
identity profile default
!
dot1x system-auth-control
!
!
line vty 0 4
exec-timeout 5 0
transport input ssh
escape-character 99
line vty 5 15
exec-timeout 5 0
logging synchronous
transport input ssh
escape-character 99Après la configuration, après 10 minutes, toutes les politiques de paramètres des clients doivent apparaître également sur le NPS de secours et nous pourrons nous authentifier sur les commutateurs avec un compte Active Directory, membre du groupe domainsg-network-admins (que nous avons créé au préalable).
Passons à la configuration d'Active Directory – créons des politiques de groupe et de mot de passe, et créons les groupes nécessaires.
Politique de groupe Computers-8021x-Settings:
Configuration de l'ordinateur (Activé)
Politiques
Paramètres Windows
Paramètres de sécurité
Services système
Wired AutoConfig (Mode de démarrage : Automatique)
Politiques de réseau câblé (802.3)
NPS-802-1x
Nom NPS-802-1x
Description 802.1x
Paramètres globaux
PARAMÈTRE VALEUR
Utiliser les services réseau LAN câblés Windows pour les clients Activé
Identifiants utilisateur partagés pour l'authentification réseau Activé
Profil réseau
Paramètres de sécurité
Activer l'utilisation de l'authentification IEEE 802.1X pour l'accès au réseau Activé
Appliquer l'utilisation de l'authentification IEEE 802.1X pour l'accès au réseau Désactivé
Paramètres IEEE 802.1X
Authentification des ordinateurs Ordinateur uniquement
Échecs d'authentification maximum 10
Messages EAPOL-Start maximum envoyés
Durée de maintien (secondes)
Durée de démarrage (secondes)
Durée d'authentification (secondes)
Propriétés de méthode d'authentification réseau
Méthode d'authentification EAP protégé (PEAP)
Valider le certificat du serveur Activé
Se connecter à ces serveurs
Ne pas demander à l'utilisateur d'autoriser de nouveaux serveurs ou autorités de certification de confiance Désactivé
Activer la reconnexion rapide Activé
Se déconnecter si le serveur ne présente pas le TLV de cryptobinding Désactivé
Faire respecter la protection de l'accès au réseau Désactivé
Configuration de la méthode d'authentification
Méthode d'authentification Mot de passe sécurisé (EAP-MSCHAP v2)
Utiliser automatiquement mon nom de connexion et mon mot de passe Windows (et le domaine le cas échéant) Activé
Créons un groupe de sécurité sg-computers-8021x-vl100, où nous allons ajouter les ordinateurs que nous souhaitons distribuer dans le VLAN 100 et configurer le filtrage pour la stratégie de groupe créée précédemment pour ce groupe :

Pour vérifier si la stratégie a été appliquée avec succès, ouvrez « Centre de gestion des réseaux et partage (Paramètres réseau et Internet) – Modifier les paramètres de l’adaptateur (Configurer les paramètres de l’adaptateur) – Propriétés de l’adaptateur », où nous pourrons voir l'onglet « Authentification » :

Une fois que vous avez vérifié que la stratégie est appliquée avec succès, vous pouvez passer à la configuration de la politique réseau sur NPS et des ports du commutateur de niveau d'accès.
Créons une politique réseau neag-computers-8021x-vl100:
Conditions :
Groupes Windows - sg-computers-8021x-vl100
Type de port NAS - Ethernet
Contraintes :
Méthodes d'authentification - Microsoft : EAP protégé (PEAP) - Authentification non chiffrée (PAP, SPAP)
Type de port NAS - Ethernet
Paramètres :
Standard :
Framed-MTU 1344
TunnelMediumType 802 (inclut tous les supports 802 plus le format canonique Ethernet)
TunnelPrivateGroupId 100
TunnelType Réseaux Locaux Virtuels (VLAN) 
Paramètres typiques pour le port du commutateur (je souligne qu'il utilise le type d'authentification « multi-domaine » – Données & Voix, et qu'il y a aussi la possibilité d'authentification par adresse MAC. Pendant la période de « transition », il est judicieux d'utiliser dans les paramètres :
authentication event fail action authorize vlan 100
authentication event no-response action authorize vlan 100
id VLAN non « de quarantaine », mais identique à celui où l'ordinateur de l'utilisateur doit entrer, après avoir été autorisé avec succès – tant que nous ne sommes pas sûrs que tout fonctionne correctement. Ces mêmes paramètres peuvent être utilisés dans d'autres scénarios, par exemple, lorsque ce port est connecté à un commutateur non géré et que vous souhaitez que tous les appareils connectés à celui-ci et n'ayant pas passé l'authentification soient placés dans un VLAN spécifique (« de quarantaine »).
paramètres du port du commutateur en mode 802.1x host-mode multi-domain
default int range Gi1/0/39-41
int range Gi1/0/39-41
shu
des PC-IPhone_802.1x
switchport mode access
switchport nonegotiate
switchport voice vlan 55
switchport port-security maximum 2
authentication event fail action authorize vlan 100
authentication event no-response action authorize vlan 100
authentication host-mode multi-domain
authentication port-control auto
authentication violation restrict
mab
dot1x pae authenticator
dot1x timeout quiet-period 15
dot1x timeout tx-period 3
storm-control broadcast level pps 100
storm-control multicast level pps 110
no vtp
lldp receive
lldp transmit
spanning-tree portfast
no shu
exitVous pouvez vérifier que l’ordinateur/téléphone s’est authentifié avec succès en utilisant la commande :
sh authentication sessions int Gi1/0/39 detMaintenant, créons un groupe (par exemple, sg-fgpp-mab ) dans Active Directory pour les téléphones et ajoutons-en un pour les tests (dans mon cas, c'est Grandstream GXP2160 avec l'adresse MAC 000b.82ba.a7b1 et avec le compte correspondant domaine 00b82baa7b1).
Pour le groupe créé, nous allons réduire les exigences de la politique de mots de passe (en utilisant via le Centre d'Administration Active Directory -> domaine -> Système -> Conteneur de Paramètres de Mots de Passe) avec les paramètres suivants Paramètres de Mots de Passe pour MAB:

ce qui nous permettra d'utiliser l'adresse MAC des appareils comme mots de passe. Après cela, nous pourrons créer une politique réseau pour l'authentification 802.1x méthode mab, que nous appellerons neag-devices-8021x-voice. Les paramètres sont les suivants :
- Type de Port NAS – Ethernet
- Groupes Windows – sg-fgpp-mab
- Types EAP : Authentification non chiffrée (PAP, SPAP)
- Attributs RADIUS – Spécifique au fournisseur : Cisco – Cisco-AV-Pair – Valeur de l'attribut : device-traffic-class=voice
après une authentification réussie (n'oublions pas de configurer le port du commutateur), voyons les informations du port :
sh authentication se int Gi1/0/34
----------------------------------------
Interface : GigabitEthernet1/0/34
Adresse MAC : 000b.82ba.a7b1
Adresse IP : 172.29.31.89
Nom d'utilisateur : 000b82baa7b1
Statut : Authz Succès
Domaine : VOICE
Mode hôte opérationnel : multi-domaine
Direction de contrôle opérationnelle : les deux
Autorisé par : Serveur d'authentification
Temps d'expiration de la session : N/A
Temps d'expiration d'inactivité : N/A
ID de session commun : 0000000000000EB2000B8C5E
ID de session de compte : 0x00000134
Gestion : 0xCE000EB3
Liste des méthodes exécutables :
Méthode État
dot1x Échec autorisé
mab Authc SuccèsMaintenant, comme promis, examinons quelques situations moins évidentes. Par exemple, nous devons connecter les ordinateurs des utilisateurs via un commutateur non géré. Dans ce cas, les paramètres du port pour celui-ci seront les suivants :
paramètres du port du commutateur en mode 802.1x host-mode multi-auth
interface GigabitEthernet1/0/1
description *SW – 802.1x – 8 mac*
shu
switchport mode access
switchport nonegotiate
switchport voice vlan 55
switchport port-security maximum 8 ! augmente le nombre d'adresses MAC autorisées
authentication event fail action authorize vlan 100
authentication event no-response action authorize vlan 100
authentication host-mode multi-auth ! – mode d'authentification
authentication port-control auto
authentication violation restrict
mab
dot1x pae authenticator
dot1x timeout quiet-period 15
dot1x timeout tx-period 3
storm-control broadcast level pps 100
storm-control multicast level pps 110
no vtp
spanning-tree portfast
no shuP.S. un bug très étrange a été remarqué – si un appareil était branché via un tel commutateur, puis qu'il a été branché sur un commutateur géré, il NE fonctionne PAS, à moins que nous ne redémarrions(!) le commutateur. Je n'ai pas trouvé d'autres solutions à ce problème.
Un autre point lié à DHCP (si ip dhcp snooping est utilisé) – sans ces options :
ip dhcp snooping vlan 1-100
no ip dhcp snooping information optionIl semble que l'adresse IP ne soit pas obtenue correctement... bien que cela puisse être une particularité de notre serveur DHCP.
De plus, Mac OS & Linux (qui prennent en charge 802.1x nativement) essaient de passer l'authentification de l'utilisateur, même si l'authentification par adresse MAC est configurée.
Dans la prochaine partie de l'article, nous examinerons l'application de 802.1x pour le sans-fil (en fonction du groupe auquel appartient le compte utilisateur, nous allons le 'diriger' vers le réseau correspondant (VLAN), bien qu'ils se connectent tous à un même SSID).
Source : habr.com
