rapport pfa kerberos

49
  - - KERBEROS- - 1 2012 Mise en place d’une solution d’authentification dans un milieu hétérogène Dédicace A  nos très chers parents  N ulle dédicace n’est 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 frères, à nos sœurs et à nos chers amis.  A vec toute notre affection, veuillez trouver ici l’expression de notre  profond sentiment de respect et de reconnaissance, pour le soutien que vous n’avez cessé de nous prodiguer. A  vous tous  N os souhaits de bonheur et de réussite, que ce travail soit la preuve de la sincérité de nos sentiments envers vous.

Upload: salim-ait-benali

Post on 17-Jul-2015

321 views

Category:

Documents


17 download

TRANSCRIPT

Page 1: Rapport Pfa Kerberos

5/14/2018 Rapport Pfa Kerberos - slidepdf.com

http://slidepdf.com/reader/full/rapport-pfa-kerberos 1/49

  - - KERBEROS- -

1

2012 Mise en place d’une solution d’authentification dans un milieu hétérogène

Dédicace 

A  nos très chers parents  

N ulle dédicace n’est 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 frères, à nos sœurs et à nos chers amis. A vec toute notre affection, veuillez trouver ici l’expression de notre

 profond sentiment de respect et de reconnaissance, pour le soutien que vous 

n’avez cessé de nous prodiguer.

A  vous tous  

N os souhaits de bonheur et de réussite, que ce travail soit la preuve de

la sincérité de nos sentiments envers vous.

Page 2: Rapport Pfa Kerberos

5/14/2018 Rapport Pfa Kerberos - slidepdf.com

http://slidepdf.com/reader/full/rapport-pfa-kerberos 2/49

  - - KERBEROS- -

2

2012 Mise en place d’une solution d’authentification dans un milieu hétérogène

Remerciements  

C e n’est pas parce que c’est tel un rituel que nous commençons ce rapport 

  par l’assurance de nos immenses gratitudes à tous ce qui nous ont épaulé 

  pour l’accomplir, mais c’est parce que nous sommes conscients de

l’importance d’avouer notre louange à toutes les personnes sans lesquelles ce

rapport n’aurait pu voir le jour. 

N ous voudrions bien exprimer notre vive gratitude et nos remerciements 

à M.HADRI, pour son encadrement et son assistance et qui n’a pas cessé de

nous apporter son soutien durant toute la période de préparation de ce

 projet.

N ous voudrions exprimer éga lement nos immenses gratitudes à l’ensemble

du corps professoral de l’ EMSI chacun par son honorable nom, qui vont nous 

rendre les futurs ingénieurs prêts à porter à l’étendard du Maroc de demain  

Page 3: Rapport Pfa Kerberos

5/14/2018 Rapport Pfa Kerberos - slidepdf.com

http://slidepdf.com/reader/full/rapport-pfa-kerberos 3/49

  - - KERBEROS- -

3

2012 Mise en place d’une solution d’authentification dans un milieu hétérogène

Résumé 

Le but de ce projet est la mise en place d’un serveur d’authentification commun

dans lequel on aura la possibilité de s’authentifier dans différents systèmes

(Windows, Linux, Mac).La solution décrite dans ce rapport est la mise en place d’unserveur Kerberos appelé aussi KDC (Key Distribution Center) qui fonctionne en

environnement hétérogène, assurant la sécurité des échanges sur un réseau non sûr

et permettant la mise en place d'un véritable service d'authentification unique.

Kerberos utilise un système de chiffrement symétrique pour assurer un dialogue

sécurisé entre deux protagonistes. Les dialogues s'opèrent en utilisant une clef secrète

et partagée, les algorithmes de chiffrement sont publics (AES, DES, 3DES, ...), toute la

sécurité du système repose sur la confidentialité de la clef de chiffrement. Pour

faciliter la gestion d'un tel système, Kerberos repose sur l'utilisation d'un tiers de

confiance qui distribue les clefs aux utilisateurs et services abonnés (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

entités du réseau, utilisateurs et services, font confiance à cette tierce partie (le

serveur Kerberos ou KDC pour Key Distribution Center).

Enfin Kerberos est un service sûr qui assure la confidentialité, l'intégrité des données

ainsi que la non-répudiation. Le service d'authentification assure l'identificationunique du client et lui procure un ticket de session qu'il pourra utiliser pour

demander des tickets d'utilisation des services kerbérisés. Un ticket de session chiffré

avec la clef d'un service kerbérisé constitue un ticket de service.

Page 4: Rapport Pfa Kerberos

5/14/2018 Rapport Pfa Kerberos - slidepdf.com

http://slidepdf.com/reader/full/rapport-pfa-kerberos 4/49

  - - KERBEROS- -

4

2012 Mise en place d’une solution d’authentification dans un milieu hétérogène

Glossaire  

L’utilisation de Kerberos fait appel à un vocabulaire dont les principaux termes sonténumères ici :

  KDC (Key Distribution Center) : Base de Données des clients et des serveurs(Les ’principaux’) ainsi que des clés privées associées. 

 Principal : Triplet <primary name, instance, realm>.– Primary name : nom d’utilisateur ou du service ; 

– Instance : rôle/groupe du primary ;– Realm : domaine d’administration 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 formelogin/staff@Domaine. Lorsqu’il s’agira d’un service, on utilisera plutôt ladénomination 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 présenter au TGSpour recevoir des tickets de services.

  Client : Entité pouvant obtenir un ticket (utilisateur/hôte).  Service : Programme/ordinateur accède sur un réseau. Ex : host (avec telnet,

rsh), ftp, krbtgt (authentification), pop etc...  Ticket : Crédit temporaire permettant de vérifier l’identité du détenteur.  TGT : Ticket particulier permettant au détenteur d’obtenir d’autres tickets 

pour le même domaine.  Ticket-Granting Service (TGS) :C'est un des services rendus par le KDC. Un

utilisateur s'adresse à lui en présentant un TGT, pour obtenir un ticket dédie à

un service cible.  Single Sign On (SSO) : C'est le nom donné à tout mécanisme permettant à

l'utilisateur de s'authentifier une seule fois (par mot de passe), et d'accéderensuite à diverses ressources grâce à cette pré-authentification. Dans le cas deKerberos, la possibilité de transmettre les TGT d'un système à l'autrecorrespond bien à ce mécanisme.

  Massachusetts Institute of Technology (MIT) :C'est l'organisme à l'origine duprotocole Kerberos, développé dans le cadre du projet Athéna (un réseauinformatique d'étudiants à très grande échelle).

Page 5: Rapport Pfa Kerberos

5/14/2018 Rapport Pfa Kerberos - slidepdf.com

http://slidepdf.com/reader/full/rapport-pfa-kerberos 5/49

  - - KERBEROS- -

5

2012 Mise en place d’une solution d’authentification dans un milieu hétérogène

Introduction Générale 

La sécurité et l'intégrité d'un système au sein d'un réseau peut être une

lourde tâche. En effet, elle peut monopoliser le temps de plusieursadministrateurs rien que pour effectuer le suivi des services en cours d'exécution

sur un réseau et surveiller la manière selon laquelle ils sont utilisés. De plus,

l'authentification des utilisateurs auprès des services réseau peut s'avérer être une

opération dangereuse lorsque la méthode utilisée par le protocole est par essence

non-sécurisée, comme c'est le cas avec les protocoles FTP et telnet lors du transfert

de mots de passe de manière non-cryptée sur le réseau. Kerberos représente un

moyen d'éliminer le besoin de protocoles qui utilisent des méthodesd'authentification vulnérables, permettant ainsi de renforcer la sécurité réseau en

général.

Le protocole Kerberos fournit une authentification mutuelle plus rapide et

une approbation transitive pour l’authentification en n’importe quel point d’une

arborescence d’un domaine. D’une manière générale, une bonne stratégie de

sécurité vise à définir et mettre en œuvre des mécanismes de sécurité, des

procédures de surveillance des équipements de sécurité, des procédures de

réponse aux incidents de sécurité et des contrôles et audits de sécurité.

Pour élucider ces propos, il serait donc intéressant de présenter le

protocole Kerberos dans un premier chapitre. Au niveau du deuxième chapitre,

on a tenté de présenter le scénario d’authentification pour ce dernier et à la fin on

va présenter comment le déployer.

Page 6: Rapport Pfa Kerberos

5/14/2018 Rapport Pfa Kerberos - slidepdf.com

http://slidepdf.com/reader/full/rapport-pfa-kerberos 6/49

  - - KERBEROS- -

6

2012 Mise en place d’une solution d’authentification dans un milieu hétérogène

Table des matières  

contexte generale du projet

Présentation générale

Déroulement du protocole

Implementations

Sous Windows : : : : : : : : : : : : : : : : : : : : :Sous UNIX : : : : : : : : : : : : : : : : : : : : : : : :Heimdal : : : : : : : : : : : : : : : : : : : : : : : : : :SEAM : : : : : : : : : : : : : : : : : : : : : : : : : : : :

Page 7: Rapport Pfa Kerberos

5/14/2018 Rapport Pfa Kerberos - slidepdf.com

http://slidepdf.com/reader/full/rapport-pfa-kerberos 7/49

  - - KERBEROS- -

7

2012 Mise en place d’une solution d’authentification dans un milieu hétérogène

Liste des figures : 

Figure 1:

Figure 2:

Figure3:

Figure4:

Figure5:

Figure 6:

Page 8: Rapport Pfa Kerberos

5/14/2018 Rapport Pfa Kerberos - slidepdf.com

http://slidepdf.com/reader/full/rapport-pfa-kerberos 8/49

  - - KERBEROS- -

8

2012 Mise en place d’une solution d’authentification dans un milieu hétérogène

Chapitre 1Présentation Générale du projet 

Cette partie sera consacrée à …. 

Page 9: Rapport Pfa Kerberos

5/14/2018 Rapport Pfa Kerberos - slidepdf.com

http://slidepdf.com/reader/full/rapport-pfa-kerberos 9/49

  - - KERBEROS- -

9

2012 Mise en place d’une solution d’authentification dans un milieu hétérogène

Avec la multiplication des postes informatiques, l’authentification des

utilisateurs doit être uniforme pour tous. L’unification de l’authentification entre

Windows et linux est le problème le plus courant qui se pose. Il est possible de faire

cette réunification via une authentification kerberos. Les différentes étapes de

configuration sont décrites, ainsi que les services additionnels nécessaires pour faire

fonctionner les systèmes linux. L’utilisation de kerberos apporte ensuite des

avantages en terme de sécurité, en ne transportant plus les mots de passe sur les

réseaux, mais également en fournissant des solutions de Single Sign On(SSO). Enfin

une intégration de cet environnement au sein d’un espace de travail est effectuée, en

utilisant le système d’authentification requis par ce projet. 

Les services que nous devons rendre à nos utilisateurs sont très variés. Un point

primordial est l’authentification. C’est le premier service rendu à l’utilisateur, le plus

utilisé, mais aussi un de nos plus gros problèmes : La sécurité de l’authentification

est primordiale et l’hétérogénéité des parcs nous impose énormément de contraintes.

Plus le parc grandit, plus une multitude de systèmes doivent cohabiter. Les

utilisateurs, eux, ne veulent pas connaître les différences entre systèmes. C’est à nous

de faire un travail d’intégration. De plus, lorsqu’ils voient un fonctionnement sur un

lieu, par exemple un Single Sign On(SSO) pour accéder à un service de mail ou à un

intranet, ils veulent pouvoir disposer de solutions équivalentes dans leur

composante, même si techniquement ce n’est pas toujours possible. Mais donnons à

nos utilisateurs le maximum de ce qu’on puisse faire  techniquement. L’utilisation

d’un couple d’identification unique (login/pass) doit être la première étape à mettre

en place. Ensuite il faudra exploiter l’existant pour faire une intégration la plus

complète, tout en simplifiant les services aux utilisateurs.

L’utilisation d’un grand nombre de plateforme Unix a nécessité très tôt une

authentification centralisée. C’est le service NIS, puis NIS+ qui a été utilisé à ces fins

pendant de nombreuses années. Cependant, plusieurs problèmes apparaissent : Cette

solution n’est pas compatible qu’avec les Unix classiques. En particulier Windows aénormément de mal à l’utiliser, via Services For Unix (SFU) et ne sait synchroniser les

Page 10: Rapport Pfa Kerberos

5/14/2018 Rapport Pfa Kerberos - slidepdf.com

http://slidepdf.com/reader/full/rapport-pfa-kerberos 10/49

  - - KERBEROS- -

10

2012 Mise en place d’une solution d’authentification dans un milieu hétérogène

mots de passe que de Windows vers NIS. L’autre problème est la conception

inhérente à NIS : une usurpation d’identité (au niveau IP) et/ou la connaissance du

domaine NIS permet de récupérer l’ensemble des mots de passe cryptés. En

particulier lorsqu’on utilise NFS, ce qui est souvent le cas, l’introduction d’un client

NFS compromis permet de passer outre bon nombre de restrictions d’accès. NIS a été

une solution dans les débuts de l’informatique, mais actuellement, la sécurité ne peut

plus être assurée dans de bonnes conditions pour continuer à l’utiliser : La facilité

d’accès à une prise RJ45 ou a un réseau wifi, et les systèmes et outils actuels

permettent de se faire passer pour un client légitime trop facilement. Dans le monde

Windows cette problématique a été prise en compte, et l’utilisation de réseaux

virtuels appelés DOMAINE, où un client doit être ajouté par l’administrateur

apporte une réponse partielle.

Ce projet a comme objectif principal de proposer une solution d’authentification

adéquate aux différents systèmes utilisés sur un serveur commun centralisé.

Cette solution devra s’organiser en six grandes parties :

  Une étude détaillée concernant la compatibilité des différents systèmes

d’exploitation. 

  Une étude comparative des outils d’authentification utilisés de la

solution.

  Recommandations et choix de solution.

  Mise en place de la solution choisie.

  Test du travail réalisé.

  Synthèse.

Planification :

Le projet a démarré au début du semestre de l'année scolaire 2010 le 22 février et

se terminera le 21 juin de la même année. La planification ci-dessous est décrite en

terme de dates-clé, à chacune date correspond le début d'une activité majeure. Il y

sera associé une durée approximative (la date suivant le point indiquant le début

d'une nouvelle activité, elle indique aussi la n de celle en cours). La durée

effective de travail fournie est d'une journée par semaine de 8 heures (les heures

supplémentaires ne sont pas comptées et sont réalisées en fonction de la chargede travail de l'activité en cours).

Page 11: Rapport Pfa Kerberos

5/14/2018 Rapport Pfa Kerberos - slidepdf.com

http://slidepdf.com/reader/full/rapport-pfa-kerberos 11/49

  - - KERBEROS- -

11

2012 Mise en place d’une solution d’authentification dans un milieu hétérogène

Page 12: Rapport Pfa Kerberos

5/14/2018 Rapport Pfa Kerberos - slidepdf.com

http://slidepdf.com/reader/full/rapport-pfa-kerberos 12/49

  - - KERBEROS- -

12

2012 Mise en place d’une solution d’authentification dans un milieu hétérogène

Présentation générale

Les réseaux hétérogènes sont des réseaux multi fournisseurs, c’est à dire que lescomposants matériels ou logiciels proviennent de fournisseurs différents. Le défi des

environnements réseaux hétérogènes est l’interopérabilité<

De nos jours, la majorité des réseaux sont des réseaux hétérogènes :

  La technologie a évoluée< 

  Les fournisseurs recherchent la plus grande compatibilité de leurs produits< 

  Les administrateurs réseaux sont devenus « multi compétents » pour mettre

en œuvre une telle complexité<   Les réseaux se construisent petit à petit, par petits bouts< 

  Les utilisateurs ont leurs préférences (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 d’autres< 

L’hétérogénéité des réseaux provient de la cohabitation plus ou moins heureuse

de plusieurs fournisseurs, de plusieurs normes :

  Les éditeurs de système d’exploitation réseau   Les constructeurs de machines

  Les fondeurs de processeurs

  Les normes de protocoles réseaux

  Les matériels, les câbles, les topologies, les méthodes d’accès< 

La plus part des réseaux hétérogènes combinent les processeurs, les machines, les

systèmes d’exploitation réseaux, les protocoles réseaux,< 

Page 13: Rapport Pfa Kerberos

5/14/2018 Rapport Pfa Kerberos - slidepdf.com

http://slidepdf.com/reader/full/rapport-pfa-kerberos 13/49

  - - KERBEROS- -

13

2012 Mise en place d’une solution d’authentification dans un milieu hétérogène

Figure n°

Tout d'abord, il faut se souvenir que dans des temps très reculés à l'échelle del'informatique, dans les années 70, les terminaux étaient reliés au serveur par desliens spécialisés. Pour s'infiltrer, un cracker devait donc obligatoirement se brancherphysiquement sur ces liens. Lorsque les réseaux ont commencé à utiliser un modèleclient - serveur et que les terminaux ont été remplacés par les PC, les administrateursne pouvaient plus avoir confiance dans les utilisateurs finaux. En effet, ceux- cipeuvent désormais modifier un logiciel ou écouter le réseau. Il a donc fallu mettre enplace un système permettant de rétablir cette confiance sur le réseau. Aujourd'hui,alors que nous consultons tous les jours nos e- mails, ou que nous échangeons desdonnées que nous souhaiterions confidentielles, les mots de passe et les donnéescirculent la plupart du temps « en clair » entre notre poste et le serveur ou ledestinataire. Cela signifie que quiconque surveillant nos données pourra lire nosconversations, nos mots de passe et donc nos données. La solution proposée est la

mise en place d'un système d'authentification, permet tant d'assurer que deuxinterlocuteurs 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 sécuriser, afin que seules les personnes concernées puissentconsulter ces informations confidentielles. Kerberos est l'un des protocolesd'authentification disponibles. Il a été créé par le MIT pour solutionner ces différentsproblèmes de sécurité des réseaux.

Authentification réseau 

Page 14: Rapport Pfa Kerberos

5/14/2018 Rapport Pfa Kerberos - slidepdf.com

http://slidepdf.com/reader/full/rapport-pfa-kerberos 14/49

  - - KERBEROS- -

14

2012 Mise en place d’une solution d’authentification dans un milieu hétérogène

L'authentification réseau vérifie l'identification de l'utilisateur à l'intention den'importe quel service réseau auquel l'utilisateur tente d'accéder. Pour fournir ce

type d'authentification, le système de sécurité prend en charge de nombreuxsystèmes d'authentification différents, notamment Kerberos V5, SSL/TLS (SecureSockets 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 réseau. Lesutilisateurs d'un compte d'ordinateur local doivent fournir des informationsd'identification (notamment un nom d'utilisateur et un mot de passe) chaque foisqu'ils accèdent à une ressource réseau. En utilisant le compte de domaine,

l'utilisateur possède des informations d'identification qui peuvent être utilisées pourune ouverture de session unique.

Page 15: Rapport Pfa Kerberos

5/14/2018 Rapport Pfa Kerberos - slidepdf.com

http://slidepdf.com/reader/full/rapport-pfa-kerberos 15/49

  - - KERBEROS- -

15

2012 Mise en place d’une solution d’authentification dans un milieu hétérogène

Chapitre 1

PRESENTATION DU PROTOCOLEKERBEROS

Cette partie sera consacrée à … 

Page 16: Rapport Pfa Kerberos

5/14/2018 Rapport Pfa Kerberos - slidepdf.com

http://slidepdf.com/reader/full/rapport-pfa-kerberos 16/49

  - - KERBEROS- -

16

2012 Mise en place d’une solution d’authentification dans un milieu hétérogène

Qu’est -ce que Kerberos ?  

Selon la mythologie, Kerberos est le chien à trois têtes gardant le pont menant auxportes de l’enfer. Plus récemment, Kerberos fut le nom choisi pour le mécanismed’authentification d’un projet mené au MIT appelé Athena. Aujourd’hui, Kerberosest un protocole d’authentification réseau. La version actuelle du protocole, laversion 5, est un standard défini dans la RFC 1510 . Les versions 1 à 3 ne sont restées

que des versions de développements.

1.2 Intérêts du protocole 

Peu de mécanismes résolvent le problème de l’authentification réseau unifiée en

milieu hétérogène, qui plus est, mixte Unix/MS Windows. Kerberos présentel’avantage d’être un standard disponible sous les systèmes libres (Linux, BSD) et sous

les systèmes propriétaires, Solaris (SunMicrosystem), Irix (SGI), Windows 2000 et XP.La portabilité des implémentations Open Source permet de compléter cette liste.

Bien sûr, Kerberos résout plusieurs problèmes de sécurité classiques dansl’authentification des clients et des services au sein d’un réseau.

Caractéristiques du protocole :  

Kerberos a été conçu dans le but de proposer un protocole d'authentification multi -plateforme, disposant d'un système de demande d'identification unique, et permettant de contacter ensuite autant de services que souhaité. C'est pour ces raisons qu'ils'appuie sur le protocole de Needham – Schroeder. Il s'agit d'un protocole sécurisé,dans le sens où il ne transmet jamais de mot de passe en clair sur le réseau.

Il transmet des messages cryptés à durée de vie limitée. Ainsi qu’il utilise le « single

sign- on » qui décrit le fait que l'utilisateur final n'a besoin de s'authentifier qu'unefois pour utiliser toutes les ressources du réseau supportant Kerberos au cours de sa

  journée de travail (en réalité, au cours du temps de session spécifié parl'administrateur : environ vingt heures, en général). Le système Kerberos repose surun « tiers de confiance » (Trusted third party), dans le sens où il s'appuie sur unserveur d'authentification centralisé dans lequel tous les systèmes du réseau ont

confiance.

Page 17: Rapport Pfa Kerberos

5/14/2018 Rapport Pfa Kerberos - slidepdf.com

http://slidepdf.com/reader/full/rapport-pfa-kerberos 17/49

  - - KERBEROS- -

17

2012 Mise en place d’une solution d’authentification dans un milieu hétérogène

Toutes les requêtes d'authentification sont ainsi routées au travers de ce serveurKerberos centralisé. Le système d'authentification mutuelle utilisé permet non

seulement de prouver que l'utilisateur derrière son clavier est bien qui il prétend être,mais aussi que le service qu'il tente d'utiliser correspond également.De cette manière, la communication instaurée assure la confidentialité des donnéessensibles.Les trois concepts définis ci- dessus permettent de décrire les bases du serviced'authentification réseau Kerberos.

<Avantage /inconvénient >

Présentation du protocole Needham - Schroeder  

Deux chercheurs du Xerox Palo Alto Center, Roger Needham et Michael Schroeder,ont défini, vers la fin des années 70, une plateforme sécurisée permet tantd'authentifier les utilisateurs. Ils ont mis en place deux protocoles, dont l'un utilisantdes clés privées de cryptage. Le système défini est supposé vivre dans unenvironnement hostile, où n'importe qui est capable d'écouter les paquets sur leréseau et de les modifier. Cependant, ils ont pris comme hypothèse que l'utilisateur

choisira un mot de passe respectant certains critères (en particulier, en évitant un motde passe trop court ou un mot trop commun). Ainsi, ce protocole ne protège en riencontre une attaque de type «   force brute » (brut force) ou utilisant un dictionnaire demots .Le protocole définit trois participants dans le réseau:– un client .– un serveur proposant le service que l'utilisateur veut utiliser.– un serveur d'authentification.

Le client représente la machine effectuant la requête d'authentification : en général, il

s'agit d'un PC. Le serveur est un serveur applicatif, comme par exemple un serveurde messagerie ou bien un serveur de fichiers. Enfin, le serveur d'authentification estun serveur dédié, détenant l'ensemble des clés de cryptage des clients et des serveursdu réseau. Il ne s'agit pas ici d'authentifier l'utilisateur avec le serveurd'authentification en utilisant un simple mot de passe. Le protocole Needham-Schroeder fournit un mécanisme permet tant de distribuer une clé de cryptage auclient et au service, celle-ci disposant d'une validité limitée dans le temps.L'authentification des deux parties se fait alors au travers de cet échange.

Déroulement du protocole Needham - Schroeder  

Page 18: Rapport Pfa Kerberos

5/14/2018 Rapport Pfa Kerberos - slidepdf.com

http://slidepdf.com/reader/full/rapport-pfa-kerberos 18/49

  - - KERBEROS- -

18

2012 Mise en place d’une solution d’authentification dans un milieu hétérogène

Premièrement, 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 aléatoire.

Figure n°

Le serveur d'authentification reçoit ces informations, et recherche les clés privées decryptage correspondant au service et à l'utilisateur. Il adjoint une troisième clé àutilisation unique, générée aléatoirement, appelée « clé de session » et utilisée poursécuriser les communications entre le serveur d'application et le client. Dans ceprotocole, le serveur d'authentification ne communique jamais directement avec leserveur d'application. Il retourne au client un message contenant la clé de sessionainsi que l'identité vérifiée des deux parties. Comment ce message peut - il êtreprotégé d'une personne écoutant sur le réseau ? Et avant cela, comment le serveurd'authentification peut - il être certain de l'identité du client lorsqu'il le contacte ?

La réponse est apportée par plusieurs couches de cryptage. Tout d'abord, le messageest construit de manière à ce que seul le serveur d'authentification puisse le lire. Ilcontient le nom du client ainsi qu'une clé de session. Afin d'éviter la possibilité d'êtrecapté sur le réseau, il est crypté à l'aide de la clé du serveur d'application. Or, seuls leserveur de service et le serveur d'authentification connaissent cette clé. Dans laterminologie 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 serveurd'application, une copie de la clé de session ainsi que la clé aléatoire du client. Cemessage est crypté à l'aide de la clé privée du client. Le serveur d'authentification nepeut pas déterminer si le client est bien qui il prétend être. Il retournera ce message àquiconque le lui demandera, pour autant que l'utilisateur fasse bien partie de sa based'informations. Cependant, comme le message est crypté à l'aide de la clé du client,seul celui- ci pourra décrypter ce message.

Valeur aléatoireServeur

d’authentification

Page 19: Rapport Pfa Kerberos

5/14/2018 Rapport Pfa Kerberos - slidepdf.com

http://slidepdf.com/reader/full/rapport-pfa-kerberos 19/49

  - - KERBEROS- -

19

2012 Mise en place d’une solution d’authentification dans un milieu hétérogène

Le client reçoit donc le message, et doit alors entrer la clé (le mot de passe) permettant de le décrypter. S'il ne donne pas le bon, l'authentification aura échoué. En casde succès, le client aura alors à charge de faire suivre la clé de session au serveurd'application. Il pourra alors lui faire parvenir le « ticket », contenant une copie de laclé de session et le nom du client, le tout crypté à l'aide de la clé du serveurd'application. Seul le serveur de services est alors capable de décrypter le message, et

donc de récupérer la clé de session.

A partir de là, la communication entre les deux parties ne peut être interprétée que

par elles. Le client sait qu'il s'adresse au bon serveur, puisque lui seul était en mesure

de décrypter le message contenant la clé de session. De son côté, le serveur

d'application sait que le client est bien qui il prétend être, puisqu'il a été capable de

décrypter le message contenant la clé de session et l'identité du client qui lui a été

ensuite transféré. Cependant, il reste une attaque à laquelle faire face ; Le réseau

étant considéré comme non sécurisé, une personne mal intentionnée serait en mesure

de récupérer tous les messages circulant, et en particulier le messaged'authentification envoyé par le client au serveur d'application. Elle pourrait alors

Page 20: Rapport Pfa Kerberos

5/14/2018 Rapport Pfa Kerberos - slidepdf.com

http://slidepdf.com/reader/full/rapport-pfa-kerberos 20/49

  - - KERBEROS- -

20

2012 Mise en place d’une solution d’authentification dans un milieu hétérogène

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 sécuriser la communication avec le client,

l'attaquant pourrait se faire passer pour sa victime. La solution apportée par le

protocole Needham – Schroeder oblige le client à prouver qu'il détient bien la clé de

session : pour ce faire, le serveur d'application génère un autre nombre aléatoire, qu'il

crypte à l'aide de la clé de session et fait parvenir au client. Le client décrypte alors ce

nombre et doit, par exemple, lui ajouter une unité, puis le renvoyer crypté avec cette

même clé de session. De cette manière, seul le « vrai » client, détenant la clé de

session, est en mesure de répondre 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 système d'horloges synchronisées.Architecture :  

1-Le royaume kerberos(kerberos realm)  Une architecture kerberos est constituée de serveur kerberos, d’utilisateurs, de postesde travail et de serveurs hébergeant des services.Toutes ces entités sont rassemblées et définies au sein d’un « royaume kerberos »

Page 21: Rapport Pfa Kerberos

5/14/2018 Rapport Pfa Kerberos - slidepdf.com

http://slidepdf.com/reader/full/rapport-pfa-kerberos 21/49

  - - KERBEROS- -

21

2012 Mise en place d’une solution d’authentification dans un milieu hétérogène

2-Les « principals » :  

Au sein de ce royaume, les utilisateurs et les hôtes(postes et serveurs) hébergeant desservices constituent les « principals ».ils sont déclarés dans la base kerberos selon leschéma : nom/instance@krb-realmA chaque « principal » est associé un mot de passe qui fait office de clé secrète(hachage du mot de passe ) .les utilisateurs doivent saisir leur mot de passe pours’identifier auprès du serveur kerberos et récupérer un ticket d’accès aux services.Pour les hôtes et les services qui ne peuvent pas saisir leur mot de passe ,la clé secrèteest stockée localement (sur l’hôte) dans un fichier « .keytab » (par exemple:/etc/krb5.keytab)

Pour un royaume de nom EMSI.MA  Les utilisateurs peuvent être déclarés comme :

  root/[email protected] : pour un administrateur  toto/[email protected] : pour un élève toto  Jender/[email protected] : pour l’enseignant jender 

  Les postes de travail peuvent être déclarés comme

  host/[email protected] : pour le poste déclaré en tant quePC1 dans le DNS du domaine emsi.ma

  host/[email protected] : pour le poste déclaré en tant que PC2

dans le DNS du domaine emsi.ma

  Les services peuvent être déclarés comme :

  ftp/[email protected] : pour le serveur ftp hébergé sur le

serveur déclaré en tant que server1 dans le DNS du domaine emsi.ma  ldap/[email protected] : pour l’annuaire LDAP hébergé

sur le serveur déclaré en tant que server1 dans le DNS du domaine

emsi.ma

on peut visualiser les principaux d’un royaume après authentification par la

commande « getprincs » :

Page 22: Rapport Pfa Kerberos

5/14/2018 Rapport Pfa Kerberos - slidepdf.com

http://slidepdf.com/reader/full/rapport-pfa-kerberos 22/49

  - - KERBEROS- -

22

2012 Mise en place d’une solution d’authentification dans un milieu hétérogène

3 - Le serveur kerberos  

Le serveur kerberos est composé de plusieurs entités logiques qui sont souvent

regroupées physiquement en un seul et meme serveur

  KADMIN

ce module permet d’administrer le serveur kerberos .il gère les utilisateurs ,les

hôtes et services du domaine kerberos .leurs droits d’accès (ACL),ainsi que les

méthodes de chiffrement utilisées (des3-hmac-sha1,des cbc-md5<). 

Son accès est le plus souvent réserve à l’administrateur du domaine qui peut

accéder 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 clés contient une base de données regroupant lesutilisateurs, les services et les clés qui leur sont associés. Ce module a pour fonction

d’authentifier les utilisateurs avant de leur offrir un accès aux services .il joue le rôle

de serveur d’authentification(AS) 

Pour obtenir un accès aux services « kerbérisés » un utilisateur doit avant tout

obtenir un ticket d’accès (TGT :Ticket granting ticket) auprès du KDC.

Il s’identifie auprès du KDC en tant qu’utilisateur C (principal :[email protected] ,par

exemple) et reçoit alors un ticket d’accès crypté avec sa clé secrète .Il est important de

Page 23: Rapport Pfa Kerberos

5/14/2018 Rapport Pfa Kerberos - slidepdf.com

http://slidepdf.com/reader/full/rapport-pfa-kerberos 23/49

  - - KERBEROS- -

23

2012 Mise en place d’une solution d’authentification dans un milieu hétérogène

noter que la clé secrète ne circule à aucun moment sur le réseau,l’utilisateur saisit en

local son mot de passe pour déchiffrer le ticket du KDC.

Le TGT reçu va ensuite permettre à l’utilisateur C de dialoguer avec le TGS afin

d’obtenir des tickets d’accès pour les différents services « kerbérisés ».

Pour récupérer un TGT, l’utilisateur doit saisir la commande : # kinit « principal » oú

« principal » désigne l’identifiant de l’utilisateur). 

Le système demande alors à l’utilisateur de rentrer son mot de passe de façon à

déchiffrer le ticket.si le mot de passe est valide l’utilisateur dispose alors d’un ticket

pour dialoguer avec TGS .

Avec la commande : # klist ,l’utilisateur peut vérifier qu’il possède bien un ticket

pour dialouer avec le TGS

Page 24: Rapport Pfa Kerberos

5/14/2018 Rapport Pfa Kerberos - slidepdf.com

http://slidepdf.com/reader/full/rapport-pfa-kerberos 24/49

  - - KERBEROS- -

24

2012 Mise en place d’une solution d’authentification dans un milieu hétérogène

Le TGT a une durée de vie limitée (par défaut huit heures) et prédéfinie dans le

fichier de configuration kdc.conf :

L’utilisateur peut à tout moment détruire son ticket à l’aide de la commande :

#kdestroy.

En plus du TGT, le KDC fournit à l’utilisateur une clé de session pour dialoguer

avec le TGS( clé notée Kc,tgs)

Le KDC constistue l’élément le plus sensible de tout le domaine kerberos .s’il est

compromis, c’est tout le domaine kerberos qui est compromis avec lui .il est donc

nécessaire que le serveur hébergeant le KDC soit parfaitement sécurisé.

4- Les services « kerbérisés » :

De nombreux services peuvent s’appuyer sur kerberos pour authentifier les

utilisateurs .Les application doivent toutefois être modifiées .

Certains services sont installées de base en version « kerbérisé »lors de

l’installation de kerberos.ils comportent le préfixe « k » de façon à les différencier

des services standard : kssh ,krlogin, ksu < 

Ces services font référence aux fichiers kerb5.conf et kdc.conf pour rediriger les

authentifications vers le KDC correspondant

Page 25: Rapport Pfa Kerberos

5/14/2018 Rapport Pfa Kerberos - slidepdf.com

http://slidepdf.com/reader/full/rapport-pfa-kerberos 25/49

  - - KERBEROS- -

25

2012 Mise en place d’une solution d’authentification dans un milieu hétérogène

Certains application n’existent pas en version « kérbérisée ».plutot que de

modifier leur code source, on peut insérer une couche supplémentaire entre

l’application et le service kerberos qui se charge de convertir l’authentification

kerberos en un format valide pour l’application. 

Page 26: Rapport Pfa Kerberos

5/14/2018 Rapport Pfa Kerberos - slidepdf.com

http://slidepdf.com/reader/full/rapport-pfa-kerberos 26/49

  - - KERBEROS- -

26

2012 Mise en place d’une solution d’authentification dans un milieu hétérogène

Chapitre 3

SCENARIO D’UNE AUTHENTIFICATION

KERBEROS

Cette partie sera consacrée à ….. 

Page 27: Rapport Pfa Kerberos

5/14/2018 Rapport Pfa Kerberos - slidepdf.com

http://slidepdf.com/reader/full/rapport-pfa-kerberos 27/49

  - - KERBEROS- -

27

2012 Mise en place d’une solution d’authentification dans un milieu hétérogène

Scénario complet de kerberos

La sécurité et l'intégrité d'un système au sein d'un réseau peut être une lourde

tâche. En effet, elle peut monopoliser le temps de plusieurs administrateurs rien que

pour effectuer le suivi des services en cours d'exécution sur un réseau et surveiller la

manière selon laquelle ils sont utilisés. De plus, l'authentification des utilisateurs

auprès des services réseau peut s'avérer être une opération dangereuse lorsque la

méthode utilisée par le protocole est par essence non-sécurisée, comme c'est la cas

avec les protocoles FTP et telnet lors du transfert de mots de passe de manière non-

cryptée sur le réseau. Kerberos représente un moyen d'éliminer le besoin de

protocoles qui utilisent des méthodes d'authentification vulnérables, permettant ainsi

de renforcer la sécurité réseau en général.

Kerberos est un protocole d'authentification réseau qui utilise une cryptographie à

clés symétriques pour authentifier les utilisateurs auprès des services réseau

éliminant par là même la nécessité de transmettre des mots de passe sur le réseau.

Lorsque les utilisateurs s'authentifient auprès des services réseau au moyen de

Kerberos, les utilisateurs non-autorisés tentant d'intercepter des mots de passe ensurveillant le trafic sur le réseau voient leurs desseins contrecarrés.

La plupart des services réseau conventionnels utilisent des procédures

d'authentification basées sur des mots de passe. Dans ce cadre, un utilisateur doit

s'authentifier auprès d'un serveur réseau précis 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 façon non-cryptée. Pour

qu'une telle procédure soit sécurisée, il est essentiel que le réseau soit inaccessibleaux utilisateurs externes d'une part et d'autre part, que tous les ordinateurs et

utilisateurs du réseau soient dignes de confiance.

Même si c'est le cas, une fois qu'un réseau est connecté à l'Internet, on ne peut plus

supposer que le réseau soit sécurisé. Il suffit à tout pirate obtenant l'accès au réseau

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 envoyés en

Page 28: Rapport Pfa Kerberos

5/14/2018 Rapport Pfa Kerberos - slidepdf.com

http://slidepdf.com/reader/full/rapport-pfa-kerberos 28/49

  - - KERBEROS- -

28

2012 Mise en place d’une solution d’authentification dans un milieu hétérogène

texte clair. Dans de telles circonstances, les comptes utilisateur et l'intégrité de toute

l'infrastructure de sécurité sont remis en cause.

Le but essentiel de Korberos est d'éviter la transmission de mots de passe non-

cryptés à travers le réseau. Lorsque Korberos est utilisé correctement, il élimine de

façon efficace la menace que représentent les renifleurs de paquets pour un réseau.

Fonctionnement de Kerberos

Nous décrivons ici les étapes de l'authentification auprès du KDC puis d'un service.

Pour rendre tout cela plus concret, nous proposons figurer qui illustrent les échangesqui ont lieu sur le réseau.1-Acquisition d'un TGT :

1-1consttruction d’un TGT 

Supposons qu'un utilisateur souhaite s'authentifier sur son domaine Kerberos. Ildispose pour cela d'un nom d'utilisateur (username sur le schéma) et d'un mot depasse. Son client d'authentification (kinit par exemple) exécute alors une requête de

TGT auprès de l'Authentification Service (AS) en lui indiquant le nom d'utilisateur 1(pas le mot de passe). L'AS reçoit cette demande, et commence alors la constructiond'un TGT. Il crée une clef de cryptage symétrique aléatoire, et compose un ticketcontenant :- la date d'émission du ticket- la durée de vie du ticket- la clef de cryptage créée.

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 désormais le TGT (Ticket-Granting Ticket). Seul ce service Kerberossera donc en mesure de lire les informations qui s'y trouvent. Par ailleurs, le KDCdispose de la liste des mots de passe des utilisateurs, donc aussi de celui qui tente des'authentifier. Il en extrait alors ce mot de passe, et s'en sert pour crypter la clef desession qu'il a incluse dans le TGT.

Page 29: Rapport Pfa Kerberos

5/14/2018 Rapport Pfa Kerberos - slidepdf.com

http://slidepdf.com/reader/full/rapport-pfa-kerberos 29/49

  - - KERBEROS- -

29

2012 Mise en place d’une solution d’authentification dans un milieu hétérogène

1.2 Réception du TGT

Le KDC renvoie alors le TGT (crypte avec son propre mot de passe) et la clef desession (cryptée avec le mot de passe de l'utilisateur) au client, à travers le réseau.L'utilisateur, qui a entre son mot de passe sur sa machine locale, peut alors décrypterla clef de session. Il se trouve maintenant en présence :-d'une clef de session : elle lui servira pour communiquer de manière sécurisée avecle 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 présentera ce TGT au TGS).

Page 30: Rapport Pfa Kerberos

5/14/2018 Rapport Pfa Kerberos - slidepdf.com

http://slidepdf.com/reader/full/rapport-pfa-kerberos 30/49

  - - KERBEROS- -

30

2012 Mise en place d’une solution d’authentification dans un milieu hétérogène

2.1.3 AttaquesOn le voit, un pirate qui obtiendrait une copie des informations diffusées sur le

réseau disposerait du même TGT que l'utilisateur, mais ne saurait pas décrypter laclef de session, puisqu'il ne dispose pas du mot de passe de l'utilisateur. Ainsi, leTGT peut être détenu par n'importe qui, mais la clef de session ne sera lisible que parl'utilisateur qui a saisi le vrai mot de passe.Signalons que le TGT, génère par le KDC, n'est même pas lisible par l'utilisateur,puisqu'il a été crypte avec une clef connue du service Kerberos seulement. Si unpirate avait voulu se faire passer pour le KDC, il aurait été dans l'impossibilité de luitransmettre une clef de session valide, puisqu'il ne dispose pas du mot de passe del'utilisateur, utilise pour la crypter.

2 Acquisition d'un ticket de service :2.1 Construction de l'authenti¯cateur

A présent que l'utilisateur s'est adresse au service AS du KDC (et a donc obtenu unTGT et une clef de session), il souhaite utiliser un des services kerberises (parexemple, un service telnet, c'est à dire un telnet ou il n'aura pas à saisir de mot depasse). Le client va alors composer un authentificateur (authenticator). En effet, leTGT 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 del'utilisateur, de l'adresse de sa machine, et de l'heure courante. Il crypte ceci avec laclef de session (qu'il est le seul à connaitre), et joint ceci au TGT. Il rajoute enfin, enclair, son nom d'utilisateur, son adresse, et bien sur le nom du service auquel ilsouhaite accéder.

2.2 Authentification du client

Le service TGS du KDC reçoit ces informations, et commence par décrypter le TGT.

En effet, il avait été crypte par sa clef personnelle, et si le décryptage réussit, celaprouve son authenticité. Dans ce TGT figure la clef de session avec laquelle le client acrypte l'authentificateur : il peut alors le décrypter. Si ce décryptage réussit (c'est àdire que les informations cryptées correspondent aux informations en clair), c'est quele client qui s'adresse à lui est bien celui qu'il prétend être. Par ailleurs, le KDCeffectue des vérifications sur les dates et durées de vie, pour s'assurer qu'il ne s'agitpas de tickets ou authentificateurs périmés.

Page 31: Rapport Pfa Kerberos

5/14/2018 Rapport Pfa Kerberos - slidepdf.com

http://slidepdf.com/reader/full/rapport-pfa-kerberos 31/49

  - - KERBEROS- -

31

2012 Mise en place d’une solution d’authentification dans un milieu hétérogène

Page 32: Rapport Pfa Kerberos

5/14/2018 Rapport Pfa Kerberos - slidepdf.com

http://slidepdf.com/reader/full/rapport-pfa-kerberos 32/49

  - - KERBEROS- -

32

2012 Mise en place d’une solution d’authentification dans un milieu hétérogène

2.3 Création du ticket de service

Une fois le client considère comme authentifié, le KDC crée (aléatoirement) unenouvelle clef de session. Celle-ci servira pour crypter les communications entre leclient et le service auquel il souhaite accéder. Il faut donc que cette clef parvienne (demanière sécurisée) 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é crée

- le nom du service que l'utilisateur a demande d'utiliser-la date d'émission et la durée de vie du ticket- la clef de session nouvellement créée pour les communications entre le client et leservice.

Pour que le service cible soit le seul à pouvoir accéder à ces informations (notammentla clef de session), ce ticket est crypte avec son mot de passe (rappelons que les motsde passe des services sont également stockes dans la base de données du KDC). Ilsuffira 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 clefde session (qu'il ne peut bien sûr pas extraire du ticket, ne connaissant pas le mot depasse du service), celle-ci est cryptée avec la clef de session utilisée entre le KDC et leclient (qui figurait dans le TGT).

2.4- Réception du ticket de service :

Le KDC transmet ce ticket de service et cette clef de session cryptée à l'utilisateur.Comme celui-ci connait la clef de session utilisée entre lui-même et le KDC, il peut

décrypter 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 intercepterle TGT et l'authentificateur. Or nous avons vu en 2.1.3 (Attaque réception tgt)que ceTGT pouvait déjà être capté, mais non déchiffre : seul le KDC dispose de la clef decryptage. Quant à l'authentificateur, il ne peut le décrypter sans la clef de sessionentre l'utilisateur et le KDC. S'il entreprenait de le décrypter avec une attaque de type

  brute-forcing, les informations qu'il contient ne lui seraient d'aucune utilité (nom,

Page 33: Rapport Pfa Kerberos

5/14/2018 Rapport Pfa Kerberos - slidepdf.com

http://slidepdf.com/reader/full/rapport-pfa-kerberos 33/49

  - - KERBEROS- -

33

2012 Mise en place d’une solution d’authentification dans un milieu hétérogène

adresse, date). Mais en l'ayant décrypte, il aurait trouve la clef de session : elle auraitdéjà probablement expire, pendant le temps qu'il termine son attaque.

Si un pirate intercepte l'authentificateur et souhaite s'en servir pour s'adresser auKDC (donc rejouer la partie cliente), le KDC détectera l'attaque, car il retient lestimestamps utilisés, et donc les réutilisations interdites de ces authentificateurs.Ainsi, dans le pire des cas, un pirate n'obtiendra qu'une copie du ticket de service, etune copie de la clef de session cryptée (sans pouvoir la décrypter).

3- Authentification auprès d'un service3-1 Construction de l'authentificateur

Cette section est semblable à celles du chapitre précédent. En effet, le problème est lemême : il s'agit pour un client de s'authentifier auprès d'un service (qui était le TGSprécédemment) à l'aide d'un ticket délivré par le KDC.A nouveau, le client crée un authentificateur, comportant son nom, son adresse et sa

date d'émission. Il crypte cela avec la clef de session générée précédemment par leKDC, spécialement pour les communications entre ce client et ce service. Il envoiealors l'authentificateur crypte et le ticket au service cible (un serveur telnet, dansnotre exemple précédent).

3-2 Authentification du client

Celui-ci réceptionne le ticket de service, qu'il est le seul à pouvoir décrypter. En effet,il connait son propre mot de passe, avec lequel le KDC avait crypté le ticket. Il enextrait alors les informations qui s'y trouvent, dont la clef de session à utiliser avec leclient qui vient de se connecter. Une première vérification consiste à s'assurer que lenom 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 avecle mot de passe du service). Il effectue alors les mêmes verifications de concordance

entre la date, l'authentificateur et le ticket, que celles mentionnées en2.2.2(authentification du client). Le service a alors l'assurance que le client qui s'estconnecte est bien celui auquel le ticket a été délivré par le KDC.

3-2 Authentification du service

Optionnellement, le service peut s'authentifier auprès du client. Comme il est le seulà disposer de la clef de session, il va crypter une information connue du client, pourque celui-ci vérifie sa valeur. Par exemple, le service va relire le timestamp del'authentificateur (qui est un entier), et crypter cette valeur incrémentée de 1 avec laclef de session. L'utilisateur réceptionne ce paquet crypté, le décrypte, et doit y lire le

Page 34: Rapport Pfa Kerberos

5/14/2018 Rapport Pfa Kerberos - slidepdf.com

http://slidepdf.com/reader/full/rapport-pfa-kerberos 34/49

  - - KERBEROS- -

34

2012 Mise en place d’une solution d’authentification dans un milieu hétérogène

même entier (il a mémorise le timestamp inséré dans l'authentificateur). Si c'est bienle cas, le client considère qu'il s'adresse effectivement au service demandé, et il

dispose maintenant d'une clef de cryptage, en commun avec lui.

Page 35: Rapport Pfa Kerberos

5/14/2018 Rapport Pfa Kerberos - slidepdf.com

http://slidepdf.com/reader/full/rapport-pfa-kerberos 35/49

  - - KERBEROS- -

35

2012 Mise en place d’une solution d’authentification dans un milieu hétérogène

3-3 Attaques 

Un pirate qui voudrait se faire passer pour un utilisateur en s'adressant au servicedevra lui fournir un ticket contenant le nom de l'utilisateur usurpé. Ne pouvant legénérer lui-même (puisqu'il ne peut pas le crypter avec le mot de passe du service), ildevra donc en obtenir une copie lors de son passage sur le réseau. Puis il devrafournir un authentificateur. Comme ils ne peuvent être utilisés deux fois, il devra enconstruire un lui-même. Mais n'ayant pas la clef de session, c'est impossible. Si unpirate souhaite se faire passer pour le service (en lui volant son adresse, parexemple), il lui sera impossible de décrypter l'authentificateur, et donc de retournerle paquet crypte qui contient timestamp+1 : le client détectera l'usurpation.

implementation

Bien que Kerberos permette d'éliminer une sérieurse menace de sécurité, son

implémentation peut être difficile pour de multiples raisons :

La migration de mots de passe utilisateur d'une base de données de mots de passe

UNIX standard, comme /etc/passwd ou /etc/shadow, vers une base de données de

mots de passe Kerberos peut être relativement longue car il n'existe aucunmécanisme automatique permettant d'effectuer cette tâche

Kerberos n'est que partiellement compatible avec le système d'authentification PAM

(Pluggable Authentication Modules) utilisé par la plupart des serveurs exécutant Red

Hat Enterprise Linux.

Kerberos suppose certes que tout utilisateur soit digne de confiance mais utilise un

hôte non-sécurisé sur un réseau non-sécurisé. Son but primaire est d'empêcher que

des mots de passe en texte clair ne soient envoyés à travers ce réseau. Toutefois, siquelqu'un d'autre que l'utilisateur lui-même a physiquement accès à l'hôte qui émet

les tickets utilisés pour l'authentification — appelé centre de distribution de clés (ou

KDC) l'ensemble du système d'authentification Kerberos est menacé d'être

compromis.

Pour qu'une application utilise Kerberos, ses sources doivent être modifiées afin

d'effectuer les appels appropriés dans les bibliothèques Kerberos. Les applications

modifiées de la sorte sont considérées comme étant kerberisées. Pour certaines

applications, ceci peut poser de nombreux problèmes en raison de la taille et de la

Page 36: Rapport Pfa Kerberos

5/14/2018 Rapport Pfa Kerberos - slidepdf.com

http://slidepdf.com/reader/full/rapport-pfa-kerberos 36/49

  - - KERBEROS- -

36

2012 Mise en place d’une solution d’authentification dans un milieu hétérogène

conception de l'application. Pour d'autres applications qui ne sont pas compatibles,

des modifications doivent être apportées à la manière selon laquelle les serveurs et

les clients communiquent entre eux. Là encore, il se peut que des modifications

importantes soient nécessaires 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 défaut sont celles posant généralement le plus de problèmes.

Avec une solution Kerberos, c'est tout ou rien. Une fois que Kerberos est utilisé sur le

réseau, tout mot de passe non-crypté transmis à un service non-kerberisé risque

d'être intercepté. Dans de telles circonstances, le système ne tirera aucun avantage de

l'utilisation de Kerberos. Afin de sécuriser votre réseau avec Kerberos, vous devezsoit utiliser des versions kerberisées de toutes les applications client/serveur qui

envoient des mots de passe en texte clair, soit n'utiliser absolument aucune

application client/serveur.

Page 37: Rapport Pfa Kerberos

5/14/2018 Rapport Pfa Kerberos - slidepdf.com

http://slidepdf.com/reader/full/rapport-pfa-kerberos 37/49

  - - KERBEROS- -

37

2012 Mise en place d’une solution d’authentification dans un milieu hétérogène

Chapitre 4MISE EN PLACE D’UNE SOLUTION

D’AUTHENTIFICATION DANS UN MILIEU

HETEROGENE --KERBEROS--

Cette partie sera consacrée à …. 

Page 38: Rapport Pfa Kerberos

5/14/2018 Rapport Pfa Kerberos - slidepdf.com

http://slidepdf.com/reader/full/rapport-pfa-kerberos 38/49

  - - KERBEROS- -

38

2012 Mise en place d’une solution d’authentification dans un milieu hétérogène

Présentation du projet :Le Problème

<problématique>

Configuration d'un serveur Kerberos 5

Préliminaire 

Il faudra dédie une machine au serveur KDC. En tant que tel, ce sera un pointprivilégie d’attaque et devra donc être aussi sûr que possible. Si le KDC estcompromis, toute l’architecture est compromise !. Pour rentrer un peu plus dans lesdétails, ce serveur devra vérifier les propriétés suivantes :

1. La machine devra être physiquement sécurisée ;2. le système d’exploitation devra être mis a jour avec les derniers patchs ; 3. aucun utilisateur, hormis l’administrateur du serveur Kerberos, ne doit avoir de

compte sur cette machine ;4. le nombre de processus (démons) qui tournent sur cette machine doit être limite au

maximum;

Page 39: Rapport Pfa Kerberos

5/14/2018 Rapport Pfa Kerberos - slidepdf.com

http://slidepdf.com/reader/full/rapport-pfa-kerberos 39/49

  - - KERBEROS- -

39

2012 Mise en place d’une solution d’authentification dans un milieu hétérogène

5. Il faudra éventuellement prévoir d’autres machines qui feront office de serveurs

secondaire. Des mécanismes de duplications existent et permettent de pallier aux

éventuels problèmes hardware du serveur principal. Pour les utiliser, il convient dedisposer d’une seconde machine qui jouera le rôle de KDC esclave. 

Au niveau hardware, ce serveur n’a pas besoin d’être une machine dernier cris. Par

exemple, on pourra se contenter d’un PIII 500 Mhz. – les autres machines sont simplement celles des utilisateurs des réseaux sur lesquelsles applications kerberos clientes devront être installées

Il convient déjà d’installer un Linux minimal, sans X ni aucun programme GUI.

Ainsi que SSH est optionnel. S’il permettra ensuite une administration a distance, l’absence de toute possibilité de login à distance augmentera significativement lasécurité du KDC.

Synchronisation du temps

Installer un KDC Kerberos requiert que les horloges de toutes les machines qui yaccèdent soient synchronisées sur un même temps. On utilise un serveur de temps.L'horloge interne de ce serveur va devenir le référentiel principal. Bien entendu, il

serait possible par la suite de synchroniser ce serveur sur un serveur de tempsexterne au réseau local.

Néanmoins, il faut souligner tout de même que les clients Windows doivent aussiêtre synchronisés sur ce serveur de temps. Pour cela, il suffit de taper les commandessuivantes dans un « invité de commande » windows:

> net time /setsntp:"servername1 servername2 ..."

> net stop w32time

> net start w32time

A noter que ces commandes ont été testées sur des versions Windows 2003 etsupérieures. Enfin, ces modifications prennent effet à chaque redémarrage deWindows.

Configuration du DNS 

Il faut configurer les fichiers /etc/resolv.conf comme suit :

search localhost example.comnameserver 192.168.0.100

Page 40: Rapport Pfa Kerberos

5/14/2018 Rapport Pfa Kerberos - slidepdf.com

http://slidepdf.com/reader/full/rapport-pfa-kerberos 40/49

  - - KERBEROS- -

40

2012 Mise en place d’une solution d’authentification dans un milieu hétérogène

avec 192.168.0.100. l’adresse IP du serveur DNS Par ailleurs, j'ai aussi renseigné lefichier /etc/hosts du système.

127.0.0.1 kerberos kerberos.example.com

10.157.222.53 kerberos kerberos.example.com

Installation du KDC Kerberos 

La procédure décrit les étapes nécessaires à l’installation et à la configuration d’un

serveur Kerberos 5 issu de la distribution du MIT. Elle présente également laconfiguration du système d’authentification PAM KRB5 du système Linux Red Hat9.

Tous les paquetages présentés dans le tableau sont installés sur le serveur Kerberos.Seuls les paquetages krb5-workstation et krb5-libs sont installés sur les machinesutilisant le système d’authentification Kerberos mais non configurées commeserveur.

Le fichier /etc/krb5.conf

Ce fichier est fourni par le paquetage krb5-libs. Il est utilisé par les différentes

commandes clientes et par le module d’authentification PAM Kerberos 5. Il contientla description du domaine Kerberos, le realm(royaume), auprès duquel

Page 41: Rapport Pfa Kerberos

5/14/2018 Rapport Pfa Kerberos - slidepdf.com

http://slidepdf.com/reader/full/rapport-pfa-kerberos 41/49

  - - KERBEROS- -

41

2012 Mise en place d’une solution d’authentification dans un milieu hétérogène

l’authentification doit être réalisée. Par rapport au fichier de configuration par défautcontenu dans le paquetage, seuls les noms du realm et du serveur Kerberos sont

remplacés. Pour cette présentation, 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 KerberosDomain Controler (KDC). Il contient les informations nécessaires au fonctionnementdu serveur Kerberos, comme le nom de domaine, le chemin d’accès ou encore des

directives de logs.

Exemple de fichier /var/kerberos/krb5kdc/kdc.conf

Page 42: Rapport Pfa Kerberos

5/14/2018 Rapport Pfa Kerberos - slidepdf.com

http://slidepdf.com/reader/full/rapport-pfa-kerberos 42/49

  - - KERBEROS- -

42

2012 Mise en place d’une solution d’authentification dans un milieu hétérogène

Le fichier /var/kerberos/krb5kdc/kadm5.acl

Ce fichier contient la définition des droits particuliers de chacun des comptes. Dansla terminologie Kerberos, un compte est un principal. L’exemple suivant donne une

configuration minimale de ces droits.Exemple de fichier /var/kerberos/krb5kdc/kadm5.acl

Le principal « admin/admin » possède tous les droits sur la base de donnéesKerberos. C’est l’administrateur du système d’authentification. Création de la base de données Kerberos 5

Sous le compte administrateur local « root », exécuter la commande : 

La base de données Kerberos vient d’être créée dans le répertoire /var/

kerberos/krb5kdc. Ajout d’un compte administrateur Kerberos 

À cette étape, la configuration du serveur Kerberos (ou KDC) est achevée.Toutes lesopérations ont été réalisées localement sous le compte administrateur« root » duserveur Kerberos .Pour administrer à distance la base de données Kerberos, c’est-à-dire à partir de n’importe quelle machine utilisant le système d’authentification, un

compte doit être créé (dans cet exemple, il s’agit de celui qui a été défini dans le

fichier kadm5.acl lors de l’étape précédente). Ceci est réalisé en exécutant la

commande kadmin.local sous le compte privilégié « root ».

Page 43: Rapport Pfa Kerberos

5/14/2018 Rapport Pfa Kerberos - slidepdf.com

http://slidepdf.com/reader/full/rapport-pfa-kerberos 43/49

  - - KERBEROS- -

43

2012 Mise en place d’une solution d’authentification dans un milieu hétérogène

Création du fichier /var/kerberos/krb5kdc/kadm5.keytabSous le compte privilégié « root », exécuter la commande suivante :

Le fichier /var/kerberos/krb5kdc/kadm5.keytab est créé. Il contient la clé d’authentification qui permettra auserveur Kerberos d’authentifier le service de gestion du registre déporté kadmind.

Lancement des instances Kerberos sur le serveur KDC

Les deux services krb5kdc et kadmin sont nécessaires. Le premier est le serveurd’authentification KRB, le second est le service d’administration déportée de la base

de données, également appelée registre Kerberos des comptes utilisateur. Lelancement manuel des services krb5kdc et kadmind est réalisé sous lecompte privilégié « root ».

Le lancement automatique de Kerberos au redémarrage du système est configuré par:

Configuration de l’authentification Kerberos 

La configuration de l’authentification nécessite celle du fichier /etc/ krb5.conf commeprésenté précédemment, ainsi que la modification du fichier /etc/pam.d/system-auth.Ces modifications peuvent être réalisées manuellement ou automatiquement avecl’utilitaire en ligne de commande authconfig. Extrait du fichier de configuration/etc/pam.d/system-auth modifié pour utiliser Kerberos 

Création des comptes Kerberos

Page 44: Rapport Pfa Kerberos

5/14/2018 Rapport Pfa Kerberos - slidepdf.com

http://slidepdf.com/reader/full/rapport-pfa-kerberos 44/49

  - - KERBEROS- -

44

2012 Mise en place d’une solution d’authentification dans un milieu hétérogène

Les comptes Kerberos sont créés avec l’utilitaire kadmin. Ce dernier est lancé avecl’identifiant de l’administrateur Kerberos sous lequel les opérations de création vont

être réalisées. Cette commande peut être exécutée sous n’importe quel compte Unixsur n’importe quelle machine permettant l’authentification Kerberos, dans la mesure

où l’identifiant de l’administrateur Kerberos est passé en argument.Ajout du principal « bernard » 

Affichage des attributs du principal « bernard »

Définition des utilisateurs

Kerberos est un système d’authentification. Il ne propose pas une base de données de

gestion des comptes utilisateur comprenant des attributs de type Unix (UID, GID,home, etc.) ou encore à caractère administratif (adresse électronique, numéro detéléphone etc.) comme NIS ou LDAP. La redistribution de ces informations doit êtreprise en charge par un autre service conjointement à l’utilisation de Kerberos. Dans le

cas de systèmes Unix, une définition locale dans le fichier /etc/ passwd peut suffire.Dans un environnement comportant plusieurs dizaines de machines, des systèmescomme NIS ou encore LDAP deviennent plus adaptés.

Demander un ticket pour la castafiore

Page 45: Rapport Pfa Kerberos

5/14/2018 Rapport Pfa Kerberos - slidepdf.com

http://slidepdf.com/reader/full/rapport-pfa-kerberos 45/49

  - - KERBEROS- -

45

2012 Mise en place d’une solution d’authentification dans un milieu hétérogène

Depuis n'importe quel poste du domaine MOBIDIK.LAB, il est maintenant possibled'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 gérerles tickets.A l'aide la carte sensitive accédez au bureau de la machine client1.mobidik.lab etouvrez un terminal de commande (à défaut ouvrez un terminal de commande ssh).La commande kinit permet d'obtenir un Ticket Granting Ticket (TGT ou ticketinitial). Le TGT est le sésame d'accès au royaume. Une fois authentifié, la possessionde ce TGT nous permettra d'obtenir les tickets d'accès aux services. La commande «kinit » demande le mot de passe du principal passé en paramètre. Seule la saisie du

  bon mot de passe permettra de déchiffrer le message contenant le TGT. Une fois

déchiffré; le TGT et la clé de session TGS associée sont mis en cache localement dansle fichier /tmp/krb5cc_xxxLe fichier de configuration client kerberos pointant sur le domaine MOBIDIK.LAB, lamention du domaine dans le paramètre de la commande « kinit » est facultative.Ainsi « kinit castafiore » ou « kinit [email protected] » sont doncéquivalents.

Telnet versus Telnet « kerberisé »

Afin de mettre en évidence les avantages de kerberos, nous allons comparer laversion de base du service telnet avec sa version « kerberisée ».Le service de terminal distant Telnet, permet d'obtenir une session de commande surune machine distante. Très populaire aux origines, il est aujourd'hui supplanté par leservice ssh qui fournit les mêmes services de façon bien plus sécurisée. En effet legros défaut du service telnet est que l'ensemble des informations, y compris la phasesensible de login/mot de passe, transite en clair sur le réseau. Alors que le service sshs'appuie sur une couche transport sécurisée par chiffrement, fournissant une sorte de

tunnel crypté à travers le réseau. Nous allons voir que la version « kerberisée » detelnet fournit un service de protection de la session dont la sécurité n'a rien à envierau service ssh.

2.5.b.1 ) Telnet indiscret avec vos informations personnelles

Dans cette première étape, nous allons ouvrir une session telnet (classique nonkerberisée), dont nous capturerons le trafic sur le réseau à l'aide de l'outil de capturewireshark.A ce stade les comptes utilisateurs du réseau ne sont pas unifiés par un référentiel

réseau de type annuaire NIS ou annuaire LDAP. La mise en oeuvre d'un tel annuairede gestion des profils utilisateur dépasse le cadre de ce TP. Nous allons nous

Page 46: Rapport Pfa Kerberos

5/14/2018 Rapport Pfa Kerberos - slidepdf.com

http://slidepdf.com/reader/full/rapport-pfa-kerberos 46/49

  - - KERBEROS- -

46

2012 Mise en place d’une solution d’authentification dans un milieu hétérogène

contenter de dupliquer, localement (dans les bases /etc/passwd et /etc/shadow) sur lamachine 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 accédez au bureau de la machine appsrv.mobidik.lab etouvrez un terminal de commande (à défaut ouvrez un terminal de commande ssh).

Créez un compte local pour l'utilisateur castafiore.

Root~# useradd -c "Bianca Castafiore" -d /home/castafiore -m

–p "lcdpFeep" -s /bin/bash castafiore

Vérifiez que le compte et son répertoire par défaut son bien créés et que l'utilisateurcastafiore peut ouvrir une session sur la machine appsrv.mobifik.lab.

appsrv~# su -l castafiore

castafiore@appsrv~$ whoami

castafiorecastafiore@appsrv~$ pwd

/home/castafiorecastafiore@appsrv~$ exit

appsrv~#

Le service telnet est en général activé automatiquement au coup par coup à l'aide dusuperdaemon xinetd. Pour pouvoir observer son comportement, dans le cadre de ceTP, nous allons le lancer manuellement en mode debug à chaque fois que nous enaurons besoin.Sur la machine appsrv.mobidik.lab ouvrez un terminal de commande et lancez ledaemon ktelnetd en mode debug au moyen de la commande « ktelnetd -debug -adebug »Le service est en attente d'une connexion entrante, il s'arrêtera dès que la premièreconnexion sera clôturée.

appsrv~# ktelnetd -debug -a debug

...Attention : ktelnetd le « d » final est important, il indique qu'il s'agit du programme daemon (serveur),alors que le programme ktelnet et le programme client.

Positionnons nous maintenant du coté du client telnet. Sur la machineclient1.mobidik.lab l'utilisateur castafiore va ouvrir une session distante sur

Page 47: Rapport Pfa Kerberos

5/14/2018 Rapport Pfa Kerberos - slidepdf.com

http://slidepdf.com/reader/full/rapport-pfa-kerberos 47/49

  - - KERBEROS- -

47

2012 Mise en place d’une solution d’authentification dans un milieu hétérogène

appsrv.mobidik.lab. Avant de lancer cette session, démarrez le renifleur réseauwireshark. et débutez une capture sur l'interface réseau eth1.

Page 48: Rapport Pfa Kerberos

5/14/2018 Rapport Pfa Kerberos - slidepdf.com

http://slidepdf.com/reader/full/rapport-pfa-kerberos 48/49

  - - KERBEROS- -

48

2012 Mise en place d’une solution d’authentification dans un milieu hétérogène

WEBOGRAPHIE  

Page 49: Rapport Pfa Kerberos

5/14/2018 Rapport Pfa Kerberos - slidepdf.com

http://slidepdf.com/reader/full/rapport-pfa-kerberos 49/49

  - - KERBEROS- -

49

2012 Mise en place d’une solution d’authentification dans un milieu hétérogène

Conclusion  

Kerberos offre un moyen puissant et efficace de sécuriser un réseau. Son adoptionpar un grand nombre de systèmes d’exploitation est gage de pérennité. 

Au cours de ce projet de fin d’année, nous avons vu la mise place et l’utilisation du

protocole kerberos pour sécuriser les mécanismes d’authentification. Au premier abord, kerberos apparait comme compliqué à installer et à configurer,

Toutefois on trouve une grande quantité d’information sur le sujet. La vraie difficultéde la mise en œuvre de kerberos réside plutôt dans la « kerbérisation » desapplications.

Kerberos  , en tant que système d'authentification, n'est donc qu'un des maillonsindissociables de toute la chaîne de sécurité. Son rôle est primordial, car il vapermettre la certification de la validité des interlocuteurs sur le réseau, mais seratotalement inutile si des portes sont laissées grandes ouvertes aux crackers, leurpermettant de prendre possession des comptes avec privilèges.