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 maître

    Dans cette procédure, 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

  • admin principal = kws/admin

  • URL de l'aide en ligne = http://docs.oracle.com/cd/E23824_01/html/821-1456/aadmin-23.html


    Remarque -  Ajuster l'URL de sorte qu'il pointe vers l'emplacement de l'aide en ligne, comme décrit dans Interface graphique gkadmin.

Avant de commencer

L'hôte soit configuré pour utiliser DNS. Pour obtenir des instructions de nommage spécifiques afin de déterminer si ce maître doit être échangeable, reportez-vous à la section Echange d'un KDC maître et d'un KDC esclave.

Vous devez prendre le rôle root. 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. Installation du package KDC.

    Suivez les instructions de la section Installation du package KDC.

  2. Edition du fichier de configuration Kerberos, krb5.conf.

    Pour plus d'informations sur ce fichier, reportez-vous à la page de manuel krb5.conf(4).

    Dans cet exemple, l'administrateur modifie les lignes pour default_realm, kdc, admin_ server et toutes les entrées domain_realm et édite l'entrée help_url.

    kdc1 # pfedit /etc/krb5/krb5.conf
    ...
    [libdefaults]
    default_realm = EXAMPLE.COM
    
    [realms]
    EXAMPLE.COM = {
    kdc = kdc1.example.com
    admin_server = kdc1.example.com
    }
    
    [domain_realm]
    .example.com = EXAMPLE.COM
    #
    # if the domain name and realm name are equivalent,
    # this entry is not needed
    #
    [logging]
    default = FILE:/var/krb5/kdc.log
    kdc = FILE:/var/krb5/kdc.log
    
    [appdefaults]
    gkadmin = {
    help_url = http://docs.oracle.com/cd/E23824_01/html/821-1456/aadmin-23.html
    }

    Remarque -  Si vous devez communiquer à l'aide d'une version antérieure, vous aurez sans doute besoin Kerberos pour limiter les types de chiffrement. Pour une description des problèmes liés à la restriction des types de chiffrement, reportez-vous à la section Types de chiffrement Kerberos.
  3. Attribution d'un nom au fichier de configuration du domaine, dans le KDC. kdc.conf

    Pour plus d'informations sur ce fichier, reportez-vous à la page de manuel kdc.conf(4).

    Dans cet exemple, en plus de la définition du nom de domaine, l'administrateur modifie la propagation incrémentielle et erreurs de journalisation.

    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_master_ulogsize = 1000
    }

    Remarque -  Si vous devez communiquer à l'aide d'une version antérieure, vous aurez sans doute besoin Kerberos pour limiter les types de chiffrement. Pour une description des problèmes liés à la restriction des types de chiffrement, reportez-vous à la section Types de chiffrement Kerberos.
  4. Créer la base de données KDC à l'aide de la commande kdb5_util.

    La commande kdb5_util crée la base de données KDC. En outre, lorsqu'elle est utilisée avec l'option –s, cette commande crée un fichier stash utilisé pour authentifier le KDC à lui-même avant le lancement des démons kadmind et krb5kdc. Pour plus d'informations, reportez-vous aux pages de manuel kdb5_util(1M), kadmind(1M) etkrb5kdc(1M).

    kdc1 # /usr/sbin/kdb5_util create -s
    Initializing database '/var/krb5/principal' for realm 'EXAMPLE.COM'
    master key name 'K/M@EXAMPLE.COM'
    You will be prompted for the database Master Password.
    It is important that you NOT FORGET this password.
    Enter KDC database master key:/** Type strong password **/
    Re-enter KDC database master key to verify: xxxxxxxx

    Conseil  -  Si cette étape échoue, vérifiez que le est identifié à l'aide d'un KDC FQDN du principal.
    # getent hosts IP-address-of-KDC
    IP-address-of-KDC kdc/** This entry does not include FQDN **/
    Ensuite, ajoutez le FQDN sous forme de première entrée KDC de votre fichier /etc/hosts, par exemple :
    IP-address-of-KDC kdc.kdc-principal.example.com kdc

  5. Editer le fichier de la liste de contrôle d'accès Kerberos, kadm5.acl.

    Une fois renseigné, le fichier /etc/krb5/kadm5.acl doit contenir tous les noms de principaux autorisés à administrer le KDC.

    kws/admin@EXAMPLE.COM   *

    L'entrée précédente donne au principal kws/admin du domaine EXAMPLE.COM la possibilité de modifier les principaux et les stratégies dans le KDC. La valeur par défaut de l'entrée du principal est un astérisque (*), qui renvoie à tous les principaux admin. Cette entrée peut se présenter un risque en matière de sécurité. Modifiez le fichier de façon explicite afin de pouvoir répertorier chaque principal admin ainsi que leurs droits. Pour plus d'informations, reportez-vous à la page de manuel kadm5.acl(4).

  6. Ajoutez les principaux d'administration à la base de données.

    Vous pouvez ajouter autant de principaux admin que nécessaire. Vous devez ajouter au moins un principal admin pour terminer le processus de configuration du KDC. Pour cet exemple, un principal kws/admin est ajouté. Vous pouvez remplacer "kws" par le nom de principal approprié.

    kadmin.local: addprinc kws/admin
    Enter password 
    for principal kws/admin@EXAMPLE.COM:/** Type strong password **/
    Re-enter password 
    for principal kws/admin@EXAMPLE.COM: xxxxxxxx
    Principal "kws/admin@EXAMPLE.COM" created.
    kadmin.local: 

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

  7. Démarrez les démons Kerberos.
    kdc1 # svcadm enable -r network/security/krb5kdc
    kdc1 # svcadm enable -r network/security/kadmin
  8. Démarrez kadmin et ajoutez d'autres principaux.
    kdc1 # /usr/sbin/kadmin -p kws/admin
    Enter password: xxxxxxxx
    kadmin:
    1. Créer le KDC maître host Principal.

      L'hôte principal est utilisé par les applications utilisant Kerberos, notamment kprop, pour propager les modifications aux KDC esclaves. Ce principal est également utilisé pour fournir un accès à distance sécurisé au serveur KDC à l'aide d'applications de réseau, comme ssh. 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/kdc1.example.com
      Principal "host/kdc1.example.com@EXAMPLE.COM" created.
      kadmin: 
    2. (Facultatif) Créer le principal kclient.

      Ce principal est utilisé par l'utilitaire kclient au cours de l'installation d'un client Kerberos. Si vous n'avez pas l'intention d'utiliser cet utilitaire, vous n'avez pas besoin d'ajouter le principal. Les utilisateurs de l'utilitaire kclient doivent utiliser ce mot de passe. Pour plus d'informations, reportez-vous à la page de manuel kclient(1M).

      kadmin: addprinc clntconfig/admin
      Enter password for principal clntconfig/admin@EXAMPLE.COM:/** Type strong  password **/
      Re-enter password for principal clntconfig/admin@EXAMPLE.COM: xxxxxxxx
      Principal "clntconfig/admin@EXAMPLE.COM" created.
      kadmin: 

      Remarque -  Enregistrer et stocker ce mot de passe dans un endroit sûr.
    3. Ajouter des privilèges au principal clntconfig/admin.

      Modifiez le fichier kadm5.acl afin d'accorder au principal clntconfig les privilèges suffisants pour réaliser les tâches d'installation kclient.

      # pfedit /etc/krb5/kadm5.acl
      ...
      clntconfig/admin@EXAMPLE.COM  acdilm 
    4. Ajouter le principal host du KDC maître au fichier keytab du KDC maître.

      L'ajout du principal d'hôte au fichier keytab permet aux serveurs d'application d'utiliser automatiquement ce principal, comme par exemple sshd.

      kadmin: ktadd host/kdc1.example.com
      Entry for principal host/kdc1.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/kdc1.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/kdc1.example.com with kvno 3, encryption type Triple DES cbc
      mode with HMAC/sha1 added to keytab WRFILE:/etc/krb5/krb5.keytab.
      kadmin: 
    5. Quitter kadmin.
      kadmin: quit
  9. L'horloge synchroniser ce du système dans le domaine de gestion des identités avec d'autres à l'aide des horloges NTP ou 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.


    Remarque -  Ne peut pas être le la NTP KDC maître serveur. Si vous ne disposez pas d'un serveur NTP KDC, revenez à la une fois le serveur NTP maître est installé et que vous rendez les maître NTP KDC un client du serveur.
  10. Configurez les KDC esclaves.

    Pour assurer la redondance, veillez à installer au moins un KDC esclave. Suivez les instructions de la section Utilisation de kdcmgr pour configurer un KDC esclave ou Configuration manuelle d'un KDC esclave.