Vous êtes sur la page 1sur 57

AUTHENTIFICATION

ET
SERVICES D’ANNUAIRES

Par M. TCHUISSI Arnaud Rouy


PRÉREQUIS ET OBJECTIFS

 Connaissances générales sur TCP/IP et le service DNS ou DDNS.


 Connaissances générales des services réseaux.
 Notions fondamentales sur l’administration des systèmes et des réseaux.
Objectifs
À la fin de ce chapitre, vous serez en mesure de :
 Comprendre le rôle de l’authentification dans un réseau.
 Citer et décrire les protocoles d’authentification
 Comprendre le rôle d’un service d’annuaire au sein de l’entreprise.
 Comprendre les différences entre LDAPv2 et LDAPv3.
 Comprendre les opérations LDAP.
 Décrire les différentes méthodes d’authentifications supportées par LDAP.
L'authentification

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

 Il s'agit d'authentifier une machine lorsqu'elle se branche sur le réseau


 Afin de lui autoriser ou refuser l'usage du réseau.

Pourquoi faire de 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+

TACACS+ (Terminal Access Controller Access Control System Plus)

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+ (Terminal Access Controller Access Control System Plus)

TACACS+ se base sur le framework AAA qui signifie :


• Authentication(authentification)
• Authorization(autorisation)
• Accounting(Comptabilisation)
Les protocoles d’authentifications

TACACS+

TACACS+ (Terminal Access Controller Access Control System Plus)

• Authentication(authentification)

Mécanisme permettant la détermination de l’identité de l’utilisateur. Cette opération peut se faire de


différentes façons :
 En utilisant ce que l’utilisateur sait (mot de passe, code PIN etc.)
 En utilisant ce que l’utilisateur possède (Carte à puce, clé d’authentification)
 En utilisant ce qui constitue physiquement un utilisateur (Biométrie)
Les protocoles d’authentifications

TACACS+

TACACS+ (Terminal Access Controller Access Control System Plus)

• 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+ : Les acteurs

 L'utilisateur : émetteur de la requête d'authentification ( poste de travail, un portable, un PDA…)


 Le client TACACS+:le point d'accès au réseau
 Le serveur TACACS+: relié à une base d'authentification (Base de données, annuaire LDAP)
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+ utilise pour communiquer le port TCP (port 49)


La taille d’une entête d’un paquet TACACS+ est de 12 Octet
Format d’un paquet TACACS+ :

Major version : donne le Numéro de la version Majeure de TACACS+


Minor version : donne le Numéro de la version Mineure de TACAS+
Type : définit s’il s’agit d’un paquet d’authentification, d’autorisation, ou de comptabilisation (conformément au AAA)
Seq_no : numéro de séquence s’incrémentant de 1 pour chaque paquet envoyé lors d’une session.
Flags : différents drapeaux permettant entre autre de crypter le paquet entier grâce à l’algorithme MD5.
Length : taille du paquet.
Les protocoles d’authentifications
Nous allons détailler le fonctionnement de TACACS + pour chaque fonction AAA :

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 (Remote Authentication DialIn User Service )

RADIUS est un mécanisme de transport des données d'authentification


Un moyen pour les FAI de centraliser leurs bases de données utilisateurs
Protocole de type AAA (Authentication Authorization Accounting )
Dernière version du protocole RADIUS normalisée par l'IETF dans la RFC 2865
Les protocoles d’authentifications

RADIUS

RADIUS : Mode opératoire type

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 : Mode opératoire type


Les protocoles d’authentifications

RADIUS
RADIUS : Mode opératoire type

l'utilisateur émet une requête d'authentification auprès du client RADIUS


- Protocole comme PPP ou Telnet
Le client radius demande à l'utilisateur ses informations d'authentification ( username, password )
- Dans le cas de PPP : il utilise les informations déjà présentes dans le paquet
Le client transmet la requête au serveur Radius
- Requête de type AccessRequest : (de manière sécurisée)
Le serveur Radius retourne l’une des réponses suivantes
- AccessAccept : Acceptation la requête du client
- AccessReject : pour spécifier au client que sa requête est rejetée.
Les protocoles d’authentifications

RADIUS
RADIUS : Mode opératoire type-l 'authentification mode Challenge

RADIUS peut utiliser un mode Challenge


En fonction de la zone d’accès demandée et des droits de l’utilisateur, le serveur
RADIUS peut exiger des informations supplémentaires pour l’authentification.
Réponse: AccessCHALLENGE :éviter de transmettre le mot de passe.
Le client envoie alors une autre requête répondant au Challenge pour s'authentifier
Les protocoles d’authentifications

RADIUS
RADIUS : Couche de transport

RADIUS utilise le protocole UDP sur le port 1812


 La surcharge induite par une session TCP n'est pas justifiée
 La retransmission TCP est adaptée au transfert de données, pas à l'authentification
 Il permet d'utiliser de façon transparente un autre serveur en cas d'indisponibilité
Les protocoles d’authentifications

RADIUS
RADIUS : Implémentations

Plusieurs implémentations du protocole RADIUS sont disponibles


Versions commerciales
 NPS (Network Policy Server) pour Windows Server Vista , IAS pour Windows Serveur
2000/2003/2008/2012/2016

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: système à tickets


Les protocoles d’authentifications

KERBEROS: Fonctionnement du service de ticket


Les protocoles d’authentifications

KERBEROS: Fonctionnement du service de ticket


Les protocoles d’authentifications

KERBEROS: Le KDC
Les protocoles d’authentifications

KERBEROS: Mécanismes d’authentification


Les protocoles d’authentifications

KERBEROS: Mécanismes d’authentification


Les protocoles d’authentifications

KERBEROS: Mécanismes d’authentification


Les protocoles d’authentifications

KERBEROS: Mécanismes d’authentification


Les protocoles d’authentifications

KERBEROS: Mécanismes d’authentification


Les protocoles d’authentifications

KERBEROS: Points forts


Les protocoles d’authentifications

KERBEROS: Points faibles


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

ce qu’un système d’annuaire ne fera pas !

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 1988, l’ISO (International Organization for Standardization) et l’ITU (International Telecommunications


Union) fusionnent leurs travaux et approuvent la première version du standard X.500, laquelle
sera officiellement publiée par l’ITU en 1990.

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 :

● Spécification X.501 : Description des concepts X.500 ;


● Spécification X.509 : Description des mécanismes d’authentification X.500 ;
● Spécification X.511 : Description des fonctions de recherches et manipulations d’objets ;
● Spécification X.518 : Description des services distribués ;
● Spécification X.519 : Description des protocoles X.500 tels que DAP, DSP, DOP et DISP ;
● Spécification X.520 : Description des attributs et classes X.500 ;
● Spécification X.525 : Description des mécanismes de réplication X.500 ;
● Spécification X.530 : Description des services d’administration des annuaires X.500.
Un peu d’Histoire

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

Vous aimerez peut-être aussi