rapport pfa kerberos
Post on 17-Jul-2015
321 Views
Preview:
TRANSCRIPT
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.
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
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.
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).
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.
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 : : : : : : : : : : : : : : : : : : : : : : : : : : : :
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:
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 à ….
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
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).
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
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,<
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
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.
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 à …
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.
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
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
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
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 »
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/admin@EMSI.MA : pour un administrateur toto/eleve@EMSI.MA : pour un élève toto Jender/enseignant@EMSI.MA : pour l’enseignant jender
Les postes de travail peuvent être déclarés comme
host/PC1.emsi.ma@EMSI.MA : pour le poste déclaré en tant quePC1 dans le DNS du domaine emsi.ma
host/PC2.emsi.ma@EMSI.MA : 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/server1.emsi.ma@EMSI.MA : pour le serveur ftp hébergé sur le
serveur déclaré en tant que server1 dans le DNS du domaine emsi.ma ldap/server1.emsi.ma@EMSI.MA : 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 » :
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 :c@EMSI.MA ,par
exemple) et reçoit alors un ticket d’accès crypté avec sa clé secrète .Il est important de
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
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
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.
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 à …..
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
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.
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).
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.
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
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,
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
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.
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
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.
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 à ….
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;
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
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
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
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 ».
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
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
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 castafiore@MOBIDIK.LAB » 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
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
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.
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
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.
top related