Mise en place de l'authentification Wi-Fi par identifiants du réseau SambaÉdu 4

Freeradius, pourquoi faire ?

Initialement, les réseaux Wi-Fi dans les EPLE sont mis en place avec différents SSID, et une clef WPA2 pour chacun d'eux.

Le problème d'un réseau en wifi avec clef WPA2 (déployée par mdm ou autre) est qu'une fuite de la clef est possible (il est simple pour un utilisateur Windows sans droits particuliers de récupérer SSID et clef avec quelques lignes de commandes facilement trouvables sur le net), et qu'une fois cette information connue par les utilisateurs, ils peuvent utiliser des appareils personnels donc non autorisés. A ce moment là, il n'est plus possible d'identifier les connexions avec seulement l'adresse MAC de l'appareil.

On se propose ici d'utiliser une méthode d'authentification utilisant les identifiants du réseau pédagogique, ainsi, toute connexion en wi-fi est reliée à un utilisateur qui peut donc être retrouvé en cas de problème.

Le serveur se4fs est doté d'un module "sambaedu-freeradius" optionnel. Ce module (basé sur le paquet freeradius) va permettre une communication entre le contrôleur wi-fi et l'annuaire du se4. Il sera donc possible de se connecter au wifi avec ses identifiants du réseau pédagogique et non plus avec un système de clef WPA2. Il sera possible de restreindre l'accès à des groupes AD spécifiques.

Le principe de fonctionnement est simple:

Lorsqu'un usager veut se connecter au wifi avec ses identifiants, Les bornes Wi-Fi vont vérifier auprès du serveur radius si le login/mdp est correct, et si cet utilisateur a le droit de se connecter. Si ce n'est pas le cas, la connexion sera refusée.

Les bornes et le serveur freeradius partagent un mot de passe appelé "secret" qui devra donc être indiqué sur chaque périphérique ou sur le contrôleur virtuel Wi-Fi s'il existe.

Exemple du Wi-FI déployé par les collectivités

Dans la suite , on considère un ensemble de bornes Wi-Fi reliées sur un vlan dédié avec un contrôleur virtuel Wi-Fi (c'est le cas dans les lycées d'IDF).

Les bornes sont donc ici dans un sous-réseau en 172.20.251.0/24

Si les bornes étaient simplement mises sur le réseau pédagogique sans routage intervlan , alors les bornes seraient dans un réseau en 172.20.0.0./16 (à adapter évidemment à votre réseau).

Côté serveur se4fs

On installe le paquet sambaedu-freeradius

apt update

apt install sambaedu-freeradius

Il faut indiquer le réseau des bornes Wi-Fi

Puis, il va falloir choisir un "secret" qui sera partagé entre le se4fs qui va servir de Radius, et les bornes Wi-Fi (ou le contrôleur virtuel)

Ces informations seront stockées dans le fichier /etc/sambaedu/sambaedu.conf.d/radius.conf

Truc & astuce

On peut modifier secret et réseau des bornes en éditant le fichier /etc/sambaedu/sambaedu.conf.d/radius.conf puis en réinstallant le paquet pour que les modifications soient prises en compte

apt install --reinstall sambaedu-freeradius

Restriction de l'accès à un groupe

Par défaut, le serveur Radius du SE4 va autoriser tout compte du domaine PREVERT (à adapter) à se connecter. Si on veut restreindre cet accès à un groupe, alors il va falloir modifier un fichier de configuration

nano /etc/freeradius/3.0/mods-available/mschap

ntlm_auth = "/usr/bin/ntlm_auth --request-nt-key --username=%{mschap:User-Name:-None} --domain=%{%{mschap:NT-Domain}:-PREVERT} --challenge=%{mschap:Challenge:-00} --nt-response=%{mschap:NT-Response:-00} --require-membership-of=PREVERT\wifi"

Ici, l'accès est retreint à un groupe appelé Wifi, mais on peut y mettre n'importe quel groupe de l'annuaire comme "Profs".

Côté contrôleur Wi-fi

Ici, on utilise un contrôleur Wi-Fi Aruba, mais le principe sera le même sur d'autres solutions.

On va commencer à ajouter dans la rubrique sécurité le serveur d'authentification du SE4

On clique sur le "+" pour ajouter un server que l'on nommera ici "radius_se4fs" et on indique les données suivantes

Écran

  • On indique ici l'adresse ip du serveur Radius, dans le cas de SE4, on indique l'adresse du se4fs

  • Ici, on indique le mot de passe "secret" qui a été choisi lors de l'installation. On pourra le trouver dans le fichier /etc/sambaedu/sambaedu.conf.d/radius.conf

On indique seulement l'ip du se4fs et le secret partagé, tout le reste ne doit pas être modifié.

On valide

Prise en compte du serveur radius pour un SSID dans le contrôleur virtuel

On va aller sur la console de gestion du cluster WI-FI , se rendre dans la gestion des réseaux SSID

et cliquer sur le "crayon" pour éditer le réseau existant (ici le SSID Professeurs)

Avancer sans rien modifier jusqu'à la partie "sécurité".

Une fois dessus, il suffit d'indiquer les informations comme sur l'image suivante

Le protocole WPA ENTREPRISE est le mode d’authentification type RADIUS. On ajoute le serveur radius choisi (le radius_se4fs ou un autre si vous avez plusieurs serveurs précédent ).

Ne pas modifier les autres paramètres sauf si vous savez ce que vous faites.

Remarque

Dans le cas de bornes Wi-Fi mises sans contrôleur virtuel, il faudra indiquer dans l'interface de chaque borne :

sécurité Wireless

Version: WPA2

ENCRYPTION: Automatic

Radius Server IP: indiquer l'ip du se4fs

Port: 1812

Radius Password: celui indiqué lors de l'installation du paquet

Côté client 

  • Sur un poste en Windows, une fenêtre demandera login et mot de passe. Aucun réglage supplémentaire n'est à faire (si ce n'est le paramétrage du Proxy probablement à faire de façon manuelle)
  • Sur Androïd

Methode d'authentification EAP : PEAP

Authentification phase 2 : MSCHAPV2

Certificat CA : Ne pas valider

Identité : votre login

Proxy: Manuel

  • Sur un laptop Linux (ici Ubuntu KDE)

Truc & astucePlusieurs freeradius ?

Il est possible d'installer plusieurs serveurs freeradius sur des petites VM ( en mettant un client Linux sans interface, et en modifiants quelques fichiers comme peut le faire le paquet sambaedu-freeradius) et mettre des restrictions de groupes sur chaque. Ainsi, seul un prof pourra aller sur le SSID Professeur, et seul un élève pourra aller sur le SSID Eleves. Il sera peut-être préférable de se lancer dans la mise en place de PacketFence.

Packetfence, va permettre une gestion bien plus poussée avec des vlans dynamiques.Un utilisateur/machine donné va se retrouver dans un vlan associé, plus besoin de SSID particulier. Le filtrage pourra alors se faire par groupe, les connexions pourront se faire par compte machines et donc permettre aussi une gestion poussée des connexions filaires. Filtrage par type de périphérique (smartphone,tablette,laptop...).

Plus d'informations ici : https://gitlab.sambaedu.org/sambaedu/sambaedu-packetfence