WikiMiNET

La documentation technique et administrative

Outils pour utilisateurs

Outils du site


wiki:services:radius_f

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
wiki:services:radius_f [2017/04/24 10:55]
thunder
— (Version actuelle)
Ligne 1: Ligne 1:
-====== Radius ====== 
- 
-RADIUS est un protocole AAA qui réalise 3 fonctions: l'authentification, l'autorisation, la traçabilité des membres d'un réseau. À MiNET, nous devons être en mesure de savoir qui se cache derrière une adresse IP, c'est pourquoi il est primordial d'authentifier chaque utilisateur par le biais de leurs appareils. Nous devons également vérifier la date de départ et le blocage de certain adhérents, la section d'autorisation est faite pour. 
- 
-RADIUS supporte différents standard d'authentification comme PAP et EAP. Ça nous permet d'authentifier des appareils filaires (avec 802.1X qui implémente PEAP) et des appareils sans fil en passant par un WLAN Controller. Les appareils réseaux directement connectés à l'utilisateur final s'appellent des NAS (Network Access System, à ne pas confondre avec les Network Attached Storage). Les NAS partagent un secret avec le serveur RADIUS pour protéger les échanges de données personnelles sur le réseau d'administration. 
- 
-==== Historique à MiNET==== 
- 
-A MiNET, nous avons utilisé dans un premier temps un serveur freeradius patché pour utiliser une base de donnée distante d'utilisateur (via REST et ADH5). Le schéma était un peu complexe malgré la beauté du patch: 
-  * L'utilisateur contacte un NAS et envoie sa trame EAP 
-  * Le NAS contacte le serveur RADIUS avec les informations de l'utilisateur 
-  * Le serveur vérifie le type de requête. Si c'est une requête EAP MSCHAPv2, il fait une requête HTTP à ADH5 pour recevoir le hash du mot de passe de l'utilisateur et son VLAN 
-  * Si les informations sont correctes, RADIUS renvoie un message d'autorisation au NAS et demande au NAS de lui attribuer un port un VLAN (41 à 49 pour le filaire). C'est le VLAN Assignement. 
-  * Quand le port est dans le bon VLAN, l'utilisateur peut faire une requête DHCP et obtenir une adresse IP. 
- 
-Le patch fait par Guillaume Rose est disponible ici : https://github.com/guillaumerose/radius-http-json 
- 
-Minet possédait deux serveurs freeradius : pour le filaire et le wifi. Nous avons voulu améliorer cette architecture. 
- 
-==== Installation de FreeRadius avec Patch ==== 
- 
-Voici un description succincte des étapes que réalisées 
- 
-  * Télécharger les sources de freeradius http://freeradius.org/download.html 
-  * Cloner le dépôt de guillaume git clone https://github.com/guillaumerose/radius-http-json.git 
-  * Télécharger les dépendances de freeradius apt-get build-dep freeradius 
-  * Télécharger les paquets dev: openssl, curl, json  (apt-get install libssl-dev libjson0-dev libcurl4-openssl-dev) 
-  * Suivre les étapes de guillaume sur github 
- 
-==== Installation de FreeRadius avec rlm_python ==== 
- 
-TODO 
- 
-==== Fonctionnement interne de FreeRadius ==== 
- 
-FreeRadius est extensible un peu à la manière de Apache : il a des sites et des modules pour les différentes utilisation du logiciel. La documentation est disponible sur le site : http://freeradius.org/ 
- 
-FreeRadius 2 ne permettait pas d'être flexible poour la méthode de stockage des informations des utilisateurs. La version 3 apporte une bonne extensibilité : LDAP, MySQL, Local, REST. Les modules rlm_rest et rlm_python sont particulièrement intéressants. 
- 
-Actuellement, nous utilisons les modules suivants : 
-  * EAP avec Mschapv2 pour le type d'authentification 
-  * MySQL pour approvisionner le serveur avec les données utilisateurs 
-  * rlm_python pour faire l'autorisation de l'utilisateur : vérification de la date de départ, de l'adresse MAC et d'un éventuel blocage. Cette partie nous permet également de faire le mode association (en gros on est permissive pour l'adresse MAC, et on l'ajoute au profil de l'utilsateur). 
- 
-Concernant les sites : 
-  * default est le site pour les requêtes filaires. Quand PEAP est utilisé, ce profil en appelle un autre : inner-tunnel 
-  * inner-tunnel a accès aux données du tunnel sécurisé PEAP. Il vérifie le login et mot de passe (avec MSCHAPv2) pour l'authentification, et utilise rlm_python pour l'autorisation. 
- 
-==== Projets futurs ==== 
- 
-Il faudra créer d'autres sites pour le remplacer radius10 et pour le Wifi Federez. Il est également possible de créer un profil concernant une partie de NAS (pour faire une authentification Wifi spéciale pour le foyer).  
  
wiki/services/radius_f.1493024103.txt.gz · Dernière modification: 2020/06/27 18:15 (modification externe)