Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
320kerberos:10_manip_simple [le 10/02/2010 à 09:43] – prof | 320kerberos:10_manip_simple [le 30/06/2018 à 15:57] (Version actuelle) – prof | ||
---|---|---|---|
Ligne 2: | Ligne 2: | ||
Voyons tout d' | Voyons tout d' | ||
===== Le décor de la scène ===== | ===== Le décor de la scène ===== | ||
- | Grâce aux avantages de KVM nous pouvons disposer d' | + | Grâce aux avantages de KVM (([[http:// |
- | * un serveur '' | + | * un serveur '' |
* un serveur '' | * un serveur '' | ||
* un client qui voudrait bien accéder au contenu de '' | * un client qui voudrait bien accéder au contenu de '' | ||
Ligne 10: | Ligne 10: | ||
==== Ça ne marche pas ==== | ==== Ça ne marche pas ==== | ||
- | Première prise, l' | + | Première prise, l' |
{{ : | {{ : | ||
- | Il se fait jeter... | + | Il se fait jeter dehors... |
==== Risette à kerberos ==== | ==== Risette à kerberos ==== | ||
Chris lit alors la notice où on lui explique qu'il doit d' | Chris lit alors la notice où on lui explique qu'il doit d' | ||
Ligne 23: | Ligne 24: | ||
Confiant, il re essaye : | Confiant, il re essaye : | ||
- | {{ : | + | {{ : |
- | Et là, chris peut fermer son navigateur puis le ré-ouvrir, retourner sur la même page et ça marchera encore. | + | Et là, chris peut fermer son navigateur puis le ré-ouvrir, retourner sur la même page. Il sera automatiquement reconnu durant toute la validité |
- | === Un peu de curiosité === | + | |
- | Notre utilisateur n' | + | |
- | < | + | |
- | chris@pchris: | + | |
- | Ticket cache: FILE:/ | + | |
- | Default principal: chris@MAISON.MRS | + | |
- | Valid starting | ||
- | 02/09/10 18: | ||
- | renew until 02/10/10 18:17:46 | ||
- | </ | ||
- | C'est pas forcément très compréhensible, | ||
- | < | ||
- | chris@pchris: | ||
- | chris@pchris: | ||
- | klist: No credentials cache found (ticket cache FILE:/ | ||
- | </ | ||
- | On a perdu le ticket. Et bien sûr, une visite à '' | ||
- | Amusant ce truc... | ||
- | < | ||
- | chris@pchris: | ||
- | Password for chris@MAISON.MRS: | ||
- | Authenticated to Kerberos v5 | ||
- | chris@pchris: | ||
- | Ticket cache: FILE:/ | ||
- | Default principal: chris@MAISON.MRS | ||
- | Valid starting | ||
- | 02/09/10 19: | ||
- | renew until 02/10/10 19:20:57 | ||
- | </ | ||
- | On a de nouveau le ticket. Profitons-en pour visiter notre site favori, ça marche. | ||
- | < | ||
- | chris@pchris: | ||
- | Ticket cache: FILE:/ | ||
- | Default principal: chris@MAISON.MRS | ||
- | Valid starting | ||
- | 02/09/10 19: | ||
- | renew until 02/10/10 19:20:57 | ||
- | 02/09/10 19: | ||
- | renew until 02/10/10 19:20:57 | ||
- | </ | ||
- | Il y a du nouveau. Un truc en plus assez explicite à propos de notre site. On n'a rien demandé de spécial pourtant. Donc, le seul fait de visiter le site « kerbérisé » a fait que nous avons obtenu un ticket de plus. | ||
- | ===== Coup d'œil à la machinerie ===== | ||
- | Si tout ceci fonctionne, c'est parce que : | ||
- | * '' | ||
- | * des utilisateurs enregistrés (chris entre autres) ; | ||
- | * des services sur des hôtes ('' | ||
- | * '' | ||
- | * un module spécial, '' | ||
- | * un « tableau de clés » (keytab) a été placé sur ce serveur, de manière à ce qu'il sache à qui s' | ||
- | * le poste client quant-à-lui utilise les outils nécessaires à l' | ||
- | Pour les trois protagonistes, | + | ===== Faisons le point ===== |
+ | Nous avons pu observer suffisamment | ||
+ | * l'utilisateur doit disposer d'un '' | ||
+ | * lorsque l' | ||
- | ==== krb5.conf ==== | + | Nous avons donc pu constater |
- | C'est le fichier | + | |
- | < | + | |
- | [realms] | + | |
- | MAISON.MRS = { | + | |
- | kdc = 192.168.0.133 | + | |
- | admin_server = 192.168.0.133 # kerberos.maison.mrs | + | |
- | default_domain = MAISON.MRS | + | |
- | } | + | |
- | + | ||
- | [domain_realm] | + | |
- | .maison.mrs = MAISON.MRS | + | |
- | | + | |
- | + | ||
- | [logging] | + | |
- | default = FILE:/ | + | |
- | kdc = FILE:/ | + | |
- | admin-server = FILE:/ | + | |
- | + | ||
- | [appdefaults] | + | |
- | pam = { | + | |
- | debug = true | + | |
- | forwardable = true | + | |
- | krb4_convert = false | + | |
- | } | + | |
- | </ | + | |
- | Pour l'instant, la partie '' | + | |
- | + | ||
- | Le peu qu'il y a ici n'est pas très difficile à interpréter, | + | |
- | * '' | + | |
- | * '' | + | |
- | Les noms sont assez explicites. | + | |
- | + | ||
- | L' | + | |
- | + | ||
- | En réalité, la définition des royaumes peut être plus complexe, un hôte peut appartenir à plusieurs royaumes et un utilisateur peut s' | + | |
- | + | ||
- | ==== le keytab | + | |
- | Sur apache, nous avons un tableau de clés que l'on peut consulter avec la commande klist : | + | |
- | < | + | |
- | apache-krb: | + | |
- | Keytab name: FILE:/ | + | |
- | KVNO Principal | + | |
- | ---- -------------------------------------------------------------------------- | + | |
- | 3 host/ | + | |
- | 3 host/ | + | |
- | 3 host/ | + | |
- | 3 host/ | + | |
- | 3 HTTP/ | + | |
- | 3 HTTP/ | + | |
- | 3 HTTP/ | + | |
- | 3 HTTP/ | + | |
- | </ | + | |
- | Prenons-le comme tel pour le moment, nous comprendrons mieux plus tard. | + | |
- | ==== configuration d' | + | |
- | Il s'agit de la configuration par défaut du serveur par défaut à laquelle il a été ajouté les paramètres relatifs à l' | + | |
- | < | + | |
- | & | + | |
- | <span class=" | + | |
- | AuthType Kerberos | + | |
- | Krb5Keytab / | + | |
- | KrbMethodK5Passwd off | + | |
- | KrbSaveCredentials on | + | |
- | require valid-user</ | + | |
- | + | ||
- | Options Indexes FollowSymLinks MultiViews | + | |
- | AllowOverride None | + | |
- | Order allow, | + | |
- | allow from all | + | |
- | & | + | |
- | </ | + | |
- | Pour ceux qui ont envie d'en savoir plus sur les paramètres que l'on peut passer au module, voyez [[http:// | + | |
- | + | ||
- | ==== Le principal ==== | + | |
- | Dans l' | + | |
- | < | + | |
- | root@pchris: | + | |
- | Authenticating as principal chris/admin with password. | + | |
- | Password for chris/ | + | |
- | kadmin: | + | |
- | + | ||
- | HTTP/ | + | |
- | K/ | + | |
- | chris/ | + | |
- | chris@MAISON.MRS | + | |
- | host/ | + | |
- | host/ | + | |
- | kadmin/ | + | |
- | kadmin/ | + | |
- | kadmin/ | + | |
- | kadmin/ | + | |
- | krbtgt/ | + | |
- | </ | + | |
- | + | ||
- | Passons sur les détails, certains de ces principaux sont créés à l' | + | |
- | * chris@MAISON.MRS | + | |
- | * host/ | + | |
- | * HTTP/ | + | |
- | entre autres. Nous retrouvons deux éléments qui figurent sur le tableau de clés de '' | + | |
- | ===== Le snif d' | + | |
- | Notre utilisateur, qui a vraiment | + | |
- | < | + | |
- | No. | + | |
- | ... | + | |
- | <span class=" | + | |
- | 4 3.344897 | + | |
- | ... | + | |
- | 8 8.783804 | + | |
- | ... | + | |
- | <span class=" | + | |
- | ... | + | |
- | <span class=" | + | |
- | 13 18.801013 | + | |
- | 14 18.803833 | + | |
- | <span class=" | + | |
- | ... | + | |
- | </ | + | |
- | * les lignes 3 et 4 sont générées | + | |
- | * la ligne 10 représente la demande d' | + | |
- | * les lignes 12 et 13 représentent une requête « TGS-REQ » que le client (192.168.0.16) fait au serveur kerberos (192.168.0.133), | + | |
- | * la suite montre que la requête | + | |
- | ===== Faisons le point ===== | + |
Démonstration simple: Dernière modification le: 10/02/2010 à 09:43 par prof