JavaScript is required to for searching.
Ignorer les liens de navigation
Quitter l'aperu
Guide d'administration système : Services de sécurité
search filter icon
search icon

Informations document

Préface

Partie I Présentation de la sécurité

1.  Services de sécurité (présentation)

Partie II Sécurité du système, des fichiers et des périphériques

2.  Gestion de la sécurité de la machine (présentation)

3.  Contrôle de l'accès aux systèmes (tâches)

4.  Contrôle de l'accès aux périphériques (tâches)

5.  Utilisation de l'outil de génération de rapports d'audit de base (tâches)

6.  Contrôle de l'accès aux fichiers (tâches)

7.  Utilisation d'Automated Security Enhancement Tool (Tâches)

Partie III Rôles, profils de droits et privilèges

8.  Utilisation des rôles et des privilèges (présentation)

9.  Utilisation du contrôle d'accès basé sur les rôles (tâches)

10.  Contrôle d'accès basé sur les rôles (référence)

11.  Privilèges (tâches)

12.  Privilèges (référence)

Partie IV Services cryptographiques

13.  Structure cryptographique Oracle Solaris (présentation)

14.  Structure cryptographique Oracle Solaris (tâches)

15.  Structure de gestion des clés Oracle Solaris

Partie V Services d'authentification et communication sécurisée

16.  Utilisation des services d'authentification (tâches)

17.  Utilisation de PAM

18.  Utilisation de SASL

19.  Utilisation d'Oracle Solaris Secure Shell (tâches)

20.  Oracle Solaris Secure Shell (référence)

Partie VI Service Kerberos

21.  Introduction au service Kerberos

22.  Planification du service Kerberos

23.  Configuration du service Kerberos (tâches)

Configuration du service Kerberos (liste des tâches)

Configuration de services Kerberos supplémentaires (liste des tâches)

Configuration des serveurs KDC

Procédure de configuration manuelle d'un KDC maître

Procédure de configuration d'un KDC pour l'utilisation d'un serveur de données LDAP

Procédure de configuration manuelle d'un KDC esclave

Procédure d'actualisation des clés TGS sur un serveur maître

Configuration de l'authentification inter-domaine

Procédure d'établissement de l'authentification inter-domaine hiérarchique

Procédure d'établissement de l'authentification inter-domaine directe

Configuration des serveurs d'application réseau Kerberos

Procédure de configuration d'un serveur d'application réseau Kerberos

Configuration de serveurs NFS Kerberos

Procédure de configuration des serveurs NFS Kerberos

Création d'une table d'informations d'identification

Ajout d'une entrée unique à la table d'informations d'identification

Procédure de mappage d'informations d'identification entre domaines

Configuration d'un environnement NFS sécurisé avec plusieurs modes de sécurité Kerberos

Configuration des clients Kerberos

Configuration des clients Kerberos (liste des tâches)

Procédure de création d'un profil d'installation de client Kerberos

Configuration automatique d'un client Kerberos

Configuration interactive d'un client Kerberos

Configuration manuelle d'un client Kerberos

Désactivation de la vérification du TGT

Accès à un système de fichiers NFS protégé par Kerberos en tant qu'utilisateur root

Configuration de la migration automatique des utilisateurs dans un domaine Kerberos

Synchronisation des horloges entre les KDC et les clients Kerberos

Échange d'un KDC maître et d'un KDC esclave

Configuration d'un KDC échangeable

Procédure d'échange d'un KDC maître et d'un KDC esclave

Administration de la base de données Kerberos

Sauvegarde et propagation de la base de données Kerberos

Fichier kpropd.acl

Commande kprop_script

Sauvegarde de la base de données Kerberos

Procédure de restauration de la base de données Kerberos

Procédure de conversion d'une base de données Kerberos après une mise à niveau du serveur

Reconfiguration d'un KDC maître pour l'utilisation de la propagation incrémentielle

Procédure de reconfiguration d'un KDC esclave pour l'utilisation de la propagation incrémentielle

Procédure de configuration d'un KDC esclave pour l'utilisation de la propagation complète

Procédure de vérification de la synchronisation des serveurs KDC

Propagation manuelle de la base de données Kerberos aux KDC esclaves

Configuration d'une propagation parallèle

Étapes de configuration d'une propagation parallèle

Administration du fichier stash

Procédure de suppression d'un fichier stash

Gestion d'un KDC sur un serveur d'annuaire LDAP

Procédure d'association des attributs de principaux Kerberos dans un type de classe d'objet non Kerberos

Procédure de suppression d'un domaine d'un serveur d'annuaire LDAP

Renforcement de la sécurité des serveurs Kerberos

Procédure d'activation des applications utilisant Kerberos uniquement

Procédure de restriction de l'accès aux serveurs KDC

Utilisation d'un fichier dictionnaire pour augmenter la sécurité de mot de passe

24.  Messages d'erreur et dépannage de Kerberos

25.  Administration des principaux et des stratégies Kerberos (tâches)

26.  Utilisation des applications Kerberos (tâches)

27.  Service Kerberos (référence)

Partie VII Audit Oracle Solaris

28.  Audit Oracle Solaris (présentation)

29.  Planification de l'audit Oracle Solaris

30.  Gestion de l'audit Oracle Solaris (tâches)

31.  Audit Oracle Solaris (référence)

Glossaire

Index

Administration de la base de données Kerberos

La base de données Kerberos est l'épine dorsale de Kerberos et sa maintenance doit s'effectuer correctement. Cette section présente certaines procédures d'administration de la base de données Kerberos, telles que la sauvegarde et la restauration de la base de données, la définition de la propagation incrémentielle ou parallèle, ainsi que l'administration du fichier stash. Les étapes de configuration initiale de la base de données sont détaillées dans la section Procédure de configuration manuelle d'un KDC maître.

Sauvegarde et propagation de la base de données Kerberos

La propagation de la base de données Kerberos du KDC maître au KDC esclave est l'une des tâches de configuration les plus importantes. Si la propagation n'est pas suffisamment fréquente, la synchronisation entre le KDC maître et les KDC esclaves est perdue. Par conséquent, en cas de défaillance du KDC maître, le KDC esclave n'aura pas les informations de base de données les plus récentes. En outre, si un KDC esclave a été configuré en tant que KDC maître à des fins d'équilibrage de charge, les clients qui utilisent le KDC esclave en tant que KDC maître ne disposeront pas des dernières informations. Par conséquent, vous devez vous assurer que la propagation est suffisamment fréquente ou configurer les serveurs pour une propagation incrémentielle, en fonction de la fréquence à laquelle vous modifiez la base de données Kerberos. La propagation incrémentielle est préférable à une propagation manuelle parce qu'elle élimine les frais d'administration liés à la propagation manuelle de la base de données. En outre, une propagation complète de la base de données n'est pas totalement efficace.

Lorsque vous configurez le KDC maître, vous configurez la commande kprop_script dans une tâche cron pour sauvegarder automatiquement la base de données Kerberos dans le fichier dump /var/krb5/slave_datatrans et la propager vers les KDC esclaves. Mais, comme avec n'importe quel fichier, la base de données Kerberos peut être corrompue. Si la corruption de données se produit sur un KDC esclave, il se peut que vous ne le remarquiez pas, dans la mesure où la propagation automatique suivante de la base de données permet d'installer une nouvelle copie. Toutefois, si la corruption se produit sur le KDC maître, la base de données corrompue est propagée à l'ensemble des KDC esclaves pendant la propagation suivante. Et, la sauvegarde corrompue écrase le fichier de sauvegarde non altéré précédent sur le KDC maître.

Parce qu'il n'y a pas de copie de sauvegarde "sûre" dans ce scénario, vous devez également définir une tâche cron pour copier, à intervalles réguliers, le fichier dump slave_datatrans dans un autre emplacement ou pour créer une autre copie de sauvegarde à l'aide de la commande dump de kdb5_util. Puis, si votre base de données est endommagée, vous pouvez restaurer la sauvegarde la plus récente sur le KDC maître en utilisant la commande load de kdb5_util.

Autre remarque importante : puisque le fichier dump de la base de données contient les clés de principal, vous devez protéger le fichier de tout accès par des utilisateurs non autorisés. Par défaut, la base de données du fichier de vidage dispose d'autorisations de lecture et d'écriture uniquement en tant que root. Afin de les protéger contre tout accès non autorisé, utilisez uniquement la commande kprop pour propager la base de données du fichier de vidage, qui chiffre les données en cours de transfert. En outre, kprop propage les données uniquement aux KDC esclaves, ce qui réduit les risques d'envoi par inadvertance du fichier dump de la base de données à des hôtes non autorisés.


Attention

Attention - Si la base de données Kerberos est mise à jour après sa propagation et que la base de données est ensuite corrompue avant la propagation suivante, les KDC esclaves ne contiennent pas les mises à jour. Les mises à jour seront perdues. Pour cette raison, si vous ajoutez des mises à jour importantes de la base de données Kerberos avant une propagation programmée, vous devez propager manuellement la base de données afin d'éviter toute perte de données.


Fichier kpropd.acl

Le fichier kpropd.acl sur un KDC esclave fournit une liste de noms d'hôte principal, un nom par ligne, qui spécifie les systèmes à partir desquels le KDC peut recevoir une base de données mise à jour par la propagation. Si le KDC maître est utilisé pour propager tous les KDC esclaves, le fichier kpropd.acl sur chaque esclave doit contenir uniquement le nom d'hôte principal du KDC maître.

Toutefois, l'installation de Kerberos et les étapes de configuration dans ce manuel vous indiquent que vous devez ajouter le même fichier kpropd.acl sur le KDC maître et les KDC esclaves. Ce fichier contient tous les noms de principaux d'hôtes KDC. Cette configuration vous permet de propager à partir de n'importe quel KDC, dans le cas où la propagation des KDC serait temporairement indisponible. De plus, en conservant une copie identique sur tous les KDC, la configuration est plus facile à gérer.

Commande kprop_script

La commande kprop_script utilise la commande kprop pour propager la base de données Kerberos à d'autres KDC. Si la commande kprop_script est exécutée sur un KDC esclave, elle se propage à la copie de la base de données Kerberos du KDC esclave vers d'autres KDC. La commande kprop_script accepte une liste de noms d'hôte pour les arguments, séparés par des espaces, qui indiquent les KDC à propager.

Quand kprop_script est exécutée, elle crée une copie de sauvegarde de la base de données Kerberos pour le fichier /var/krb5/slave_datatrans et copie le fichier dans les KDC spécifiés. La base de données Kerberos est verrouillée jusqu'à ce que la propagation soit terminée.

Sauvegarde de la base de données Kerberos

  1. Connectez-vous en tant que superutilisateur au KDC maître.
  2. Sauvegardez la base de données Kerberos à l'aide de la commande dump de la commande kdb5_util.
    # /usr/sbin/kdb5_util dump [-verbose] [-d dbname] [filename [principals...]]
    -verbose

    Imprime le nom de chaque principal et stratégie en cours de sauvegarde.

    dbname

    Définit le nom de la base de données à sauvegarder. Notez que vous pouvez spécifier un chemin d'accès absolu pour le fichier. Si l'option -d n'est pas spécifiée, le nom de la base de données par défaut est /var/krb5/principal .

    filename

    Définit le fichier utilisé pour sauvegarder la base de données. Vous pouvez spécifier un chemin d'accès absolu pour le fichier. Si vous ne spécifiez pas un fichier, la base de données est transférée vers la sortie standard.

    principals

    Définit une liste d'un ou plusieurs principaux (séparés par un espace) à sauvegarder. Vous devez utiliser des noms de principaux entièrement qualifiés. Si vous ne spécifiez aucun principal, l'intégralité de la base de données est sauvegardée.

Exemple 23-12 Sauvegarde de la base de données Kerberos

Dans l'exemple suivant, la base de données Kerberos est sauvegardée dans un fichier appelé dumpfile. Dans la mesure où l'option -verbose est spécifiée, chaque principal est imprimé lorsqu'il est sauvegardé.

# kdb5_util dump -verbose dumpfile 
kadmin/kdc1.eng.example.com@ENG.EXAMPLE.COM 
krbtgt/ENG.EXAMPLE.COM@ENG.EXAMPLE.COM 
kadmin/history@ENG.EXAMPLE.COM 
pak/admin@ENG.EXAMPLE.COM 
pak@ENG.EXAMPLE.COM
changepw/kdc1.eng.example.com@ENG.EXAMPLE.COM

Dans l'exemple suivant, les principaux pak et pak/admin de la base de données Kerberos sont sauvegardés.

# kdb5_util dump -verbose dumpfile pak/admin@ENG.EXAMPLE.COM pak@ENG.EXAMPLE.COM
pak/admin@ENG.EXAMPLE.COM
pak@ENG.EXAMPLE.COM

Procédure de restauration de la base de données Kerberos

  1. Connectez-vous en tant que superutilisateur au KDC maître.
  2. Sur le serveur maître, arrêtez les démons KDC.
    kdc1 # svcadm disable network/security/krb5kdc
    kdc1 # svcadm disable network/security/kadmin
  3. Restaurez la base de données Kerberos à l'aide de la commande load de la commande kdb_util.
    # /usr/sbin/kdb5_util load [-verbose] [-d dbname] [-update] [filename] 
    -verbose

    Imprime le nom de chaque principal et stratégie en cours de restauration.

    dbname

    Définit le nom de la base de données à restaurer. Notez que vous pouvez spécifier un chemin d'accès absolu pour le fichier. Si l'option -d n'est pas spécifiée, le nom de la base de données par défaut est /var/krb5/principal .

    -update

    Met à jour la base de données existante. Dans le cas contraire, une nouvelle base de données est créée ou la base de données existante est écrasée.

    filename

    Définit le fichier à partir duquel restaurer la base de données. Vous pouvez spécifier un chemin d'accès absolu pour le fichier.

  4. Démarrez les démons KDC.
    kdc1 # svcadm enable -r network/security/krb5kdc
    kdc1 # svcadm enable -r network/security/kadmin

Exemple 23-13 Restauration de la base de données Kerberos

Dans l'exemple suivant, la base de données appelée database1 est restaurée dans le répertoire courant à partir du fichier dumpfile. Comme l'option -update n'est pas spécifiée, la restauration crée une nouvelle base de données.

# kdb5_util load -d database1 dumpfile

Procédure de conversion d'une base de données Kerberos après une mise à niveau du serveur

Si votre base de données KDC a été créée sur un serveur exécutant la version Solaris 8 ou Solaris 9, la conversion de la base de données vous permet de tirer parti du format de base de données amélioré.

Avant de commencer

Assurez-vous que la base de données utilise un format ancien.

  1. Sur le serveur maître, arrêtez les démons KDC.
    kdc1 # svcadm disable network/security/krb5kdc
    kdc1 # svcadm disable network/security/kadmin
  2. Créez un répertoire pour stocker une copie temporaire de la base de données.
    kdc1 # mkdir /var/krb5/tmp
    kdc1 # chmod 700 /var/krb5/tmp
  3. Videz la base de données KDC.
    kdc1 # kdb5_util dump /var/krb5/tmp/prdb.txt
  4. Enregistrez des copies des fichiers de la base de données actuelle.
    kdc1 # cd /var/krb5
    kdc1 # mv princ* tmp/
  5. Chargez la base de données.
    kdc1 # kdb5_util load /var/krb5/tmp/prdb.txt
  6. Démarrez les démons KDC.
    kdc1 # svcadm enable -r network/security/krb5kdc
    kdc1 # svcadm enable -r network/security/kadmin

Reconfiguration d'un KDC maître pour l'utilisation de la propagation incrémentielle

Les étapes de cette procédure peuvent être utilisées pour reconfigurer un KDC maître pour qu'il utilise la propagation incrémentielle. Dans cette procédure, les paramètres de configuration suivants sont utilisés :

  1. Ajoutez des entrées à kdc.conf.

    Vous devez activer la propagation incrémentielle et sélectionner le nombre de mises à jour que le KDC maître conserve dans le journal. Pour plus d'informations, reportez-vous à la page de manuel kdc.conf(4).

    kdc1 # cat /etc/krb5/kdc.conf
    [kdcdefaults]
            kdc_ports = 88,750
    
    [realms]
            EXAMPLE.COM= {
                    profile = /etc/krb5/krb5.conf
                    database_name = /var/krb5/principal
                    admin_keytab = /etc/krb5/kadm5.keytab
                    acl_file = /etc/krb5/kadm5.acl
                    kadmind_port = 749
                    max_life = 8h 0m 0s
                    max_renewable_life = 7d 0h 0m 0s
                    sunw_dbprop_enable = true
                    sunw_dbprop_master_ulogsize = 1000
            }
  2. Créez le principal kiprop.

    Le principal kiprop est utilisé pour authentifier le serveur KDC maître et autoriser les mises à jour depuis le KDC maître.

    kdc1 # /usr/sbin/kadmin -p kws/admin
    Enter password: <Type kws/admin password>
    kadmin: addprinc -randkey kiprop/kdc1.example.com
    Principal "kiprop/kdc1.example.com@EXAMPLE.COM" created.
    kadmin: addprinc -randkey kiprop/kdc2.example.com
    Principal "kiprop/kdc2.example.com@EXAMPLE.COM" created.
    kadmin:
  3. Ajoutez le principal kiprop au fichier keytab kadmind.

    L'ajout du principal kiprop au fichier kadm5.keytab permet à la commande kadmind de s'authentifier elle-même lorsqu'elle est démarrée.

    kadmin: ktadd -k /etc/krb5/kadm5.keytab kiprop/kdc1.example.com
    Entry for principal kiprop/kdc1.example.com with kvno 3, encryption type AES-256 CTS mode
              with 96-bit SHA-1 HMAC added to keytab WRFILE:/etc/krb5/kadm5.keytab.
    Entry for principal kiprop/kdc1.example.com with kvno 3, encryption type AES-128 CTS mode
              with 96-bit SHA-1 HMAC added to keytab WRFILE:/etc/krb5/kadm5.keytab.
    Entry for principal kiprop/kdc1.example.com with kvno 3, encryption type Triple DES cbc
              mode with HMAC/sha1 added to keytab WRFILE:/etc/krb5/kadm5.keytab.
    Entry for principal kiprop/kdc1.example.com with kvno 3, encryption type ArcFour
              with HMAC/md5 added to keytab WRFILE:/etc/krb5/kadm5.keytab.
    Entry for principal kiprop/kdc1.example.com with kvno 3, encryption type DES cbc mode
              with RSA-MD5 added to keytab WRFILE:/etc/krb5/kadm5.keytab.
    kadmin: quit
  4. Sur le KDC maître, ajoutez une entrée kiprop au fichier kadm5.acl.

    Cette entrée permet au KDC maître de recevoir des demandes de propagation incrémentielle du serveur kdc2.

    kdc1 # cat /etc/krb5/kadm5.acl
    */admin@EXAMPLE.COM *
    kiprop/kdc2.example.com@EXAMPLE.COM p
  5. Mettez en commentaire la ligne kprop dans le fichier crontab root.

    Cette étape permet d'éviter que le KDC maître ne propage sa copie de la base de données KDC.

    kdc1 # crontab -e
    #ident  "@(#)root       1.20    01/11/06 SMI"
    #
    # The root crontab should be used to perform accounting data collection.
    #
    # The rtc command is run to adjust the real time clock if and when
    # daylight savings time changes.
    #
    10 3 * * * /usr/sbin/logadm
    15 3 * * 0 /usr/lib/fs/nfs/nfsfind
    1 2 * * * [ -x /usr/sbin/rtc ] && /usr/sbin/rtc -c > /dev/null 2>&1
    30 3 * * * [ -x /usr/lib/gss/gsscred_clean ] && /usr/lib/gss/gsscred_clean
    #10 3 * * * /usr/lib/krb5kprop_script kdc2.example.sun.com #SUNWkr5ma
  6. Redémarrez kadmind.
    kdc1 # svcadm restart network/security/kadmin
  7. Reconfigurez tous les serveurs KDC esclaves qui utilisent la propagation incrémentielle.

    Reportez-vous à la section Procédure de reconfiguration d'un KDC esclave pour l'utilisation de la propagation incrémentielle pour obtenir des instructions complètes.

Procédure de reconfiguration d'un KDC esclave pour l'utilisation de la propagation incrémentielle

  1. Ajoutez des entrées à krb5.conf.

    Les nouvelles entrées autorisent la propagation incrémentielle et définissent la durée d'interrogation à 2 minutes.

    kdc2 # cat /etc/krb5/krb5.conf
    [kdcdefaults]
            kdc_ports = 88,750
    
    [realms]
            EXAMPLE.COM= {
                    profile = /etc/krb5/krb5.conf
                    database_name = /var/krb5/principal
                    admin_keytab = /etc/krb5/kadm5.keytab
                    acl_file = /etc/krb5/kadm5.acl
                    kadmind_port = 749
                    max_life = 8h 0m 0s
                    max_renewable_life = 7d 0h 0m 0s
                    sunw_dbprop_enable = true
                    sunw_dbprop_slave_poll = 2m
            }
  2. Ajoutez le principal kiprop au fichier krb5.keytab .
    kdc2 # /usr/sbin/kadmin -p kws/admin
    Enter password: <Type kws/admin password>
    kadmin: ktadd kiprop/kdc2.example.com
    Entry for principal kiprop/kdc2.example.com with kvno 3, encryption type AES-256 CTS mode
              with 96-bit SHA-1 HMAC added to keytab WRFILE:/etc/krb5/krb5.keytab.
    Entry for principal kiprop/kdc2.example.com with kvno 3, encryption type AES-128 CTS mode
              with 96-bit SHA-1 HMAC added to keytab WRFILE:/etc/krb5/krb5.keytab.
    Entry for principal kiprop/kdc2.example.com with kvno 3, encryption type Triple DES cbc
              mode with HMAC/sha1 added to keytab WRFILE:/etc/krb5/krb5.keytab.
    Entry for principal kiprop/kdc2.example.com with kvno 3, encryption type ArcFour
              with HMAC/md5 added to keytab WRFILE:/etc/krb5/krb5.keytab.
    Entry for principal kiprop/kdc2.example.com with kvno 3, encryption type DES cbc mode
              with RSA-MD5 added to keytab WRFILE:/etc/krb5/krb5.keytab.
    kadmin: quit
  3. Désactivez kpropd.
    kdc2 # svcadm disable network/security/krb5_prop
  4. Redémarrez le serveur KDC.
    kdc2 # svcadm restart network/security/krb5kdc

Procédure de configuration d'un KDC esclave pour l'utilisation de la propagation complète

Cette procédure montre comment reconfigurer un serveur KDC esclave exécutant la version Solaris10 pour qu'il utilise la propagation complète. Normalement, la procédure est nécessaire uniquement si le serveur KDC maître exécute la version Solaris 9 ou une version antérieure. Dans ce cas, le serveur KDC maître ne prend pas en charge la propagation incrémentielle, de sorte que le serveur esclave doit être configuré pour que la propagation fonctionne.

Dans cette procédure, un KDC esclave nommé kdc3 est configuré. Cette procédure utilise les paramètres de configuration ci-dessous :

Avant de commencer

Le KDC maître doit être configuré. Pour obtenir des instructions spécifiques afin de déterminer si cet esclave doit être échangeable, reportez-vous à la section Échange d'un KDC maître et d'un KDC esclave.

  1. Sur le KDC maître, connectez-vous en tant que superutilisateur.
  2. Sur le KDC maître, démarrez kadmin.

    Vous devez vous connecter à l'aide de l'un des noms de principal admin que vous avez créé lors de la configuration du KDC maître.

    kdc1 # /usr/sbin/kadmin -p kws/admin
    Enter password: <Type kws/admin password>
    kadmin: 
    1. Sur le KDC maître, ajoutez des principaux d'hôtes esclaves à la base de données, si ce n'est pas déjà fait.

      Pour que l'esclave fonctionne, il doit avoir un hôte principal. Notez que lorsque l'instance de principal est un nom d'hôte, le nom de domaine complet (FQDN) doit être spécifié en minuscules, quelle que soit la casse du nom de domaine dans le fichier /etc/resolv.conf.

      kadmin: addprinc -randkey host/kdc3.example.com
      Principal "host/kdc3@EXAMPLE.COM" created.
      kadmin: 
    2. Quittez kadmin.
      kadmin: quit
  3. Sur le KDC maître, modifiez le fichier de configuration Kerberos (krb5.conf).

    Vous devez ajouter une entrée pour chaque esclave. Pour une description complète de ce fichier, reportez-vous à la page de manuel krb5.conf(4).

    kdc1 # cat /etc/krb5/krb5.conf
     .
     .
    [realms]
                    EXAMPLE.COM = {
                    kdc = kdc1.example.com
                    kdc = kdc2.example.com
                    kdc = kdc3.example.com
                    admin_server = kdc1.example.com
            }
  4. Sur le KDC maître, ajoutez une entrée pour le KDC maître et chaque KDC esclave dans le fichier kpropd.acl.

    Reportez-vous à la page de manuel kprop(1M)pour obtenir une description complète de ce fichier.

    kdc1 # cat /etc/krb5/kpropd.acl
    host/kdc1.example.com@EXAMPLE.COM
    host/kdc2.example.com@EXAMPLE.COM
    host/kdc3.example.com@EXAMPLE.COM
  5. Sur tous les KDC esclaves, copiez les fichiers d'administration à partir du serveur KDC maître.

    Cette étape doit être effectuée sur tous les KDC esclaves, car le serveur KDC maître a mis à jour des informations requises par chaque serveur KDC. Vous pouvez utiliser ftp ou tout autre mécanisme de transfert similaire pour extraire des copies des fichiers suivants du KDC maître :

    • /etc/krb5/krb5.conf

    • /etc/krb5/kdc.conf

    • /etc/krb5/kpropd.acl

  6. Sur tous les KDC esclaves, assurez-vous que le fichier d'ACL Kerberos, kadm5.acl, n'est pas renseigné.

    Un fichier kadm5.acl non modifié ressemble à ce qui suit :

    kdc2 # cat /etc/krb5/kadm5.acl
    */admin@___default_realm___ *

    Si le fichier contient des entrées kiprop, supprimez-les.

  7. Sur le nouvel esclave, démarrez la commande kadmin.

    Vous devez vous connecter à l'aide de l'un des noms de principal admin que vous avez créé lors de la configuration du KDC maître.

    kdc2 # /usr/sbin/kadmin -p kws/admin
    Enter password: <Type kws/admin password>
    kadmin: 
    1. Ajoutez le principal host de l'esclave au fichier keytab de ce dernier en utilisant kadmin.

      Cette entrée permet à kprop et à d'autres applications utilisant Kerberos de fonctionner. Notez que lorsque l'instance de principal est un nom d'hôte, le nom de domaine complet (FQDN) doit être spécifié en minuscules, quelle que soit la casse du nom de domaine dans le fichier /etc/resolv.conf.

      kadmin: ktadd host/kdc3.example.com
      Entry for principal host/kdc3.example.com with kvno 3, encryption type AES-256 CTS mode
                with 96-bit SHA-1 HMAC added to keytab WRFILE:/etc/krb5/krb5.keytab.
      Entry for principal host/kdc3.example.com with kvno 3, encryption type AES-128 CTS mode
                with 96-bit SHA-1 HMAC added to keytab WRFILE:/etc/krb5/krb5.keytab.
      Entry for principal host/kdc3.example.com with kvno 3, encryption type Triple DES cbc
                mode with HMAC/sha1 added to keytab WRFILE:/etc/krb5/krb5.keytab.
      Entry for principal host/kdc3.example.com with kvno 3, encryption type ArcFour
                with HMAC/md5 added to keytab WRFILE:/etc/krb5/krb5.keytab.
      Entry for principal host/kdc3.example.com with kvno 3, encryption type DES cbc mode
                with RSA-MD5 added to keytab WRFILE:/etc/krb5/krb5.keytab.
      kadmin: 
    2. Quittez kadmin.
      kadmin: quit
  8. Sur le KDC maître, ajoutez le nom du KDC esclave à la tâche cron , qui exécute automatiquement les sauvegardes, en exécutant crontab -e.

    Ajoutez le nom de chaque serveur KDC esclave à la fin de la ligne kprop_script.

    10 3 * * * /usr/lib/krb5/kprop_script kdc2.example.com kdc3.example.com

    Vous pouvez aussi modifier l'heure des sauvegardes. Cette entrée démarre le processus de sauvegarde tous les jours à 3h10.

  9. Sur le nouvel esclave, démarrez le démon de propagation Kerberos.
    kdc3 # svcadm enable network/security/krb5_prop
  10. Sur le KDC maître, sauvegardez et propagez la base de données à l'aide de kprop_script.

    Si une copie de sauvegarde de la base de données est déjà disponible, il n'est pas nécessaire d'effectuer une autre sauvegarde. Reportez-vous à la section Propagation manuelle de la base de données Kerberos aux KDC esclaves pour obtenir des instructions.

    kdc1 # /usr/lib/krb5/kprop_script kdc3.example.com
    Database propagation to kdc3.example.com: SUCCEEDED
  11. Sur le nouvel esclave, créez un fichier stash à l'aide de kdb5_util .
    kdc3 # /usr/sbin/kdb5_util stash
    kdb5_util: Cannot find/read stored master key while reading master key
    kdb5_util: Warning: proceeding without master key
    
    Enter KDC database master key: <Type the key>
  12. (Facultatif) Sur le nouveau KDC esclave, synchronisez l'horloge du KDC maître à l'aide du protocole NTP ou d'un autre mécanisme de synchronisation de l'horloge.

    L'installation et l'utilisation du protocole NTP (Network Time Protocol) ne sont pas requises. Cependant, chaque horloge doit être réglée sur l'heure par défaut définie dans la section libdefaults du fichier krb5.conf pour que l'authentification s'exécute correctement. Pour plus d'informations sur le protocole NTP, reportez-vous à la section Synchronisation des horloges entre les KDC et les clients Kerberos.

  13. Sur le nouvel esclave, démarrez le démon KDC (krb5kdc).
    kdc3 # svcadm enable network/security/krb5kdc

Procédure de vérification de la synchronisation des serveurs KDC

Si la propagation incrémentielle a été configurée, cette procédure permet de s'assurer que les informations sur le KDC esclave ont été mises à jour.

  1. Sur le serveur KDC maître, exécutez la commande kproplog.
    kdc1 # /usr/sbin/kproplog -h
  2. Sur un serveur KDC esclave, exécutez la commande kproplog.
    kdc2 # /usr/sbin/kproplog -h
  3. Vérifiez que les valeurs du dernier numéro de série et du dernier horodatage correspondent.

Exemple 23-14 Vérification de la synchronisation des serveurs KDC

L'exemple suivant est un exemple des résultats de l'exécution de la commande kproplog sur le serveur KDC maître.

kdc1 # /usr/sbin/kproplog -h

Kerberos update log (/var/krb5/principal.ulog)
Update log dump:
    Log version #: 1
    Log state: Stable
    Entry block size: 2048
    Number of entries: 2500
    First serial #: 137966
    Last serial #: 140465
    First time stamp: Fri Nov 28 00:59:27 2004
    Last time stamp: Fri Nov 28 01:06:13 2004

L'exemple suivant est un exemple des résultats de l'exécution de la commande kproplog sur le serveur KDC esclave.

kdc2 # /usr/sbin/kproplog -h

Kerberos update log (/var/krb5/principal.ulog)
Update log dump:
    Log version #: 1
    Log state: Stable
    Entry block size: 2048
    Number of entries: 0
    First serial #: None
    Last serial #: 140465
    First time stamp: None
    Last time stamp: Fri Nov 28 01:06:13 2004

Notez que les valeurs pour le dernier numéro de série et le dernier horodatage sont identiques, ce qui indique que l'esclave est synchronisé avec le serveur KDC maître.

Dans la sortie du serveur KDC esclave, notez qu'aucune entrée de mise à jour n'existe dans le journal de mise à jour du serveur KDC esclave. Il n'y a pas d'entrées dans la mesure où le serveur KDC esclave ne conserve pas de jeu de mises à jour, à l'inverse du serveur KDC maître. En outre, le serveur KDC esclave n'inclut pas d'informations sur le premier numéro de série ou le premier horodatage car il ne s'agit pas d'informations pertinentes.

Propagation manuelle de la base de données Kerberos aux KDC esclaves

Cette procédure vous indique comment propager la base de données Kerberos à l'aide de la commande kprop. Utilisez cette procédure si vous avez besoin de synchroniser un KDC esclave avec le KDC maître à l'extérieur de la tâche périodique cron. À la différence de kprop_script , vous pouvez utiliser kprop pour propager uniquement la sauvegarde actuelle de la base de données sans nouvelle sauvegarde préalable de la base de données Kerberos.


Remarque - N'utilisez pas cette procédure si vous utilisez la propagation incrémentielle.


  1. Connectez-vous en tant que superutilisateur au KDC maître.
  2. (Facultatif) Sauvegardez la base de données à l'aide de la commande kdb5_util.
    # /usr/sbin/kdb5_util dump /var/krb5/slave_datatrans
  3. Propagez la base de données à un KDC esclave en utilisant la commande kprop.
    # /usr/lib/krb5/kprop -f /var/krb5/slave_datatrans slave-KDC

Exemple 23-15 Propagation manuelle de la base de données Kerberos au KDC esclave à l'aide de kprop_script

Si vous souhaitez sauvegarder la base de données et la propager à un KDC esclave à l'extérieur de la tâche périodique cron, vous pouvez également utiliser la commande kprop_script comme suit :

# /usr/lib/krb5/kprop_script slave-KDC

Configuration d'une propagation parallèle

Dans la plupart des cas, le KDC maître est utilisé exclusivement pour propager sa base de données Kerberos aux KDC esclaves. Cependant, si votre site comporte beaucoup de KDC esclaves, vous pouvez envisager le partage de la charge du processus de propagation, aussi appelé propagation parallèle.


Remarque - N'utilisez pas cette procédure si vous utilisez la propagation incrémentielle.


La propagation parallèle autorise des KDC esclaves spécifiques à partager les fonctions de propagation avec le KDC maître. Ce partage permet à la propagation de s'effectuer plus rapidement et d'alléger la charge du KDC maître.

Par exemple, supposons que votre site dispose d'un KDC maître et de six KDC esclaves (illustrés dans la Figure 23-2), où slave-1 jusqu'à slave-3 correspond à un regroupement logique et slave-4 jusqu'à slave-6 correspond à un autre regroupement logique. Pour configurer une propagation parallèle, vous pouvez faire en sorte que le KDC maître propage la base de données à slave-1 et slave-4. À leur tour, ces KDC esclaves pourraient propager la base de données aux KDC esclaves dans leur groupe.

Figure 23-2 Exemple de configuration de propagation parallèle

image:Le diagramme présente un KDC maître avec deux esclaves de propagation. Chaque esclave de propagation propage la base de données du KDC maître à ses esclaves.

Étapes de configuration d'une propagation parallèle

Ce qui suit n'est pas une procédure détaillée étape par étape, mais une liste de haut niveau des étapes de configuration permettant d'activer la propagation parallèle. Ces étapes impliquent ce qui suit :

  1. Sur le KDC maître, modification de l'entrée kprop_script dans sa tâche cron afin d'inclure les arguments uniquement pour les KDC esclaves qui effectueront la propagation suivante (les esclaves de propagation).

  2. Sur chaque esclave de propagation, l'ajout d'une entrée kprop_script dans sa tâche cron, qui doit inclure les arguments pour que les esclaves réalisent la propagation. Pour que la propagation parallèle s'effectue, la tâche cron doit être configurée de sorte qu'elle s'exécute après que la nouvelle base de données Kerberos soit propagée à l'esclave de propagation.


    Remarque - Le temps que prend un esclave de propagation à se propager dépend de facteurs tels que la bande passante du réseau et la taille de la base de données Kerberos.


  3. Sur chaque KDC esclave, configurez les autorisations appropriées à propager. Cette étape s'effectue en ajoutant le nom de l'hôte principal de son KDC de propagation à son fichier kpropd.acl.

Exemple 23-16 Configuration d'une propagation parallèle

Dans la Figure 23-2, l'entrée kprop_script du KDC maître doit ressembler à ce qui suit :

0 3 * * * /usr/lib/krb5/kprop_script slave-1.example.com slave-4.example.com

L'entrée kprop_script du slave-1 doit ressembler à ce qui suit :

0 4 * * * /usr/lib/krb5/kprop_script slave-2.example.com slave-3.example.com

Notez que la propagation sur l'esclave démarre une heure après sa propagation par le maître.

Le fichier kpropd.acl sur les esclaves de propagation doit contenir l'entrée suivante :

host/master.example.com@EXAMPLE.COM

Le fichier kpropd.acl sur les KDC esclaves propagés par slave-1 contient l'entrée suivante :

host/slave-1.example.com@EXAMPLE.COM

Administration du fichier stash

Le fichier stash contient la clé principale de la base de données Kerberos, qui est créée automatiquement lorsque vous créez une base de données Kerberos. Si le fichier stash est corrompu, vous pouvez utiliser la commande stash de l'utilitaire kdb5_util pour remplacer le fichier corrompu. Le seul moment où vous devez supprimer un fichier stash est après la suppression de la base de données Kerberos avec la commande destroy de kdb5_util. Dans la mesure où le fichier stash n'est pas automatiquement supprimé avec la base de données, vous devez d'abord supprimer le fichier stash pour terminer le nettoyage.

Procédure de suppression d'un fichier stash

  1. Connectez-vous en tant que superutilisateur au KDC contenant le fichier stash.
  2. Supprimez le fichier stash.
    # rm stash-file

    stash-file est le chemin d'accès du fichier stash. Par défaut, le fichier stash est situé dans /var/krb5/.k5. realm.


    Remarque - Si vous devez recréer le fichier stash, vous pouvez utiliser l'option - f de la commande kdb5_util.