Gestion de Kerberos et d'autres services d'authentification dans Oracle® Solaris 11.2

Quitter la vue de l'impression

Mis à jour : Septembre 2014
 
 

Configuration manuelle d'un KDC esclave

    Dans cette procédure, un nouveau KDC esclave nommé kdc2 est configuré. En outre, la propagation incrémentielle est configurée. Cette procédure utilise les paramètres de configuration ci-dessous :

  • Nom de domaine = EXAMPLE.COM

  • Nom de domaine DNS = example.com

  • KDC maître = kdc1.example.com

  • KDC esclave = kdc2.example.com

  • admin principal = kws/admin

Avant de commencer

Le KDC maître est configuré. Si cet esclave doit être échangeable, suivez les instructions de la section Echange d'un KDC maître et d'un KDC esclave.

Vous devez prendre le rôle root sur le serveur KDC. Pour plus d'informations, reportez-vous à la section A l’aide de vos droits administratifs attribués du manuel Sécurisation des utilisateurs et des processus dans Oracle Solaris 11.2 .

  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: xxxxxxxx
    kadmin: 

    Pour plus d'informations, reportez-vous à la page de manuel kadmin(1M).

    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/kdc2.example.com
      Principal "host/kdc2.example.com@EXAMPLE.COM" created.
      kadmin: 
    2. Sur le maître KDC, créez le principal pour la propagation incrémentielle.

      Le principal kiprop est utilisé pour autoriser la propagation incrémentielle à partir du KDC maître.

      kadmin: addprinc -randkey kiprop/kdc2.example.com
      Principal "kiprop/kdc2.example.com@EXAMPLE.COM" created.
      kadmin:
    3. Quitter kadmin.
      kadmin: quit
  2. Sur le KDC maître, modifiez le fichier de configuration Kerberoskrb5.conf.

    Vous devez ajouter une entrée pour chaque esclave. Pour plus d'informations sur ce fichier, reportez-vous à la page de manuel krb5.conf(4).

    kdc1 # pfedit /etc/krb5/krb5.conf
    .
    .
    [realms]
    EXAMPLE.COM = {
    kdc = kdc1.example.com
    kdc = kdc2.example.com
    admin_server = kdc1.example.com
    }
  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 pour le serveur kdc2.

    kdc1 # pfedit /etc/krb5/kadm5.acl
    */admin@EXAMPLE.COM *
    kiprop/kdc2.example.com@EXAMPLE.COM p
  4. Sur le KDC maître, redémarrez le service kadmind pour utiliser les nouvelles entrées dans le fichier kadm5.acl.
    kdc1 # svcadm restart network/security/kadmin
  5. Sur tous les KDC esclaves, copiez les fichiers d'administration KDC à partir du serveur KDC maître.

      Chaque esclave KDC doit contenir des informations à jour sur les serveur KDC maître. Vous pouvez utiliser ftp ou tout autre mécanisme de transfert similaire pour obtenir des copies des fichiers suivants à partir du KDC maître :

    • /etc/krb5/krb5.conf

    • /etc/krb5/kdc.conf

  6. Sur tous les KDC esclaves, ajoutez une entrée pour le KDC maître et le KDC esclave dans le fichier de configuration de propagation de base de données, kpropd.acl.

    Ces informations doivent être mises à jour sur tous les serveurs KDC esclaves.

    kdc2 # pfedit /etc/krb5/kpropd.acl
    host/kdc1.example.com@EXAMPLE.COM
    host/kdc2.example.com@EXAMPLE.COM
  7. 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 à l'exemple suivant :

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

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

  8. Sur le nouvel esclave, définissez son intervalle d'interrogation dans le fichier kdc.conf.

    Remplacez l'entréesunw_dbprop_master_ulogsize par une entrée qui définit l'intervalle d'interrogation de l'esclave. L'entrée suivante définit la durée d'interrogation sur deux minutes :

    kdc1 # pfedit /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
    }
  9. Sur le nouvel esclave, démarrez la commande kadmin.

    Connectez-vous à l'aide de l'un des noms de principal admin créés lors de la configuration du KDC maître.

    kdc2 # /usr/sbin/kadmin -p kws/admin
    Enter password: xxxxxxxx
    kadmin: 
    1. Ajoutez l'hôte principal de l'esclave au fichier keytab de l'esclave en utilisant kadmin.

      Cette entrée permet à la commande 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. Pour plus d'informations, reportez-vous à la page de manuel kprop(1M).

      kadmin: ktadd host/kdc2.example.com
      Entry for principal host/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 host/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 host/kdc2.example.com with kvno 3, encryption type Triple DES cbc
      mode with HMAC/sha1 added to keytab WRFILE:/etc/krb5/krb5.keytab.
      kadmin: 
    2. Ajoutez le principal kiprop au fichier keytab du KDC esclave.

      L'ajout du principal kiprop au fichier krb5.keytab permet à la commande kpropd de s'authentifier elle-même lors du lancement de la propagation incrémentielle.

      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.
      kadmin: 
    3. Quitter kadmin.
      kadmin: quit
  10. Sur le nouvel esclave, démarrez le démon de propagation Kerberos.
    kdc2 # svcadm enable network/security/krb5_prop
  11. Sur le nouvel esclave, créer un fichier stash à l'aide de la commande kdb5_util.
    kdc2 # /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: xxxxxxxx

    Pour plus d'informations, reportez-vous à la page de manuel kdb5_util(1M).

  12. Synchroniser l'horloge de ce système avec d'autres horloges dans le domaine à l'aide du NTP ou d'un autre mécanisme.

    Pour une authentification réussie, chaque horloge doit être réglée sur l'heure par défaut définie dans la section libdefaults du fichier krb5.conf. Pour plus d'informations, reportez-vous à la page de manuel krb5.conf(4). Pour plus d'informations sur le NTP (Network Time Protocol), reportez-vous à la section Synchronisation des horloges entre les KDC et les clients Kerberos.

  13. Sur le nouvel esclave, démarrer le démon KDC.
    kdc2 # svcadm enable network/security/krb5kdc

Etapes suivantes

Revenir à la NTP KDC maître KDC après la le serveur KDC maître à un client NTP sur le serveur NTP.