Code source wiki de Authentification RADIUS

Modifié par Clément AUBIN le 2021/01/25 20:23

Afficher les derniers auteurs
1 En octobre 2016, de manière à retrouver un accès internet sans proxy au sein de la salle CY106, nous avons mis en place un système d’authentification [[802.1x>>url:http://www.rfc-archive.org/getrfc.php?rfc=3580]] utilisant le protocole [[RADIUS>>url:https://en.wikipedia.org/wiki/RADIUS]] sur le réseau {{code}}ATILLA-CY106{{/code}}. Dans cet article, nous décrirons les différents composants du système d’authentification ainsi que leur fonctionnement.
2
3 {{toc/}}
4
5 = Principe & composition =
6
7 L’authentification 802.1x a deux objectifs :
8
9 * Permettre de vérifier si un utilisateur a le droit ou non de se connecter au réseau (on utilise pour cela l’annuaire LDAP d’ATILLA et un couple identifiant / mot de passe) ;
10 * Associer (dans les logs) un nom d’utilisateur à une adresse MAC lors de l’identification.
11
12 Pour ce faire, nous avons besoin de deux composants :
13
14 * Un (ou plusieurs) équipement(s) réseau capables de communiquer avec le poste de l’utilisateur pour récupérer son identifiant et son mot de passe
15 * Un serveur capable de s’interfacer avec l’annuaire LDAP afin de vérifier les informations de l’utilisateur
16
17 = Implémentation =
18
19 Sur le réseau {{code}}ATILLA-CY106{{/code}}, nous disposons de trois équipements prenant en charge l’authentification radius : {{code}}ap-wifi{{/code}}, {{code}}switch-b1{{/code}} et {{code}}switch-b2{{/code}}. Chacun de ces équipements est configuré pour utiliser le serveur {{code}}radius-prod.prod.infra.atilla.org{{/code}} ({{code}}192.168.10.101{{/code}}) comme serveur d’authentification.
20
21 **ATTENTION :** Le protocole RADIUS étant un protocole de couche 3 (IP), il n’utilise pas de résolutions DNS ! Les équipements ci-dessus sont donc configurés pour se connecter directement à l’adresse IP du serveur ({{code}}192.168.10.101{{/code}}).
22
23 En ce qui concerne le serveur {{code}}radius-prod.prod.infra.atilla.org{{/code}}, il utilise une version compilée de [[FreeRADIUS>>url:http://freeradius.org/]] (au moment de la mise en place de ce système, Debian Jessie ne proposait pas de version de [[FreeRADIUS>>url:http://freeradius.org/]] permettant l’utilisation d’un annuaire LDAP).
24
25 * Les sources du serveur se trouvent dans le dossier {{code}}/usr/src{{/code}} ;
26 * Les paramètres du serveur se trouvent dans le dossier {{code}}/usr/local/etc/raddb{{/code}} ;
27 * Les logs du serveur se trouvent dans le dossier {{code}}/var/log/radius{{/code}} avec un lien symbolique vers {{code}}/usr/local/var/log/radius{{/code}}.
28
29 = Gestion des autorisations sur les switchs {{code}}switch-b1{{/code}} et {{code}}switch-b2{{/code}} =
30
31 Par défaut, les switchs {{code}}switch-b1{{/code}} et {{code}}switch-b2{{/code}} sont configurés pour verrouiller les prises réseau des goulottes murales de la CY106 ; il est néanmoins possible de modifier l’état une prise afin de ne pas passer par l’authentification RADIUS.
32
33 == Configurer une prise ==
34
35 * Dans un premier temps, récupérer le nom de la prise sur le switch : {{code}}e<numéro de la prise>{{/code}} ;
36 * Se connecter au switch : {{code}}telnet switch-bX.salle106.atilla.org{{/code}} ;
37 * Passer en mode de configuration : {{code}}configure{{/code}} ;
38 * Sélectionner la prise à configurer : {{code}}interface ethernet e<numéro de la prise>{{/code}}.
39
40 On note qu’il est possible d’abréger ces commandes (si on a la flemme) :
41
42 * {{code}}telnet switch-bX.salle106.atilla.org{{/code}} ;
43 * {{code}}con{{/code}} ;
44 * {{code}}in e e<numéro de la prise>{{/code}}.
45
46 == Activation & désactivation de l’authentification RADIUS sur une prise murale ==
47
48 Une fois la prise sélectionnée, la commande {{code}}dot1x port-control <param>{{/code}} permet de contrôler l’état de la prise ; {{code}}<param>{{/code}} peut prendre les valeurs suivantes :
49
50 * {{code}}auto{{/code}} : Mode «par défaut» ; le switch demandera une authentification au client ;
51 * {{code}}force-authorized{{/code}} : Déverrouiller la prise ; tout le monde peut s’y connecter ;
52 * {{code}}force-unauthorized{{/code}} : Verrouiller la prise
53
54 En cas de problème, il faut penser à **abuser** de la touche {{code}}?{{/code}} lors d’une session en telnet avec un switch ; cela permet d’obtenir facilement une liste des commandes disponibles dans le contexte ou vous vous trouvez.