Radius

Définition :

RADIUS (Remote Authentication Dial-In User Service) est un protocole client-serveur permettant de centraliser des données d’authentification. Le protocole RADIUS a été inventé et développé en 1991 par la société Livingston, qui fabriquait des serveurs d’accès au réseau pour du matériel uniquement équipé d’interfaces série ; il a fait ultérieurement l’objet d’une normalisation par l’IETF.

Normalisation :

  • A : Authentification = Authentification = Login, mot de passe
  • A : Authorizarion = Autorisation = Permission d’accès
  • A : Accouting = Compte = Délais, temps de connexion

Architecture requise :

Utilité :

Le but de RADIUS était à l’origine de permettre aux fournisseurs d’accès à Internet d’authentifier les utilisateurs distants utilisant les connexions par modem RTC à partir de multiples serveurs mais d’une seule base utilisateurs. Dans la situation précédente, les noms et mots de passe des utilisateurs devaient être dupliqués dans chaque appareil ayant besoin d’identifier des utilisateurs. De même, l’authentification POP (messagerie électronique) devait être gérée par ce biais. L’identification sur les sites Web par un nom et un mot de passe est aussi gérée en RADIUS, le serveur Apache est un des clients Radius les plus répandus. C’est toujours l’utilisation la plus courante du protocole RADIUS : nom et mot de passe de connexion à l’Internet, mais de plus en plus les réseaux sans fil ou filaires y ont aussi recours pour identifier les utilisateurs.

Le protocole RADIUS 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. L’opération d’authentification est initiée par un client du service RADIUS, qui peut être un boîtier d’accès distant (NAS : Network Access Server), un point d’accès réseau sans fil, un pare-feu (firewall), un commutateur, un autre serveur. Le serveur la traite en accédant si nécessaire à une base externe : base de données SQL, annuaire LDAP, comptes d’utilisateur de machine ou de domaine ; un serveur Radius dispose pour cela d’un certain nombre d’interfaces ou méthodes.

Fonctionnement :

Le poste utilisateur (supplicant dans les RFC) transmet une requête d’accès à un client RADIUS pour entrer sur le réseau. Ce client se charge de demander les informations identifiant l’utilisateur : le nom d’utilisateur (login) et le mot de passe par exemple.

Le client RADIUS génère selon le protocole une requête Access-Request contenant les informations d’authentification. Le serveur RADIUS peut traiter lui-même cette requête ou la transmettre à un autre serveur RADIUS par un mécanisme appelé Proxy Radius. Le serveur Radius chargé de l’identification finale (appelé Home Radius) peut traiter la demande s’il dispose de suffisamment d’éléments dans l’Access-Request ou demander des informations supplémentaires par un renvoi de paquet « Access Challenge », auquel le client répondra par un autre « Access-Request », et ainsi de suite. Les échanges sont retransmis par la chaîne de serveurs Radius proxy intermédiaires dans un sens et dans l’autre.

Quand le serveur Radius dispose de suffisamment d’éléments (jusqu’à une douzaine d’échanges pour les protocoles complexes de type EAP) le serveur RADIUS valide ou refuse l’identification en renvoyant un paquet de type : Access-Accept ou Access-Reject.