Configuration du service FreeRADIUS
Configuration des serveurs d’accès (NAS)
Les serveurs d’accès servent de relais aux demandes de connexion des ordinateurs. Il doivent être déclarés dans la configuration pour que FreeRADIUS communique avec eux.
Les serveurs d’accès sont identifiés par une adresse IP et le masque de réseau associé, un nom court, un secret partagé et, éventuellement, le type de serveur.
Le type de serveur permet à FreeRADIUS de s’adapter aux variations de contenu des requêtes formulées par les serveurs d’accès en fonction de la marque.
Écran
- 1 Adresse IP du serveur d'accès (NAS)
- 2 Masque de sous réseau (notation CIDR) du serveur d'accès (NAS)
- 3 Nom court du serveur d'accès (NAS)
- 4 Secret partagé avec le serveur d'accès (NAS)
- 5 Type de serveur d'accès (NAS)
Options globales
Il est possible d’activer ou désactiver la journalisation des demandes de connexion en incluant ou excluant les tentatives réussies ou échouées.
Écran
- 1 Journaliser les authentifications
- 2 Journaliser les authentificaitons réussies
- 3 Journaliser les authentifications échouées
Choix du profil d’utilisation
La distribution EOLE propose une liste de profils d’utilisation correspondant aux usages identifiés.
Le choix du profil d’utilisation s’opère grâce à une liste déroulante ouverte : il est possible de déclarer un profil qui n’est pas détecté lors de la configuration.
Les profils proposés par la distribution EOLE sont les suivants :
- ldap
- ldap+acc
- tls
- tls+acc
Ils se distinguent par le choix de la méthode d’autorisation, soit une interrogation de l’annuaire, soit une validation de certificat. L’activation ou non du suivi de consommation de la connexion prend la forme d’une variante de profil pour chaque méthode d’autorisation.
Profils d’autorisation via l’annuaire
Le module ldap est utilisé lors de la phase d’autorisation pour vérifier si l’utilisateur est bien présent dans l’annuaire et si ces attributs impliquent la modification de la requête de connexion (association d’un numéro de VLAN en fonction du groupe par exemple).
Ce module nécessite la configuration d’un identifiant de connexion et d’un embranchement de recherche.
Écran
La configuration est commune aux profils ldap
et ldap+acc
. Ces deux profils ne diffèrent que par l’activation de l’étape de mesure d’usage dans le cas ldap+acc
.
- 1 Adresse du serveur LDAP permettant de récupérer les comptes utilisateurs
- 2 Suffixe racine de l'annuaire LDAP
- 3 CN du compte de consultation de l'annuaire
- 4 Chemin du fichier de mot de passe du compte de consultation
Chemin du fichier du mot de passe associé au compte de consultation.
Sur le module Scribe, le chemin du fichier de mot de passe du compte
reader
est/root/.reader
.Sur le module AmonEcole, les fichiers de mot de passe des comptes utilisés pour les tâches administratives de l’annuaire se trouvent dans le conteneur
addc
, dans le dossier/etc/eole/private
. Le chemin complet doit être fourni en préfixant l’emplacement du conteneur, soit/var/lib/lxc/addc/rootfs/etc/eole/private/<nom du compte>.password
.
Les profils ldap et ldap+acc mettent également en œuvre la possibilité d’associer un numéro de VLAN selon le groupe de l’utilisateur requérant la connexion.
Écran
- 1 Groupe d'utilisateurs à récupérer dans l'annuaire LDAP
- 2 Numéro de VLAN à attribuer à ce groupe
Profils d’autorisation via les certificats
Création d’un profil personnalisé
Dans le cas où les profils fournis par la distribution EOLE ne conviendraient pas au cas d’usage, il est possible d’en mettre un autre en place, construit de toutes pièces.
Les profils sont stockés dans le dossier /usr/share/eole/freeradius-profiles.d
. Chaque profil est isolé dans un dossier dont il tire le nom.
Le dossier base
est la copie de la configuration originale de FreeRADIUS telle que fournie par la distribution Ubuntu. Le contenu de ce dossier sert de modèle à la création de profils personnalisés. Chaque fichier de cette configuration contient sa propre documentation.
Un dossier de profil reprend l’arborescence complète d’une configuration FreeRADIUS. Le point d’entrée de la configuration est le fichier radiusd.conf
. Les différents fichiers de configuration sont inclus au démarrage du service selon les directives INCLUDE
déclarées dans ce fichier radiusd.conf
.
Configurer FreeRADIUS revient à choisir quels fichiers seront chargés au démarrage et à adapter le contenu de ceux utilisant des ressources externes (connexion à des bases de données ou annuaire par exemple).
Complément
Pour la création d’un profil personnalisé, il est donc possible de commencer par copier l’intégralité du répertoire /usr/share/eole/freeradius-profiles.d/base
dans un dossier voisin portant le nom du profil souhaité. Ce nom devra être celui renseigné dans l’application de configuration du module pour la variable Profil d’utilisation
.
Pour la mise en place finale, lors du reconfigure, ce dossier sera copié en conservant l’arborescence et les liens.
Le fichier radiusd.conf
par défaut définit les emplacements suivants :
/etc/freeradius/3.0/mods-config/
pour le chargement des configurations des modules ayant une syntaxe particulière ;/etc/freeradius/3.0/sites-enabled/
pour les fichiers déclarant les sites virtuels, c’est-à-dire les chaînes de modules pour le traitement des différentes étapes des demandes de connexion (autorisation, authentification, éventuellement accounting) ;/etc/freeradius/3.0/mods-enabled/
pour le chargement des configuration des modules adoptant la syntaxe générique.
Le répertoire base ne propose par le répertoire mods-enabled
mais le répertoire mods-available qui contient tous les modules disponibles. Pour activer l’un d’un module, en respectant la convention de l’inclusion dans radiusd.conf
, il suffit de lier ou copier le fichier de ce module dans le répertoire mods-enabled
(à créer la première fois).
Quelques modules doivent être configurés avant de pouvoir être importer par FreeRADIUS. La configuration des modules est effectué dans les fichiers portant leur nom. La documentation de chaque module est ajoutée en commentaire dans chaque fichier.
cp -ar /usr/share/eole/freeradius-profiles.d/{base,radius_custom}
pushd /usr/share/eole/freeradius-profiles.d/radius_custom
mkdir {sites-enabled,mods-enabled}
ln -s sites-available/default sites-enabled/default
ln -s mods-available/eap mods-enabled/eap
popd
CreoleSet freeradius_profile radius_custom
Le choix d’un profil personnalisé, c’est-à-dire différent de ceux fournis par la distribution EOLE, permet d’activer la prise en charge automatique de la pki et la configuration du module ldap
.
La prise en charge automatique de la pki consiste en la copie des certificats et clé présents dans le dossier /usr/share/eole/freeradius-certs.d/<profil>/certs
(remplacer profil par le nom du profil) vers le dossier de configuration de FreeRADIUS. Les fichiers ca.pem
et server.pem
sont copiés vers /etc/freeradius/3.0/ssl/certs/
et le fichier server.key est copié vers /etc/freeradius/3.0/ssl/private/
.
Si le fichier server.pem
n’existe pas, l’ensemble des certificats et clé est créé au préalable.