I Introduction

L’objectif est de réaliser une authentification radius avec un serveur Windows grâce au role « NPS » (et non plus par un serveur FreeRadius sous Linux).

L’architecture réseaux utilisée est la suivante :

Le serveur Windows fait office de contrôleur de domaine. Il assure également la distribution des adresses IP via son serveur DHCP (non traité ici).

Il va être abordé :

  • l’installation du serveur NPS sous windows server 2019 ;
  • l’installation du rôle PKI (AD CS) ;
  • la génération de certificats pour le serveurs NPS (nécessaire pour le protocole EAP) ;
  • Active Directory : création des groupes d’authorisation qui seront utilisés par NPS
  • la configuration du serveur NPS :
    • permettant d’authentifier un compte ordinateur et placer le port du switch dans le Vlan 20 ;
    • permettant d’authentifier un compte utilisateur et placer le port du switch dans le Vlan 10 ;
  • la modification du paramétrage du routeur qui actuellement configuré pour interroger le serveur FreeRadius ;
  • tests finaux

II Installation de NPS

Aller dans Ajout rôle et fonctionnalités.

Sélectionner « Services de stratégie et d’accès réseau »

Suivant jusqu’à l’écran suivant : cliquer sur « redémarrer… »

Puis cliquer sur « installer » et attendre la fin de l’installation.

III Mise en œuvre d’une PKI (services AD CS ou service de certificats)

III.1 Installation du service

Si ce rôle n’est pas installé sur un AD, alors il faut le faire.

Aller « Ajouter des rôles et fonctionnalités » puis à l’écran ci-dessous ajouter ce service : « Services de certificats Active Directory »

Puis cliquer sur suivant jusqu’à la fin de l’installation.

III.2 Installation des certificats pour NPS

Si pas déjà fait, lancer la console « autorité de certification ». Bouton droit sur « Modèles de certificats » puis cliquer sur « Nouveau » et « Modèle de certificats à délivrer »

Il apparaît cet écran : Sélectionner « Serveur RAS et IAS » puis cliquer sur « OK »

L’écran suivant doit comporter la nouvelle ligne « Serveur RAS et IAS »

A ce stade les certificats sont créer et utilisables par NPS pour le protocole EAP.

IV Active Directory : créer des groupes d’autorisation

Dans NPS, pour autoriser l’accès au réseau d’un compte d’ordinateur ou un compte ou groupe d’utilisateurs, il faut utiliser les groupes globaux.

Pour cela, nous allons créer deux groupes :

  • un dédié aux utilisateurs (dedans on y ajoutera le compte utilisateur « Xavior »)
  • un dédié aux comptes ordinateurs (dedans on y incluera le compte PC1)

Ainsi sous forme d’image, le résultat final :

V Configuration de NPS

V.1 Ouverture console et plan d’actions

Lancer la console NPS :

il apparaît l’écran suivant :

La configuration va se faire en 3 étapes :

  • la déclaration du client qui peut communiquer avec le serveur NPS (le routeur)
  • la stratégie de demande de connexion : par quel biais on fait la demande
  • la stratégie réseau : la logique de vérification des comptes et le basculement du port

V.2 Déclaration du client radius

Par client Radius, on entend les switchs ou routeurs qui relaient les demandes d’authentification RADIUS des PC, serveurs ou autres.

Dans notre cas, le routeur R1 discute avec le serveur NPS avec le port 1/15. Sur ce port il a été assigné l’adresse IP suivante : 192.168.30.254.

Pour déclarer ce client il faut cliquer avec le bouton droit sur « Clients RADIUS » puis cliquer sur « Nouveau » :

Ensuite renseigner les valeurs comme l’exemple ci-dessous :

Le « secret partagé » a pour valeur « test ».

Ensuite cliquer sur l’onglet « Avancé » et sélectionner « Cisco » :

Une fois fait, cliquer sur OK. Ce qui aura pour effet de voir maintenant votre nouveau client dans la console mmc :

V.3 Stratégie de demande de connexion

Nous allons maintenant définir quel type de demande il faut traiter. Pour cela cliquer avec le bouton droit sur « Stratégie de demande de connexion » puis cliquer sur « Nouveau »

A l’apparition de la fenêtre, renseigner un libelle parlant puis cliquer sur « Suivant » :

Nous allons maintenant ajouter une condition à respecter. Ce sera pour toute demande provenant du réseau filaire. Pour cela cliquer sur « Ajouter »

Une fenêtre apparaît : sélectionner « Type de port NAS » puis cliquer sur « Ajouter »

Sélectionner le type de support : « Ethernet » puis cliquer sur « OK »

Notre nouvelle règle apparaît : cliquer sur « Suivant »

Pas de changer pour cet écran : cliquer sur « Suivant »

Idem pour cet écran : les méthodes d’authentification se feront dans la logique « Stratégie réseau »

Idem pour cet écran, ces paramètres seront spécifiés dans le cadre de la stratégie réseau. Cliquer sur « Suivant »

Récapitulatif de la configuration : cliquer sur « Terminer »

Cette nouvelle règle apparaît comme suivant :

A ce stade c’est fini.

V.4 Stratégie Réseau

V.4.1 Avant de commencer

C’est ici que la politique d’affectation de VLAN va se définir en fonction de se que l’on souhaite.

Pour notre part les règles seront les suivantes :

  • 1: le compte d’ordinateur est reconnu : placement du PC dans le VLAN 20
    • le fait d’être dans le VLAN permet d’accéder au contrôleur de domaine ;
    • ce qui permettra pour un nouvel utilisateur n’ayant jamais ouvert de session de pouvoir accéder au contrôleur AD de vérifier les identifiants de cet utilisateur.
    • en revanche, pour un PC qui n’est pas dans le domaine ce ne sera pas possible ;
      • dans ce cas très précis, on considère qu’un PC qui n’a jamais rejoint un domaine ne peut le faire. Il faudra prévoir un VLAN dédié aux équipes techniques pour pouvoir un intégrer un PC dans un domaine ;
  • 2: si le compte utilisateur est reconnu : placement du PC dans le VLAN 10 ;
  • 3 : dans les autres cas : vlan 1, inactif (fermeture du port).

Les règles sous NPS qui vont être implémentées vont changer le VLAN suivant les cas. Dans les autres cas (authentification refusée), le port sera fermé et le VLAN sera automatiquement le n°1 (comportement du routeur en fait).

Ainsi dans NPS nous allons voir comment implémenter les cas 1 et 2 qui se définissent via la « stratégie réseau ». Afin de dissocier l’accès via un compte d’ordinateur ou un compte d’utilisateur 2 règles vont être implémentées.

V.4.2 Stratégie réseau pour les comptes ordinateurs

Ici il va être créé une stratégie réseau pour placé un ordinateur sur le VLAN 20 si le compte d’ordinateur a été reconnu par l’AD.

Pour cela lancer la console MMC de NPS puis sélectionner « Stratégie réseau » avec le bouton droit et cliquer sur « Nouveau » :

Au nouvel écran, renseigner un libellé de stratégie puis cliquer sur « suivant » :

C’est ici qu’il va être défini les conditions pour accepter un compte d’ordinateur. Pour cela cliquer sur « Ajouter ».

Une nouvelle fenêtre apparaît : sélectionner « Groupe Windows » :

Il va être ajouté le groupe précédemment créer dédié au compte d’ordinateurs :

Une fois le bon groupe sélectionné et les validations nécessaires, l’écran ci-dessous doit ressembler à celui ci. Cliquer sur « Suivant » pour continuer.

Nous indiquons que l’accès est autorisé, ensuite cliquer sur « Suivant » :

Maintenant il va être spécifié la méthode d’authentification à prendre en compte. Pour cela il faut cliquer sur « Ajouter » et renseigner PEAP et MS-CHAP V2

Ainsi l’écran ci-dessous devra ressembler à celui-ci. Ensuite cliquer sur « Suivant » :

MAJ :

L’écran suivant apparaît : cliquer sur suivant.

Etape importante, c’est ici qu’il va être indiqué au routeur sur quel VLAN sera placé le port sur lequel l’ordinateur fait la demande radius.

Il va falloir indiquer les propriétés radius à renvoyer au routeur qui sont au nombre de 3 au minimum :

  • le numéro de Vlan : « Tunnel-pvt-Group-Id », valeur à 20 ;
  • le « tunnel-medium-type » : indiquer « 802 » … ;
  • le tunnel-type : indiquer « Vlan … ».

Pour cela cliquer sur le bouton « Ajouter » autant de fois qu’il y a de propriétés à ajouter :

Une fois fait le résultat devra ressembler à celui-ci : si oui,, cliquer sur « Suivant »

Le dernier écran récapitulant les règles principales de cette stratégie devrait ressembler à l’écran ci-dessous :

Cliquer sur « Terminer » pour obtenir l’écran suivant :

A ce stade un PC qui se connecte avec le compte d’ordinateur sera placé dans le VLAN 20.

V.4.3 Stratégie réseau pour les comptes utilisateurs

Maintenant il va être fait de même pour l’authentification des utilisateurs qui, si réussie, placera le PC dans le VLAN 10.

Pour gagner du temps, la stratégie des comptes ordinateurs va être dupliquée :

Une fois copiée, cette stratégie va être modifiée comme le montre l’écran ci-dessous :

A l’apparition de la nouvelle fenêtre, modifier le libellé comme suit :

Puis cliquer l’onglet « Conditions » pour modifier le groupe d’autorisation :

Cliquer sur « Modifier », enlever le groupe qui contient des comptes d’ordinateurs et renseigner le groupe qui contient les utilisateurs. Le résultat final devrait ressembler à celui-ci :

Ensuite cliquer sur l’onglet « Paramètres » pour changer l’ID du VLAN :

Pour cela sélectionner la ligne « Tunnel-Pvt-Group-ID » et cliquer sur Modifier. Renseigner la 10 en lieu et place de 20. Le résultat ressemblera à celui -ci :

Enfin cliquer sur « Appliquer » pour terminer la configuration de cette stratégie et obtenir un écran similaire à celui-ci :

Nous maintenant les 2 règles implémentées pour le VLAN 10 et le VLAN 20.

A ce stade , la configuration de NPS est terminée.

VI Modification du Routeur R1

Le routeur envoie les requetes RADIUS vers le serveur FreeRadius. Il faut le modifier ce comportement et faire sorte que le routeur envoie les requêtes RADIUS au serveur NPS.

Le serveur Windows ayant l’@IP 192.168.30.101

Extrait du running config à avoir pour le routeur R1 :

Current configuration : 2150 bytes
!
version 12.4
service timestamps debug datetime msec
service timestamps log datetime msec
no service password-encryption
!
hostname R1
!
boot-start-marker
boot-end-marker
!
!
aaa new-model
!
!
aaa authentication dot1x default group radius
aaa authorization network default group radius 
!
!
aaa session-id common
memory-size iomem 5
no ip icmp rate-limit unreachable
!
!
ip cef
no ip domain lookup
!
!
multilink bundle-name authenticated
!
...
!
!
dot1x system-auth-control
archive   
 log config
  hidekeys
! 
!
!
!
ip tcp synwait-time 5
!
!
!
!
interface FastEthernet0/0
 no ip address
 shutdown
 duplex auto
 speed auto
!
interface FastEthernet0/1
 no ip address
 shutdown
 duplex auto
 speed auto
interface FastEthernet1/0
!
interface FastEthernet1/1
 switchport access vlan 10
!
interface FastEthernet1/2
 switchport access vlan 20
!
interface FastEthernet1/3
 dot1x pae authenticator
 dot1x port-control auto
!
interface FastEthernet1/4
!
interface FastEthernet1/5
!
interface FastEthernet1/6
!
interface FastEthernet1/7
!
interface FastEthernet1/8
!
interface FastEthernet1/9
!
interface FastEthernet1/10
!
interface FastEthernet1/11
!
interface FastEthernet1/12
!
interface FastEthernet1/13
!
interface FastEthernet1/14
 switchport access vlan 30
!
interface FastEthernet1/15
 switchport access vlan 30
!
interface Vlan1
 no ip address
!
interface Vlan10
 ip address 192.168.10.254 255.255.255.0
 ip helper-address 192.168.30.101
!
interface FastEthernet1/9
!
interface FastEthernet1/10
!
interface FastEthernet1/11
!
interface FastEthernet1/12
!
interface FastEthernet1/13
!
interface FastEthernet1/14
 switchport access vlan 30
!
interface FastEthernet1/15
 switchport access vlan 30
!
interface Vlan1
 no ip address
!
interface Vlan10
 ip address 192.168.10.254 255.255.255.0
 ip helper-address 192.168.30.101
!
interface Vlan20
 ip address 192.168.20.254 255.255.255.0
 ip helper-address 192.168.30.101
!
interface Vlan30
 ip address 192.168.30.254 255.255.255.0
!
!
no ip http server
no ip http secure-server
ip forward-protocol nd
!
!
!
no cdp log mismatch duplex
!
!
!
radius-server host 192.168.30.101 auth-port 1812 acct-port 1813
radius-server key test
control-plane
!
...
!
line con 0
 exec-timeout 0 0
 privilege level 15
 logging synchronous
line aux 0
 exec-timeout 0 0
 privilege level 15
 logging synchronous
line vty 0 4
!
!
end

VII Tests finaux

Cas après le lancement de l’ordinateur en attente d’ouverture de session :

L’authentification du compte ordinateur a réussi : le PC a été placé dans le VLAN 10.

Sous Windows, pour vérifier les logs :

Cas lors de l’authentification d’un utilisateur après ouverture de session Windows :

Après l’ouverture de session, on voit bien que le VLAN a bien changé sur le routeur.

VIII Pour aller plus loin

L’implémentation initiale d’un accès radius avec le service de NPS de Microsoft a été faite.

Une réflexion est à mener sur une intégration dans un réseau d’entreprise mais le principe est le même.

Il n’ a pas été abordé la sauvegarde et la restauration des règles implémentées dans NPS. A prendre en compte dans le cadre d’une mise en œuvre en production également.

A voir également la redondance de ce service sur un autre serveur en cas de défaillance du premier.

Enfin, il serait intéressant d’étudier la fonction supplicant pointant vers un autre serveur RADIUS (Microsoft ou autres).

Liens :

Documentation Microsoft : https://docs.microsoft.com/fr-fr/windows-server/networking/technologies/nps/nps-top

GNS3 : Radius, utilisation de NPS (Microsoft)

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *