Authentification Radius dans l’environnement EOLE

Table des matières

Remerciement

Avant-propos

Présentation du SICEP Bourgogne

Présentation EOLE

Introduction :

Architecture du réseau

Etude de l’existant

Les lycées sous serveur Windows (w2003R2 ou W2008R2) :

Les lycées sous serveur Scribe :

Objectif du projet :

Problématique du projet

Architecture Utilisés

Le serveur d’authentification

Présentation Radius

Méthodes d’authentifications :

Schéma de principe de la séquence d’autorisation/authentification de la méthode d’authentification EAP/PEAP.

Activation du Service Freeradius dans gen_config sur AMON

Configuration du NAS correspondant au fichier « radiusd.conf ».

Configuration du LDAP correspondant au fichier « ldap.conf ».

Configuration des groupes et des Vlans correspondant au fichier « users ».

Interface Graphique de gestion freeradius sur AMON.

Génération automatique du fichier de configuration

Fichier USERS /etc/freeradius/users de ma maquette d’établissement.

Fichiers CLIENTS /etc/freeradius/clients.conf

Fichier Ldap.conf /etc/freeradius/modules/ldap.conf

Configuration des méthodes d’authentifications dans le fichier sites-enabled/default.

Client non contrôlé demande authentification auprès de serveur radius.

Client Contrôlé avec autorisation d’accès et basculement sur Vlan.

Conclusion :

Remerciement

Avant tout développement sur cette expérience professionnelle, il apparaît opportun de commencer cette note de synthèse par des remerciements, à ceux qui m’ont beaucoup appris au cours de ce stage, et même à ceux qui ont eu la gentillesse de faire de ce stage un moment très profitable. Aussi, je remercie Pascal Bourgoin, mon maitre de stage ainsi que Arnaud Andriot et également Frederic Poyet qui m’ont formé et accompagné tout au long de cette expérience professionnelle avec beaucoup de patience et de pédagogie. Enfin, je remercie l’ensemble des employés du Service d’Ingénierie et de Conseils en Equipements Pédagogiques (Sicep) de pour les conseils qu’ils ont pu me prodiguer au cours de ces deux mois.

Avant-propos Ce dossier va traiter du protocole Radius (Remote Authentification Dial-In User Service) qui permet de faire la liaison entre des besoins d'identification et une base d'utilisateurs en assurant le transport des données d'authentification de façon normalisée via un protocole AAA qui réalise l'authentification, l'autorisation, et la traçabilité (en Anglais : Authentication, Authorization, Accounting/Auditing).

Présentation du SICEP Bourgogne

Le Service d’Ingénierie et de Conseils en Equipements Pédagogiques (SICEP) est placé sous la responsabilité de François BOUARD, conseiller Technologies de l'Information et de la Communication pour l'Enseignement (TICE) du Recteur de l’académie pour les technologies de l’information et de la communication dans l’enseignement, et est intégré au dispositif d’assistance aux établissements du CETIAD. Il a pour rôle d’appuyer le développement et l’intégration de ces technologies dans les établissements du second degré.

Le SICEP dispose d’une équipe rassemblant plusieurs compétences portant sur les aspects des Technologies de l'Information et de la Communication (TIC) et de leur utilisation : ● les équipements (PC, vidéo projecteur, imprimantes…). ● les réseaux (infrastructure, actifs, serveur, pare-feu…). ● l’aide à l’administration des réseaux. ● l’aide aux usages pédagogiques. ● les services internet (accès et sécurité) et intranet. ● la visioconférence. ● les usages d’Internet. ● les Espace Numériques de Travail (ENT).

Le SICEP travaille en partenariat : ● avec les collectivités territoriales, notamment le Conseil Régional et les Conseils Généraux, pour la définition des équipements informatiques à implanter dans les établissements, la mise en place d’expérimentations destinées à promouvoir et évaluer de nouvelles activités, ainsi que l’accompagnement de grands projets comme le câblage et les Environnement Numérique de Travail (ENT). ● avec le Centre Régional de Documentation Pédagogique (CRDP) pour l’organisation d’actions de promotion des TICE. ● avec l’Institut Universitaires de Formation des Maîtres (IUFM) pour la rédaction du cahier des charges du chapitre TIC du plan académique de formation. ● avec les corps d’inspection pour la promotion des usages pédagogiques des TICE dans les disciplines.

Présentation EOLE

Ensemble Ouvert Libre et Évolutif, EOLE est une initiative locale, démarrée en 2000 dans l'académie de Dijon elle propose des solutions clef en main pour la mise en place de serveurs répondant aux besoins des établissements scolaires et des rectorats. En 2001, à la demande du ministère, Eole devient un projet national et de nombreuses académies choisissent de l'utiliser.

En 2006 débute de la refonte complète du projet. Eole NG utilise dorénavant la distribution Ubuntu/Linux. Tous les outils sont réécrits, et la plupart des composants sont changés ou réactualisés. La version Eole Ng 2.0 a été mise à disposition en octobre 2007.

Introduction :

De nos jours l’informatique est marquée par l’explosion des réseaux sans fil. Son évolution rapide, celles des mentalités et des habitudes conduisent les administrateurs réseaux à repenser l’authentification des usagers à travers un réseau de plus en plus vaste.

L’accès à un réseau est un service qui peut être convoité dans un but malveillant. Un pirate qui obtient la clé d’un réseau peut chercher à s’y introduire, compromettre des machines et s’en servir pour interagir avec d’autres réseaux avec toutes les conséquences néfastes que cela peut entrainer pour la sécurité des personnes, des données et du matériel.

Du point de vue d’un utilisateur lambda en informatique, le fait de se connecter physiquement au réseau doit être une opération très simple, pour accéder aux ressources dont il a besoin. Il convient donc de ne pas lui compliquer les procédures à outrance.

De son côté, le responsable du réseau a le devoir de mettre en place des moyens de contrôle des accès pour respecter les contraintes liées aux lois, et pour cela, il doit résoudre plusieurs problématiques : ● simplicité pour l’utilisateur, ● fiabilité des mécanismes, ● niveau de sécurité élevé, ● utiliser le plus possible les standards disponibles.

Architecture du réseau

Les réseaux locaux filaires ont aussi beaucoup évolués ces dernières années, passant d’une architecture peu structurée à une segmentation en sous-réseaux souvent motivée par la volonté de mieux maîtriser les flux entre différents utilisateurs ou types d’activités, notamment grâce à l’utilisation de réseau local virtuel (VLAN).

Etude de l’existant

A l’heure actuelle les lycées et collèges de l’académie sont équipés d’un système d’exploitation élaboré par EOLE qui est une adaptation d’une distribution GNU/LINUX spécifique qui permet d’installer facilement un serveur dédié.

Pour les lycées, il existe deux possibilités de structures :

- Organisé autour d’un serveur Windows pour le réseau pédagogique - d’un serveur Scribe dans la zone pédagogique

Les lycées sous serveur Windows (w2003R2 ou W2008R2) :

- le serveur est contrôleur de domaine, serveur wins, dns, dhcp, iis, ad, certificats - le serveur est dans la zone pédagogique - le serveur radius est un composant Windows (service IAS pour w2003 et NPS pour w2008) - l'accès aux ports des commutateurs n'est pas authentifié et les VLAN sont affectés de manière statique - l'accès au réseau wifi se fait par authentification radius (PEAP) avec les comptes de l'AD

Les lycées sous serveur Scribe :

- le serveur est contrôleur de domaine, serveur wins, dns, dhcp, apache, ldap - le serveur est dans la zone DMZ. Les commutateurs et les stations sont dans la zone pédagogique - l'accès aux ports des commutateurs n'est pas authentifié et les VLAN sont affectés de manière statique, - pas de wifi mis en place, - pas d'authentification radius à l'accès aux Commutateurs,

Objectif du projet :

L’objectif de mon projet est de mettre en place le processus d’identification des utilisateurs sur un réseau local d’un établissement scolaire. L’utilisateur doit pouvoir se connecter à un commutateur et envoyer une demande d’authentification au serveur radius qui lui-même interroge une base LDAP qui est installée sur le serveur Scribe et lorsque celle-ci est établit l’utilisateur est basculé sur le VLAN lui correspondant (cela dépend si le login correspond à un professeur ou un élève).Et notifier les erreurs généré lors du déroulement du script d’installation et de la mise en place de FreeRadius.

Problématique du projet

● La mise en place de FreeRadius après activation dans l’interface graphique du serveur Amon ne permet pas aux utilisateurs de se connecter, le logiciel radius n’étant pas configuré. Le but de mon projet étant de paramétrer radius pour accepter les connexions des utilisateurs via le protocole EAP/PEAP et MSCHAP.

● Permettre l’interrogation du NAS au serveur radius : créer une règle dans le pare-feu ERA.

● Configuré le commutateur qui jouera le rôle du NAS pour lui permettre le partage d’un secret entre lui-même et le serveur Radius mais également le basculement des ports suivant le vlan récupéré via la requête d’acceptation du serveur Radius.

Architecture Utilisés

Pour mon projet je vais reprendre l’architecture des lycées ayant comme système d’exploitation linux, en Utilisant un serveur Amon qui me permettra d’installer FreeRadius ainsi qu’un serveur Scribe qui me servira de base de données utilisateurs.

Spécificité du serveur AMON :

Le pare-feu Amon permet de partager en toute sécurité un accès Internet entre les sous réseaux d'un réseau local.

Installé sur un serveur dédié, équipé de deux, trois, quatre ou cinq interfaces réseau, il permet d'organiser au mieux le réseau. Des modèles de règles de pare-feu sont disponibles pour chaque architecture. On peut les utiliser tels quels ou bien les modifier. Un outil spécifique, Era, est à disposition pour effectuer ce travail.

Les principales fonctionnalités du serveur Amon sont : ● routage ; ● support Vlan ; ● authentification des utilisateurs ; ● filtrage réseau ; ● filtrage de site amélioré ; ● réseau virtuel privé ; ● suivi détaillé de la navigation web ; ● mises à jour automatiques ; ● journalisation des fichiers logs ; ● détection d'intrusions ; ● service de cache web ; ● administration simplifiée ; ● statistiques sur l'état du système ; ● statistiques d'utilisation.

Les principales fonctionnalités du serveur Scribe sont :

● Scribe est un contrôleur de domaine ; ● Scribe est un système de messagerie articulé autour d'un annuaire performant ; ● Scribe offre des services web ⇒ Envole 2.0 ; ● Scribe est un serveur d'authentification unique (SSO) ; ● Scribe dispose d'une gestion avancée des utilisateurs et des postes clients.

Ici notre serveur de base de données utilisateurs sera donc hébergé sur le serveur Scribe qui possède une base de données utilisateurs (LDAP). Le serveur FreeRadius envoie une requête de recherche vers le serveur LDAP. Quand une correspondance est trouvée entre User-Name et uid, les attributs contenus dans la base pour cette entrée sont envoyés au serveur FreeRadius. Néanmoins, ils ne sont pas directement exploitables puisqu’ils sont préfixés par le mot « Radius » et il faut donc les mettre en correspondance avec leur nom dans FreeRadius. Pour cela, il existe une table, appelée ldap.attrmap, qui met en correspondance les noms d’attributs LDAP et RADIUS.

LDAP (Lightweight Directory Access Protocol, est un Protocole d'accès aux annuaires léger ainsi qu'un protocole standard permettant de gérer des annuaires, c'est-à-dire d'accéder à des bases d'informations sur les utilisateurs d'un réseau par l'intermédiaire de protocoles TCP/IP.

Le serveur d’authentification

Il existe plusieurs solutions sur le marché, certaines commerciales, d’autres libres.

Citons par exemple :

• ACS (Access Control Server de Cisco sous Windows) ; • Aegis (de MeetingHouse sous Linux) ; • IAS (Internet Authentication Service de Microsoft sous Windows) ; • OpenRadius (libre sous Linux) ; • FreeRadius (libre sous Linux, BSD, Solaris et Windows).

Ici nous retiendrons la solution Freeradius, qui d’une part est déjà implémentée sur le serveur Amon et d’autre part elle présente également l’avantage d’être très stable, et bénéficie d’une communauté très active. Sa compatibilité avec les standards lui permet de s’intégrer dans un grand nombres d’environnements de travail. De plus, elle est libre de droit.

Le serveur Radius a besoin d’une base de données qu’il pourra interroger pour obtenir les informations dont il a besoin pour authentifier l’utilisateur ou pour délivrer des autorisations (numéro de VLAN). Il peut s’agir d’une base propre à FreeRadius (fichier users) ou d’une base externe (Oracle, domaine Windows, LDAP, etc.).

Présentation Radius

La première tâche de ce serveur est d’authentifier les requêtes qui lui parviennent d’un poste client, c’est-à-dire d’engager des échanges avec lui pour obtenir la preuve qu’il est bien qui il prétend être. On peut distinguer deux types de preuves :

● Authentification avec l’adresse Ethernet (adresse MAC): L’adresse MAC de la carte Ethernet du poste de travail identifie ce dernier. Cette adresse MAC n’est pas une preuve absolue d’identité puisqu’il est relativement facile de la modifier et d’usurper l’identité d’un autre poste de travail.

● par mot de passe: ce type d’authentification correspond plutôt à une authentification par utilisateur et suppose qu’il existe quelque part une base de données qui puisse être interrogée par le serveur. Plusieurs protocoles peuvent être mis en œuvre pour assurer une authentification.

● par certificat électronique: ce type d’authentification consiste à faire présenter par le client un certificat électronique dont la validité pourra être vérifiée par le serveur.

La deuxième tâche du serveur Radius, est de délivrer des autorisations.

En quelque sorte, le serveur Radius va dire à l’équipement réseau : « J’ai authentifié le poste client qui est connecté sur l'interface ethx et je demande de l’ouverture en lui affectant le VLANy ». Cette allocation dynamique du VLAN garantit une adaptabilité bien plus intéressante qu’une séparation des réseaux sans fil et filaires en plusieurs VLAN physique. Ici nous choisirons une authentification par login et mot de passe que nous irons interroger dans la base LDAP où seront stocké le login et le mot de passe de l’utilisateur. Nous choisirons également d’utiliser le fichier USERS qui nous permettra de basculer l’utilisateur dans le VLAN approprié suivant son groupe LDAP.

Méthodes d’authentifications :

Voici les différentes méthodes classées de la moins sûre à la plus sûre. ● EAP-MD5: C’est la plus simple. Le client est authentifié par le serveur en utilisant un mécanisme de défi réponse. Le serveur envoie une valeur aléatoire (le défi), le client concatène à ce défi le mot de passe et en calcule, en utilisant l’algorithme MD5, une empreinte (” hash ”) qu’il renvoie au serveur. Le serveur qui connaît le mot de passe calcule sa propre empreinte, compare les deux et en fonction du résultat valide ou non l’authentification. Une écoute du trafic peut dans le cas d’un mot de passe mal choisi, permettre de le retrouver par une attaque par dictionnaire ou par force brute.

● PEAP (Protected EAP): Elle est développée par Microsoft. Elle se sert d’un tunnel TLS pour faire circuler de l’EAP. On peut alors utiliser toutes les méthodes d’authentification supportées par EAP.

● EAP-TLS (Extensible Authentication Protocol-Transport Layer Security): C’est la plus sûre. Le serveur et le client possèdent chacun leur certificat qui va servir à les authentifier mutuellement. Cela reste relativement contraignant du fait de la nécessité de déployer une infrastructure de gestion de clés. Rappelons que TLS, la version normalisée de SSL (Secure Socket Layer), est un transport sécurisé (chiffrement, authentification mutuelle, contrôle d’intégrité).

La méthode PEAP a été choisi pour pallier au problème de certificat qui doit être installé sur chaque client qui reste très contraignant dans de grande enceinte comme un lycée. Schéma de principe de la séquence d’autorisation/authentification de la méthode d’authentification EAP/PEAP.

Activation du Service Freeradius dans gen_config sur AMON

L’activation du service freeradius sur le serveur AMON s’effectue grâce à une interface de configuration graphique.Elle permet donc de configurer le client RADIUS, le serveur LDAP ainsi que les groupes et les VLANS en créant les fichiers de configurations associés. Configuration du NAS correspondant au fichier « radiusd.conf ».

Interface d’écoute de freeradius sur le réseau local eth2 (Ici Radius traitera les requêtes venant de l’interface pédagogique)
Adresse IP du serveur NAS : 10.121.210.254 (Client Radius)
Secret partagé entre le NAS et Radius : lecastel21

Configuration du LDAP correspondant au fichier « ldap.conf ».

Adresse IP de la base de données LDAP : 192.168.0.1 (Ici notre serveur de donnée sera l’IP du serveur Scribe)
Base DN : o=gouv,c=fr

Configuration des groupes et des Vlans correspondant au fichier « users ».

Groupes d’utilisateurs : professeurs ou/et élèves
Attribuer un Vlan par groupe

Interface Graphique de gestion freeradius sur AMON.

Génération automatique du fichier de configuration

Cela permet ainsi de créer le fichier users qui est aussi la base de données locale. Elle est utilisée soit comme base d’autorisations, soit comme base d’authentification ou les deux à la fois. Il s’agit d’un simple fichier texte lue ligne par ligne de haut en bas. Ici notre fichier users sera utilisé pour une base d’autorisations car elle permet le rattacher un vlan suivant les check-items correspondant au groupe ldap et/ou Ip du client Radius.

Fichier USERS /etc/freeradius/users de ma maquette d’établissement.

Par default le client RADIUS ayant l’adresse IP 10.121.210.25 et appartenant au groupe Elèves dans la base LDAP sera authentifié sur le VLAN 200.

DEFAULT NAS-IP-Address == “10.121.210.25”,Ldap-Group == “Eleves”

Tunnel-Type = VLAN,
Tunnel-Medium-Type = IEEE-802,
Tunnel-Private-Group-ID = 200

DEFAULT Ldap-Group == “professeurs”

Tunnel-Type = VLAN,
Tunnel-Medium-Type = IEEE-802,
Tunnel-Private-Group-ID = 100

DEFAULT Ldap-Group == “Eleves”

Tunnel-Type = VLAN,
Tunnel-Medium-Type = IEEE-802,
Tunnel-Private-Group-ID = 110

Fichiers CLIENTS /etc/freeradius/clients.conf

Ce fichier a pour fonction de définir les secrets partagés avec chaque équipement réseau. Cela revient à déclarer quels matériels (NAS) peuvent soumettre des requêtes au serveur FreeRadius. Ici le client RADIUS ayant l’adresse IP 10.121.210.254 partage avec le serveur RADIUS le secret « lecastel21 » son nom est HP.

client localhost {

ipaddr = 127.0.0.1
secret		= testing123
require_message_authenticator = no

} client 10.121.210.254 {

secret		= lecastel21
shortname 	     = hp
nastype		= other

}

Tout autre matériel sera refusé et produira comme message d’erreur : Ignoring request from unknown client Ip_Nas

Fichier Ldap.conf /etc/freeradius/modules/ldap.conf

Le password diffère sur chaque serveur Scribe, et doit être récupéré dans le fichier root/.reader

Il faut noter le password et l’injecter dans le fichier ldap.conf pour que radius puisse parcourir la base ldap via l’utilisateur reader qui a le droit d’accès a la base de donnée en mode lecture seul ce qui me permettra de récupérer les informations utiles à l’identification de l’utilisateur.

ldap {

server = "192.168.0.1"
identity = "cn=reader,o=gouv,c=fr"
password = 161cabfd33b39ae9e796c38533a734ebe769cf88
basedn = "o=gouv,c=fr"
filter = "(uid=%{%{Stripped-User-Name}:-%{User-Name}})"}

Configuration des méthodes d’authentifications dans le fichier sites-enabled/default.

Section Authorize

Cette section contient la liste des modules qui doivent être exécutés afin de constituer la liste des reply-items et de préparer le terrain avant la section Authenticate. Ils positionnent le config-item Auth-Type, si cela n’a pas déjà été fait explicitement dans le fichiers users, et interrogent une base de données d’autorisation.

authorize {

preprocess
mschap
eap
files
ldap
expiration
logintime

}

Section Authentification

Ici se trouve la liste des modules correspondant aux méthodes d’authentification que le serveur accepte. Ces modules sont les mêmes que ceux qui ont pu être utilisés dans la section Authorize, mais cette fois-ci, ils accomplissent une tâche d’authentification. Lorsque le processus arrive dans la section Authenticate, le config-item Auth-Type doit déjà être positionné explicitement dans l’entrée validée dans le fichier users, ou bien implicitement par un des modules de la section Authorize.

authenticate {

Auth-Type MS-CHAP {
	Mschap }
Auth-Type LDAP {
	ldap}
Auth-Type EAP {
	Eap }

Client non contrôlé demande authentification auprès de serveur radius. , Le port sur le Switch est fermé tant que l’authentification et l’autorisation n’est pas validé par le serveur RADIUS.

Client Contrôlé avec autorisation d’accès et basculement sur Vlan.

Le port sur le Switch est ouvert lorsque celui-ci reçois la validation du serveur RADIUS ainsi que le numéro de vlan attribué.

Conclusion :

Les problèmes que j’ai rencontré lors de mon stage sont le manque de documentation sur FreeRadius dans l’environnement EOLE, je me suis heurté à une multitude de problèmes propre à mon environnement de travail spécifique aux serveurs AMON et SCRIBE.

A l’heure actuelle, FreeRadius dans le module Amon, le paramétrage du serveur LDAP, le paramétrage du pare-feu est fonctionnel ainsi que le basculement de l’utilisateur dans le VLAN approprié à l’utilisateur qui se connecte ainsi que la reconnaissance du type de NAS (Ethernet ou Wireless). La possibilité d’un portail captif pour une connexion en wifi reste à mettre en place avec comme solution possible et libre CHILLISPOT. Qui permettrais de délivrer une adresse IP temporaire à l’utilisateur voulant se connecter permettant ainsi à celui-ci de s’authentifier auprès du serveur radius.

Durant le déroulement de mon stage j’ai eu l'opportunité de travailler sur différents aspects du travail d'informaticien, d'une part la mise en situation sur le terrain avec des déplacements dans les lycées et collèges me permettant ainsi de rencontrer les problèmes des utilisateurs et d'autre part de travailler avec une équipe autour d'un projet de stage très intéressant et enrichissant.

freeradius.txt · Dernière modification: 2012/02/20 22:58 par magicfinger
 
Sauf mention contraire, le contenu de ce wiki est placé sous la licence suivante : CC Attribution-Share Alike 3.0 Unported
Recent changes RSS feed Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki