7 Déc

PFSense portail captif authentification Radius-NPS

Un doc pour la mise en place d’un portail captif sous pfSense avec une authentification des utilisateurs via un serveur Radius sur Windows 2012R2 et le service NPS.

PFSense1

 

Après il ne faudra pas oublier d’affiner les régles de filtrage sous pfsense afin de restreindre le trafic autorisé pour les utilisateurs du portail

4 Déc

Radius NPS et 802.1x

Cet article est extrait du Lab cours du réseau Certa https://www.reseaucerta.org/sites/default/files/Authentification-802.1x-V1.0.pdf

Comprendre l’authentification Radius

Objectifs

Consiste à la sécurisation des accès par une authentification « forte » de la personne qui cherche à se connecter sur un port réseau. Ainsi qu’à la banalisation des prises réseaux ;  une prise réseau quelconque ne sera plus affectée à tel ou tel VLAN. C’est à partir de l’authentification de la personne qui cherche à se connecter au réseau que l’on va déduire le périmètre de sécurité dans lequel la placer :

·       Un refus pur et simple de connexion : aucun placement ;

·       Le placement dans un VLAN invité (« guest ») avec des prérogatives minimales, comme la simple obtention d’une adresse IP et d’un accès à Internet ;

·       Le placement dans un VLAN dédié, choisi en fonction notamment du service ou du groupe auquel appartient la personne ;

·       Le placement dans un VLAN à prérogatives importantes, comme un VLAN d’administration.

Les acteurs

Synonymes des termes désignant les acteurs de la connexion 802.1x :

Supplicant : on trouve aussi les expressions « client demandeur » ou « client final ».

Serveur d’authentification : on parle quelquefois de serveur d’identification.

Client RADIUS : on trouve également les synonymes suivants : « Authenticator » ou NAS (Network Access Server) ou encore « contrôleur d’accès ».

Protocoles

RADIUS

Acronyme de Remote Authentication Dial-In User Service, c’ est un protocole client-serveur permettant de centraliser des demandes d’authentification relayées par des équipements de réseau, comme des commutateurs ou bornes Wifi, considérés alors comme ses clients.

Par extension, un serveur qui centralise des demandes d’authentification et les soumet à un service d’annuaire LDAP ou à un service de base de données SQL est appelé serveur RADIUS.

RADIUS doit Authentifier les requêtes qui sont issues des clients finaux, via les clients RADIUS. Cette authentification se basera soit sur un couple identifiant/mot de passe, soit sur un certificat.

RADIUS a pour mission de décider quoi faire du client authentifié, et donc de lui délivrer une Autorisation, RADIUS envoie des informations (on parle « d’attributs ») aux clients RADIUS. Un exemple typique d’attribut est un numéro du VLAN dans lequel placer le client authentifié et autorisé.

RADIUS va noter plusieurs données liées à la connexion, comme la date et l’heure, l’adresse MAC de l’adaptateur réseau du client final, le numéro de VLAN…). C’est son rôle comptable ou « d’Accounting« .

802.1x

Le protocole 802.1x est une solution de sécurisation de réseaux mise au point par l’IEEE en 2001. 802.1x permet d’authentifier un utilisateur souhaitant accéder à un réseau (câblé ou Wifi) grâce à un serveur central d’authentification.

L’autre nom de 802.1x est « Port-based Network Access Control » ou « User Based Access Control ».

802.1x

·       Permet de sécuriser l’accès à la couche 2 (liaison de donnée) du réseau.

·       A recours au protocole EAP (Extensible Authentification Protocol)

·       Nécessite donc la présence d’un serveur d’authentification

Un port d’un commutateur réglé en mode 802.1x peut se trouver dans deux états distincts :

  •   État « contrôlé » si l’authentification auprès du serveur RADIUS a réussi.
  •  État « non contrôlé » si l’authentification a échoué.

Rem : NPS (Network Policy Server) est le nom du service RADIUS des systèmes Microsoft.

Authentification

EAP est la couche protocolaire de base de l’authentification. Elle va servir à faire passer un dialogue d’authentification entre le client final et le serveur RADIUS alors que le port de connexion est fermé à toute autre forme de communication.

PEAP

PEAP est un protocole de transfert sécurisé (P comme « Protected ») d’informations d’authentification. Il a été mis au point par Microsoft, Cisco et RSA. Il ne nécessite pas de certificat sur les postes clients, contrairement à EAP/TLS. MS-CHAP s’appuie sur PEAP.

Les serveurs RADIUS utilisaient CHAP (Challenge Handshake Authentication Protocol :  deux interlocuteurs, qui disposent donc de la même chaîne de caractère secrète, s’authentifient sans échange du mot de passe par une technique de « challenge » (ou « défi ») basée sur une fonction de hachage à sens unique du secret partagé).

Microsoft a développé une variante de CHAP appelée MS-CHAP qui ajoute une authentification mutuelle, MSCHAP-V1, puis MSCHAP-V2.

Dialogue client-serveur avec MSCHAP-V2.
A.     Le serveur envoie au client une chaîne composée d'un identifiant de session et une chaîne aléatoire xxxxx.
B.     Le client renvoie son nom d'utilisateur et le résultat d'un hachage de la chaîne aléatoire xxxxx 
+ l'identifiant de session 
+ le mot-de-passe, 
+ une seconde chaîne aléatoire yyyyy.
C.     Le serveur vérifie le résultat (succès/échec) et retourne celui-ci,
avec un hachage de la chaîne yyyyy et du mot de passe utilisateur.
D.     Le client vérifie enfin la correspondance entre les chaînes.
La connexion est établie.

Articulation EAP / PEAP / MSCHAP-V2

  •  EAP est le mécanisme permettant à un client final de pouvoir communiquer sur un port 802.1x fermé à toute autre forme de communication.
  • PEAP ajoute la notion de protection des échanges par tunnel à ce mécanisme
  •  MSCHAP est la méthode de reconnaissance mutuelle du client serveur et du serveur RADIUS qui passe par ce tunnel.

Déroulement

·       Phase Œ1  Le client final envoie ses identifiants au serveur RADIUS, le port contrôlé du commutateur n’est pas totalement fermé. Il laisse passer le protocole EAP. Cette communication ne peut donc se faire que par des trames Ethernet de base et non par des paquets IP.

Le client final peut donc envoyer son identité dans un paquet EAP au commutateur.

·       Phase  2 Celui-ci le retransmet, encapsulé dans un paquet au format RADIUS, au premier serveur RADIUS de sa liste.

·       Phase Ž3  Le serveur RADIUS reçoit le paquet et interroge sa base de données ou un AD.

·       Phase 4  Il renvoie le résultat de cette interrogation au commutateur (sous forme d’un commandement d’ouverture du port, éventuellement assorti d’un numéro de VLAN dans lequel placer le client final.

A partir de ce moment seulement, il peut y avoir d’autres trames échangées entre le client final et le reste du réseau, comme une trame de requête DHCP par exemple ;

La mise en œuvre est détaillée dans plusieurs articles :

Autorité de certification Services de certificats

NPS et stratégies réseau

802.1x sur Cisco

Radius sur bornes wifi