<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="fr">
	<id>https://wiki.home.tartarefr.eu/index.php?action=history&amp;feed=atom&amp;title=Services%2FKerberos%2FInstall</id>
	<title>Services/Kerberos/Install - Historique des versions</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.home.tartarefr.eu/index.php?action=history&amp;feed=atom&amp;title=Services%2FKerberos%2FInstall"/>
	<link rel="alternate" type="text/html" href="https://wiki.home.tartarefr.eu/index.php?title=Services/Kerberos/Install&amp;action=history"/>
	<updated>2026-07-07T03:26:07Z</updated>
	<subtitle>Historique des versions pour cette page sur le wiki</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://wiki.home.tartarefr.eu/index.php?title=Services/Kerberos/Install&amp;diff=168&amp;oldid=prev</id>
		<title>Didier : /* Récapitulatif des outils d&#039;utilisation et d&#039;administration */</title>
		<link rel="alternate" type="text/html" href="https://wiki.home.tartarefr.eu/index.php?title=Services/Kerberos/Install&amp;diff=168&amp;oldid=prev"/>
		<updated>2018-01-31T08:50:31Z</updated>

		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;Récapitulatif des outils d&amp;#039;utilisation et d&amp;#039;administration&lt;/span&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;fr&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Version précédente&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Version du 31 janvier 2018 à 08:50&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l368&quot;&gt;Ligne 368 :&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Ligne 368 :&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &amp;#039;&amp;#039;&amp;#039;klist&amp;#039;&amp;#039;&amp;#039;: Affiche la liste des jetons pour l&amp;#039;utilisateur actif&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &amp;#039;&amp;#039;&amp;#039;klist&amp;#039;&amp;#039;&amp;#039;: Affiche la liste des jetons pour l&amp;#039;utilisateur actif&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &amp;#039;&amp;#039;&amp;#039;kadmin&amp;#039;&amp;#039;&amp;#039;: Commande d&amp;#039;administration de kerberos.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &amp;#039;&amp;#039;&amp;#039;kadmin&amp;#039;&amp;#039;&amp;#039;: Commande d&amp;#039;administration de kerberos.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;== Sauvegarde / Restauration ==&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;L&#039;utilitaire &amp;lt;app&amp;gt;kdb5_util&amp;lt;/app&amp;gt; est utilisé pour la sauvegarde et la restauration: &amp;lt;path&amp;gt;/usr/sbin/kdb5_util&amp;lt;/path&amp;gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;* Sauvegarde dans le fichier krbsave &amp;lt;pre&amp;gt;kdb5_util dump krbsave&amp;lt;/pre&amp;gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;* Restauration à partir du fichier krbsave &amp;lt;pre&amp;gt;kdb5_util load krbsave&amp;lt;/pre&amp;gt;On peut rajouter l&#039;option &amp;lt;code&amp;gt;--update&amp;lt;/code&amp;gt; pour mettre à jour uniquement une base existante à partir du la sauvegarde, au lieu de la vider.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Références ==&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Références ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key wiki:diff:1.41:old-161:rev-168:php=table --&gt;
&lt;/table&gt;</summary>
		<author><name>Didier</name></author>
	</entry>
	<entry>
		<id>https://wiki.home.tartarefr.eu/index.php?title=Services/Kerberos/Install&amp;diff=161&amp;oldid=prev</id>
		<title>Didier : Page créée avec « == Introduction ==  Le protocole Kerberos est issu du projet « Athena » du MIT, mené par Miller et Neuman. La version 5 du protocole Kerberos a été normalisée par l&#039;... »</title>
		<link rel="alternate" type="text/html" href="https://wiki.home.tartarefr.eu/index.php?title=Services/Kerberos/Install&amp;diff=161&amp;oldid=prev"/>
		<updated>2017-05-06T09:45:19Z</updated>

		<summary type="html">&lt;p&gt;Page créée avec « == Introduction ==  Le protocole Kerberos est issu du projet « Athena » du MIT, mené par Miller et Neuman. La version 5 du protocole Kerberos a été normalisée par l&amp;#039;... »&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Nouvelle page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;== Introduction ==&lt;br /&gt;
&lt;br /&gt;
Le protocole Kerberos est issu du projet « Athena » du MIT, mené par Miller et Neuman. La version 5 du protocole Kerberos a été normalisée par l&amp;#039;IETF dans les RFC 1510 (septembre 1993) et 1964 (juin 1996). Le nom « Kerberos » provient provient de la mythologie grecque et correspond au nom du chien (en français « Cerbère ») protégeant l&amp;#039;accès aux portes d’Hadès.&lt;br /&gt;
&lt;br /&gt;
L&amp;#039;objet de Kerberos est la mise en place de serveurs d&amp;#039;authentification (&amp;#039;&amp;#039;&amp;#039;AS&amp;#039;&amp;#039;&amp;#039; pour &amp;#039;&amp;#039;&amp;#039;Authentication Server&amp;#039;&amp;#039;&amp;#039;), permettant d&amp;#039;identifier des utilisateurs distants, et des serveurs de délivrement de tickets de service (&amp;#039;&amp;#039;&amp;#039;TGS&amp;#039;&amp;#039;&amp;#039;, pour &amp;#039;&amp;#039;&amp;#039;Ticket Granting System&amp;#039;&amp;#039;&amp;#039;), permettant de les autoriser à accéder à des services réseau. Les clients peuvent aussi bien être des utilisateurs que des machines. La plupart du temps, les deux types de services sont regroupés sur un même serveur, appelé Centre de Distribution des Clés (ou &amp;#039;&amp;#039;&amp;#039;KDC&amp;#039;&amp;#039;&amp;#039;, pour &amp;#039;&amp;#039;&amp;#039;Key Distribution Center&amp;#039;&amp;#039;&amp;#039;).&lt;br /&gt;
&lt;br /&gt;
== Fonctionnement ==&lt;br /&gt;
&lt;br /&gt;
Le protocole Kerberos repose sur un système de cryptographie à base de clés secrètes (clés symétriques ou clés privées), avec l&amp;#039;algorithme DES. Kerberos partage avec chaque client du réseau une clé secrète faisant office de preuve d&amp;#039;identité.&lt;br /&gt;
&lt;br /&gt;
Le principe de fonctionnement de Kerberos repose sur la notion de « tickets »  :&lt;br /&gt;
&lt;br /&gt;
[[Fichier:KerberosSimple.svg|800px]]&lt;br /&gt;
# Afin d&amp;#039;obtenir l&amp;#039;autorisation d&amp;#039;accès à un service, un utilisateur distant doit envoyer son identifiant au serveur d&amp;#039;authentification.&lt;br /&gt;
# Le serveur d&amp;#039;authentification vérifie que l&amp;#039;identifiant existe et envoie un ticket initial au client distant, chiffré avec la clé associée au client. Le ticket initial contient :&lt;br /&gt;
#* un clé de session, faisant office de mot de passe temporaire pour chiffrer les communications suivantes ;&lt;br /&gt;
#* un ticket d&amp;#039;accès au service de délivrement de ticket. &lt;br /&gt;
# Le client distant déchiffre le ticket initial avec sa clé et obtient ainsi un ticket et une clé de session. &lt;br /&gt;
# Grâce à son ticket et sa clé de session, le client distant peut envoyer une requête chiffrée, afin de demander l&amp;#039;accès à un service.&lt;br /&gt;
&lt;br /&gt;
Par ailleurs, Kerberos propose un système d&amp;#039;authentification mutuelle permettant au client et au serveur de s&amp;#039;identifier réciproquement.&lt;br /&gt;
&lt;br /&gt;
L&amp;#039;authentification proposée par le serveur Kerberos a une durée limitée dans le temps, ce qui permet d&amp;#039;éviter à un pirate de continuer d&amp;#039;avoir accès aux ressources : on parle ainsi d&amp;#039;anti re-jeu. &lt;br /&gt;
&lt;br /&gt;
* Les comptes sont appelé &amp;#039;&amp;#039;&amp;#039;principal&amp;#039;&amp;#039;&amp;#039; pour kerberos. Ce peut être un utilisateur (ex: &amp;#039;&amp;#039;didier@TARTAREFR.EU&amp;#039;&amp;#039;), un hôte (ex: &amp;#039;&amp;#039;kerberos.tartarefr.eu@TARTAREFR.EU&amp;#039;&amp;#039;), un service (ex: &amp;#039;&amp;#039;http/kerberos.tartarefr.eu@TARTAREFR.EU&amp;#039;&amp;#039;), etc...&lt;br /&gt;
* Un &amp;#039;&amp;#039;&amp;#039;keytab&amp;#039;&amp;#039;&amp;#039; (trousseau de clé) est un fichier où est encodé avec plusieurs algorithmes un ou plusieurs mots de passe.&lt;br /&gt;
&lt;br /&gt;
== Pré-requis ==&lt;br /&gt;
&lt;br /&gt;
* Les clients doivent avoir un nom d&amp;#039;hôte pleinement qualifié et resolvable via un serveur DNS ou via le fichier &amp;lt;path&amp;gt;/etc/hosts&amp;lt;/path&amp;gt;&lt;br /&gt;
* Les heures doivent être synchronisées entre les serveurs (via &amp;lt;app&amp;gt;chronyd&amp;lt;/app&amp;gt; ou &amp;lt;app&amp;gt;ntpd&amp;lt;/app&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
== Installation du serveur ==&lt;br /&gt;
&lt;br /&gt;
=== Installation ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
yum install krb5-server krb5-workstation &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Configuration ===&lt;br /&gt;
{{Admon/tip|Rappel des conventions d&amp;#039;écriture|&lt;br /&gt;
* le nom de &amp;#039;&amp;#039;&amp;#039;domaine&amp;#039;&amp;#039;&amp;#039; est en minuscule (&amp;#039;&amp;#039;didier.tartarefr.eu&amp;#039;&amp;#039;)&lt;br /&gt;
* le nom du &amp;#039;&amp;#039;&amp;#039;royaume&amp;#039;&amp;#039;&amp;#039; est en majuscule (&amp;#039;&amp;#039;DIDIER.TARTAREFR.EU&amp;#039;&amp;#039;)&lt;br /&gt;
}}&lt;br /&gt;
Remplacement du domaine example.com par le notre dans les fichiers de configuration.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sed -i -e &amp;#039;s/EXAMPLE.COM/DIDIER.TARTAREFR.EU/g&amp;#039; -e &amp;#039;s/example.com/didier.tartarefr.eu/g&amp;#039; /etc/krb5.conf&lt;br /&gt;
sed -i -e &amp;#039;s/EXAMPLE.COM/DIDIER.TARTAREFR.EU/g&amp;#039; /var/kerberos/krb5kdc/kdc.conf&lt;br /&gt;
sed -i -e &amp;#039;s/EXAMPLE.COM/DIDIER.TARTAREFR.EU/g&amp;#039; /var/kerberos/krb5kdc/kadm5.acl&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Admon/file|&amp;lt;path&amp;gt;/etc/krb5.conf&amp;lt;/path&amp;gt;|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;ini&amp;quot;&amp;gt;&lt;br /&gt;
[logging]&lt;br /&gt;
 default = FILE:/var/log/krb5libs.log&lt;br /&gt;
 kdc = FILE:/var/log/krb5kdc.log&lt;br /&gt;
 admin_server = FILE:/var/log/kadmind.log&lt;br /&gt;
&lt;br /&gt;
[libdefaults]&lt;br /&gt;
 dns_lookup_realm = false&lt;br /&gt;
 ticket_lifetime = 24h&lt;br /&gt;
 renew_lifetime = 7d&lt;br /&gt;
 forwardable = true&lt;br /&gt;
 rdns = false&lt;br /&gt;
 default_realm = DIDIER.TARTAREFR.EU&lt;br /&gt;
 default_ccache_name = KEYRING:persistent:%{uid}&lt;br /&gt;
&lt;br /&gt;
[realms]&lt;br /&gt;
 DIDIER.TARTAREFR.EU = {&lt;br /&gt;
 kdc = kerberos.didier.tartarefr.eu&lt;br /&gt;
 admin_server = kerberos.didier.tartarefr.eu&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
[domain_realm]&lt;br /&gt;
 .didier.tartarefr.eu = DIDIER.TARTAREFR.EU&lt;br /&gt;
 didier.tartarefr.eu = DIDIER.TARTAREFR.EU&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
{{Admon/file|&amp;lt;path&amp;gt;/var/kerberos/krb5kdc/kdc.conf&amp;lt;/path&amp;gt;|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;ini&amp;quot;&amp;gt;&lt;br /&gt;
[kdcdefaults]&lt;br /&gt;
 kdc_ports = 88&lt;br /&gt;
 kdc_tcp_ports = 88&lt;br /&gt;
&lt;br /&gt;
[realms]&lt;br /&gt;
 DIDIER.TARTAREFR.EU = {&lt;br /&gt;
  master_key_type = aes256-cts&lt;br /&gt;
  #database_name = /var/kerberos/krb5kdc/principal&lt;br /&gt;
  acl_file = /var/kerberos/krb5kdc/kadm5.acl&lt;br /&gt;
  dict_file = /usr/share/dict/words&lt;br /&gt;
  admin_keytab = /var/kerberos/krb5kdc/kadm5.keytab&lt;br /&gt;
  supported_enctypes = aes256-cts:normal aes128-cts:normal des3-hmac-sha1:normal arcfour-hmac:normal camellia256-cts:normal camellia128-cts:normal des-hmac-sha1:normal des-cbc-md5:normal des-cbc-crc:normal&lt;br /&gt;
  #default_principal_flags = +preauth&lt;br /&gt;
 }&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
{{Admon/file|&amp;lt;path&amp;gt;/var/kerberos/krb5kdc/kadm5.acl&amp;lt;/path&amp;gt;|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;ini&amp;quot;&amp;gt;&lt;br /&gt;
*/admin@DIDIER.TARTAREFR.EU       *&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
Les droits d&amp;#039;administration sont fixés dans le fichier &amp;lt;path&amp;gt;/var/kerberos/krb5kdc/kadm5.acl&amp;lt;/path&amp;gt; et sont sous la forme&lt;br /&gt;
&amp;lt;pre&amp;gt;principal  permissions  [target_principal  [restrictions] ]&amp;lt;/pre&amp;gt;&lt;br /&gt;
exemple&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
*/admin@DIDIER.TARTAREFR.EU *&lt;br /&gt;
admin                         *&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Chaque champs peut avoir un joker ( astérisque *)&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;principal&amp;#039;&amp;#039;&amp;#039;: Il spécifie tout ou partie d&amp;#039;un nom du compte kerberos&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;permissions&amp;#039;&amp;#039;&amp;#039;: voir le tableau &amp;#039;&amp;#039;&amp;#039;Permissions d&amp;#039;administration&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;target_principal&amp;#039;&amp;#039;&amp;#039;: paramètre optionnel. Il spécifie tout ou partie de domaine Kerberos&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;restrictions&amp;#039;&amp;#039;&amp;#039;: paramètre optionnel. C&amp;#039;est une chaine de caractère représentant les options. Les options possibles sont:&lt;br /&gt;
** {+|-}flagname: l&amp;#039;option est forcée à la valeur indiquée. Les options admissibles ici sont les mêmes que les permissions préfixés du signe + ou - (voir le tableau &amp;#039;&amp;#039;Permissions d&amp;#039;administration&amp;#039;&amp;#039;)&lt;br /&gt;
** clearpolicy: la politique est forcé avec un paramètre vide (pas de politique)&lt;br /&gt;
** policy &amp;#039;&amp;#039;pol&amp;#039;&amp;#039;: la politique est forcé au paramètre &amp;#039;&amp;#039;pol&amp;#039;&amp;#039;&lt;br /&gt;
** -{expire, pwexpire, maxlife, maxrenewlife} &amp;#039;&amp;#039;time&amp;#039;&amp;#039;: l&amp;#039;option est forcée à la valeur indiquée.&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Permissions d&amp;#039;administration&lt;br /&gt;
! Permission&lt;br /&gt;
! Commentaire&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;a&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
| [Dis]allows the addition of principals or policies&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;c&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
| [Dis]allows the changing of passwords for principals&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;d&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
| [Dis]allows the deletion of principals or policies&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;i&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
| [Dis]allows inquiries about principals or policies&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;l&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
| [Dis]allows the listing of principals or policies&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;m&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
| [Dis]allows the modification of principals or policies&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;p&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
| [Dis]allows the propagation of the principal database (used in Incremental database propagation)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;s&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
| [Dis]allows the explicit setting of the key for a principal&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;x&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
| Short for admcil. All privileges&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;*&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
| Same as x.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Initialisation ===&lt;br /&gt;
On créer la base de données. Cette étape peut être très longue s&amp;#039;il n&amp;#039;y a pas assez d&amp;#039;entropie. Pour s&amp;#039;assurer qu&amp;#039;il y en ai assez, on peut lancer la commande @find / 1&amp;gt;/dev/null 2&amp;gt;&amp;amp;1@ dans un autre shell afin d&amp;#039;en générer. A la fin, la commande demande la futur mot de passe de la base (xk0un7mysx)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
kdb5_util create -s&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On ouvre le firewall pour kerberos (port 88)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
firewall-cmd --permanent --add-service=kerberos&lt;br /&gt;
firewall-cmd --reload&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On démarre les services&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
systemctl start krb5kdc&lt;br /&gt;
systemctl start kadmin&lt;br /&gt;
systemctl enable kadmin&lt;br /&gt;
systemctl enable krb5kdc&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Tests ===&lt;br /&gt;
On va lister les principals déjà disponibles&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
kadmin.local&lt;br /&gt;
Authenticating as principal root/admin@DIDIER.TARTAREFR.EU with password.&lt;br /&gt;
kadmin.local: listprincs&lt;br /&gt;
K/M@DIDIER.TARTAREFR.EU&lt;br /&gt;
kadmin/admin@DIDIER.TARTAREFR.EU&lt;br /&gt;
kadmin/changepw@DIDIER.TARTAREFR.EU&lt;br /&gt;
kadmin/kerberos.didier.tartarefr.eu@DIDIER.TARTAREFR.EU&lt;br /&gt;
krbtgt/DIDIER.TARTAREFR.EU@DIDIER.TARTAREFR.EU&lt;br /&gt;
kadmin.local:  exit&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Puis ajouter un principal pour l&amp;#039;utilisateur didier&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
kadmin.local&lt;br /&gt;
kadmin.local: ank didier&lt;br /&gt;
WARNING: no policy specified for didier@DIDIER.TARTAREFR.EU; defaulting to no policy&lt;br /&gt;
Enter password for principal &amp;quot;didier@DIDIER.TARTAREFR.EU&amp;quot;: &lt;br /&gt;
Re-enter password for principal &amp;quot;didier@DIDIER.TARTAREFR.EU&amp;quot;: &lt;br /&gt;
Principal &amp;quot;didier@DIDIER.TARTAREFR.EU&amp;quot; created.&lt;br /&gt;
kadmin.local:  exit&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On vérifie que l&amp;#039;utilisateur didier peut acquérir un jeton kerberos. Si la commande ne renvoie rien, c&amp;#039;est que ça s&amp;#039;est bien passé.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
kinit didier&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On liste les jetons distribués&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
klist&lt;br /&gt;
Ticket cache: KEYRING:persistent:0:0&lt;br /&gt;
Default principal: didier@DIDIER.TARTAREFR.EU&lt;br /&gt;
&lt;br /&gt;
Valid starting       Expires              Service principal&lt;br /&gt;
25/02/2015 10:47:09  26/02/2015 10:47:06  krbtgt/DIDIER.TARTAREFR.EU@DIDIER.TARTAREFR.EU&lt;br /&gt;
        renew until 25/02/2015 10:47:09&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On vérifie que l&amp;#039;utilisateur didier ne peut que changer son mot de passe (politique par défaut)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
kadmin -p didier&lt;br /&gt;
Authenticating as principal didier with password.&lt;br /&gt;
Password for didier@DIDIER.TARTAREFR.EU: &lt;br /&gt;
kadmin:  listprincs&lt;br /&gt;
get_principals: Operation requires ``list&amp;#039;&amp;#039; privilege while retrieving list.&lt;br /&gt;
kadmin:  cpw didier&lt;br /&gt;
Enter password for principal &amp;quot;didier@DIDIER.TARTAREFR.EU&amp;quot;: &lt;br /&gt;
Re-enter password for principal &amp;quot;didier@DIDIER.TARTAREFR.EU&amp;quot;: &lt;br /&gt;
Password for &amp;quot;didier@DIDIER.TARTAREFR.EU&amp;quot; changed.&lt;br /&gt;
kadmin:  exit&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Pour chaque hôte&amp;#039;&amp;#039;&amp;#039; devant être géré par Kerberos&lt;br /&gt;
* on ajoute un principal avec un mot de passe aléatoire&lt;br /&gt;
* on l&amp;#039;exporte dans un keytab local (celui-ci sera copié dans un deuxième temps sur l&amp;#039;hôte concerné)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
kadmin.local&lt;br /&gt;
Authenticating as principal didier/admin@DIDIER.TARTAREFR.EU with password.&lt;br /&gt;
&lt;br /&gt;
kadmin.local:  ank -randkey host/test.didier.tartarefr.eu@DIDIER.TARTAREFR.EU &lt;br /&gt;
WARNING: no policy specified for host/test.didier.tartarefr.eu@DIDIER.TARTAREFR.EU; defaulting to no policy&lt;br /&gt;
Principal &amp;quot;host/test.didier.tartarefr.eu@DIDIER.TARTAREFR.EU&amp;quot; created.&lt;br /&gt;
&lt;br /&gt;
kadmin.local:  ktadd -k /tmp/krb5.keytab host/test.didier.tartarefr.eu   &lt;br /&gt;
Entry for principal host/test.didier.tartarefr.eu with kvno 3, encryption type aes256-cts-hmac-sha1-96 added to keytab FILE:/tmp/krb5.keytab.&lt;br /&gt;
Entry for principal host/test.didier.tartarefr.eu with kvno 3, encryption type aes128-cts-hmac-sha1-96 added to keytab FILE:/tmp/krb5.keytab.&lt;br /&gt;
Entry for principal host/test.didier.tartarefr.eu with kvno 3, encryption type des3-cbc-sha1 added to keytab FILE:/tmp/krb5.keytab.&lt;br /&gt;
Entry for principal host/test.didier.tartarefr.eu with kvno 3, encryption type arcfour-hmac added to keytab FILE:/tmp/krb5.keytab.&lt;br /&gt;
Entry for principal host/test.didier.tartarefr.eu with kvno 3, encryption type camellia256-cts-cmac added to keytab FILE:/tmp/krb5.keytab.&lt;br /&gt;
Entry for principal host/test.didier.tartarefr.eu with kvno 3, encryption type camellia128-cts-cmac added to keytab FILE:/tmp/krb5.keytab.&lt;br /&gt;
Entry for principal host/test.didier.tartarefr.eu with kvno 3, encryption type des-hmac-sha1 added to keytab FILE:/tmp/krb5.keytab.&lt;br /&gt;
Entry for principal host/test.didier.tartarefr.eu with kvno 3, encryption type des-cbc-md5 added to keytab FILE:/tmp/krb5.keytab.&lt;br /&gt;
&lt;br /&gt;
kadmin.local:  exit&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On copie ensuite ce keytab local sur le client kerberos (serveur SSH, serveur web, etc...)&lt;br /&gt;
&lt;br /&gt;
== Installation sur les clients ==&lt;br /&gt;
&lt;br /&gt;
On installe les outils kerberos&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
yum install krb5-workstation&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On édite (ou on copie le fichier depuis le serveur) /etc/krb5.conf&lt;br /&gt;
&lt;br /&gt;
On ajoute un utilisateur système didier&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
useradd -s /bin/bash -m didier&lt;br /&gt;
passwd didier&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
On vérifie que l&amp;#039;utilisateur didier peut acquérir un jeton kerberos depuis ce client.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
kinit didier&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Connexion locale (PAM) ===&lt;br /&gt;
&lt;br /&gt;
Installation du &amp;lt;class&amp;gt;PAM&amp;lt;/class&amp;gt; (Pluggable Authentication Modules) &amp;lt;class&amp;gt;Kerberos&amp;lt;/class&amp;gt; et activation.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
yum install pam_krb5&lt;br /&gt;
authconfig --enablekrb5 --update&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Client SSH ===&lt;br /&gt;
&lt;br /&gt;
Comme SSH utilise PAM par défaut, le paquet &amp;lt;package&amp;gt;pam_krb5&amp;lt;/package&amp;gt; doit être [[#Connexion_locale_.28PAM.29|installé et activé]].&lt;br /&gt;
{{Admon/tip|Utilisateurs pouvant se connecter au serveur|Seul les utilisateurs ayant un &amp;#039;&amp;#039;&amp;#039;principal Kerberos&amp;#039;&amp;#039;&amp;#039; et ayant un &amp;#039;&amp;#039;&amp;#039;compte utilisateur sur le serveur SSH&amp;#039;&amp;#039;&amp;#039; peuvent se connecter en SSH avec la méthode &amp;#039;&amp;#039;gssapi-with-mic&amp;#039;&amp;#039;.}}&lt;br /&gt;
&lt;br /&gt;
Il est possible de se [[Windows/Kerberos/Client|connecter en GSSAPI depuis un poste Windows]]&lt;br /&gt;
&lt;br /&gt;
==== Sur le serveur Kerberos ====&lt;br /&gt;
&lt;br /&gt;
On créé un principal qui aura accès à tous les serveurs. Il n&amp;#039;y a pas de nom mieux choisi que &amp;#039;&amp;#039;&amp;#039;root&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
# On créé le principal pour root&amp;lt;pre&amp;gt;kadmin.local -q &amp;quot;addprinc -randkey root&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
# On s&amp;#039;assure que le fichier d&amp;#039;export n&amp;#039;existe pas encore&amp;lt;pre&amp;gt;rm -f /tmp/root.keytab&amp;lt;/pre&amp;gt;&lt;br /&gt;
# On exporte ce principal&amp;lt;pre&amp;gt;kadmin.local -q &amp;quot;ktadd -k /tmp/root.keytab root&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
# On copie dans &amp;lt;path&amp;gt;/root&amp;lt;/path&amp;gt; du &amp;#039;&amp;#039;&amp;#039;client&amp;#039;&amp;#039;&amp;#039; l&amp;#039;export du principal root.&lt;br /&gt;
&lt;br /&gt;
Pour chaque serveur SSH devant être géré par kerberos&lt;br /&gt;
# On créé un principal &amp;lt;nowiki&amp;gt;host/&amp;lt;FQDN&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;pre&amp;gt;kadmin.local -q &amp;quot;addprinc -randkey host/server.tartarefr.eu&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
# On s&amp;#039;assure que le fichier d&amp;#039;export n&amp;#039;existe pas encore&amp;lt;pre&amp;gt;rm -f /tmp/krb5.keytab&amp;lt;/pre&amp;gt;&lt;br /&gt;
# On exporte ce principal (et uniquement lui pour des raisons de sécurité)&amp;lt;pre&amp;gt;kadmin.local -q &amp;quot;ktadd -k /tmp/krb5.keytab host/server.tartarefr.eu&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
# On copie ce principal sur le &amp;#039;&amp;#039;&amp;#039;serveur SSH&amp;#039;&amp;#039;&amp;#039;&amp;lt;pre&amp;gt;scp /tmp/krb5.keytab server.tartarefr.eu:/etc/krb5.keytab&amp;lt;/pre&amp;gt;&lt;br /&gt;
# On copie le fichier de configuration Kerberos sur le serveur SSH&amp;lt;pre&amp;gt;scp /etc/krb5.conf server.tartarefr.eu:/etc/krb5.conf&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Sur le serveur SSH ====&lt;br /&gt;
* On lui spécifie explicitement le propriétaire/groupe de l&amp;#039;export du principal&amp;lt;pre&amp;gt;chown root:root /etc/krb5.keytab&amp;lt;/pre&amp;gt;&lt;br /&gt;
* On lui spécifie les droits associés&amp;lt;pre&amp;gt;chmod 600 /etc/krb5.keytab&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== sur le client SSH ====&lt;br /&gt;
* On copie dans &amp;lt;path&amp;gt;/root&amp;lt;/path&amp;gt; l&amp;#039;export du principal root.&lt;br /&gt;
&lt;br /&gt;
==== Test de connexion ====&lt;br /&gt;
&lt;br /&gt;
Avant de le fixer dans le fichier /etc/ssh/ssh_config, on teste&lt;br /&gt;
# On acquiert un jeton kerberos&amp;lt;pre&amp;gt;kinit -k -t /root/root.keytab root&amp;lt;/pre&amp;gt;&lt;br /&gt;
# On se connecte par ssh en forçant l&amp;#039;option &amp;#039;&amp;#039;GSSAPIAuthentication&amp;#039;&amp;#039;&amp;lt;pre&amp;gt;ssh root@server.tartarefr.eu -o &amp;quot;GSSAPIAuthentication yes&amp;quot; -o &amp;quot;PasswordAuthentication no&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
# Si la connexion est un succès (sans mot de passe), on vérifie que le fichier &amp;lt;path&amp;gt;/etc/ssh/ssh_config&amp;lt;/path&amp;gt; contient bien&lt;br /&gt;
#* &amp;lt;pre&amp;gt;GSSAPIAuthentication yes&amp;lt;/pre&amp;gt;&lt;br /&gt;
#* &amp;lt;pre&amp;gt;GSSAPIDelegateCredentials yes&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Debug ====&lt;br /&gt;
&lt;br /&gt;
# Vérification de la synchronisation de l&amp;#039;heure&amp;lt;pre&amp;gt;date &amp;amp;&amp;amp; hwclock&amp;lt;/pre&amp;gt;&lt;br /&gt;
# Vérification des paramètres du fichier &amp;lt;path&amp;gt;/etc/ssh/sshd_config&amp;lt;/path&amp;gt;&lt;br /&gt;
#* &amp;lt;pre&amp;gt;GSSAPIAuthentication yes&amp;lt;/pre&amp;gt;&lt;br /&gt;
#* &amp;lt;pre&amp;gt;GSSAPIDelegateCredentials yes&amp;lt;/pre&amp;gt;&lt;br /&gt;
# Vérification DNS&lt;br /&gt;
#* S&amp;#039;assurer que la résolution fonctionne correctement dans les deux sens&amp;lt;pre&amp;gt;getent hosts $(hostname) | awk &amp;#039;{print $1; exit}&amp;#039; | xargs getent hosts | awk &amp;#039;{print $2}&amp;#039;&amp;lt;/pre&amp;gt;&lt;br /&gt;
#* Vérification du fichier &amp;lt;path&amp;gt;/etc/hosts&amp;lt;/path&amp;gt; sur le serveur SSH.&amp;lt;br&amp;gt;&amp;#039;&amp;#039;&amp;#039;Il ne doit en aucun cas résoudre sur localhost&amp;#039;&amp;#039;&amp;#039;.&amp;lt;br&amp;gt;Le premier nom d&amp;#039;hôte qui suit l&amp;#039;adresse IP (LAN/WAN) doit être le nom d&amp;#039;hôte pleinement qualifié, suivi du nom d&amp;#039;hôte simple.&amp;lt;br&amp;gt;Les alias (CNAME) ainsi que les noms d&amp;#039;hôte virtuels d&amp;#039;Apache peuvent être placé après.&lt;br /&gt;
# Vérification des fichiers&lt;br /&gt;
#* Vérification du fichier &amp;lt;path&amp;gt;/etc/krb5.conf&amp;lt;/path&amp;gt; sur le serveur SSH&lt;br /&gt;
#** Le contenu attendu (c.a.d identique à celui du serveur Kerberos)&lt;br /&gt;
#** Le bon propriétaire et groupe&amp;lt;pre&amp;gt;chown root:root /etc/krb5.conf&amp;lt;/pre&amp;gt;&lt;br /&gt;
#** Les bons droits&amp;lt;pre&amp;gt;chmod 644 /etc/krb5.conf&amp;lt;/pre&amp;gt;&lt;br /&gt;
#* Vérification du fichier &amp;lt;path&amp;gt;/etc/krb5.keytab&amp;lt;/path&amp;gt; sur le serveur SSH&lt;br /&gt;
#** Le contenu attendu, avec le nom d&amp;#039;hôte pleinement qualifié correspondant (préfixé par &amp;#039;&amp;#039;host/&amp;#039;&amp;#039;) et le bon lvno (le numéro d&amp;#039;export qui est incrémenté à chaque fois)&amp;lt;pre&amp;gt;klist -k /etc/krb5.keytab&amp;lt;/pre&amp;gt;&lt;br /&gt;
#** Le bon propriétaire et groupe&amp;lt;pre&amp;gt;chown root:root /etc/krb5.conf&amp;lt;/pre&amp;gt;&lt;br /&gt;
#** Les bons droits&amp;lt;pre&amp;gt;chmod 600 /etc/krb5.conf&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Authentification Apache ===&lt;br /&gt;
&lt;br /&gt;
* Installation d&amp;#039;apache, du module ssl et du module d&amp;#039;authentification kerberos pour apache&amp;lt;pre&amp;gt;yum install httpd mod_ssl mod_auth_kerb&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Ajout d&amp;#039;un principal pour apache (mot de passe aléatoire)&amp;lt;pre&amp;gt;kadmin.local -q &amp;quot;addprinc -randkey http/didier.tartarefr.eu&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Export du principal dans un keytab&amp;lt;pre&amp;gt;kadmin.local -q &amp;quot;ktadd -k /etc/httpd/conf.d/http.keytab http/didier.tartarefr.eu&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Modification du propriétaire du keytab car apache doit pouvoir lire ce fichier&amp;lt;pre&amp;gt;chown apache /etc/httpd/conf.d/http.keytab&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Vérification de la bonne configuration en obtenant un ticket kerberos manuellement&amp;lt;pre&amp;gt;kinit -k -t /etc/httpd/conf.d/http.keytab http/didier.tartarefr.eu&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Destruction du ticket avant de redémarrer le service &amp;lt;app&amp;gt;httpd&amp;lt;/app&amp;gt;&amp;lt;pre&amp;gt;kdestroy&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Exemple de configuration apache&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;apache&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;Directory /var/www/html/kerb&amp;gt;&lt;br /&gt;
    SSLRequireSSL&lt;br /&gt;
    AuthType Kerberos&lt;br /&gt;
    AuthName &amp;quot;Kerberos Authentication&amp;quot;&lt;br /&gt;
    KrbAuthRealms DIDIER.TARTAREFR.EU&lt;br /&gt;
    Krb5Keytab /etc/httpd/conf.d/http.keytab&lt;br /&gt;
    KrbServiceName http/didier.tartarefr.eu&lt;br /&gt;
    KrbMethodNegotiate Off&lt;br /&gt;
    KrbSaveCredentials Off&lt;br /&gt;
    KrbVerifyKDC Off&lt;br /&gt;
    Require valid-user&lt;br /&gt;
&amp;lt;/Directory&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Récapitulatif des outils d&amp;#039;utilisation et d&amp;#039;administration ==&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;kinit&amp;#039;&amp;#039;&amp;#039;: Acquiert un nouveau jeton kerberos pour l&amp;#039;utilisateur passé en argument.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;kdestroy&amp;#039;&amp;#039;&amp;#039;: Efface le jeton de l&amp;#039;utilisateur actif (le nom passé en argument à kinit)&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;klist&amp;#039;&amp;#039;&amp;#039;: Affiche la liste des jetons pour l&amp;#039;utilisateur actif&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;kadmin&amp;#039;&amp;#039;&amp;#039;: Commande d&amp;#039;administration de kerberos.&lt;br /&gt;
&lt;br /&gt;
== Références ==&lt;br /&gt;
&lt;br /&gt;
* [http://fr.wikipedia.org/wiki/Kerberos_%28protocole%29 Page Wikipedia expliquant le protocole Kerberos]&lt;br /&gt;
* [https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/6/html/Managing_Smart_Cards/Using_Kerberos.html Documentation RedHat de l&amp;#039;installation du serveur]&lt;br /&gt;
* [http://docstore.mik.ua/orelly/networking_2ndEd/ssh/ch11_04.htm Configuration du serveur SSH pour utiliser Kerberos]&lt;br /&gt;
* [http://unix.stackexchange.com/questions/90383/ssh-authentication-using-gssapi-keyex-or-gssapi-with-mic-publickey-not-permitte Debugging SSH authentication using gssapi-keyex or gssapi-with-mic]&lt;/div&gt;</summary>
		<author><name>Didier</name></author>
	</entry>
</feed>