About Radius

De Ensiwiki
Aller à : navigation, rechercher
VoIP deployment
"Projet de Spécialité 2010" Deployment of VoIP platform
Team Ouakkadi Mohamed Yassine, Rafiq Oualid, Legras-Lecarpentier Matthieu,Piton Benjamin, Torre Luc-Alexandre
Professors Franck Rousseau
Alphand Olivier
LIG laboratory, Drakkar group
Location Grenoble INP Ensimag
Date June 2010



For stranger pepole, excuse us if the following page is not in english. We try to translate it in short term.


Radius et l’authentification réseau

Introduction

Pour assurer l’authentification et la sécurisation des données, le VPN est bien pratique. Cependant il rajoute une couche logicielle supplémentaire sur le poste de travail. Aujourd’hui tous les systèmes d’exploitation possède une couche équivalente : « supplicant » et complètement intégrée au code logiciel des fonctions réseau. Il est compatible avec le chiffrement WPA. Il faut alors un serveur qui réponde aux requêtes des supplicants et implémente le protocole RADIUS (Remote Authentification Dial In User Service). On distingue Radius-MAC, quiTexte gras est une méthode basique ne mettant pas en jeu 802.1X et qui consiste à authentifier un poste par l’adresse de sa carte réseau (adresse MAC) et qui convient plutôt pour les moyens filaires; de 802.1X avec EAP (Extensible Authentification Protocol qui est un mécanisme d’authentification universelle) et grâce auquel on peut utiliser le WPA.

Matériel

Equipements du réseau

Cela désigne le commutateur ou la borne sans fil. Entre les commutateurs on aura un routeur. On les appelle des NAS (Network Access Server) ou clients Radius. Dans 802.1X ce sont les authenticators. Bien regarder si compatibles avec protocole Radius, 802.1X et EAP ainsi que 802.1Q qui définit les VLAN. Garder à l’esprit qu’un VLAN est caractérisé par un couple adresse de réseau et masque de réseau.

Serveurs d’authentification Un seul serveur d’authentification sera nécessaire, ce sera le serveur Radius. Apparemment la solution « FreeRadius » semble le bon compromis qualité-prix car elle est libre et compatible avec les standards les plus courants.

   Attention : le serveur étant le poumon du réseau, il faudra prévoir 
   une machine secondaire qui prend le relais si jamais il y a panne du serveur   
   principal.
   Une base de données pour authentifier et une autre pour autoriser seront nécessaires. 
   On partira plutôt sur une base LDAP.

Postes clients Dans le cas du filaire, l’authentification par adresse MAC se fait simplement en branchant l’équipement car le protocole radius sera utilisé directement. Pour le sans fil, il y a association du poste sur la borne. Le poste émettra des requêtes de sondage afin de dire qu’il souhaite se connecter sur le réseau Wi-Fi, soit sur un SSID (Service Set ID). La borne répondra alors et s’associera au poste.

   Attention : il faudra bien veiller à ce que chaque poste possède un logiciel  
   « supplicant ». Dans le cas contraire il y a « Xsupplicant » ou « wpa_supplicant »  
   sous linux ou BSD.

Authentification

Un ordinateur peut servir à plusieurs personnes, donc on ne peut associer un ordinateur de manière définitive à un VLAN particulier. De plus, pour authentifier les utilisateurs on pourra utiliser le système identifiant-mot de passe.

   Attention : ne pas communiquer en clair et stocker en clair le mot de passe. 
   La norme 802.1X permettra des solutions du type EAP/PEAP ou EAP/TTLS pour résoudre   
   ce problème. 

Si on considère la facilité d’utilisation pour l’utilisateur, on peut entrevoir la réutilisation d’une base existante comme une base LDAP. Dans l’authentification 802.1X, chaque port du commutateur est quasiment divisé en deux parties. La première est appelée « port contrôlé » et est maintenue fermée par le commutateur (au début du moins) et l’autre « port non contrôlé » qui laisse passer le protocole EAP grâce auquel le supplicant peut dialoguer avec le commutateur lors de la demande d’authentification.

Une fois les paquets reçus par le commutateur, il les forwade dans des paquets Radius vers le serveur et dialogue grâce à la couche UDP avec celui-ci. Puis interrogation de la base de données par le serveur.

Dans la suite on parlera de EAP/TLS (TLS est le successeur de SSL) qui est une authentification mutuelle du serveur et du client afin d’éviter l’usurpation d’identité. Pour configuration de FreeRadius, voir page 56 à 132 du livre « Authentification réseau avec radius », de Serge Bordères, édition Eyrolles.

Utilisation d’une base de données externe type LDAP

Une base LDAP peut authentifier et stocker des autorisations. On pourrait éventuellement se passer du fichier « users » de FreeRadius. Quand on parle de LDAP on fait référence à un protocole d’accès des informations stockées dans des annuaires. Il gère la manière dont les informations sont accessibles et non la façon de stockage physique. LDAP a une structure arborescente dans laquelle chaque entrée correspond à un objet qui peut être un utilisateur, une machine ou tout autre chose.

Chaque entrée possède des attributs qui la définissent et l’ensemble des attributs constitue le schéma de la base. Chaque entrée est caractérisée par un nom unique (DN pour Distinguished Name). LDAP importe ou exporte des informations grâce à des fichiers au format LDIF (LDAP Data Interchange Format) de structure :

dn : <distinguished Name> attribut1 : valeur attribut2 : valeur …

Pour pouvoir interroger une base LDAP on doit transférer les attributs dont FreeRadius a besoin, dans le schéma de la base ( répertoire « doc » > « RADIUS-LDAPv3.schema » ). Pour l’importation d’un objet dans la base, créer un fichier LDIF (avec l’uid de l’utilisateur, mot de passe, des « check-items » et « reply-items ».

L’interrogation dans la base prendra comme clé le « request-item User-Name. On devra définir dans FreeRadius un filtre de recherche pour déterminer dans quel attribut LDAP « User-name » est recherché (en général ce sera l’uid). Il existe une table « ldap.attrmap » qui fait la correspondance entre les noms d’attributs LDAP et Radius.

Indiquer où se trouve la base LDAP à FreeRadius dans le module « ldap ».

Si on veut sécuriser la communication entre les serveurs Radius et LDAP il faut utiliser l’item « start_tls=yes » et rajouter dans « ldap » (voir page 141 du livre « Authentification réseau avec Radius »)

Home page

VoIP & mobile IPv6 Speciality Project