<> Cette page est destinée à décrire l'utilisation et la configuration de RADIUS au Cr@ns. Le standard IEEE 802.1x (AAA) est utilisé pour la vérification d'adresses MAC sur les [[../ConfigurationSwitchsHP|switches]], et RADIUS en lui-même est utilisé pour la vérification des codes d'impression. Voici le détail de ces implémentations. = Authentification MAC, VLANs dynamiques sur les Switches HP = == Présentation générale == Chaque prise adhérent (c'est à dire sans borne ou serveur) est configurée pour effectuer, lorsqu'elle détecte une nouvelle adresse MAC, une requête à un serveur RADIUS (actuellement "radius" ou [[VieCrans/ServeurSable|sable]]). Outre la vérification et l'autorisation d'accès, cette requête permet au serveur RADIUS d'imposer le VLAN sur lequel est placé la prise. Ceci nous permet de séparer dynamiquement les machines du réseau classique, les machines du réseau gratuit,et les machines n'étant pas inscrites. == Configuration côté switch == La génération des fichiers de configuration des switches, {{{/usr/scripts/gestion/gen_confs/switchs.py}}}, parcourt l'annuaire {{{/usr/scripts/gestion/annuaire.py}}} et la base LDAP pour déterminer les machines sur chaque prise. Si la prise est une prise adhérent, les directives de configuration {{{aaa}}} (Authentication, Authorization and Accounting) suivantes sont ajoutées : {{{ aaa port-access mac-based 43 aaa port-access mac-based 43 addr-limit 3 aaa port-access mac-based 43 logoff-period 3600 aaa port-access mac-based 43 unauth-vid 7 }}} * La première ligne active, pour la prise 43, l'authentification basée sur l'adresse MAC. * La seconde ligne impose une limite de 3 adresses mac par prise (en fait actuellement {{{1+2*(nombre de chambres sur la prise)}}}). * La troisième ligne fixe le timeout d'inactivité de l'authentification à 3600 secondes * Enfin, la dernière ligne fixe le VLAN pour les prises "non authentifiées" au VLAN 7 Ceci indique que lors d'une connexion, le switch va effectuer une requête à ses serveurs RADIUS. * S'il reçoit une réponse, il place la prise sur le vlan que lui propose le serveur RADIUS. * S'il reçoit une réponse de refus d'authentification, ou s'il ne reçoit pas de réponse, il place la prise sur le VLAN 7. == Configuration côté RADIUS == [[http://freeradius.org|FreeRADIUS]], une implémentation libre du protocole, a été choisi au Cr@ns. Le serveur RADIUS est configuré pour exécuter un script pour chaque requête d'authentification. Ce script n'est pas exécuté avec des arguments, mais dans un environnement contenant différentes variables, nommément : * {{{CHAP_PASSWORD}}} et {{{CHAP_CHALLENGE}}}, concernant l'authentification CHAP au serveur; * {{{USER_NAME}}}, contenant l'adresse MAC de la machine pour laquelle la requête est faite; * {{{NAS_IDENTIFIER}}}, contenant le numéro de prise sur laquelle la machine vient de se brancher. Après vérification de l'authentification CHAP, la MAC est recherchée dans la base de données, et après quelques vérifications (par exemple que le propriétaire est bien en règle, qu'il n'a pas de restrictions), le serveur RADIUS détermine le VLAN sur lequel placer la machine. A cet effet, le script renvoie sur sa sortie standard {{{Tunnel-Type = VLAN, Tunnel-Medium-Type = IEEE-802, Tunnel-Private-Group-Id = "n"}}}, où {{{n}}} est le numéro de vlan. = Gestion des digicodes du local impression = C'est ici [[VieCrans/TousLesServices#stations-sun|vigile]] qui vient se connecter à [[VieCrans/ServeurZamok|zamok]] en RADIUS pour tester le code entré au digicode. Les codes sont stockés simplement dans le répertoire {{{/var/impression/codes}}} sur zamok, sous forme d'un fichier dont le nom est le code, et dont le contenu est le compte pour qui le code est destiné. Le script {{{/usr/scripts/radius_digicode.py}}} se charge de vérifier que le code introduit existe, et supprime le fichier correspondant. ---- * CatégoriePagePublique