Académique Documents
Professionnel Documents
Culture Documents
ET
SERVICES D’ANNUAIRES
L'authentification est la procédure qui consiste, pour un système informatique, à vérifier l'identité d'une entité
(personne, ordinateur...), afin d'autoriser l'accès de cette entité à des ressources (systèmes, réseaux,
applications...).
Qu'est ce que l'authentification réseau
Sécuriser un réseau
Pour éviter une utilisation illicite du réseau par des « inconnus »
Pour interdire les postes inconnus
Pour donner des autorisation spécifiques sur le réseau (vlan ,application, … )
Pour savoir quelle machine est connectée et où elle est connectée
Les protocoles d’authentifications
TACACS+
RADIUS
KERBEROS
Les protocoles d’authentifications
TACACS+
Protocole de sécurité inventé dans la fin des années 90 par CISCO Systems.
il a fini par remplacer les protocoles TACACS et XTACACS, TACACS+ n’est pas basé sur ces
derniers.
TACACS+ est un serveur d’authentification permettant de centraliser les autorisations
d’accès (Les mots de passe utilisés sont gérés dans une base de données centrale ).
TACACS+ permet de vérifier l’identité des utilisateurs distants mais aussi, grâce au
modèle AAA, d’autoriser et de contrôler leurs actions au sein du réseau local.
Les protocoles d’authentifications
TACACS+
TACACS+
• Authentication(authentification)
TACACS+
• Autorisation (authorization)
Permet de déterminer ce que l’utilisateur a le droit de faire, le type de service ou de ressource qu’il peut
utiliser.
Permet de savoir les actions faites par l’utilisateur depuis l’authentification jusqu'à la fin de sa session dans le
système
Il est généralement utilisé pour la génération d’audits et de rapports dans une optique de sécurité
Les protocoles d’authentifications
TACACS+ : Architecture
D’un utilisateur distant souhaitant se connecter à son réseau d’entreprise par une connexion point à point
L’utilisateur distant se connecte grâce à son modem au Serveur d’accès de son entreprise
Le serveur d’accès va, par la suite interroger, le serveur TACACS+
afin de déterminer :
la validité de l’utilisateur (authentification)
les services auquel il a droit (autorisation) et de contrôler ses actions à l’intérieur du
réseau
C’est donc le serveur d’accès qui va agir en tant que Client TACACS+ et communiquer les informations au
serveur TACACS+
Les protocoles d’authentifications
TACACS+ : Architecture
cas d’un utilisateur WIFI souhaitant se connecter à son réseau local d’entreprise.
l’utilisateur « wifi » se connecte à son point d’accès qui va jouer le rôle de client TACACS+ auprès du serveur.
Les protocoles d’authentifications
TACACS+ : Architecture
Cas d’un utilisateur itinérant souhaitant se connecter à réseau d’entreprise à distance en utilisant un canal VPN
L’utilisateur se connecte ici en VPN par Internet au serveur d’accès de son entreprise qui jouera le rôle de
client TACACS+.
Les protocoles d’authentifications
TACACS+ : Fonctionnement
TACACS+ : Authentification
La phase d’authentification peut supporter plusieurs protocoles comme des techniques de type RAP ou
encore CHAP
le client envoie un paquet «START» au serveur TACACS+ des paires de message de type
REQUEST/REPONSE contenant des paires <attributsvaleur> seront échangés
Les protocoles d’authentifications
Nous allons détailler le fonctionnement de TACACS + pour chaque fonction AAA :
TACACS+ : Authentification
Par exemple il peut envoyer un prompt au client pour lui permettre de fournir les informations sur le nom
d’utilisateur, ainsi que son mot de passe.
serveur TACACS+ vérifie et envoie dans un paquet
«REPLY» sa réponse
Les protocoles d’authentifications
Nous allons détailler le fonctionnement de TACACS + pour chaque fonction AAA :
TACACS+ : Autorisation
Quand un utilisateur demande l’utilisation d’un service particulier, il passe par l’intermédiaire du client
TACACS+ qui envoie un paquet « REQUEST »
Ce paquet comprend des arguments de types « attributsvaleurs » qui permette de définir les commandes qui
doivent être exécutés
Exemple : si l’utilisateur veut utiliser le protocole FTP, le client TACACS+ enverra comme argument protocol = «ftp».
serveur TACACS+ vérifie dans sa base et envoie dans un paquet «RESPONSE » sa réponse
Les protocoles d’authentifications
Nous allons détailler le fonctionnement de TACACS + pour chaque fonction AAA :
TACACS+ : Comptabilisation
Lors d’une action de l’utilisateur, le client TACACS+ envoie un paquet « REQUEST » comprenant toujours des
arguments « attributsvaleurs » qui permettent, entre autres, de savoir le début, la fin et le type d’action
exécuté par l’utilisateur.
Le serveur TACACS+ enregistre alors les informations dans sa base et renvoie un paquet « RESPONSE »
avec le résultat de l’enregistrement (échec ou succès).
Les protocoles d’authentifications
TACACS+ : Exemple d’une session TACACS+
Les protocoles d’authentifications
RADIUS
RADIUS
3 ACTEURS
L'utilisateur : émetteur de la requête d'authentification ( poste de travail, un portable, un PDA…)
•Le client RADIUS:le point d'accès au réseau (NAS, firewall, point d'accès wireless, etc...)
•Le serveur RADIUS: relié à une base d'authentification (Base de données, annuaire LDAP)
Les protocoles d’authentifications
RADIUS
RADIUS
RADIUS : Mode opératoire type
RADIUS
RADIUS : Mode opératoire type-l 'authentification mode Challenge
RADIUS
RADIUS : Couche de transport
RADIUS
RADIUS : Implémentations
Versions libres
Cistron Radius, Livingston Radius et FreeRadius, OpenRadius
Les protocoles d’authentifications
RADIUS
RADIUS : Paquets RADIUS
Les protocoles d’authentifications
RADIUS
RADIUS : Paquets RADIUS
Authentificateur
• Request Authenticator :requêtes du client
Nombre aléatoire de 16 octets
• Response Authenticator :réponses du serveur
utilisé pour authentifié la réponse du serveur
ResponseAuth = MD5(Code+ID+Length+RequestAuth+Attributes+Secret).
• Le client est alors en mesure de vérifier que le serveur qui répond est bien celui qu'il a contacté.
Attributs et valeurs
• Ensemble d'attributs et leur valeur qui indique quels services sont demandés ou autorisés.
Les protocoles d’authentifications
RADIUS
RADIUS : Sécurité
Les protocoles d’authentifications
RADIUS
RADIUS : Faiblesses
Les protocoles d’authentifications
RADIUS
RADIUS : Faiblesses
Les protocoles d’authentifications
KERBEROS
Les protocoles d’authentifications
KERBEROS
Les protocoles d’authentifications
KERBEROS
Les protocoles d’authentifications
KERBEROS: Le KDC
Les protocoles d’authentifications
A P
•Authentification SMTP •Password Authentication Protocol
C •Protocole AAA
•Central Authentication Service •Protocole de Needham-Schroeder
•Challenge-Handshake Authentication Protocol R
D •Remote Authentication Dial-In User Service
•Diameter T
E •Terminal Access Controller Access-Control System
•Extensible Authentication Protocol •Terminal Access Controller Access-Control System Plus
G Y
•Guillou-Quisquater •Yadis
K
•Kerberos (protocole)
L
•Lightweight Third Party Authentication
M
•MS-CHAP
À propos des annuaires
Nous sommes familiers et habitués à utiliser différents types d’annuaires dans notre vie
quotidienne. À titre d’exemple, nous pouvons citer les annuaires téléphoniques publiques et
professionnels et tout ce qui ressemble de près ou de loin à un catalogue. Ce pourrait être le
cas d’un programme de spectacle ou encore d’un catalogue de vente de produits sur un site de
commerce électronique.
La fonction première de tout service d’annuaire est donc d’aider les utilisateurs de ces services
à trouver toutes sortes d’éléments en fonction de leur description et diverses caractéristiques.
Dans la mesure où les utilisateurs n’interagissent pas directement avec l’annuaire, il est dit que
ces types d’annuaires fonctionnent en mode "déconnecté".
L’implémentation des services d’annuaires au sein des réseaux informatiques reprend ces
mêmes concepts mais étend de manière importante leur fonctionnalités. À l’inverse des
premiers, les annuaires informatiques fonctionnent en mode "connecté" et disposent ainsi des
caractéristiques suivantes :
À propos des annuaires
L’annuaire est sécurisé : ce point signifie que l’annuaire peut être utilisé pour implémenter un
contrôle d’accès global aux objets. Dans la mesure où l’annuaire doit centraliser des
informations "intéressantes", il est indispensable qu’il dispose de mécanismes d’authentification
modernes et standards capables de gérer l’identité des clients.
L’annuaire est dynamique : ce point signifie que le contenu de l’annuaire peut être mis à jour de
manière très rapide et ce, quel que soit le nombre de serveurs d’annuaires concernés. Les
informations offertes par l’annuaire sont donc "stables" car disponibles de manière cohérente
en tout point du réseau.
L’annuaire est flexible : ce point signifie que le contenu de l’annuaire peut être personnalisé via
l’ajout de nouvelles structures de données sans pour autant nécessiter une réorganisation de
l’annuaire, ni de surcoûts importants. Une telle flexibilité permettra aussi de réorganiser de
manière dynamique l’annuaire lorsque cela sera nécessaire. Les opérations de réorganisation
peuvent permettre une plus grande efficacité des services de recherches de l’annuaire et aussi
de s’adapter à une évolution du modèle organisationnel.
À propos des annuaires
L’annuaire joue le rôle d’une base de données sécurisée globalement disponible car répliquée en
de nombreux points du réseau. Cependant, les services et le rôle de l’annuaire ne peuvent être
comparés aux services fournis par un système de base de données SQL ou un système de
fichier tel que NTFS ou autre.
Concernant la comparaison par rapport aux moteurs de bases de données SQL, il convient de
constater que les annuaires sont utilisés à 90% en lecture et donc très peu en écriture. Si le
volume des écritures augmente ou si les requêtes sont complexes, alors l’avantage sera donné
à un moteur de bases de données SQL. Si par contre, la sécurité et la disponibilité sont
privilégiées, alors l’avantage serait donné à un annuaire.
Un peu d’Histoire
En fait, X.500 est constitué d’un ensemble de protocoles standards, tous issus des travaux de
l’ISO. Afin de donner un bref aperçu de l’étendue des services offerts par le protocole X.500, ces
différentes recommandations et protocoles sont brièvement rappelés ci-dessous :
Le DUA (Directory User Agent) : client interrogeant l'annuaire. Demande ou mise à jour d'informations sous forme de requêtes.
Le DSA (Directory System Agent) : système comprenant la base de données (DIB : Directory Information Base). C'est le
serveur d'annuaire.
Le protocole DAP (Directory Access Protocol) : protocole de communication entre un client et un serveur X500 décrivant la
façon dont les requêtes, les résultats et les erreurs sont échangés entre eux. DAP s'appuie sur ROSE (Remote Operations
Service) et sur ACSE (Association Control Service). Ces deux derniers standards sont complexes, et c'est la raison pour
laquelle ils ont été simplifiés pour fonctionner sur TPC/IP, donnant tout d'abord lieu à des implémentations de DAP sur IP puis
LDAP (Lightweight DAP).
Le protocole DSP (Directory System Protocol) : protocole de communication entre deux serveurs X500.
Le protocole DISP (Directory Information Shadowing Protocol) : protocole permettant la réplication entre un DSA maître
(supplier) et un DSA esclave (consumer).
Un peu d’Histoire
Comme vous pouvez le constater, le protocole X.500 a été conçu dès le départ pour offrir aux
services d’annuaires des services complets et sophistiqués. Cependant, ce cahier des charges
énorme sera la cause des nombreux problèmes de fonctionnement et des faibles performances
des premières versions d’annuaires X.500.
De plus, le principal inconvénient viendra du fait que seuls les protocoles ISO étaient supportés.
Au commencement de l’Internet, certains disent même que le "rêve secret" des architectes de
l’OSI aurait été que X.500 supplante TCP/IP ! En fait cela n’arrivera pas et, bien au contraire, les
implémentations X.500 les plus modernes seront petit à petit adaptées pour supporter TCP/IP.
LDAPv2 & LDAPv3
Les méthodes d’accès aux annuaires basés sur X.500 étaient bien trop complexes. C’est ainsi
qu’après plusieurs méthodes "plus simples" permettant l’accès aux annuaires X.500, l’OSI et
l’IETF (Internet Engineering Task Force) décidèrent de se regrouper pour formaliser un protocole
allégé capable d’accéder aux annuaires X.500. Ces différentes évolutions sont rappelées
ci-dessous :
La première spécification a été publiée en 1993 sous le RFC 1487.
La spécification LDAPv2 publiée sous le RFC 1777 sera la première version approuvée par
l’industrie.
Le RFC 1778 (String Representation of Standard Attribute Syntaxes) et le RFC 1779 (String
Representation of Distinguished Names) participent aussi à la clarification des syntaxes
supportées.
La spécification LDAPv3 est publiée en 1997 sous le RFC 2251. Cette version améliorera de
manière significative LDAPv2 dans les domaines ci-dessous :
LDAPv2 & LDAPv3
● Extensibilité plus importante : le protocole LDAPv3 peut être étendu pour supporter de nouvelles opérations à l’aide de
nouveaux contrôles. De cette manière, les services LDAP peuvent être étendus au fur et à mesure que cela est nécessaire.
● Découverte des fonctionnalités et du schéma disponible : les serveurs LDAPv3 disposent d’une nouvelle entrée dans
l’annuaire appelée RootDSE (pour Root Directory Server Specific Entry). Ce nouvel élément permet la publication de
nombreuses informations spécifiques telles que, par exemple, les informations de schéma ou les contrôles disponibles.
Cette fonctionnalité permet aux clients LDAP de mieux négocier les fonctionnalités et services disponibles par tel ou tel
serveur d’annuaire LDAP.
● Meilleure gestion des authentifications : LDAPv3 implémente le support de SASL (Simple Authentication and Security
Layer) et de TLS (Transport Layer Security).
● Gestion des références : LDAPv3 implémente un mécanisme de gestion des références qui permet aux serveurs LDAP
de renvoyer des références vers d’autres serveurs LDAP.
● Support des jeux de caractères Unicode : le support du jeu de caractères UTF8 permet au protocole LDAP de manipuler
des données quel que soit le langage utilisé.
LDAPv2 & LDAPv3
Comme pour LDAPv2, le protocole LDAPv3 nécessite un certain nombre de clarifications lesquelles sont publiées
dans les RFC suivants :
● RFC 2252 : Attribute Syntax Definitions
● RFC 2253 : UTF8 String Representation of Distinguished Names
● RFC 2254 : String Representation of LDAP Search Filters
● RFC 2255 : The LDAP URL Format
● RFC 2256 : A Summary of X.500(96) User Schema for use with LDAPv3
● RFC 2829 : Authentication Methods for LDAP
● RFC 2830 : Extensions for Transport Layer Security
LDAPv2 & LDAPv3
Comme pour LDAPv2, le protocole LDAPv3 nécessite un certain nombre de clarifications lesquelles sont publiées
dans les RFC suivants :
● RFC 2252 : Attribute Syntax Definitions
● RFC 2253 : UTF8 String Representation of Distinguished Names
● RFC 2254 : String Representation of LDAP Search Filters
● RFC 2255 : The LDAP URL Format
● RFC 2256 : A Summary of X.500(96) User Schema for use with LDAPv3
● RFC 2829 : Authentication Methods for LDAP
● RFC 2830 : Extensions for Transport Layer Security