JavaScript is required to for searching.
Ignorer les liens de navigation
Quitter l'aperu
Administration d'Oracle Solaris 11.1 : Services de sécurité     Oracle Solaris 11.1 Information Library (Français)
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.  Service d'analyse antivirus (tâches)

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

6.  Vérification de l'intégrité des fichiers à l'aide de BART (tâches)

7.  Contrôle de l'accès aux fichiers (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.  Attributs de sécurité dans Oracle Solaris (référence)

Partie IV Services cryptographiques

11.  Structure cryptographique (présentation)

12.  Structure cryptographique (tâches)

13.  Structure de gestion des clés

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

14.  Utilisation de modules d'authentification enfichables

15.  Utilisation de Secure Shell

16.  Secure Shell (référence)

17.  Utilisation de l'authentification simple et de la couche de sécurité

18.  Authentification des services réseau (tâches)

Partie VI Service Kerberos

19.  Introduction au service Kerberos

20.  Planification du service Kerberos

21.  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

Configuration automatique d'un KDC maître

Configuration interactive d'un KDC maître

Configuration manuelle d'un KDC maître

Configuration d'un KDC pour l'utilisation d'un serveur de données LDAP

Configuration automatique d'un KDC esclave

Configuration interactive d'un KDC esclave

Configuration manuelle d'un KDC esclave

Actualisation des clés TGS sur un serveur maître

Configuration de l'authentification inter-domaine

Etablissement de l'authentification inter-domaine hiérarchique

Etablissement de l'authentification inter-domaine directe

Configuration des serveurs d'application réseau Kerberos

Configuration d'un serveur d'application réseau Kerberos

Utilisation du service de sécurité générique avec Kerberos lors de l'exécution FTP

Configuration de serveurs NFS Kerberos

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

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)

Création d'un profil d'installation de client Kerberos

Configuration automatique d'un client Kerberos

Configuration interactive d'un client Kerberos

Configuration d'un client Kerberos pour un serveur Active Directory

Configuration manuelle d'un client Kerberos

Désactivation de la vérification du ticket d'octroi de tickets

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

Configuration du verrouillage de compte

Renouvellement automatique de tous les tickets d'octroi de tickets

Synchronisation des horloges entre les KDC et les clients Kerberos

Echange d'un KDC maître et d'un KDC esclave

Configuration d'un KDC échangeable

Echange 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

Restauration de la base de données Kerberos

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

Reconfiguration d'un KDC esclave pour l'utilisation de la propagation incrémentielle

Configuration d'un KDC esclave pour l'utilisation de la propagation complète

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

Etapes de configuration d'une propagation parallèle

Administration du fichier stash

Suppression d'un fichier stash

Utilisation d'une nouvelle clé principale

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

Association des attributs de principaux Kerberos dans un type de classe d'objet non Kerberos

Suppression d'un domaine d'un serveur d'annuaire LDAP

Renforcement de la sécurité des serveurs Kerberos

Restriction de l'accès aux serveurs KDC

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

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

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

24.  Utilisation des applications Kerberos (tâches)

25.  Service Kerberos (référence)

Partie VII Audit dans Oracle Solaris

26.  Audit (présentation)

27.  Planification de l'audit

28.  Gestion de l'audit (tâches)

29.  Audit (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 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 aux KDC esclaves 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, les KDC esclaves n'auront 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 altérée. 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 l'altération se produit sur le KDC maître, la base de données altérée est propagée à l'ensemble des KDC esclaves pendant la propagation suivante. Et, la sauvegarde altérée é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 altérée 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

Avant de commencer

Vous devez prendre le rôle root. Pour plus d'informations, reportez-vous à la section Utilisation de vos droits d'administration.

Exemple 21-19 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

Restauration de la base de données Kerberos

Avant de commencer

Sur le maître KDC, vous devez prendre le rôle root. Pour plus d'informations, reportez-vous à la section Utilisation de vos droits d'administration.

  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. 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.

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

Exemple 21-20 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

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.

Sur le maître KDC, vous devez prendre le rôle root. Pour plus d'informations, reportez-vous à la section Utilisation de vos droits d'administration.

  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 :

Avant de commencer

Vous devez prendre le rôle root. Pour plus d'informations, reportez-vous à la section Utilisation de vos droits d'administration.

  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
                    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. 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
  4. 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
  5. Redémarrez kadmind.
    kdc1 # svcadm restart network/security/kadmin
  6. Reconfigurez tous les serveurs KDC esclaves qui utilisent la propagation incrémentielle.

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

Reconfiguration d'un KDC esclave pour l'utilisation de la propagation incrémentielle

Avant de commencer

Vous devez prendre le rôle root. Pour plus d'informations, reportez-vous à la section Utilisation de vos droits d'administration.

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

    La première nouvelle entrée permet active la propagation incrémentielle. La deuxième nouvelle entrée définit la durée d'interrogation sur deux minutes.

    kdc2 # cat /etc/krb5/kdc.conf
    [kdcdefaults]
            kdc_ports = 88,750
    
    [realms]
            EXAMPLE.COM= {
                    profile = /etc/krb5/krb5.conf
                    database_name = /var/krb5/principal
                    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. Redémarrez kpropd.
    kdc2 # svcadm restart network/security/krb5_prop

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 Solaris 10 pour qu'il utilise la propagation complète. Normalement, la procédure est utilisée 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 Echange d'un KDC maître et d'un KDC esclave.

Sur le KDC maître, vous devez prendre le rôle root. Pour plus d'informations, reportez-vous à la section Utilisation de vos droits d'administration.

  1. 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 service de noms.

      kadmin: addprinc -randkey host/kdc3.example.com
      Principal "host/kdc3@EXAMPLE.COM" created.
      kadmin: 
    2. Quittez kadmin.
      kadmin: quit
  2. 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
            }
  3. 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
  4. 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

  5. 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.

  6. 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 service de noms.

      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
  7. 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.

  8. Sur le nouvel esclave, démarrez le démon de propagation Kerberos.
    kdc3 # svcadm enable network/security/krb5_prop
  9. 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
  10. 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>
  11. (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.

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

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.

Avant de commencer

Vous devez prendre le rôle root. Pour plus d'informations, reportez-vous à la section Utilisation de vos droits d'administration.

  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 21-21 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. A 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.


Avant de commencer

Vous devez prendre le rôle root. Pour plus d'informations, reportez-vous à la section Utilisation de vos droits d'administration.

  1. (Facultatif) Sauvegardez la base de données à l'aide de la commande kdb5_util.
    # /usr/sbin/kdb5_util dump /var/krb5/slave_datatrans
  2. 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 21-22 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 21-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. A leur tour, ces KDC esclaves pourraient propager la base de données aux KDC esclaves dans leur groupe.

Figure 21-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.

Etapes 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 21-23 Configuration d'une propagation parallèle

Dans la Figure 21-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 endommagé, vous pouvez utiliser la commande stash de l'utilitaire kdb5_util pour remplacer le fichier endommagé. 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.

Suppression d'un fichier stash

Avant de commencer

Vous devez prendre le rôle root. Pour plus d'informations, reportez-vous à la section Utilisation de vos droits d'administration.

Utilisation d'une nouvelle clé principale

Avant de commencer

Vous devez prendre le rôle root. Pour plus d'informations, reportez-vous à la section Utilisation de vos droits d'administration.

  1. Créez une nouvelle clé principale.

    Cette commande ajoute une nouvelle clé principale, générée de façon aléatoire. L'option -s requiert que la nouvelle clé principale soit stockée dans le fichier keytab par défaut.

    # kdb5_util add_mkey -s
    
    Creating new master key for master key principal 'K/M@EXAMPLE.COM'
    You will be prompted for a new database Master Password.
    It is important that you NOT FORGET this password. 
    Enter KDC database master key: <Type the password>
    Re-enter KDC database master key to verify: <Type it again>
  2. Vérifiez que la nouvelle clé principale existe.
    # kdb5_util list_mkeys
    Master keys for Principal: K/M@EXAMPLE.COM
    KNVO: 2, Enctype: AES-128 CTS mode with 96-bit SHA-1 HMAC, No activate time set
    KNVO: 1, Enctype: DES cbc mode with RSA-MD5, Active on: Wed Dec 31 18:00:00 CST 2001 *

    L'astérisque dans cette sortie identifie la clé principale actuellement active.

  3. Définissez le moment auquel la nouvelle clé principale deviendra active.
    # date
    Fri Jul 1 17:57:00 CDT 2011
    # kdb5_util use_mkey 2 'now+2days'
    # kdb5_util list_mkeys
    Master keys for Principal: K/M@EXAMPLE.COM
    KNVO: 2, Enctype: AES-128 CTS mode with 96-bit SHA-1 HMAC, Active on: Sun Jul 03 17:57:15 CDT 2011
    KNVO: 1, Enctype: DES cbc mode with RSA-MD5, Active on: Wed Dec 31 18:00:00 CST 2001 *

    Dans cet exemple, la date est définie deux jours plus tard pour laisser le temps à la nouvelle clé principale de se propager à tous les KDC. Ajustez la date selon les besoins de votre environnement.

  4. (Facultatif) Après la création d'un nouveau principal, vérifiez que la nouvelle clé principale est en cours d'utilisation.
    # kadmin.local -q 'getprinc jimf' |egrep 'Principal|MKey'
    Authenticating as principal root/admin@EXAMPLE.COM with password.
    Principal: jimf@EXAMPLE.COM
    MKey: vno 2

    Dans cet exemple, MKey: vno 2 indique que la clé secrète du principal est protégée par la nouvelle clé principale 2.

  5. Re-chiffrez les clés secrètes de l'utilisateur principal avec la nouvelle clé principale.

    Si vous ajoutez un argument de modèle à la fin de la commande, les principaux qui correspondent au modèle seront mis à jour. Ajoutez l'option -n à la syntaxe de cette commande afin d'identifier les principaux qui seront mis à jour.

    # kdb5_util update_princ_encryption -f -v
    Principals whose keys WOULD BE re-encrypted to master key vno 2:
    updating: host/kdc1.example.com@EXAMPLE.COM
    skipping:   jimf@EXAMPLE.COM
    updating: kadmin/changepw@EXAMPLE.COM
    updating: kadmin/history@EXAMPLE.COM
    updating: kdc/admin@EXAMPLE.COM
    updating: host/kdc2.example.com@EXAMPLE.COM
    6 principals processed: 5 updated, 1 already current
  6. Purgez l'ancienne clé principale.

    Lorsqu'une clé principale n'est plus utilisée pour protéger les clés secrètes des principaux, elle peut être purgée du principal de la clé principale. Cette commande ne purge pas la clé si celle-ci est encore utilisée par des principaux. Ajoutez l'option -n à cette commande pour vérifier que la clé principale appropriée sera purgée.

    # kdb5_util purge_mkeys -f -v
    Purging the follwing master key(s) from K/M@EXAMPLE.COM:
    KNVO: 1
    1 key(s) purged.
  7. Vérifiez que l'ancienne clé principale a été purgée.
    # kdb5_util list_mkeys
    Master keys for Principal: K/M@EXAMPLE.COM
    KNVO: 2, Enctype: AES-128 CTS mode with 96-bit SHA-1 HMAC, Active on: Sun Jul 03 17:57:15 CDT 2011 *
  8. Mettez à jour le fichier stash.
    # kdb5_util stash
    Using existing stashed keys to update stash file.
  9. Vérifiez que le fichier stash a été mis à jour.
    # klist -kt /var/krb5/.k5.EXAMPLE.COM
    Keytab name: FILE:.k5.EXAMPLE.COM
    KVNO Timestamp              Principal
    ---- ---------------- ---------------------------------------------------------
       2 05/07/2011 15:08 K/M@EXAMPLE.COM