Cette page montre comment installer deux serveurs Kerberos redondants (kerb1 le maître et kerb2 l'esclave).
Installation du serveur maître
Installation du système
| Nom du serveur | kerb1.univ-rennes1.fr |
| Système | RedHat Entreprise 5 |
| Ouverture de ports | ssh (22 tcp) kinit (88 tcp/udp) kerberos password (749 tcp) kerberos auth (750 tcp) |
Configurer la synchronisation de l'horloge sur le serveur ntp.univ-rennes1.fr (cf /etc/ntp.conf) et s'assurer que le démon ntpd est en marche :
Installation du KDC (Key Distribution Center)
Editer le fichier /etc/krb5.conf :
Installer le package krb5-server (yum install krb5-server).
Editer le fichier /var/kerberos/krb5kdc/kdc.conf :
Editer le fichier /var/kerberos/krb5kdc/kadm5.acl :
Créer la base Kerberos :
Ajouter le premier utilisateur (root/admin) :
Démarrer les services :
Vérification en affichant la liste des principals :
Installation du serveur esclave
Installation du système
| Nom du serveur | kerb2.univ-rennes1.fr |
| Système | RedHat Entreprise 5 |
| Ouverture de ports | ssh (22 tcp) kinit (88 tcp/udp) kerberos auth (750 tcp) |
Installation du KDC (Key Distribution Center)
Installer le package krb5-server, puis répéter toutes les opérations faites sur le serveur kerb1, seule l'ouverture du port 749 n'est pas nécessaire.
Pour aller plus vite, copier les fichiers /etc/krb5.conf, /var/kerberos/krb5kdc/kdc.conf et /var/kerberos/krb5kdc/kadm5.acl depuis le serveur kerb1 :
Et modifier la partie realms du fichier /etc/krb5.conf (remplacer kerb1 par kerb2):
Créer la base Kerberos, ajouter le premier utilisateur (root/admin), démarrer les services et vérifier le fonctionnement en affichant les principals.
Mise en place de la réplication
Sur le serveur maître, créer les clés des serveurs kerb1 et kerb2 et les exporter dans la keytab par défaut du serveur (/etc/krb5.keytab) :
Sur le serveur esclave, copier le fichier /etc/krb5.keytab :
Sur le serveur esclave, éditer le fichier /var/kerberos/krb5kdc/kpropd.acl de la manière suivante :
Et démarrer le service kpropd :
Sur le serveur maître, créer le script /usr/local/bin/krb5prop.sh :
Exécuter le script « à la main » :
Pour vérifier la bonne propagation des principals, ajouter un principal fictif sur le serveur maître et propager vers le serveur esclave :
Sur le serveur esclave, vérifier la présence du nouveau principal :
Ne pas oublier de supprimer le principal fictif ensuite (kadmin.local -q "delprinc dummy" sur kerb1).
Modifier le fichier /etc/crontab pour faire en sorte que la synchronisation entre les deux KDCs soient effectuée de manière automatique toutes les 5 minutes (par exemple) :
Les deux serveurs kerb1 et kerb2 sont maintenant installés.
Gestion des principals
La gestion des principals peut se faire à distance à l'aide kadmin depuis une machine d'administration (de confiance).
Pour cela, depuis la machine d'administration, on génère un principal manager/admin et on exporte sa clé dans une keytab locale :
On utilise ensuite la commande kadmin -p manager/admin -k -t /etc/manager.keytab -q "commande_kadmin" pour exécuter la commande commande_kadmin. Par exemple :
On pourra écrire un script /usr/local/bin/kexec pour exécuter plus facilement les commandes sous kadmin :
La récupération d'un principal dupont dans la base Kerberos pourra ainsi se faire par :
