Académique Documents
Professionnel Documents
Culture Documents
HOUSSENBAY Olivier
HOUSSENBAY Olivier
Remerciements
Avant tout dveloppement sur cette exprience, il apparat opportun de commencer ce
mmoire par des remerciements.
Mes premires penses se tournent vers mon matre de stage M. Richard REY, ingnieur de
recherche en scurit informatique, ainsi que M. Eric Filiol, directeur de recherche, qui mont
accueilli au Laboratoire CVO1 de l'ESIEA2 OUEST.
Je remercie M. REY pour avoir tout mis en uvre pour que mon stage de fin dtudes se
passe dans les meilleures conditions ainsi que pour ses judicieux conseils formuls avec beaucoup
de pdagogie tout au long du stage.
Je souhaiterai aussi remercier M. Nicolas DEVILLY, mon tuteur pdagogique avec qui jai
entretenu de bons rapports. Il a t lcoute et m'a appris adopter une bonne approche
professionnelle au sein du Laboratoire CVO.
Et enfin, un grand merci lquipe du laboratoire qui ma accompagn tout au long de cette
exprience et qui a eu la gentillesse de faire de ce stage, un moment trs profitable.
HOUSSENBAY Olivier
Rsum
Comment dployer un systme d'authentification forte au sein de ALCASAR : Application
Libre pour le Contrle d'Accs Scuris et Authentifi au Rseau ?
Le stage s'est droul en trois parties distinctes : une phase d'analyse et de remise niveau,
une approche approfondie du sujet et la mise en uvre du travail raliser.
Les prmices du projet ont consist analyser le fonctionnement du serveur
d'authentification Freeradius et des protocoles mis en place.
La vrification et la correction de la configuration du serveur Freeradius a permis de mieux
connatre son principe de fonctionnement notamment sur les aspects d'arborescence des fichiers
utiliss par le serveur, les compteurs SQL pour le calcul des autorisations et le protocole
d'identification utilis lors de l'authentification sur le serveur.
La dernire partie du stage consistait reprendre toutes les notions acquises prcdemment
et les mettre en uvre de manire raliser une authentification forte base sur le standard IEEE
802.1X avec une mthode d'authentification bilatrale par certificat client/serveur.
Ce mmoire de stage au sein du laboratoire CVO de l'ESIEA-Ouest montre une dmarche
(problmes et solutions proposes) possible pour apprhender et mettre en place une
authentification forte avec un serveur Radius.
HOUSSENBAY Olivier
Abstract
How to deploy a strong based authentication in ALCASAR: Free Application for Secured
and Authenticated Access Control to Network?
This internship has been done in three parts : an analysis and a review of the prerequisites, a
deep approach about the subject then an implementation of the content involved.
Premises of the project consisted to analyze how the server authentication FreeRadius runs
and the protocols inside.
Checking and patching have been processed through the configuration of Freeradius server
to a better understanding of the operating principle particularly on file tree aspect used by the
server, the SQL counters to compute authorizations and the identification protocol used during the
authentication process on the server.
The last part of this internship was to take all the concepts previously acquired with the aim
to implement a strong authentication based on the IEEE 802.1X standard with a bilateral client /
server certificate authentication method.
This internship dissertation within the CVO laboratory ESIEA West shows a possible way
(problems and given solutions) of understanding and implementing a strong authentication based on
a Radius server.
HOUSSENBAY Olivier
I - Introduction
A ) Entreprise daccueil
LESIEA est implante sur deux sites. On y retrouve le sige social Paris 5 e o les locaux
permettent aux professeurs denseigner principalement dans les classes de 2 e et 3e anne du cycle
dingnieur ainsi que le Mastre SI&S mais galement dautres locaux Ivry-sur-Seine o la
majorit des cours ont lieu. Le campus de Laval, o jai effectu mon stage, ft cr en 1993 grce
des aides de la rgion et des collectivits locales afin de promouvoir la ville et offrir la population
un choix supplmentaire dans le cycle suprieur des tudes.
LESIEA Laval a pour vocation de fournir les mmes enseignements qu Paris avec une
rplication de certaines associations et la venue ponctuelle de certains enseignants de lESIEA Paris.
Nanmoins, ce qui fait la particularit de ce site, rside dans la cration du laboratoire en 2007
Centre de virologie et de cryptologie oprationnelles encadr par M. Eric Filiol et M. Richard
Rey partir de 2008. Plus tard, le label du laboratoire prendre le nom de CNS pour "Confiance
Numrique et Scurit".
M. Eric Filiol a t nomm la tte du CNS aprs sa carrire militaire ce qui octroie au
laboratoire des liens troits avec les ministres de la Dfense, de la Justice ou encore de lIntrieur.
Le laboratoire a ainsi pu encadrer des missions raliser pour ses diffrents ministres en prenant
compte de la scurit mettre en place. Le CNS a d tre ramnag en 2011 afin de correspondre
aux critres ncessaires pour la ralisation de sujets caractres sensibles.
Le laboratoire assure les thmes suivants :
Cryptologie
Analyse et conception de systmes stnographiques
Virologie informatique
Analyse et tudes techniques du concept de guerre informatique
Scurit des environnements embarqus
Algorithmes des structures complexes et applications
Mcanismes de Flash Crash
Le laboratoire sinscrit galement dans une dmarche de veille technologique afin
dapprhender les menaces daujourdhui et celles de demain.
Depuis Janvier 2015, le CNS propose galement certains tudiants la possibilit
deffectuer un stage en tests dintrusions avec laccord des entreprises cibles.
Des projets sont en dveloppement avec, entre autres :
Le projet DAVFI (Dmonstrateurs dAntiVirus Franais et
Internationaux) avec la mise en place de nouveaux modles de
dtection et galement une analyse en profondeur des fichiers
octroyant un meilleur taux de dtection des malwares actuels et
venir. Ce projet sinscrit partir de fvrier 2015 dans la solution Uhuru Antimalware.
Paralllement, une version libre et gratuite est en cours de dveloppement pour les systmes
Windows et Linux ("OpenDAVFI").
HOUSSENBAY Olivier
B ) Le projet
Durant mon stage au sein du laboratoire CVO, j'ai d raliser plusieurs types de missions. Le stage
s'est droul en trois parties :
Une phase de remise niveau rseau par la pratique de plusieurs travaux dirigs et encadrs
par M. Rey
Puis une rdaction du module pdagogique via une tude et application du protocole Radius
et de ses dpendances.
Enfin, la mise en place d'un mcanisme d'authentification forte dans ALCASAR.
La dernire partie correspond la majeure partie de mon stage, mais les travaux prliminaires qui
m'ont t confis ont permis de mieux apprhender la problmatique suivante :
Comment raliser une authentification forte dans une solution existante (ALCASAR) ?
J'aborderai les diffrentes phases suivantes :
Dans un premier temps, un tat de l'art des diffrents moyens disposition pour raliser une
authentification.
Puis, le corps du document dcrira le protocole choisi et son implmentation.
Enfin, je porterai une rflexion sur les problmes techniques que j'ai pu rencontrer au sein
du stage ainsi que les possibles volutions mettre en uvre au sein du projet.
HOUSSENBAY Olivier
II - tat de l'art
Lobjectif premier de mon stage a t de mettre en place un systme dauthentification des
usagers sur le rseau dans le cadre du projet ALCASAR. Tout dabord, que signifie
lauthentification ?
Lauthentification est un des grands principes de la scurit et consiste, dans un systme
dinformation, contrler laccs aux ressources par le biais dune vrification de lidentit dun
utilisateur. Lauthentification existe sous diffrentes formes. On retrouve une description gnrale
de ce quest en mesure de faire un utilisateur pour sauthentifier :
Ce que lutilisateur sait (exemple : un mot de passe)
Ce quil sait faire (exemple : une signature lectronique)
Ce quil est (exemple : la rtine des yeux, son empreinte digitale, )
Ce quil possde (exemple : une carte puce, une carte RFID, un authentificateur USB,
)
Il existe trois types dauthentification :
Lauthentification simple : un seul lment de vrification
Lauthentification forte : deux lments ou plus de vrification
Lauthentification unique : une seule authentification pour accder plusieurs ressources
Quand lauthentification savre-t-elle ncessaire ?
Celle-ci intervient dans les rseaux numrs ci-dessous :
Sur un rseau local
Sur un rseau local tendu : lIntranet
Sur lInternet dans loptique daccder des ressources confidentielles ou commerciales
Cette liste nest pas exhaustive, mais rassemble les principaux usages ce systme.
Les principaux protocoles utiliss sur le march sont les suivants :
A ) LDAP
Un serveur LDAP peut tre communment appel Rpertoire du systme . On le
considre comme une base de donnes, essentiellement dans le but de stocker des informations sur
diverses entits sur le rseau. En gnral, le serveur enregistre les donnes suivantes :
Les noms dutilisateurs et mots de passe
Les droits confrs aux utilisateurs
Les informations de configuration
Les priphriques connects sur le rseau
Lors dune authentification dun utilisateur sur le rseau, le serveur LDAP vrifie les
informations et attribue les droits correspondants au profil renseign. Un serveur LDAP fait office
de cur dauthentification du systme.
HOUSSENBAY Olivier
B ) Kerberos
Lobjectif est de contrler les accs des services sur un serveur. Ce serveur
dauthentification centralis est en mesure dauthentifier les clients vers les serveurs mais linverse
est galement possible. Kerberos utilise une mthode de chiffrement qui ne repose pas sur
lutilisation de clefs publiques. Ce protocole est galement responsable de reporter aux services sur
le rseau lidentit dun utilisateur connect. Pour cela, il contrle le nom dutilisateur et le mot de
passe dune machine qui vient de sauthentifier et utilise un systme de ticket pour lidentification
future de lutilisateur. Ce protocole base donc lauthentification des usagers par lintermdiaire de
tickets.
Le protocole est en mesure de remplacer la phase dauthentification dun serveur LDAP
mais nexclut pas le besoin de celui-ci. En effet, il est possible de coupler Kerberos un serveur
LDAP qui jouerait le rle du stockage des informations sur les utilisateurs.
Le systme de tickets possde des avantages notables compar une authentification par un serveur
LDAP. En effet, si le serveur LDAP tombe en panne, les services rseau vont suivre larrt du
serveur puisquils ncessitent un systme dauthentification. Par ailleurs, le systme de tickets
propos par Kerberos permet dauthentifier les utilisateurs sans avoir consulter dautres serveurs
par lutilisation de signatures cryptographiques. De plus, envoyer les identifiants sur le rseau peut
tre risqu notamment via une attaque de lhomme du milieu . Kerberos possde une contremesure efficace puisque les tickets ne contiennent pas dinformations sensibles, ont une date
dexpiration et ne peuvent tre utiliss que pour le service demand.
C ) Radius
Ce protocole repose sur le principe des 3A : Authentication (Authentification) Authorization
(Autorisation) Accounting (Comptabilisation).
Authentification : Le protocole permet deffectuer une authentification distante, centraliser les
donnes dauthentification et grer les connexions des utilisateurs vers des services distants.
Autorisation : Le protocole vrifie les droits attribus un utilisateur.
Comptabilisation : Le protocole est en mesure de journaliser lactivit dun utilisateur sur le
rseau pour effectuer entre autres une future facturation.
Ce protocole a trouv sa rputation auprs des fournisseurs daccs internet qui lutilisent
pour identifier les clients coupl un serveur LDAP. Il est galement employ pour grer
lauthentification sur des points daccs WIFI. Il repose sur la couche UDP. En effet, Radius est un
protocole dit sans tat ce qui permet de simplifier la mise en uvre du serveur puisque celui-ci
nattend pas daccus de rception.
On trouvera 4 types de paquets permettant deffectuer une authentification Radius :
Access-Request : Ce paquet est envoy par le NAS qui contient les informations
dauthentification du client.
Acess-Accept : Ce paquet est envoy par le serveur afin dautoriser la connexion par
vrification pralable des informations de lutilisateur souhaitant se connecter.
Access-Reject : Le serveur envoie ce paquet lorsquil refuse une connexion si
lauthentification choue ou si la connexion doit prendre fin.
HOUSSENBAY Olivier
D ) Diameter
Diameter est un protocole d'authentification forte qui offre, tout comme Radius, le triple A
(Authentification = Authentication, Autorisation = Authorization, Comptabilit = Accounting). Il est
utilis sur les rseaux mobiles (3G, 4G, ...) dans l'optique de fournir un accs au rseau et pour
rpondre la problmatique d'itinrance.
Lorsque la technologie IP a t introduite sur les rseaux de tlcommunication, Diameter a
t slectionn pour tre la rfrence des protocoles qui rpondent au modle AAA sur les rseaux
fixe et mobile.
Le protocole Diameter (Diamtre) est un jeu de mots faisant hommage au protocole Radius
(Rayon). Il a t adopt par des organismes de normalisation tels que 3GPP (3rd Generation
Partnership Project) ainsi que l'ETSTI (European Telecommunications Standards Institute) comme
tant le standard des fonctionnalits AAA pour la gnration future des rseaux "Next-Generation
Networks".
Diameter a t conu sous les AAA afin de prendre en charge davantage de fonctionnalits
par rapport son prdcesseur telles que :
La politique de contrle
Les rgles dynamiques
La qualit de service (QOS)
L'allocation de la bande passante
De nouveaux systmes de tarification
Ce protocole peut galement tre tendu de nouvelles applications par l'ajout de nouvelles
commandes ou de couples d'attribut-valeur. Diameter est galement le seul protocole capable de
grer des fonctionnalits temps rel pour des transactions.
Pour rsumer, les atouts apports par Diameter compar au protocole Radius sont les
suivants :
Transmission fiable avec l'utilisation de protocoles avec tat : TCP ou SCTP (Stream
Control Transmission Protocol)
Garantie de la dlivrance des messages Diameter
Possibilit de mettre en place des agents permettant la prise en charge de proxy(s),
redirection(s), relai(s), ...
Modularit illimite afin de permettre l'extension du protocole sur diverses applications.
E ) Le protocole 802.1X
Ce protocole a t cr par lIEEE en Juin 2001. Il consiste authentifier un client sur le
HOUSSENBAY Olivier
10
rseau. Pour ce faire, le protocole EAP (Extensible Authentication Protocol) est coupl au serveur
Radius. Comment le protocole 802.1X entre en jeu avec Radius ?
Lors de linitialisation de la connexion, le port est dans ltat non contrl . Cela signifie
que seuls les paquets 802.1X permettant lauthentification sont autoriss. Lorsque lauthentification
russit, le port bascule alors dans ltat contrl . Ainsi, le trafic provenant du client est accept
et le client accde alors aux ressources partages sur le rseau.
Le protocole 802.1X embarque plusieurs types dEAP :
EAP-TLS : Permet deffectuer une authentification par certificat au niveau client et serveur
EAP-TTLS : Permet deffectuer une authentification par certificat ainsi que mot de passe
par la cration dun tunnel scuris.
EAP-MD5 : Permet deffectuer une authentification par mot de passe.
PEAP : Permet deffectuer une authentification avec mot de passe via une encapsulation
scurise.
LEAP (propritaire CISCO) : Mme rle que PEAP.
HOUSSENBAY Olivier
11
Partie 1 : Radius
A ) Historique
RADIUS a t conu dans le but initial de contrler l'authentification distance. Ce besoin
est n de la socit Merit Network qui souhaitait identifier ses utilisateurs via la liaison
tlphonique afin de fournir un accs distant son rseau informatique. L'organisation but non
lucratif Merit Network a publi en 1991 une demande d'information ou Request for
Information (RFI) qui spcifiait les fondements du protocole3 RADIUS.
Aprs quelques mois, la socit Livingston Enterprises rpondit cette demande par une
description d'un serveur RADIUS. La proposition fut retenue par Merit Network qui donna le
contrat Livingstone Enterprises . Le protocole RADIUS Remote Authentication Dial-in User
Service traduit littralement par Authentification distance compose par le service utilisateur est
publi par l'IETF4 en Janvier 1997 dans la RFC5 2058 et la RFC 2059.
Cette mme anne, la socit Livingstone Enterprises leader dans l'accs distance des
rseaux informatiques, fut rachete par Alcatel-Lucent. Le standard RADIUS a subi plusieurs
volutions au fil des annes et l'heure d'aujourd'hui, il est de facto le protocole le plus clbre pour
l'authentification des postes de travail, des terminaux mobiles, des quipements rseaux, etc...
La description actualise du standard se trouve dsormais dans la RFC 2865 et la RFC 2866 datant
de Juin 2000.
B ) Description du protocole
Le protocole RADIUS a volu au fil des annes. Il intgre aujourd'hui de nombreuses
fonctionnalits. Auparavant ce protocole rpondait uniquement aux besoins d'authentification et de
traabilit. Il s'est calqu sur le modle du protocole AAA 6 qui permet de raliser trois
fondamentaux de l'accs une ressource informatique :
Accounting (Compatibilit) : c'est journaliser les accs, les temps de session, les
ressources consommes, etc... afin de garantir la traabilit des informations.
Le principe des changes du protocole RADIUS est bas sur des requtes/rponses (voir figure 2)
avec des clients RADIUS aussi appels NAS7 ou plus simplement service d'authentification.
3
4
5
6
7
HOUSSENBAY Olivier
12
Serveur de connexion VPN8, donne l'accs distance aux ressources informatiques d'une
organisation ;
Points d'accs sans fil utilisant la technologie Wi-Fi 9, fournit un accs au rseau local d'une
entreprise ;
Proxy RADIUS, transfre les requtes/rponses d'un client RADIUS vers un serveur
RADIUS distant.
8
9
HOUSSENBAY Olivier
13
HOUSSENBAY Olivier
14
HOUSSENBAY Olivier
15
Authentificateur
Ce champ permet de vrifier l'intgrit des paquets envoys par le serveur RADIUS. Il est calcul
de manire alatoire partir d'un secret partag (mot de passe connu par le serveur et le client) entre
le client et le serveur. Ainsi, le client RADIUS peut s'assurer que la rponse lui vient bien du
serveur RADIUS et non d'un usurpateur.
Attributs et valeurs
Ce champ contient la charge utile du protocole RADIUS. Il est de longueur variable en fonction
des couples d'attributs/valeurs envoys par le client RADIUS en requte ou par le serveur RADIUS
en rponse.
Aprs cette description gnrale du protocole RADIUS, je vais exposer l'utilit du champ attributs
et valeurs .
16
Dans les paquets RADIUS, le nom d'un attribut n'apparat jamais. Seul le numro de
l'attribut est prsent. La correspondance entre le nom de l'attribut et son numro est faite grce un
dictionnaire d'attributs implment sur le client et sur le serveur.
Les dictionnaires d'attributs contiennent la concordance entre les attributs standards et leurs
numros respectifs. Mais il peut galement avoir des dictionnaires d' attributs constructeurs .
J'aborderai la notion de ces attributs particuliers plus loin.
Le protocole RADIUS compte un grand nombre d'attributs (plus d'une centaine). La liste
complte des attributs est consultable sur le site internet de l'organisation IANA14 au lien suivant :
http://www.iana.org/assignments/radius-types/radius-types.xhtml#radius-types-2
Je vais dfinir certains de ces attributs afin de mieux apprhender leur utilisation au sein de
l'authentification RADIUS.
"User-Name"
Cet attribut est envoy par le client RADIUS lors de la demande d'authentification. Il peut
correspondre un identifiant utilisateur associ un mot de passe. Dans le cas de l'authentification
d'une machine, cet attribut peut prendre la valeur de l'adresse physique de celle-ci plus
communment appele adresse MAC15. Lors de l'utilisation d'un certificat lectronique, la valeur
reue par l'attribut User-Name est le nom du porteur du certificat.
"User-Password"
Cet attribut contient le mot de passe associ l'attribut User-Name. Il est galement envoy
par le client RADIUS.
"NAS-IP-Address"
Cet attribut est renseign par le client RADIUS (NAS). Il contient son adresse IP. Cet
attribut peut imposer une restriction. Par exemple, un poste de travail ne pourra s'authentifier que
s'il se connecte partir d'un NAS possdant une adresse IP spcifique.
"Nas-Port"
Cet attribut permet d'ajouter une condition supplmentaire pour l'authentification. Prenons
l'exemple d'un quipement rseau de type commutateur. Ainsi, un poste de travail est autoris
s'authentifier uniquement s'il est connect sur un port prcis du commutateur. L'attribut Nas-Port
donne le numro de port sur lequel est connect un poste utilisateur. Il est envoy par le NAS lors
de la demande d'authentification.
Dans la technologie sans fil, cet attribut perd son sens, car un point d'accs gnre un port
"virtuel" au moment de l'association du poste de travail celui-ci.
"Called-Station-Id"
Cet attribut contient l'adresse MAC du NAS qui demande l'authentification au serveur RADIUS
"Calling-Station-Id"
Cet attribut contient l'adresse MAC du poste de travail souhaitant s'authentifier.
14 IANA : Internet Assigned Numbers Authority, Autorit qui gre la numrotation requise par les protocoles de
communications
15 MAC : Media Access Control, adresse physique unique stocke dans toutes les cartes rseaux
HOUSSENBAY Olivier
17
Comme nous l'avons vu prcdemment, lorsqu'un client RADIUS soumet une requte
d'authentification, il renseigne diffrents attributs. Ces attributs sont dfinis par le standard
RADIUS. Toutefois, il existe des attributs supplmentaires implments par les constructeurs
d'quipement rseau. Ceux-ci offrent des fonctionnalits optionnelles afin de raliser des oprations
ddies sur les quipements par le biais du protocole RADIUS.
N d'attribut : c'est le numro 26 qui est dfini pour l'attribut VSA dans le standard
RADIUS ;
Longueur : contient la longueur totale de l'attribut ;
Vendor-id : contient le code international du constructeur. Chaque constructeur possde
un code qui lui est propre. On trouve la liste des codes constructeur dans la RFC 1700 ;
N d'attribut constructeur : contient le numro d'attribut spcifi par le constructeur ;
Longueur VSA : contient la longueur du champ VSA ;
Valeur de l'attribut constructeur : contient la valeur de l'attribut VSA.
HOUSSENBAY Olivier
18
19
Le type Access-Reject
Quand un ou plusieurs lments d'authentification transmis par le client RADIUS sont incorrects ou
qu'il ne respectent pas la politique de scurit informatique, le serveur rpond par un paquet de type
Access-Reject .
Le type Accounting-Request
Une fois la phase d'authentification russie, le client RADIUS envoie de manire priodique un
paquet de type Accounting-Request au serveur. Ce paquet fait l'inventaire des traces
enregistres du poste authentifi telles que le temps de session, l'adresse IP attribue, le nombre de
paquets changs sur le rseau, etc.
Le type Accouting-Response
Ce paquet est une rponse du serveur la requte de traabilit mise par le client. Il permet
d'indiquer la russite ou non de l'enregistrement des donnes.
Que souhaite-t-on authentifier et comment ?
Dans un systme d'information, il y a des machines (ou quipements) et des utilisateurs.
Dans le cas de l'authentification des machines, une fois leur identification valide, elles gardent les
mmes droits d'accs au sein du systme. Tout utilisateur sera donc dpendant des droits attribus
la machine.
En revanche, si on authentifie des utilisateurs et non plus des machines, alors chaque utilisateur
bnficiera de droits d'accs personnaliss. Les autorisations attribues la machine authentifie
dpendent de l'usager qui l'utilise.
Les donnes d'authentification prsenter au serveur RADIUS dpendent du niveau de scurit que
l'on souhaite adopter.
HOUSSENBAY Olivier
20
21
Aprs avoir effectu un travail de recherche sur FreeRADIUS et compris les principaux
mcanismes d'authentification qu'il embarque, j'ai commenc la prise en main du serveur
FreeRADIUS de Alcasar. Dans un premier temps, il a fallu analyser les changes entre les
diffrentes composantes rattaches au serveur.
Coova-chilli : C'est une passerelle d'interception qui bloque tout dispositif, non authentifi,
du rseau local souhaitant accder l'Internet. Elle fait transiter tout le flux rseau grce une
interface virtuelle TUN016. Par ailleurs, cette composante intgre un mini serveur http qui coute sur
le port 80 afin de rediriger un quipement du rseau de consultation vers la page d'interception
"intercept.php" fournie par le serveur Apache.
Elle traite galement les donnes d'authentification envoyes par l'quipement souhaitant
s'authentifier sur le rseau. De plus, elle est client RADIUS. Ainsi, c'est elle qui va gnrer des
requtes d'authentification destines au serveur FreeRadius. Enfin, elle s'occupe aussi de collecter
des donnes de comptabilit (dure de connexion, volume de donnes chang, etc) et les transmet
au serveur. Elle peut dconnecter un usager.
mon arrive, Coova permettait de raliser une authentification UAM 17 travers un
navigateur Web. Mon objectif tait de trouver une solution pour que Coova puisse galement
proposer un mcanisme d'authentification forte bas sur le standard IEEE 802.1X. J'ai donc tudi
la procdure d'authentification qui tait en place.
Dans un premier temps, je parlerai de l'authentification UAM puis dans un second
temps,j'aborderai la solution IEEE 802.1X greffe au projet. Nous verrons donc comment le
standard 802.1X ralisant une authentification forte peut cohabiter avec le mcanisme
d'authentification universelle.
A ) L'authentification UAM
La force de ce mcanisme est qu'il peut tre dploy dans un milieu o les terminaux et les
systmes sont htrognes. En effet, il suffit que les dispositifs souhaitant sauthentifier disposent
d'un navigateur Web.
Par ailleurs, l'quipe de ALCASAR a dvelopp une solution sre pour l'acheminement des donnes
d'authentification depuis le navigateur de l'usager jusqu' l'application.
1. Le mcanisme
Nous pouvons voir sur la figure 10 un usager s'authentifiant sur le rseau avec les diffrentes phases
d'changes opres entre le navigateur Web de l'usager, Coova-Chilli, le serveur Web Apache et
Radius.
Dans un premier temps, l'utilisateur souhaite accder une URL (exemple : http://google.fr). Cette
requte est intercepte par le service Coova-Chilli qui vrifie si l'adresse IP de l'usager est autorise
accder l'Internet.
16 Network TUNnel : c'est un tunnel rseau qui opre sur la couche 3 (gre les paquets IP)
17 UAM : Universal Access Method, mthode d'accs universelle
HOUSSENBAY Olivier
22
L'utilisateur est invit saisir son identifiant et mot de passe. Ces informations sont
transmises, travers le tunnel TLS, au serveur Apache.
Ce dernier effectue des oprations cryptographiques sur le mot de passe puis renvoie le
nouveau contenu au client Web avec, nouveau une requte de redirection HTTP vers la
passerelle d'interception Coova-Chilli.
Une fois que la rponse de RADIUS parvient, la passerelle envoie une dernire requte de
redirection contenant le rsultat "authentif" vers le navigateur de l'utilisateur.
Enfin, les informations sont achemines Apache qui interprte la rponse de Coova-Chilli
et restitue le rsultat sous forme visuelle pour l'utilisateur.
HOUSSENBAY Olivier
23
HOUSSENBAY Olivier
24
Aprs l'explication des messages changs lors de l'authentification d'un utilisateur sur le
contrleur d'accs au rseau, je vais parler des outils cryptographiques utiliss pour protger
lacheminement du mot de passe de l'utilisateur jusqu' la passerelle Coova-Chilli.
HOUSSENBAY Olivier
25
HOUSSENBAY Olivier
26
Ct Apache :
challenge_Coova_Apache = md5 [ uamsecret | challenge_Coova ]
mot_de_passe_en_clair XOR challenge_Coova_Apache = mot_de_passe_chiffr
Ct Coova-Chilli :
challenge_Coova_Apache = md5 [ uamsecret | challenge_Coova ]
challenge_Coova_Apache XOR mot_de_passe_en_chiffr = mot_de_passe_en_clair
Cet algorithme parat simpliste et facile casser car il suffit d'avoir la connaissance du
challenge_Coova_Apache pour retrouver le mot de passe en clair.
Cependant, le challenge gnr par Coova est diffrent chaque nouvelle interception. Ce
qui implique que le mot de passe chiffr d'un mme utilisateur ne sera pas identique car le challenge
Coova_Apache sera diffrent.
De plus, l'empreinte MD5 de ce challenge qui sert de cl de chiffrement est difficilement
prdictible car elle ncessite la connaissance du secret commun entre Coova-Chilli et Apache. Une
personne mal intentionne souhaitant obtenir le mot de passe d'un utilisateur devra tenter de deviner
le secret commun afin de produire le masque adquat et dchiffrer le mot de passe.
La cl partage entre Coova-Chilli et Apache est compose de huit caractres
alphanumriques (lettres de lalphabet latin de A Z majuscules et minuscules, chiffres de 0 9).
Ci-dessous le code contenu dans le script d'installation (alcasar.sh) de ALCASAR qui gnre le
secret partag :
HOUSSENBAY Olivier
27
3. Demande d'authentification :
La Figure 14 dcrit les changes Radius de manire gnrale entre un client Radius et un
serveur Radius. Le client Radius peut tre reprsent par Coova-Chilli.
HOUSSENBAY Olivier
28
29
30
La table "radreply" contient des attributs de rponse qui ont t pralablement renseigns
dans le profil des utilisateurs. Ici, l'attribut "Filter-Id" est retourn la passerelle Coova-Chilli
lorsque l'authentification est russie. Un script sur la passerelle permet de rcuprer la valeur de
"Filter-Id" et transmet cette information aux composantes de filtrage de Alcasar. Cette table peut
aussi contenir un temps de session maximal autoris l'utilisateur.
Figure 19:
Table des
attributs de
rponse Radius
La table "radacct" regroupe les donnes de comptabilit des utilisateurs. On y retrouve par
exemple ladresse IP de l'utilisateur, l'heure de dbut et de fin de chacune de ces sessions sur le
portail captif, les donnes consommes en envoi et en rception, ...
HOUSSENBAY Olivier
31
B ) FreeRadius
Durant mon stage, j'ai t amen optimiser les fichiers de configuration du serveur
FreeRadius dans Alcasar. Cela a t possible en ayant pris connaissance en amont des mcanismes
d'authentification. Dans un premier temps, je devais identifier les fichiers utiles FreeRadius dans
le cadre du projet Alcasar. Puis, dans un second temps, vrifier si les fichiers taient correctement
configurs. Enfin, il fallait que j'apporte corrections et amliorations afin d'optimiser le
fonctionnement. Voir lgende P. 34
Sur la figure 21, on retrouve une cartographie gnrale des fichiers FreeRadius.
HOUSSENBAY Olivier
32
Le schma reprsent ci-dessous montre les modules activs dans les diffrentes sections du
fichier de configuration principal.
instantiate{} : Section permettant de dfinir un chanage des diffrents modules fournis par
FreeRadius. Ceux-ci sont prchargs au moment o le serveur dmarre. Dans le cas d'une procdure
d'authentification, les modules ne pourront s'excuter qu'uniquement dans l'ordre dans lequel ils ont
t initialiss.
modules {} : Section qui permet de dfinir les chemins des fichiers de configuration de chaque
module. Les versions d'ALCASAR partir de la 2.9 sont en mesure d'appeler seulement les
modules requis pour les besoins du projet. En effet, les modifications que j'ai apportes ont permis
de limiter au ncessaire le nombre de fonctionnalits lors du lancement du serveur FreeRadius.
Les modules permettent d'excuter les tches suivantes :
Effectuer des requtes avec la base de donnes MariaDB ("sql")
Interroger un annuaire ("ldap")
Calculer les temps de connexion l'aide de compteurs sql ("logintime, dailycounter" et
"monthlycounter").
Dfinir une date d'expiration des comptes utilisateurs ("expiration")
Contrler un mot de passe ("pap")
HOUSSENBAY Olivier
33
Le schma suivant dfinit la politique adopte pour le modle AAA. On retrouve les modules
ncessaires pour les sections d'authentification (authentication {}), d'autorisation (authorize {}) et
de comptabilit (accounting {}).
Figure 23: Reprsentation des sections de configuration du serveur virtuel ALCASAR au sein de
FreeRadius
Lgende
Drapeau vert : Fichiers utiles la configuration de FreeRadius pour Alcasar
Drapeau bleu : Fichiers / modules ncessaires pour l'authentification 802.1X.
Drapeau orange : Ajout de fichiers / modules
Drapeau rouge : Suppression de fichier / modules
HOUSSENBAY Olivier
34
C ) Authentification 802.1X
Le protocole 802.1X engendre une communication indirecte entre le poste de travail usager et le
serveur Radius.
Ainsi, le processus d'authentification se fait dans un premier temps entre l'agent 802.1X appel
supplicant et le NAS qui est un quipement rseau (authentificateur) grce EAP 20. Ce dernier
relaye les messages EAP encapsuls dans des paquets Radius au service d'authentification. Le
protocole Radius possde un attribut EAP-message qui permet d'acheminer les messages entre
l'agent 802.1X et le client Radius.
Sur le schma ci-dessous, on observe les diffrentes couches logicielles qui doivent tre
implmentes pour dployer le protocole 802.1X. En effet, l'utilisateur doit possder sur son poste
de travail un agent qui puisse dialoguer avec un quipement rseau en utilisant le protocole EAP.
L'quipement rseau, quant lui, doit prendre en charge le protocole EAP et le protocole Radius
pour changer avec le serveur d'authentification. Enfin, le service d'authentification doit avoir un
module EAP lui permettant de rcuprer les messages EAP issus de l'agent 802.1X.
Figure 24: Implmentation des couches EAP par les diffrents acteurs entrant en jeu dans le
protocole 802.1X
HOUSSENBAY Olivier
35
On retrouve sur la figure 25, une vue gnrale du modle de fonctionnement du protocole
802.1X.
Figure 25: Schma de principe de l'accs au rseau bas sur le contrle de port
HOUSSENBAY Olivier
36
HOUSSENBAY Olivier
37
Mthode
d'authentification
EAP-MD521
EAP-TLS22
EAP-PEAP23
EAP-TTLS24
Mode
d'authentification
Unidirectionnel : Mutuel :
authentification du certificats
client
(client/serveur)
Protocole
d'authentification
de mot de passe
Fonction de
hachage MD5
mot de passe sous
forme d'empreinte
numrique
Non
Tunnel TLS
Non
Oui
Oui
PKI29 Client
Non
Oui
Oui (optionnelle)
Oui (optionnelle)
PKI Serveur
Non
Oui
Oui
Oui
Compatibilit avec
des protocoles non
EAP
Non
Non
Non
Oui
Trs bon
Bon
Trs bon,
peut tre utilis
avec des serveurs
d'authentification
qui ne prennent
pas en charge EAP
Oui
Oui
Oui
Faible, vulnrable
au MITM et la
fonction de
Niveau de scurit hachage est
vulnrable aux
attaques par
dictionnaire
Distribution
dynamique de clef
de chiffrement
pour les
communication
sans fil
21
22
23
24
25
26
27
28
29
Non
EAP-GTC
EAPMSCHAPv226
PAP27
CHAP28
MS-CHAP
EAP-MD5
EAP-MSCHAPv2
HOUSSENBAY Olivier
38
HOUSSENBAY Olivier
39
Figure 29: Dialogue entre supplicant et Coova-Chilli interrompu lors de l'utilisation de la mthode
EAP-TLS.
La figure ci-dessous reprsente les retours ICMP par Coova-Chilli lors de l'authentification
EAP-TLS. Grce ces messages, j'ai pu identifier le problme qui portait sur la taille des paquets
envoys par l'agent 802.1X du poste utilisateur. Le protocole EAP opre sur la couche liaison du
modle OSI et est encapsul par le protocole Ethernet.
Ce protocole ne peut grer la fragmentation des paquets. En effet, seuls les protocoles de
plus haut niveau comme TCP sont en mesure de raliser cette opration grce au contrle de la taille
des paquets en fonction de la MTU30 dfinie.
HOUSSENBAY Olivier
40
Figure 31: Ct supplicant mthode EAP-TLS avec coova en proxy Radius succs
41
comptabilit. Concernant le dernier critre qui est l'autorisation, je me suis aperu que le modle ne
pouvait raliser cette opration que par l'utilisation d'un logiciel tiers appartenant la firme AlcatelLucent. Ce logiciel tant trs coteux, je n'ai pas pu l'acqurir. J'ai donc fait des recherches
infructueuses sur un ventuel firmware libre, ce qui m'a men contacter le constructeur l'origine
du produit Alcatel-Lucent 105. En effet, Alcatel-Lucent n'est pas l'OEM (Original Equipment
Manufacturer traduit littralement par Fabriquant dquipement d'Origine) mais un revendeur
officiel pour ce type de produit.
L'objet de ma requte l'intention d'Aruba tait d'obtenir de leur part le firmware
correspondant ce modle (prenant en charge le triple A) ce quoi ils m'ont rpondu qu'ils n'taient
pas en mesure de le fournir car le numro de srie tait enregistr sous la marque Alcatel-Lucent.
En rsum, du Netgear ou de l'Alcatel-Lucent, les tests n'ont pu tre raliss entirement
avec la technologie sans fil.
HOUSSENBAY Olivier
42
Figure 34: Gestion de deux rseaux virtuels par CoovaChilli intgrant l'authentification UAM et 802.1X
Mettre en uvre l'implmentation d'un agent 802.1X pour qu'il puisse interagir de manire
intuitive avec les utilisateurs sur des machines en libre accs.
HOUSSENBAY Olivier
43
Conclusion
Les diffrentes tches que j'ai effectues au sein du laboratoire de Laval m'ont permis de
m'enrichir sur les aspects techniques o j'ai pu aborder de nombreux sujets sur les rseaux et la
scurisation de ceux-ci.
Les diffrentes interactions que j'ai eues avec mon matre de stage et les autres membres du
laboratoire m'ont galement enseign de nombreux aspects notamment sur le comportement
adopter en entreprise, la collaboration et l'esprit d'quipe.
L'ambiance au sein du stage tait de rigueur puisque j'tais dans un cadre agrable avec une
vritable entraide entre les membres du CVO.
Sur le plan technique, j'ai explor de manire dtaille de nombreuses facettes du monde des
rseaux informatiques mais aussi du systme Linux. Je retiens de nombreuses notions au sein de ce
stage et, en particulier :
Pour rsumer, je qualifierai ce stage d'une relle opportunit et je suis trs reconnaissant de
toute l'quipe du CVO et notamment mon matre de stage M. Richard REY ainsi que mon tuteur
pdagogique M. Nicolas DEVILLY qui m'ont apport le savoir ncessaire pour mener bien
l'ensemble du projet.
tant prsent au Mastre SI&S (Scurit de lInformation et des Systmes) de l'ESIEA, j'ai
pour ambition de poursuivre dans le domaine de la scurit informatique dont le facteur de dpart a
t ce stage.
HOUSSENBAY Olivier
44
Bibliographie et Webographie
Radius
Serge Bordres, Authentification rseau avec Radius, dition Eyrolles
http://en.wikipedia.org/wiki/RADIUS
http://en.wikipedia.org/wiki/IEEE_802.1X
Authentification
http://fr.wikipedia.org/wiki/Authentification
http://www.nolot.eu/Download/Cours/reseaux/m2pro/SESY0708/proto-authentification.pdf
http://repo.hackerzvoice.net/depot_madchat/sysadm/unix.seku/Authentification_de_A_a_Z.pdf
http://en.wikipedia.org/wiki/Extensible_Authentication_Protocol
CNS
http://www.esiea.fr/recherche/expertise-confiance-numerique-securite
Projet Alcasar
http://www.alcasar.net/
Projet Davfi
https://www.davfi.fr/
Projet Uhuru
http://uhuru-am.com
FreeRadius
http://freeradius.org/
http://en.wikipedia.org/wiki/FreeRADIUS
http://www.tldp.org/HOWTO/8021X-HOWTO/freeradius.html
http://deployingradius.com/
Diameter
http://en.wikipedia.org/wiki/Diameter_%28protocol%29
HOUSSENBAY Olivier
45
HOUSSENBAY Olivier
46