Rapport Pfa Kerberos
Rapport Pfa Kerberos
2012
Ddicace
A nos trs chers parents Nulle ddicace nest susceptible de vous exprimer notre profonde affection, nos immenses gratitudes, pour tous les sacrifices que vous avez consentis pour notre ducation et nos tudes. A nos frres, nos surs et nos chers amis. Avec toute notre affection, veuillez trouver ici lexpression de notre profond sentiment de respect et de reconnaissance, pour le soutien que vous navez cess de nous prodiguer. A vous tous Nos souhaits de bonheur et de russite, que ce travail soit la preuve de la sincrit de nos sentiments envers vous.
Mise en place dune solution dauthentification dans un milieu htrogne hthtrogne - - KERBEROS- -
2012
Remerciements
Ce nest pas parce que cest tel un rituel que nous commenons ce rapport par lassurance de nos immenses gratitudes tous ce qui nous ont paul pour laccomplir, mais cest parce que nous sommes conscients de limportance davouer notre louange toutes les personnes sans lesquelles ce rapport naurait pu voir le jour. Nous voudrions bien exprimer notre vive gratitude et nos remerciements M.HADRI, pour son encadrement et son assistance et qui na pas cess de nous apporter son soutien durant toute la priode de projet. Nous voudrions exprimer galement nos immenses gratitudes lensemble du corps professoral de lEMSI chacun par son honorable nom, qui vont nous rendre les futurs ingnieurs prts porter ltendard du Maroc de demain prparation de ce
Mise en place dune solution dauthentification dans un milieu htrogne hthtrogne - - KERBEROS- -
2012
Rsum
Le but de ce projet est la mise en place dun serveur dauthentification commun dans lequel on aura la possibilit de sauthentifier dans diffrents systmes (Windows, Linux, Mac).La solution dcrite dans ce rapport est la mise en place dun serveur Kerberos appel aussi KDC (Key Distribution Center) qui fonctionne en environnement htrogne, assurant la scurit des changes sur un rseau non sr et permettant la mise en place d'un vritable service d'authentification unique. Kerberos utilise un systme de chiffrement symtrique pour assurer un dialogue scuris entre deux protagonistes. Les dialogues s'oprent en utilisant une clef secrte et partage, les algorithmes de chiffrement sont publics (AES, DES, 3DES, ...), toute la scurit du systme repose sur la confidentialit de la clef de chiffrement. Pour faciliter la gestion d'un tel systme, Kerberos repose sur l'utilisation d'un tiers de confiance qui distribue les clefs aux utilisateurs et services abonns (les principals). Le protocole Kerberos se base sur les deux algorithmes R. Needham et M. Schroeder et D. Denning et G. Sacco qui repose sur une tierce partie de confiance. Toutes les entits du rseau, utilisateurs et services, font confiance cette tierce partie (le serveur Kerberos ou KDC pour Key Distribution Center). Enfin Kerberos est un service sr qui assure la confidentialit, l'intgrit des donnes ainsi que la non-rpudiation. Le service d'authentification assure l'identification unique du client et lui procure un ticket de session qu'il pourra utiliser pour demander des tickets d'utilisation des services kerbriss. Un ticket de session chiffr avec la clef d'un service kerbris constitue un ticket de service.
Mise en place dune solution dauthentification dans un milieu htrogne hthtrogne - - KERBEROS- -
2012
Glossaire
Lutilisation de Kerberos fait appel un vocabulaire dont les principaux termes sont numres ici : KDC (Key Distribution Center) : Base de Donnes des clients et des serveurs (Les principaux) ainsi que des cls prives associes. Principal : Triplet <primary name, instance, realm>. Primary name : nom dutilisateur ou du service ; Instance : rle/groupe du primary ; Realm : domaine dadministration associe a au moins un serveur Kerberos qui stocke la master BD du site/du domaine. En pratique, on identifiera un principal de type utilisateur par une chaine de la forme login/staff@Domaine. Lorsquil sagira dun service, on utilisera plutt la dnomination service/host @domaine Authentication Service (AS) :C'est un des deux services rendus par le KDC. Un client s'adresse lui pour obtenir un TGT, qu'il pourra alors prsenter au TGS pour recevoir des tickets de services. Client : Entit pouvant obtenir un ticket (utilisateur/hte). Service : Programme/ordinateur accde sur un rseau. Ex : host (avec telnet, rsh), ftp, krbtgt (authentification), pop etc... Ticket : Crdit temporaire permettant de vrifier lidentit du dtenteur. TGT : Ticket particulier permettant au dtenteur dobtenir dautres tickets pour le mme domaine. Ticket-Granting Service (TGS) :C'est un des services rendus par le KDC. Un utilisateur s'adresse lui en prsentant un TGT, pour obtenir un ticket ddie un service cible. Single Sign On (SSO) : C'est le nom donn tout mcanisme permettant l'utilisateur de s'authentifier une seule fois (par mot de passe), et d'accder ensuite diverses ressources grce cette pr-authentification. Dans le cas de Kerberos, la possibilit de transmettre les TGT d'un systme l'autre correspond bien ce mcanisme. Massachusetts Institute of Technology (MIT) :C'est l'organisme l'origine du protocole Kerberos, dvelopp dans le cadre du projet Athna (un rseau informatique d'tudiants trs grande chelle).
Mise en place dune solution dauthentification dans un milieu htrogne hthtrogne - - KERBEROS- -
2012
Introduction Gnrale
La scurit et l'intgrit d'un systme au sein d'un rseau peut tre une lourde tche. En effet, elle peut monopoliser le temps de plusieurs administrateurs rien que pour effectuer le suivi des services en cours d'excution sur un rseau et surveiller la manire selon laquelle ils sont utiliss. De plus, l'authentification des utilisateurs auprs des services rseau peut s'avrer tre une opration dangereuse lorsque la mthode utilise par le protocole est par essence non-scurise, comme c'est le cas avec les protocoles FTP et telnet lors du transfert de mots de passe de manire non-crypte sur le rseau. Kerberos reprsente un moyen d'liminer le besoin de protocoles qui utilisent des mthodes d'authentification vulnrables, permettant ainsi de renforcer la scurit rseau en gnral. Le protocole Kerberos fournit une authentification mutuelle plus rapide et une approbation transitive pour lauthentification en nimporte quel point dune arborescence dun domaine. Dune manire gnrale, une bonne stratgie de scurit vise dfinir et mettre en uvre des mcanismes de scurit, des procdures de surveillance des quipements de scurit, des procdures de rponse aux incidents de scurit et des contrles et audits de scurit. Pour lucider ces propos, il serait donc intressant de prsenter le protocole Kerberos dans un premier chapitre. Au niveau du deuxime chapitre, on a tent de prsenter le scnario dauthentification pour ce dernier et la fin on va prsenter comment le dployer.
Mise en place dune solution dauthentification dans un milieu htrogne hthtrogne - - KERBEROS- -
2012
Mise en place dune solution dauthentification dans un milieu htrogne hthtrogne - - KERBEROS- -
2012
Mise en place dune solution dauthentification dans un milieu htrogne hthtrogne - - KERBEROS- -
2012
Chapitre 1
Prsentation Gnrale du projet
Cette partie sera consacre .
Mise en place dune solution dauthentification dans un milieu htrogne hthtrogne - - KERBEROS- -
2012
Avec la multiplication des postes informatiques, lauthentification des utilisateurs doit tre uniforme pour tous. Lunification de lauthentification entre Windows et linux est le problme le plus courant qui se pose. Il est possible de faire cette runification via une authentification kerberos. Les diffrentes tapes de configuration sont dcrites, ainsi que les services additionnels ncessaires pour faire fonctionner les systmes linux. Lutilisation de kerberos apporte ensuite des avantages en terme de scurit, en ne transportant plus les mots de passe sur les rseaux, mais galement en fournissant des solutions de Single Sign On(SSO). Enfin une intgration de cet environnement au sein dun espace de travail est effectue, en utilisant le systme dauthentification requis par ce projet. Les services que nous devons rendre nos utilisateurs sont trs varis. Un point primordial est lauthentification. Cest le premier service rendu lutilisateur, le plus utilis, mais aussi un de nos plus gros problmes : La scurit de lauthentification est primordiale et lhtrognit des parcs nous impose normment de contraintes. Plus le parc grandit, plus une multitude de systmes doivent cohabiter. Les utilisateurs, eux, ne veulent pas connatre les diffrences entre systmes. Cest nous de faire un travail dintgration. De plus, lorsquils voient un fonctionnement sur un lieu, par exemple un Single Sign On(SSO) pour accder un service de mail ou un intranet, ils veulent pouvoir disposer de solutions quivalentes dans leur composante, mme si techniquement ce nest pas toujours possible. Mais donnons nos utilisateurs le maximum de ce quon puisse faire techniquement. Lutilisation dun couple didentification unique (login/pass) doit tre la premire tape mettre en place. Ensuite il faudra exploiter lexistant pour faire une intgration la plus complte, tout en simplifiant les services aux utilisateurs. Lutilisation dun grand nombre de plateforme Unix a ncessit trs tt une authentification centralise. Cest le service NIS, puis NIS+ qui a t utilis ces fins pendant de nombreuses annes. Cependant, plusieurs problmes apparaissent : Cette solution nest pas compatible quavec les Unix classiques. En particulier Windows a normment de mal lutiliser, via Services For Unix (SFU) et ne sait synchroniser les
9
Mise en place dune solution dauthentification dans un milieu htrogne hthtrogne - - KERBEROS- -
2012
mots de passe que de Windows vers NIS. Lautre problme est la conception inhrente NIS : une usurpation didentit (au niveau IP) et/ou la connaissance du domaine NIS permet de rcuprer lensemble des mots de passe crypts. En particulier lorsquon utilise NFS, ce qui est souvent le cas, lintroduction dun client NFS compromis permet de passer outre bon nombre de restrictions daccs. NIS a t une solution dans les dbuts de linformatique, mais actuellement, la scurit ne peut plus tre assure dans de bonnes conditions pour continuer lutiliser : La facilit daccs une prise RJ45 ou a un rseau wifi, et les systmes et outils actuels permettent de se faire passer pour un client lgitime trop facilement. Dans le monde Windows cette problmatique a t prise en compte, et lutilisation de rseaux virtuels appels DOMAINE, o un client doit tre ajout par ladministrateur apporte une rponse partielle. Ce projet a comme objectif principal de proposer une solution dauthentification adquate aux diffrents systmes utiliss sur un serveur commun centralis. Cette solution devra sorganiser en six grandes parties : Une tude dtaille concernant la compatibilit des diffrents systmes dexploitation. Une tude comparative des outils dauthentification utiliss de solution. Recommandations et choix de solution. Mise en place de la solution choisie. Test du travail ralis. Synthse. la
Planification : Le projet a dmarr au dbut du semestre de l'anne scolaire 2010 le 22 fvrier et se terminera le 21 juin de la mme anne. La planification ci-dessous est dcrite en terme de dates-cl, chacune date correspond le dbut d'une activit majeure. Il y sera associ une dure approximative (la date suivant le point indiquant le dbut d'une nouvelle activit, elle indique aussi la n de celle en cours). La dure effective de travail fournie est d'une journe par semaine de 8 heures (les heures supplmentaires ne sont pas comptes et sont ralises en fonction de la charge de travail de l'activit en cours).
10
Mise en place dune solution dauthentification dans un milieu htrogne hthtrogne - - KERBEROS- -
2012
11
Mise en place dune solution dauthentification dans un milieu htrogne hthtrogne - - KERBEROS- -
2012
Prsentation gnrale
Les rseaux htrognes sont des rseaux multi fournisseurs, cest dire que les composants matriels ou logiciels proviennent de fournisseurs diffrents. Le dfi des environnements rseaux htrognes est linteroprabilit< De nos jours, la majorit des rseaux sont des rseaux htrognes : La technologie a volue< Les fournisseurs recherchent la plus grande compatibilit de leurs produits< Les administrateurs rseaux sont devenus multi comptents pour mettre en uvre une telle complexit< Les rseaux se construisent petit petit, par petits bouts< Les utilisateurs ont leurs prfrences (le MAC pour les graphistes, UNIX pour les adeptes de la ligne de commande, les PC pour la part de march, <) certains ordinateurs avaient un avantage compar sur dautres<
Lhtrognit des rseaux provient de la cohabitation plus ou moins heureuse de plusieurs fournisseurs, de plusieurs normes : Les diteurs de systme dexploitation rseau Les constructeurs de machines Les fondeurs de processeurs Les normes de protocoles rseaux Les matriels, les cbles, les topologies, les mthodes daccs<
La plus part des rseaux htrognes combinent les processeurs, les machines, les systmes dexploitation rseaux, les protocoles rseaux,<
12
Mise en place dune solution dauthentification dans un milieu htrogne hthtrogne - - KERBEROS- -
2012
Figure n
Tout d'abord, il faut se souvenir que dans des temps trs reculs l'chelle de l'informatique, dans les annes 70, les terminaux taient relis au serveur par des liens spcialiss. Pour s'infiltrer, un cracker devait donc obligatoirement se brancher physiquement sur ces liens. Lorsque les rseaux ont commenc utiliser un modle client - serveur et que les terminaux ont t remplacs par les PC, les administrateurs ne pouvaient plus avoir confiance dans les utilisateurs finaux. En effet, ceux- ci peuvent dsormais modifier un logiciel ou couter le rseau. Il a donc fallu mettre en place un systme permettant de rtablir cette confiance sur le rseau. Aujourd'hui, alors que nous consultons tous les jours nos e- mails, ou que nous changeons des donnes que nous souhaiterions confidentielles, les mots de passe et les donnes circulent la plupart du temps en clair entre notre poste et le serveur ou le destinataire. Cela signifie que quiconque surveillant nos donnes pourra lire nos conversations, nos mots de passe et donc nos donnes. La solution propose est la mise en place d'un systme d'authentification, permet tant d'assurer que deux interlocuteurs se connaissent et savent qui est l'autre. Comme les communications peuvent, en principe, tre vues par n'importe qui, il a t propos de les scuriser, afin que seules les personnes concernes puissent consulter ces informations confidentielles. Kerberos est l'un des protocoles d'authentification disponibles. Il a t cr par le MIT pour solutionner ces diffrents problmes de scurit des rseaux.
Authentification rseau
13
Mise en place dune solution dauthentification dans un milieu htrogne hthtrogne - - KERBEROS- -
2012
L'authentification rseau vrifie l'identification de l'utilisateur l'intention de n'importe quel service rseau auquel l'utilisateur tente d'accder. Pour fournir ce type d'authentification, le systme de scurit prend en charge de nombreux systmes d'authentification diffrents, notamment Kerberos V5, SSL/TLS (Secure Sockets Layer/Transport Layer Security) ainsi que NTLM, par souci de compatibilit avec Windows NT 4.0. Les utilisateurs d'un compte de domaine ne voient pas l'authentification rseau. Les utilisateurs d'un compte d'ordinateur local doivent fournir des informations d'identification (notamment un nom d'utilisateur et un mot de passe) chaque fois qu'ils accdent une ressource rseau. En utilisant le compte de domaine, l'utilisateur possde des informations d'identification qui peuvent tre utilises pour une ouverture de session unique.
14
Mise en place dune solution dauthentification dans un milieu htrogne hthtrogne - - KERBEROS- -
2012
Chapitre 1
PRESENTATION DU PROTOCOLE KERBEROS
Cette partie sera consacre
15
Mise en place dune solution dauthentification dans un milieu htrogne hthtrogne - - KERBEROS- -
2012
Caractristiques du protocole :
Kerberos a t conu dans le but de proposer un protocole d'authentification multi plateforme, disposant d'un systme de demande d'identification unique, et permet tant de contacter ensuite autant de services que souhait. C'est pour ces raisons qu'il s'appuie sur le protocole de Needham Schroeder. Il s'agit d'un protocole scuris, dans le sens o il ne transmet jamais de mot de passe en clair sur le rseau. Il transmet des messages crypts dure de vie limite. Ainsi quil utilise le single sign- on qui dcrit le fait que l'utilisateur final n'a besoin de s'authentifier qu'une fois pour utiliser toutes les ressources du rseau supportant Kerberos au cours de sa journe de travail (en ralit, au cours du temps de session spcifi par l'administrateur : environ vingt heures, en gnral). Le systme Kerberos repose sur un tiers de confiance (Trusted third party), dans le sens o il s'appuie sur un serveur d'authentification centralis dans lequel tous les systmes du rseau ont confiance.
16
Mise en place dune solution dauthentification dans un milieu htrogne hthtrogne - - KERBEROS- -
2012
Toutes les requtes d'authentification sont ainsi routes au travers de ce serveur Kerberos centralis. Le systme d'authentification mutuelle utilis permet non seulement de prouver que l'utilisateur derrire son clavier est bien qui il prtend tre, mais aussi que le service qu'il tente d'utiliser correspond galement. De cette manire, la communication instaure assure la confidentialit des donnes sensibles. Les trois concepts dfinis ci- dessus permettent de dcrire les bases du service d'authentification rseau Kerberos.
17
Mise en place dune solution dauthentification dans un milieu htrogne hthtrogne - - KERBEROS- -
2012
Premirement, le client contacte le serveur d'authentification. Il envoie un message contenant son identit ainsi que celle du serveur d'application qu'il tente de contacter. Il y joint galement une valeur alatoire.
Valeur alatoire
Serveur dauthentification
Figure n Le serveur d'authentification reoit ces informations, et recherche les cls prives de cryptage correspondant au service et l'utilisateur. Il adjoint une troisime cl utilisation unique, gnre alatoirement, appele cl de session et utilise pour scuriser les communications entre le serveur d'application et le client. Dans ce protocole, le serveur d'authentification ne communique jamais directement avec le serveur d'application. Il retourne au client un message contenant la cl de session ainsi que l'identit vrifie des deux parties. Comment ce message peut - il tre protg d'une personne coutant sur le rseau ? Et avant cela, comment le serveur d'authentification peut - il tre certain de l'identit du client lorsqu'il le contacte ? La rponse est apporte par plusieurs couches de cryptage. Tout d'abord, le message est construit de manire ce que seul le serveur d'authentification puisse le lire. Il contient le nom du client ainsi qu'une cl de session. Afin d'viter la possibilit d'tre capt sur le rseau, il est crypt l'aide de la cl du serveur d'application. Or, seuls le serveur de service et le serveur d'authentification connaissent cette cl. Dans la terminologie de Kerberos, on parlera de ticket pour un tel message Le message de retour destin au client contient le message d'origine, le nom du serveur d'application, une copie de la cl de session ainsi que la cl alatoire du client. Ce message est crypt l'aide de la cl prive du client. Le serveur d'authentification ne peut pas dterminer si le client est bien qui il prtend tre. Il retournera ce message quiconque le lui demandera, pour autant que l'utilisateur fasse bien partie de sa base d'informations. Cependant, comme le message est crypt l'aide de la cl du client, seul celui- ci pourra dcrypter ce message.
18
Mise en place dune solution dauthentification dans un milieu htrogne hthtrogne - - KERBEROS- -
2012
Le client reoit donc le message, et doit alors entrer la cl (le mot de passe) permet tant de le dcrypter. S'il ne donne pas le bon, l'authentification aura chou. En cas de succs, le client aura alors charge de faire suivre la cl de session au serveur d'application. Il pourra alors lui faire parvenir le ticket , contenant une copie de la cl de session et le nom du client, le tout crypt l'aide de la cl du serveur d'application. Seul le serveur de services est alors capable de dcrypter le message, et donc de rcuprer la cl de session.
A partir de l, la communication entre les deux parties ne peut tre interprte que par elles. Le client sait qu'il s'adresse au bon serveur, puisque lui seul tait en mesure de dcrypter le message contenant la cl de session. De son ct, le serveur d'application sait que le client est bien qui il prtend tre, puisqu'il a t capable de dcrypter le message contenant la cl de session et l'identit du client qui lui a t ensuite transfr. Cependant, il reste une attaque laquelle faire face ; Le rseau tant considr comme non scuris, une personne mal intentionne serait en mesure de rcuprer tous les messages circulant, et en particulier le message d'authentification envoy par le client au serveur d'application. Elle pourrait alors
19
Mise en place dune solution dauthentification dans un milieu htrogne hthtrogne - - KERBEROS- -
2012
utiliser ce message plus tard et le renvoyer au serveur d'application. Dans ce cas, si le serveur n'utilisait pas la cl de session pour scuriser la communication avec le client, l'attaquant pourrait se faire passer pour sa victime. La solution apporte par le protocole Needham Schroeder oblige le client prouver qu'il dtient bien la cl de session : pour ce faire, le serveur d'application gnre un autre nombre alatoire, qu'il crypte l'aide de la cl de session et fait parvenir au client. Le client dcrypte alors ce nombre et doit, par exemple, lui ajouter une unit, puis le renvoyer crypt avec cette mme cl de session. De cette manire, seul le vrai client, dtenant la cl de session, est en mesure de rpondre au serveur de service avec le bon nombre.
Le protocole Kerberos utilise une approche similaire pour viter ce type d'attaque, mais il est bas sur un systme d'horloges synchronises.
20
Mise en place dune solution dauthentification dans un milieu htrogne hthtrogne - - KERBEROS- -
2012
2-Les principals :
Au sein de ce royaume, les utilisateurs et les htes(postes et serveurs) hbergeant des services constituent les principals .ils sont dclars dans la base kerberos selon le schma : nom/instance@krb-realm A chaque principal est associ un mot de passe qui fait office de cl secrte (hachage du mot de passe ) .les utilisateurs doivent saisir leur mot de passe pour sidentifier auprs du serveur kerberos et rcuprer un ticket daccs aux services. Pour les htes et les services qui ne peuvent pas saisir leur mot de passe ,la cl secrte est stocke localement (sur lhte) dans un fichier .keytab (par exemple :/etc/krb5.keytab) Pour un royaume de nom EMSI.MA Les utilisateurs peuvent tre dclars comme : root/[email protected] : pour un administrateur toto/[email protected] : pour un lve toto Jender/[email protected] : pour lenseignant jender
Les postes de travail peuvent tre dclars comme host/[email protected] : pour le poste dclar en tant que PC1 dans le DNS du domaine emsi.ma host/[email protected] : pour le poste dclar en tant que PC2 dans le DNS du domaine emsi.ma Les services peuvent tre dclars comme : ftp/[email protected] : pour le serveur ftp hberg sur le serveur dclar en tant que server1 dans le DNS du domaine emsi.ma ldap/[email protected] : pour lannuaire LDAP hberg sur le serveur dclar en tant que server1 dans le DNS du domaine emsi.ma on peut visualiser les principaux commande getprincs : dun royaume aprs authentification par la
21
Mise en place dune solution dauthentification dans un milieu htrogne hthtrogne - - KERBEROS- -
2012
3 - Le serveur kerberos Le serveur kerberos est compos de plusieurs entits logiques qui sont souvent regroupes physiquement en un seul et meme serveur KADMIN
ce module permet dadministrer le serveur kerberos .il gre les utilisateurs ,les htes et services du domaine kerberos .leurs droits daccs (ACL),ainsi que les mthodes de chiffrement utilises (des3-hmac-sha1,des cbc-md5<). Son accs est le plus souvent rserve ladministrateur du domaine qui peut accder localement au serveur (commande #kadmin) La configuration du serveur se fait travers le fichier krb5.conf. KDC(Key Distribution Center) :
Ce centre de distribution des cls contient une base de donnes regroupant les utilisateurs, les services et les cls qui leur sont associs. Ce module a pour fonction dauthentifier les utilisateurs avant de leur offrir un accs aux services .il joue le rle de serveur dauthentification(AS) Pour obtenir un accs aux services kerbriss un utilisateur doit avant tout obtenir un ticket daccs (TGT :Ticket granting ticket) auprs du KDC. Il sidentifie auprs du KDC en tant quutilisateur C (principal :[email protected] ,par exemple) et reoit alors un ticket daccs crypt avec sa cl secrte .Il est important de
22
Mise en place dune solution dauthentification dans un milieu htrogne hthtrogne - - KERBEROS- -
2012
noter que la cl secrte ne circule aucun moment sur le rseau,lutilisateur saisit en local son mot de passe pour dchiffrer le ticket du KDC. Le TGT reu va ensuite permettre lutilisateur C de dialoguer avec le TGS afin dobtenir des tickets daccs pour les diffrents services kerbriss . Pour rcuprer un TGT, lutilisateur doit saisir la commande : # kinit principal o principal dsigne lidentifiant de lutilisateur). Le systme demande alors lutilisateur de rentrer son mot de passe de faon dchiffrer le ticket.si le mot de passe est valide lutilisateur dispose alors dun ticket pour dialoguer avec TGS .
Avec la commande : # klist ,lutilisateur peut vrifier quil possde bien un ticket pour dialouer avec le TGS
23
Mise en place dune solution dauthentification dans un milieu htrogne hthtrogne - - KERBEROS- -
2012
Le TGT a une dure de vie limite (par dfaut huit heures) et prdfinie dans le fichier de configuration kdc.conf :
Lutilisateur peut tout moment dtruire son ticket laide de la commande : #kdestroy. En plus du TGT, le KDC fournit lutilisateur une cl de session pour dialoguer avec le TGS( cl note Kc,tgs) Le KDC constistue llment le plus sensible de tout le domaine kerberos .sil est compromis, cest tout le domaine kerberos qui est compromis avec lui .il est donc ncessaire que le serveur hbergeant le KDC soit parfaitement scuris. 4- Les services kerbriss : De nombreux services peuvent sappuyer sur kerberos pour authentifier les utilisateurs .Les application doivent toutefois tre modifies . Certains services sont installes de base en version kerbris lors de linstallation de kerberos.ils comportent le prfixe k de faon les diffrencier des services standard : kssh ,krlogin, ksu < Ces services font rfrence aux fichiers kerb5.conf et kdc.conf pour rediriger les authentifications vers le KDC correspondant
24
Mise en place dune solution dauthentification dans un milieu htrogne hthtrogne - - KERBEROS- -
2012
Certains application nexistent pas en version krbrise .plutot que de modifier leur code source, on peut insrer une couche supplmentaire entre lapplication et le service kerberos qui se charge de convertir lauthentification kerberos en un format valide pour lapplication.
25
Mise en place dune solution dauthentification dans un milieu htrogne hthtrogne - - KERBEROS- -
2012
Chapitre 3
SCENARIO DUNE AUTHENTIFICATION KERBEROS
Cette partie sera consacre ..
26
Mise en place dune solution dauthentification dans un milieu htrogne hthtrogne - - KERBEROS- -
2012
Scnario complet de kerberos La scurit et l'intgrit d'un systme au sein d'un rseau peut tre une lourde tche. En effet, elle peut monopoliser le temps de plusieurs administrateurs rien que pour effectuer le suivi des services en cours d'excution sur un rseau et surveiller la manire selon laquelle ils sont utiliss. De plus, l'authentification des utilisateurs auprs des services rseau peut s'avrer tre une opration dangereuse lorsque la mthode utilise par le protocole est par essence non-scurise, comme c'est la cas avec les protocoles FTP et telnet lors du transfert de mots de passe de manire noncrypte sur le rseau. Kerberos reprsente un moyen d'liminer le besoin de protocoles qui utilisent des mthodes d'authentification vulnrables, permettant ainsi de renforcer la scurit rseau en gnral. Kerberos est un protocole d'authentification rseau qui utilise une cryptographie cls symtriques pour authentifier les utilisateurs auprs des services rseau liminant par l mme la ncessit de transmettre des mots de passe sur le rseau. Lorsque les utilisateurs s'authentifient auprs des services rseau au moyen de Kerberos, les utilisateurs non-autoriss tentant d'intercepter des mots de passe en surveillant le trafic sur le rseau voient leurs desseins contrecarrs. La plupart des services rseau conventionnels utilisent des procdures
d'authentification bases sur des mots de passe. Dans ce cadre, un utilisateur doit s'authentifier auprs d'un serveur rseau prcis en fournissant son nom d'utilisateur et son mot de passe. Regrettablement, la transmission des informations d'authentification pour de nombreux services s'effectue de faon non-crypte. Pour qu'une telle procdure soit scurise, il est essentiel que le rseau soit inaccessible aux utilisateurs externes d'une part et d'autre part, que tous les ordinateurs et utilisateurs du rseau soient dignes de confiance.
Mme si c'est le cas, une fois qu'un rseau est connect l'Internet, on ne peut plus supposer que le rseau soit scuris. Il suffit tout pirate obtenant l'accs au rseau d'utiliser un simple analyseur de paquets (aussi connu sous le nom de renifleur de paquets) pour intercepter des noms d'utilisateurs et des mots de passe envoys en
27
Mise en place dune solution dauthentification dans un milieu htrogne hthtrogne - - KERBEROS- -
2012
texte clair. Dans de telles circonstances, les comptes utilisateur et l'intgrit de toute l'infrastructure de scurit sont remis en cause.
Le but essentiel de Korberos est d'viter la transmission de mots de passe noncrypts travers le rseau. Lorsque Korberos est utilis correctement, il limine de faon efficace la menace que reprsentent les renifleurs de paquets pour un rseau. Fonctionnement de Kerberos Nous dcrivons ici les tapes de l'authentification auprs du KDC puis d'un service. Pour rendre tout cela plus concret, nous proposons figurer qui illustrent les changes qui ont lieu sur le rseau. 1-Acquisition d'un TGT : 1-1consttruction dun TGT Supposons qu'un utilisateur souhaite s'authentifier sur son domaine Kerberos. Il dispose pour cela d'un nom d'utilisateur (username sur le schma) et d'un mot de passe. Son client d'authentification (kinit par exemple) excute alors une requte de TGT auprs de l'Authentification Service (AS) en lui indiquant le nom d'utilisateur 1 (pas le mot de passe). L'AS reoit cette demande, et commence alors la construction d'un TGT. Il cre une clef de cryptage symtrique alatoire, et compose un ticket contenant : - la date d'mission du ticket - la dure de vie du ticket - la clef de cryptage cre. Ce service d'authentification dispose de sa propre clef de cryptage (c'est un service \comme un autre", avec son propre mot de passe) : il s'en sert pour crypter le ticket, qu'on appelle dsormais le TGT (Ticket-Granting Ticket). Seul ce service Kerberos sera donc en mesure de lire les informations qui s'y trouvent. Par ailleurs, le KDC dispose de la liste des mots de passe des utilisateurs, donc aussi de celui qui tente de s'authentifier. Il en extrait alors ce mot de passe, et s'en sert pour crypter la clef de session qu'il a incluse dans le TGT.
28
Mise en place dune solution dauthentification dans un milieu htrogne hthtrogne - - KERBEROS- -
2012
1.2 Rception du TGT Le KDC renvoie alors le TGT (crypte avec son propre mot de passe) et la clef de session (crypte avec le mot de passe de l'utilisateur) au client, travers le rseau. L'utilisateur, qui a entre son mot de passe sur sa machine locale, peut alors dcrypter la clef de session. Il se trouve maintenant en prsence : -d'une clef de session : elle lui servira pour communiquer de manire scurise avec le KDC (pour les futures demandes de tickets au TGS) ; - d'un TGT: il prouve qu'il s'est bien adresse au KDC et a obtenu une clef de session (l'utilisateur prsentera ce TGT au TGS).
29
Mise en place dune solution dauthentification dans un milieu htrogne hthtrogne - - KERBEROS- -
2012
2.1.3 Attaques On le voit, un pirate qui obtiendrait une copie des informations diffuses sur le rseau disposerait du mme TGT que l'utilisateur, mais ne saurait pas dcrypter la clef de session, puisqu'il ne dispose pas du mot de passe de l'utilisateur. Ainsi, le TGT peut tre dtenu par n'importe qui, mais la clef de session ne sera lisible que par l'utilisateur qui a saisi le vrai mot de passe. Signalons que le TGT, gnre par le KDC, n'est mme pas lisible par l'utilisateur, puisqu'il a t crypte avec une clef connue du service Kerberos seulement. Si un pirate avait voulu se faire passer pour le KDC, il aurait t dans l'impossibilit de lui transmettre une clef de session valide, puisqu'il ne dispose pas du mot de passe de l'utilisateur, utilise pour la crypter. 2 Acquisition d'un ticket de service : 2.1 Construction de l'authenticateur A prsent que l'utilisateur s'est adresse au service AS du KDC (et a donc obtenu un TGT et une clef de session), il souhaite utiliser un des services kerberises (par exemple, un service telnet, c'est dire un telnet ou il n'aura pas saisir de mot de passe). Le client va alors composer un authentificateur (authenticator). En effet, le TGT ayant pu tre intercepte par n'importe qui (mais pas la clef de session), il faut pouvoir prouver son identit. Cet authentificateur est compose du nom de l'utilisateur, de l'adresse de sa machine, et de l'heure courante. Il crypte ceci avec la clef de session (qu'il est le seul connaitre), et joint ceci au TGT. Il rajoute enfin, en clair, son nom d'utilisateur, son adresse, et bien sur le nom du service auquel il souhaite accder. 2.2 Authentification du client Le service TGS du KDC reoit ces informations, et commence par dcrypter le TGT. En effet, il avait t crypte par sa clef personnelle, et si le dcryptage russit, cela prouve son authenticit. Dans ce TGT figure la clef de session avec laquelle le client a crypte l'authentificateur : il peut alors le dcrypter. Si ce dcryptage russit (c'est dire que les informations cryptes correspondent aux informations en clair), c'est que le client qui s'adresse lui est bien celui qu'il prtend tre. Par ailleurs, le KDC effectue des vrifications sur les dates et dures de vie, pour s'assurer qu'il ne s'agit pas de tickets ou authentificateurs prims.
30
Mise en place dune solution dauthentification dans un milieu htrogne hthtrogne - - KERBEROS- -
2012
31
Mise en place dune solution dauthentification dans un milieu htrogne hthtrogne - - KERBEROS- -
2012
Une fois le client considre comme authentifi, le KDC cre (alatoirement) une nouvelle clef de session. Celle-ci servira pour crypter les communications entre le client et le service auquel il souhaite accder. Il faut donc que cette clef parvienne (de manire scurise) au client et au service. Voici donc la composition du ticket : - le nom et l'adresse de l'utilisateur pour lequel le ticket a t cre - le nom du service que l'utilisateur a demande d'utiliser -la date d'mission et la dure de vie du ticket - la clef de session nouvellement cre pour les communications entre le client et le service. Pour que le service cible soit le seul pouvoir accder ces informations (notamment la clef de session), ce ticket est crypte avec son mot de passe (rappelons que les mots de passe des services sont galement stockes dans la base de donnes du KDC). Il suffira donc que le client donne ce ticket crypte au service pour qu'il puisse en extraire la clef de session. Enfin, pour que le client puisse galement connaitre la clef de session (qu'il ne peut bien sr pas extraire du ticket, ne connaissant pas le mot de passe du service), celle-ci est crypte avec la clef de session utilise entre le KDC et le client (qui figurait dans le TGT). 2.4- Rception du ticket de service : Le KDC transmet ce ticket de service et cette clef de session crypte l'utilisateur. Comme celui-ci connait la clef de session utilise entre lui-mme et le KDC, il peut dcrypter la clef de session qu'il utilisera avec le service cible. 2.2.5 Attaques Un pirate qui aurait coute les changes entre le client et le KDC aurait pu intercepter le TGT et l'authentificateur. Or nous avons vu en 2.1.3 (Attaque rception tgt)que ce TGT pouvait dj tre capt, mais non dchiffre : seul le KDC dispose de la clef de cryptage. Quant l'authentificateur, il ne peut le dcrypter sans la clef de session entre l'utilisateur et le KDC. S'il entreprenait de le dcrypter avec une attaque de type brute-forcing, les informations qu'il contient ne lui seraient d'aucune utilit (nom,
32
Mise en place dune solution dauthentification dans un milieu htrogne hthtrogne - - KERBEROS- -
2012
adresse, date). Mais en l'ayant dcrypte, il aurait trouve la clef de session : elle aurait dj probablement expire, pendant le temps qu'il termine son attaque. Si un pirate intercepte l'authentificateur et souhaite s'en servir pour s'adresser au KDC (donc rejouer la partie cliente), le KDC dtectera l'attaque, car il retient les timestamps utiliss, et donc les rutilisations interdites de ces authentificateurs. Ainsi, dans le pire des cas, un pirate n'obtiendra qu'une copie du ticket de service, et une copie de la clef de session crypte (sans pouvoir la dcrypter). 3- Authentification auprs d'un service 3-1 Construction de l'authentificateur Cette section est semblable celles du chapitre prcdent. En effet, le problme est le mme : il s'agit pour un client de s'authentifier auprs d'un service (qui tait le TGS prcdemment) l'aide d'un ticket dlivr par le KDC. A nouveau, le client cre un authentificateur, comportant son nom, son adresse et sa date d'mission. Il crypte cela avec la clef de session gnre prcdemment par le KDC, spcialement pour les communications entre ce client et ce service. Il envoie alors l'authentificateur crypte et le ticket au service cible (un serveur telnet, dans notre exemple prcdent). 3-2 Authentification du client Celui-ci rceptionne le ticket de service, qu'il est le seul pouvoir dcrypter. En effet, il connait son propre mot de passe, avec lequel le KDC avait crypt le ticket. Il en extrait alors les informations qui s'y trouvent, dont la clef de session utiliser avec le client qui vient de se connecter. Une premire vrification consiste s'assurer que le nom de service figurant dans ce ticket soit bien celui du service adress. Si c'est le cas, c'est que le ticket mane bien du KDC (il tait le seul pouvoir crypter ce nom avec le mot de passe du service). Il effectue alors les mmes verifications de concordance entre la date, l'authentificateur et le ticket, que celles mentionnes en 2.2.2(authentification du client). Le service a alors l'assurance que le client qui s'est connecte est bien celui auquel le ticket a t dlivr par le KDC. 3-2 Authentification du service Optionnellement, le service peut s'authentifier auprs du client. Comme il est le seul disposer de la clef de session, il va crypter une information connue du client, pour que celui-ci vrifie sa valeur. Par exemple, le service va relire le timestamp de l'authentificateur (qui est un entier), et crypter cette valeur incrmente de 1 avec la clef de session. L'utilisateur rceptionne ce paquet crypt, le dcrypte, et doit y lire le
33
Mise en place dune solution dauthentification dans un milieu htrogne hthtrogne - - KERBEROS- -
2012
mme entier (il a mmorise le timestamp insr dans l'authentificateur). Si c'est bien le cas, le client considre qu'il s'adresse effectivement au service demand, et il dispose maintenant d'une clef de cryptage, en commun avec lui.
34
Mise en place dune solution dauthentification dans un milieu htrogne hthtrogne 3-3 Attaques Un pirate qui voudrait se faire passer pour un utilisateur en s'adressant au service devra lui fournir un ticket contenant le nom de l'utilisateur usurp. Ne pouvant le gnrer lui-mme (puisqu'il ne peut pas le crypter avec le mot de passe du service), il devra donc en obtenir une copie lors de son passage sur le rseau. Puis il devra fournir un authentificateur. Comme ils ne peuvent tre utiliss deux fois, il devra en construire un lui-mme. Mais n'ayant pas la clef de session, c'est impossible. Si un pirate souhaite se faire passer pour le service (en lui volant son adresse, par exemple), il lui sera impossible de dcrypter l'authentificateur, et donc de retourner le paquet crypte qui contient timestamp+1 : le client dtectera l'usurpation. - - KERBEROS- -
2012
implementation
Bien que Kerberos permette d'liminer une srieurse menace de scurit, son implmentation peut tre difficile pour de multiples raisons : La migration de mots de passe utilisateur d'une base de donnes de mots de passe UNIX standard, comme /etc/passwd ou /etc/shadow, vers une base de donnes de mots de passe Kerberos peut tre relativement longue car il n'existe aucun mcanisme automatique permettant d'effectuer cette tche Kerberos n'est que partiellement compatible avec le systme d'authentification PAM (Pluggable Authentication Modules) utilis par la plupart des serveurs excutant Red Hat Enterprise Linux. Kerberos suppose certes que tout utilisateur soit digne de confiance mais utilise un hte non-scuris sur un rseau non-scuris. Son but primaire est d'empcher que des mots de passe en texte clair ne soient envoys travers ce rseau. Toutefois, si quelqu'un d'autre que l'utilisateur lui-mme a physiquement accs l'hte qui met les tickets utiliss pour l'authentification appel centre de distribution de cls (ou KDC) l'ensemble du systme d'authentification Kerberos est menac d'tre compromis. Pour qu'une application utilise Kerberos, ses sources doivent tre modifies afin d'effectuer les appels appropris dans les bibliothques Kerberos. Les applications modifies de la sorte sont considres comme tant kerberises. Pour certaines applications, ceci peut poser de nombreux problmes en raison de la taille et de la
35
Mise en place dune solution dauthentification dans un milieu htrogne hthtrogne - - KERBEROS- -
2012
conception de l'application. Pour d'autres applications qui ne sont pas compatibles, des modifications doivent tre apportes la manire selon laquelle les serveurs et les clients communiquent entre eux. L encore, il se peut que des modifications importantes soient ncessaires au niveau de la programmation. Les applications dont les sources ne sont pas accessibles et dont la prise en charge de Kerberos n'est pas disponible par dfaut sont celles posant gnralement le plus de problmes. Avec une solution Kerberos, c'est tout ou rien. Une fois que Kerberos est utilis sur le rseau, tout mot de passe non-crypt transmis un service non-kerberis risque d'tre intercept. Dans de telles circonstances, le systme ne tirera aucun avantage de l'utilisation de Kerberos. Afin de scuriser votre rseau avec Kerberos, vous devez soit utiliser des versions kerberises de toutes les applications client/serveur qui envoient des mots de passe en texte clair, soit n'utiliser absolument aucune application client/serveur.
36
Mise en place dune solution dauthentification dans un milieu htrogne hthtrogne - - KERBEROS- -
2012
Chapitre 4
MISE EN PLACE DUNE SOLUTION DAUTHENTIFICATION DANS UN MILIEU HETEROGENE --KERBEROS-Cette partie sera consacre .
37
Mise en place dune solution dauthentification dans un milieu htrogne hthtrogne - - KERBEROS- -
2012
Prliminaire
Il faudra ddie une machine au serveur KDC. En tant que tel, ce sera un point privilgie dattaque et devra donc tre aussi sr que possible. Si le KDC est compromis, toute larchitecture est compromise !. Pour rentrer un peu plus dans les dtails, ce serveur devra vrifier les proprits suivantes :
1. La machine devra tre physiquement scurise ; 2. le systme dexploitation devra tre mis a jour avec les derniers patchs ; 3. aucun utilisateur, hormis ladministrateur du serveur Kerberos, ne doit avoir de compte sur cette machine ; 4. le nombre de processus (dmons) qui tournent sur cette machine doit tre limite au maximum;
38
Mise en place dune solution dauthentification dans un milieu htrogne hthtrogne - - KERBEROS- -
2012
5. Il faudra ventuellement prvoir dautres machines qui feront office de serveurs secondaire. Des mcanismes de duplications existent et permettent de pallier aux ventuels problmes hardware du serveur principal. Pour les utiliser, il convient de disposer dune seconde machine qui jouera le rle de KDC esclave. Au niveau hardware, ce serveur na pas besoin dtre une machine dernier cris. Par exemple, on pourra se contenter dun PIII 500 Mhz. les autres machines sont simplement celles des utilisateurs des rseaux sur lesquels les applications kerberos clientes devront tre installes Il convient dj dinstaller un Linux minimal, sans X ni aucun programme GUI. Ainsi que SSH est optionnel. Sil permettra ensuite une administration a distance, labsence de toute possibilit de login distance augmentera significativement la scurit du KDC.
Synchronisation du temps
Installer un KDC Kerberos requiert que les horloges de toutes les machines qui y accdent soient synchronises sur un mme temps. On utilise un serveur de temps. L'horloge interne de ce serveur va devenir le rfrentiel principal. Bien entendu, il serait possible par la suite de synchroniser ce serveur sur un serveur de temps externe au rseau local. Nanmoins, il faut souligner tout de mme que les clients Windows doivent aussi tre synchroniss sur ce serveur de temps. Pour cela, il suffit de taper les commandes suivantes dans un invit de commande windows:
> net time /setsntp:"servername1 servername2 ..." > net stop w32time > net start w32time
A noter que ces commandes ont t testes sur des versions Windows 2003 et suprieures. Enfin, ces modifications prennent effet chaque redmarrage de Windows.
Configuration du DNS
Il faut configurer les fichiers /etc/resolv.conf comme suit : search localhost example.com nameserver 192.168.0.100
39
Mise en place dune solution dauthentification dans un milieu htrogne hthtrogne - - KERBEROS- -
2012
avec 192.168.0.100. ladresse IP du serveur DNS Par ailleurs, j'ai aussi renseign le fichier /etc/hosts du systme.
127.0.0.1 10.157.222.53 kerberos kerberos.example.com kerberos kerberos.example.com
Tous les paquetages prsents dans le tableau sont installs sur le serveur Kerberos. Seuls les paquetages krb5-workstation et krb5-libs sont installs sur les machines utilisant le systme dauthentification Kerberos mais non configures comme serveur.
Le fichier /etc/krb5.conf Ce fichier est fourni par le paquetage krb5-libs. Il est utilis par les diffrentes commandes clientes et par le module dauthentification PAM Kerberos 5. Il contient la description du domaine Kerberos, le realm(royaume), auprs duquel
40
Mise en place dune solution dauthentification dans un milieu htrogne hthtrogne - - KERBEROS- -
2012
lauthentification doit tre ralise. Par rapport au fichier de configuration par dfaut contenu dans le paquetage, seuls les noms du realm et du serveur Kerberos sont remplacs. Pour cette prsentation, le realm est EMSI.MA et le seul serveur utilis se nomme emsi.ma . Exemple de fichier /etc/krb5.conf
Le fichier /var/kerberos/krb5kdc/kdc.conf kdc.conf est le fichier de configuration du serveur de domaine Kerberos, ou Kerberos Domain Controler (KDC). Il contient les informations ncessaires au fonctionnement du serveur Kerberos, comme le nom de domaine, le chemin daccs ou encore des directives de logs. Exemple de fichier /var/kerberos/krb5kdc/kdc.conf
41
Mise en place dune solution dauthentification dans un milieu htrogne hthtrogne - - KERBEROS- -
2012
Le fichier /var/kerberos/krb5kdc/kadm5.acl Ce fichier contient la dfinition des droits particuliers de chacun des comptes. Dans la terminologie Kerberos, un compte est un principal. Lexemple suivant donne une configuration minimale de ces droits. Exemple de fichier /var/kerberos/krb5kdc/kadm5.acl
Le principal admin/admin possde tous les droits sur la base de donnes Kerberos. Cest ladministrateur du systme dauthentification. Cration de la base de donnes Kerberos 5 Sous le compte administrateur local root , excuter la commande :
La base de donnes Kerberos vient dtre cre dans le rpertoire /var/ kerberos/krb5kdc. Ajout dun compte administrateur Kerberos cette tape, la configuration du serveur Kerberos (ou KDC) est acheve.Toutes les oprations ont t ralises localement sous le compte administrateur root du serveur Kerberos .Pour administrer distance la base de donnes Kerberos, cest-dire partir de nimporte quelle machine utilisant le systme dauthentification, un compte doit tre cr (dans cet exemple, il sagit de celui qui a t dfini dans le fichier kadm5.acl lors de ltape prcdente). Ceci est ralis en excutant la commande kadmin.local sous le compte privilgi root .
42
Mise en place dune solution dauthentification dans un milieu htrogne hthtrogne - - KERBEROS- -
2012
Le fichier /var/kerberos/krb5kdc/kadm5.keytab est cr. Il contient la cl dauthentification qui permettra au serveur Kerberos dauthentifier le service de gestion du registre dport kadmind.
Configuration de lauthentification Kerberos La configuration de lauthentification ncessite celle du fichier /etc/ krb5.conf comme prsent prcdemment, ainsi que la modification du fichier /etc/pam.d/system-auth. Ces modifications peuvent tre ralises manuellement ou automatiquement avec lutilitaire en ligne de commande authconfig. Extrait du fichier de configuration /etc/pam.d/system-auth modifi pour utiliser Kerberos
43
Mise en place dune solution dauthentification dans un milieu htrogne hthtrogne - - KERBEROS- -
2012
Les comptes Kerberos sont crs avec lutilitaire kadmin. Ce dernier est lanc avec lidentifiant de ladministrateur Kerberos sous lequel les oprations de cration vont tre ralises. Cette commande peut tre excute sous nimporte quel compte Unix sur nimporte quelle machine permettant lauthentification Kerberos, dans la mesure o lidentifiant de ladministrateur Kerberos est pass en argument. Ajout du principal bernard
44
Mise en place dune solution dauthentification dans un milieu htrogne hthtrogne - - KERBEROS- -
2012
Depuis n'importe quel poste du domaine MOBIDIK.LAB, il est maintenant possible d'obtenir un ticket initial (TGT Ticket Granting Ticket) ou des tickets de service. Un ensemble d'outils client kerberos (kinit, klist, kdestroy, <) nous permettent de grer les tickets. A l'aide la carte sensitive accdez au bureau de la machine client1.mobidik.lab et ouvrez un terminal de commande ( dfaut ouvrez un terminal de commande ssh). La commande kinit permet d'obtenir un Ticket Granting Ticket (TGT ou ticket initial). Le TGT est le ssame d'accs au royaume. Une fois authentifi, la possession de ce TGT nous permettra d'obtenir les tickets d'accs aux services. La commande kinit demande le mot de passe du principal pass en paramtre. Seule la saisie du bon mot de passe permettra de dchiffrer le message contenant le TGT. Une fois dchiffr; le TGT et la cl de session TGS associe sont mis en cache localement dans le fichier /tmp/krb5cc_xxx Le fichier de configuration client kerberos pointant sur le domaine MOBIDIK.LAB, la mention du domaine dans le paramtre de la commande kinit est facultative. Ainsi kinit castafiore ou kinit [email protected] sont donc quivalents.
Mise en place dune solution dauthentification dans un milieu htrogne hthtrogne - - KERBEROS- -
2012
contenter de dupliquer, localement (dans les bases /etc/passwd et /etc/shadow) sur la machine serveur d'application appsrv.mobidik.lab, le(s) compte(s) utilisateur(s) que nous avons cr(s) dans la base du KDC kerberos. A l'aide la carte sensitive accdez au bureau de la machine appsrv.mobidik.lab et ouvrez un terminal de commande ( dfaut ouvrez un terminal de commande ssh).
appsrv~# su -l castafiore castafiore@appsrv~$ whoami castafiore castafiore@appsrv~$ pwd /home/castafiore castafiore@appsrv~$ exit appsrv~#
Le service telnet est en gnral activ automatiquement au coup par coup l'aide du superdaemon xinetd. Pour pouvoir observer son comportement, dans le cadre de ce TP, nous allons le lancer manuellement en mode debug chaque fois que nous en aurons besoin. Sur la machine appsrv.mobidik.lab ouvrez un terminal de commande et lancez le daemon ktelnetd en mode debug au moyen de la commande ktelnetd -debug -a debug Le service est en attente d'une connexion entrante, il s'arrtera ds que la premire connexion sera clture.
Positionnons nous maintenant du cot du client telnet. Sur la machine client1.mobidik.lab l'utilisateur castafiore va ouvrir une session distante sur
46
Mise en place dune solution dauthentification dans un milieu htrogne hthtrogne - - KERBEROS- -
2012
appsrv.mobidik.lab. Avant de lancer cette session, dmarrez le renifleur rseau wireshark. et dbutez une capture sur l'interface rseau eth1.
47
Mise en place dune solution dauthentification dans un milieu htrogne hthtrogne - - KERBEROS- -
2012
WEBOGRAPHIE
48
Mise en place dune solution dauthentification dans un milieu htrogne hthtrogne - - KERBEROS- -
2012
Conclusion
Kerberos offre un moyen puissant et efficace de scuriser un rseau. Son adoption par un grand nombre de systmes dexploitation est gage de prennit. Au cours de ce projet de fin danne, nous avons vu la mise place et lutilisation du protocole kerberos pour scuriser les mcanismes dauthentification. Au premier abord, kerberos apparait comme compliqu installer et configurer, Toutefois on trouve une grande quantit dinformation sur le sujet. La vraie difficult de la mise en uvre de kerberos rside plutt dans la kerbrisation des applications. Kerberos, en tant que systme d'authentification, n'est donc qu'un des maillons indissociables de toute la chane de scurit. Son rle est primordial, car il va permettre la certification de la validit des interlocuteurs sur le rseau, mais sera totalement inutile si des portes sont laisses grandes ouvertes aux crackers, leur permettant de prendre possession des comptes avec privilges.
49