Guide du mécanisme d'authentification pour l'entreprise de Sun

Chapitre 3 Configuration de SEAM

Ce chapitre décrit les procédures de configuration des serveurs KDC, des serveurs d'application réseau, des serveurs NFS et des clients SEAM. Plusieurs de ces procédures exigent un accès de superutilisateur, et doivent donc être effectuées par un administrateur de système ou un utilisateur avancé. Les procédures de configuration intersecteur et d'autres rubriques concernant les serveurs KDC sont également présentées.

Mappage des tâches de configuration de SEAM

Certaines parties du processus de configuration dépendent d'autres parties, et doivent être effectuées dans un ordre précis. Ces procédures établissent souvent des services devant avoir recours à SEAM. D'autres procédures ne sont pas dépendantes, et peuvent être effectuées au moment opportun. Le tableau ci-dessous présente les étapes suggérées de l'installation de SEAM.

Tableau 3-1 Étapes préliminaires : ordre de configuration de SEAM

Tâche 

Description 

Pour des directives, consulter... 

1. Planifiez votre installation de SEAM 

 Considérez les questions de configuration et prenez les décisions pertinentes avant de débuter le processus d'installation du logiciel.Chapitre 2

2. (facultatif) Installez NTP 

 Pour que SEAM fonctionne correctement, les horloges de tous les systèmes dans le secteur doivent demeurer synchronisées."Synchronisation des horloges des KDC et des clients SEAM"

3. (facultatif) Exécutez la procédure de préconfiguration de SEAM 

 Pour faciliter l'installation d'un site comportant de nombreux hôtes, la procédure peut être exécutée de manière à stocker une bonne partie des informations d'installation sur un serveur NFS. Ces informations peuvent ensuite être employées au cours de l'installation.Installation et notes de version de SEAM

4. Configurez le serveur KDC maître 

 Étapes de configuration et de création du serveur KDC maître et de la base de données pour un secteur."Comment configurer un KDC maître"

5. (facultatif) Configurez un serveur KDC esclave 

 Étapes de configuration et de création d'un serveur KDC esclave pour un secteur."Comment configurer un KDC esclave"

6. (facultatif) Augmentez la sécurité sur les serveurs KDC 

 Étapes visant à empêcher les violations de sécurité sur les serveurs KDC."Comment limiter l'accès aux serveurs KDC"

7. (facultatif) Configurez les serveurs KDC permutables 

 Suivez les étapes de cette procédure pour faciliter la permutation du maître et d'un KDC esclave."Comment configurer un KDC esclave permutable"

Une fois les étapes requises effectuées, les procédures suivantes peuvent être utilisées au besoin.

Tableau 3-2 Étapes suivantes : tâches SEAM supplémentaires

Tâche 

Description 

Pour des directives, consulter... 

Configurez l'authentification intersecteur 

 Étapes permettant les communications d'un secteur à un autre."Configuration de l'authentification intersecteur"

Configurez les serveurs d'applications SEAM 

Étapes permettant à un serveur de prendre en charge des services tels que ftp, telnet et rsh au moyen de l'authentification Kerberos."Configuration des serveurs d'applications réseau SEAM"

Configurez les clients SEAM 

 Étapes permettant à un client d'utiliser les services SEAM."Configuration des clients SEAM"

Configurez le serveur NFS SEAM 

 Étapes permettant à un serveur de partager un système de fichiers exigeant une authentification Kerberos."Configuration des serveurs NFS SEAM"

Augmentez la sécurité sur un serveur d'applications 

 Étapes augmentant la sécurité sur un serveur d'applications en limitant l'accès aux transactions authentifiées seulement."Comment activer uniquement les applications compatibles Kerberos"

Configuration des serveurs KDC

Après avoir installé le logiciel SEAM, vous devez configurer les serveurs KDC. La configuration d'un centre de distribution de clés (KDC) maître et d'au moins un KDC esclave établit le service émettant les justificatifs d'identité. Ces justificatifs d'identité constituent la base de SEAM ; les KDC doivent donc être installés avant l'exécution d'autres tâches.

La principale différence entre un maître et un esclave est que seul le maître peut traiter les requêtes d'administration de base de données. Par exemple, le changement d'un mot de passe ou l'ajout d'un nouveau principal doit être effectué sur le KDC maître. Ces changements peuvent ensuite être propagés aux KDC esclaves. Les KDC maître et esclave génèrent des justificatifs d'identité ; cela procure une redondance au cas où le KDC maître soit incapable de répondre.

Comment configurer un KDC maître

Pour donner un exemple complet, supposons que vous n'avez pas exécuté la procédure de préconfiguration. Si vous avez utilisé la procédure de préconfiguration en installant le logiciel, plusieurs des fichiers inclus dans cette procédure n'ont pas besoin d'être modifiés ; vous devriez toutefois consulter le contenu des fichiers.

Dans cette procédure, les paramètres de configuration suivants sont utilisés :

  1. Conditions préalables à la configuration d'un KDC maître.

    Cette procédure exige que le logiciel du KDC maître soit installé. En outre, DNS doit être en cours d'exécution. Voir "Permutation de KDC maître et esclave" pour des directives de nomenclature particulières si ce maître doit être permutable.

  2. Adoptez l'identité de superutilisateur sur le KDC maître.

  3. Éditez le fichier de configuration Kerberos (krb5.conf).

    Vous devez changer les noms des secteurs et des serveurs. Pour une description complète de ce fichier, consultez la page de manuel krb5.conf(4). Si vous avez installé le logiciel SEAM au moyen des fichiers de configuration, vérifiez le contenu du fichier plutôt que de le modifier.


    kdc1 # cat /etc/krb5/krb5.conf
    [libdefaults]
            default_realm = ACME.COM
    
    [realms]
                    ACME.COM = {
                    kdc = kdc1.acme.com
                    kdc = kdc2.acme.com
                    admin_server = kdc1.acme.com
            }
    
    [domain_realm]
            .acme.com = ACME.COM
    #
    # si le nom du domaine et le nom du secteur sont équivalents,
    # cette entrée n'est pas nécessaire
    #
    [logging]
            default = FILE:/var/krb5/kdc.log
            kdc = FILE:/var/krb5/kdc.log
    
    [appdefaults]
        gkadmin = {
            help_url = http://denver:8888/ab2/coll.384.1/SEAM/@AB2PageView/6956
            }

    Dans cet exemple, les lignes correspondant à default_realm, kdc, admin_server et toutes les entrées domain_realm ont été modifiées. La ligne de default_realm est incluse pour rendre l'exemple complet, mais cette entrée ne sera pas créée par le processus d'installation si les noms de secteur et de domaine sont équivalents. En outre, la ligne définissant help_url a été modifiée.

  4. Éditez le fichier de configuration KDC (kdc.conf).

    Vous devez changer le nom du secteur. Pour une description complète de ce fichier, consultez la page de manuel kdc.conf(4). Si vous avez installé le logiciel SEAM au moyen des fichiers de configuration, vérifiez le contenu du fichier plutôt que de le modifier.


    kdc1 # cat /etc/krb5/kdc.conf
    [kdcdefaults]
            kdc_ports = 88,750
    
    [realms]
            ACME.COM= {
                    profile = /etc/krb5/krb5.conf
                    database_name = /var/krb5/principal
                    admin_keytab = /var/krb5/kadm5.keytab
                    acl_file = /var/krb5/kadm5.acl
                    kadmind_port = 749
                    max_life = 8h 0m 0s
                    max_renewable_life = 7d 0h 0m 0s
            }

    Dans cet exemple, la définition du nom du secteur dans la section realms a été modifiée.

  5. Créez la base de données KDC au moyen de kdb5_util.

    La commande kdb5_util crée la base de données KDC et, lorsqu'elle est utilisée avec l'option -s , crée un fichier de réserve permettant d'authentifier le KDC pour lui-même avant le lancement des démons kadmind et krb5kdc.


    kdc1 # /usr/krb5/sbin/kdb5_util create -r ACME.COM -s
    Initialisation de la base de données '/var/krb5/principal' du secteur 'ACME.COM'
    nom de la clé maîtresse 'K/M@ACME.COM'
    Il vous sera demandé d'entrer le mot de passe maître de la base de données.
    N'OUBLIEZ PAS ce mot de passe, il est essentiel.
    Entrez la clé maîtresse de la base de données KDC : <tapez la clé>
    	Entrez à nouveau la clé maîtresse de la base de données KDC pour vérifier :
    <tapez-la à nouveau>
    

    L'option -r suivie du nom du secteur n'est pas requise si le nom du secteur est équivalent au nom du domaine de l'espace de nom du serveur.

  6. Éditez le fichier de liste de contrôle d'accès Kerberos (kadm5.acl).

    Une fois rempli, /etc/krb5/kadm5.acl devrait contenir tous les noms de principal autorisés à administrer le KDC. Voici un exemple de première entrée ajoutée :


    kws/admin@ACME.COM   *

    Cette entrée autorise le principal kws/admin dans le secteur ACME.COM à modifier les principaux ou les politiques dans le KDC. L'installation par défaut inclut un symbole "*" afin de désigner tous les principaux admin. Vu que cela pourrait présenter des risques de sécurité, il est plus sécuritaire d'inclure une liste de tous les principaux admin.

  7. Lancez kadmin.local.

    Les sous-étapes suivantes créent les principaux utilisés par SEAM.


    kdc1 # /usr/krb5/sbin/kadmin.local
    kadmin.local: 
    1. Ajoutez les principaux d'administration à la base de données avec kadmin.local.

      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 taper un nom de principal approprié au lieu de "kws."


      kadmin.local: addprinc kws/admin
      Entrer le mot de passe du principal kws/admin@ACME.COM: <tapez le mot de passe>
      Entrer à nouveau le mot de passe du principal kws/admin@ACME.COM: <tapez-le à 
      nouveau>
      Principal "kws/admin@ACME.COM" créé.
      kadmin.local: 
    2. Créez un fichier de table de clés pour kadmin au moyen de kadmin.local.

      Cette suite de commandes crée un fichier de table de clés spécial avec des entrées de principal pour kadmin et changepw. Ces principaux sont requis pour le service kadmind.


      kadmin.local: ktadd -k /etc/krb5/kadm5.keytab kadmin/kdc1.acme.com
      Entrée pour le principal kadmin/kdc1.acme.com avec numéro de version de clé 3 et type de chiffrement
      DES-CBC-CRC ajoutée à la table de clés WRFILE:/etc/krb5/kadm5.keytab.
      kadmin.local: ktadd -k /etc/krb5/kadm5.keytab changepw/kdc1.acme.com
      Entrée pour le principal changepw/kdc1.acme.com avec numéro de version de clé 3 et type de chiffrement
      DES-CBC-CRC ajoutée à la table de clés WRFILE:/etc/krb5/kadm5.keytab.
      kadmin.local: 
    3. Quittez kadmin.local

      Vous avez ajouté tous les principaux requis pour les étapes suivantes.


      kadmin.local: quit
      
  8. Démarrez les démons Kerberos.


    kdc1 # /etc/init.d/kdc start
    kdc1 # /etc/init.d/kdc.master start
    
  9. Démarrez kadmin.

    Vous pouvez maintenant ajouter des principaux au moyen de l'outil d'administration SEAM. Cet exemple de ligne de commande est donné à des fins de simplicité. Vous devez vous connecter avec un des noms de principal admin créés antérieurement dans cette procédure.


    kdc1 # /usr/krb5/sbin/kadmin -p kws/admin
    Entrer le mot de passe : <Entrez le mot de passe kws/admin>
    kadmin: 
    1. Créez le principal de l'hôte du KDC maître avec kadmin.

      Le principal de l'hôte est utilisé par les applications compatibles Kerberos (telles que klist et kprop) ainsi que par les services compatibles Kerberos (tels que ftp et telnet).


      kadmin: addprinc -randkey host/kdc1.acme.com
      Principal "host/kdc1.acme.com@ACME.COM" créé. kadmin: 
    2. Facultatif : Créez le principal racine du KDC maître avec kadmin.

      Ce principal est employé pour le montage NFS authentifié, et peut donc ne pas être requis pour un KDC maître.


      kadmin: addprinc root/kdc1.acme.com
      Entrer le mot de passe du principal root/kdc1.acme.com@ACME.COM: <tapez le mot de passe>
      Entrer à nouveau le mot de passe du principal root/kdc1.acme.com@ACME.COM: <tapez-le à nouveau>
      Principal "root/kdc1.acme.com@ACME.COM" créé. kadmin: 
    3. Ajoutez le principal de l'hôte du KDC maître au fichier de table de clés du KDC maître.

      L'ajout du principal de l'hôte au fichier de table de clés permet à ce principal d'être automatiquement utilisé.


      kadmin: ktadd host/kdc1.acme.com
      kadmin: Entrée du principal host/kdc1.acme.com avec
        numéro de version de clé 3 et type de chiffrement DES-CBC-CRC ajoutée à la table de clés
        WRFILE:/etc/krb5/krb5.keytab 
      kadmin: quit
      
    4. Quittez kadmin


      kadmin: quit
      
  10. Ajoutez une entrée pour chaque KDC dans le fichier de configuration de propagation (kpropd.acl).

    Pour une description complète de ce fichier, consultez la page de manuel kprop(1M). Si vous avez installé le logiciel SEAM au moyen des fichiers de configuration, vérifiez le contenu du fichier plutôt que de le modifier.


    kdc1 # cat /etc/krb5/kpropd.acl
    host/kdc1.acme.com@ACME.COM
    host/kdc2.acme.com@ACME.COM
  11. Facultatif : Synchronisez l'horloge du KDC maître au moyen de NTP ou d'un autre mécanisme de synchronisation d'horloge.

    Il n'est pas nécessaire d'installer et d'utiliser NTP, mais chaque horloge doit être réglée à l'heure par défaut définie dans la section libdefaults du fichier krb5.conf pour que l'authentification réussisse. Voir le "Synchronisation des horloges des KDC et des clients SEAM" pour de plus amples renseignements sur NTP.

Comment configurer un KDC esclave

Dans cette procédure, un nouveau KDC esclave appelé kdc3 est configuré. Afin de fournir un exemple complet, on suppose que vous n'avez pas effectué la procédure de préconfiguration en installant le logiciel ou n'avez pas défini kdc3 comme esclave en exécutant la procédure de préconfiguration. Si vous avez effectué la procédure et identifié kdc3 comme esclave, plusieurs des fichiers inclus dans cette procédure n'auront pas besoin d'être édités, mais vous devriez vérifier le contenu des fichiers.

Cette procédure utilise les paramètres de configuration suivants :

  1. Conditions préalables à la configuration d'un KDC esclave.

    Cette procédure exige que le KDC maître soit configuré et que le logiciel du KDC esclave SEAM soit installé sur kdc3. Voir "Permutation de KDC maître et esclave" pour des directives spéciales si cet esclave est permutable.

  2. Sur le KDC maître : Adoptez l'identité de superutilisateur.

  3. Sur le KDC maître : Démarrez kadmin.

    Vous devez vous connecter avec un des noms de principal admin créés lors de la configuration du KDC maître.


    kdc1 # /usr/krb5/sbin/kadmin -p kws/admin
    Entrer le mot de passe : <Entrez le mot de passe kws/admin>
    kadmin: 
    1. Sur le KDC maître : Ajoutez les principaux de l'hôte esclave à la base de données, si cela n'est pas déjà fait, avec kadmin.

      Pour que l'esclave fonctionne, il doit avoir un principal d'hôte.


      kadmin: addprinc -randkey host/kdc3.acme.com
      Principal "host/kdc3@ACME.COM" créé.
      kadmin: 
    2. Facultatif : Sur le KDC maître, créez le principal racine du KDC esclave avec kadmin.

      Ce principal n'est requis que si l'esclave effectue un montage NFS d'un système de fichiers authentifié.


      kadmin: addprinc kdc3.acme.com
      Entrer le mot de passe du principal root/kdc3.acme.com@ACME.COM: <tapez le mot de passe>
      Entrer à nouveau le mot de passe du principal root/kdc3.acme.com@ACME.COM: <tapez-le à nouveau>
      Principal "root/kdc3.acme.com@ACME.COM" créé.
      kadmin: 
    3. Quittez kadmin


      kadmin: quit
      
  4. Sur le KDC maître : Éditez le fichier de configuration Kerberos (krb5.conf).

    Vous devez ajouter une entrée pour chaque esclave. Consultez la page de manuel krb5.conf(4) pour une description complète de ce fichier. Si vous avez défini kdc3 comme serveur esclave en effectuant la procédure de préconfiguration, vérifiez le contenu du fichier plutôt que de l'éditer.


    kdc1 # cat /etc/krb5/krb5.conf
    [libdefaults]
            default_realm = ACME.COM
    
    [realms]
                    ACME.COM = {
                    kdc = kdc1.acme.com
                    kdc = kdc2.acme.com
                    kdc = kdc3.acme.com
                    admin_server = kdc1.acme.com
            }
    
    [domain_realm]
            .acme.com = ACME.COM
    #
    # si le nom du domaine et le nom du secteur sont équivalents,
    # cette entrée n'est pas nécessaire
    #        
    [logging]
            default = FILE:/var/krb5/kdc.log 
            kdc = FILE:/var/krb5/kdc.log
    
    [appdefaults]
        gkadmin = {
            help_url = http://denver:8888/ab2/coll.384.1/SEAM/@AB2PageView/6956
    
  5. Sur le KDC maître : Ajoutez une entrée pour chaque KDC esclave dans le fichier de configuration de propagation de la base de données ( kpropd.acl).

    Pour une description complète de ce fichier, consultez la page de manuel kprop(1M). Si vous avez défini kdc3 comme serveur esclave en effectuant la procédure de préconfiguration, vérifiez le contenu du fichier plutôt que de l'éditer.


    kdc1 # cat /etc/krb5/kpropd.acl
    host/kdc1.acme.com@ACME.COM
    host/kdc2.acme.com@ACME.COM
    host/kdc3.acme.com@ACME.COM
    
  6. Sur tous les esclaves : Copiez les fichiers d'administration KDC du serveur KDC maître.

    Cette étape doit être effectuée sur tous les KDC esclaves, puisque le serveur KDC maître a actualisé des informations dont chaque serveur KDC a besoin. Si vous avez défini kdc3 comme serveur esclave en effectuant la procédure de préconfiguration, vérifiez le contenu des fichiers plutôt que de les copier. Vous pouvez utiliser ftp ou un mécanisme de transfert similaire pour obtenir des copies des fichiers suivants du maître :

    • /etc/krb5/krb5.conf

    • /etc/krb5/kdc.conf

    • /etc/krb5/kpropd.acl

  7. Sur le nouvel esclave : Ajoutez le principal de l'hôte de l'esclave à la table de clés de l'esclave avec kadmin.

    Vous devez vous connecter avec un des noms de principal admin créés lors de la configuration du KDC maître. Cette entrée permettra à kprop et à d'autres applications compatibles Kerberos de fonctionner.


    kdc3 # /usr/krb5/sbin/kadmin -p kws/admin
    Entrer le mot de passe : <Entrez le mot de passe kws/admin>
    kadmin: ktadd host/kdc3.acme.com
    kadmin: Entrée du principal kdc3.acme.com avec
      numéro de version de clé 3 et type de chiffrement DES-CBC-CRC ajoutée à la table de clés
      WRFILE:/etc/krb5/krb5.keytab
    kadmin: quit
    
  8. Sur le KDC maître : Ajoutez les noms des KDC esclaves à la tâche cron, laquelle 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. Si vous avez défini kdc3 comme serveur esclave en effectuant la procédure de préconfiguration, vérifiez le contenu du fichier plutôt que de l'éditer.


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

    Vous pouvez aussi changer l'heure des sauvegardes. Cette configuration lance le processus de sauvegarde chaque jour à 3:10 AM.

  9. Sur le KDC maître : Faites une copie de sauvegarde de la base de données et propagez-la avec 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 nouvelle sauvegarde. Voir "Comment propager manuellement la base de données Kerberos vers les KDC esclaves" pour plus de détails.


    kdc1 # /usr/krb5/lib/kprop_script kdc3.acme.com
    Propagation de la base de données à kdc3.acme.com: REUSSIE
  10. Sur le nouvel esclave : Créez un fichier de réserve avec kdb5_util.


    kdc3 # réserve /usr/krb5/sbin/kdb5_util
    kdb5_util: Impossible de trouver/lire la clé principale enregistrée au cours de la lecture
    de la clé maîtresse 
    kdb5_util: Avertissement : procédure amorcée sans clé maîtresse
    
    Entrez la clé maîtresse de la base de données KDC : <tapez la clé>
    
  11. Sur le nouvel esclave : Démarrez le démon KDC (krb5kdc).


    kdc3 # /etc/init.d/kdc start
    
  12. Facultatif : Sur le nouvel esclave, synchronisez l'horloge du KDC maître au moyen de NTP ou d'un autre mécanisme de synchronisation d'horloge.

    Il n'est pas nécessaire d'installer et d'utiliser NTP, mais chaque horloge doit être réglée à l'heure par défaut définie dans la section libdefaults du fichier krb5.conf pour que l'authentification réussisse. Voir "Synchronisation des horloges des KDC et des clients SEAM" pour de plus amples renseignements sur NTP.

Configuration de l'authentification intersecteur

Il existe plusieurs manières de lier des secteurs l'un à l'autre afin que les utilisateurs d'un secteur puissent être authentifiés dans un autre. Normalement, cela est effectué en établissant une clé secrète partagée par les deux secteurs. La relation entre les secteurs peut être hiérarchique ou directionnelle (voir "Hiérarchie des secteurs").

Comment établir une authentification intersecteur hiérarchique

Dans cet exemple, nous utiliserons deux secteurs - ENG.EAST.ACME.COM et EAST.ACME.COM. L'authentification intersecteur sera établie dans les deux sens. Cette procédure doit être effectuée sur le KDC maître dans les deux secteurs.

  1. Conditions préalables à l'établissement d'une authentification intersecteur hiérarchique.

    Cette procédure exige que le KDC maître de chaque secteur soit configuré. Pour tester complètement le processus, plusieurs KDC clients ou esclaves doivent être installés.

  2. Adoptez l'identité root sur le premier KDC maître.

  3. Créez les principaux du service de ticket d'octroi de tickets pour les deux secteurs avec kadmin.

    Vous devez vous connecter avec un des noms de principal admin créés lors de la configuration du KDC maître.


    # /usr/krb5/sbin/kadmin -p kws/admin
    Entrer le mot de passe: <Entrez le mot de passe kws/admin>
    kadmin: addprinc krbtgt/ENG.EAST.ACME.COM@EAST.ACME.COM
    Entrer le mot de passe du principal krgtgt/ENG.EAST.ACME.COM@EAST.ACME.COM: <tapez le mot de passe>
    kadmin: addprinc krbtgt/EAST.ACME.COM@ENG.EAST.ACME.COM
    Entrer le mot de passe du principal krgtgt/EAST.ACME.COM@ENG.EAST.ACME.COM: <tapez le mot de passe>
    kadmin: quit
    

    Remarque :

    Le mot de passe entré pour chaque principal de service doit être identique dans les deux KDC ; ainsi, le mot de passe pour krbtgt/ENG.EAST.ACME.COM@EAST.ACME.COM doit être le même dans les deux secteurs.


  4. Ajoutez des entrées au fichier de configuration Kerberos afin de définir les noms de domaine pour chaque secteur (krb5.conf).


    # cat /etc/krb5/krb5.conf
    [libdefaults] 
    . 
    . 
    [domain_realm]
            .eng.east.acme.com = ENG.EAST.ACME.COM
            .east.acme.com = EAST.ACME.COM
    

    Dans cet exemple, des noms de domaine sont définis pour les secteurs ENG.EAST.ACME.COM et EAST.ACME.COM. Il est important d'inclure d'abord le sous-domaine, car le fichier est exploré de haut en bas.

  5. Copiez le fichier de configuration Kerberos sur tous les clients dans ce secteur.

    Pour que l'authentification intersecteur fonctionne, la nouvelle version du fichier de configuration Kerberos (/etc/krb5/krb5.conf) doit être installée sur tous les systèmes (y compris les KDC esclaves et les autres serveurs).

  6. Répétez ces étapes dans le deuxième secteur.

Comment établir l'authentification intersecteur directe

Cet exemple utilise deux secteurs : ENG.EAST.ACME.COM et SALES.WEST.ACME.COM. L'authentification intersecteur sera établie dans les deux sens. Cette procédure doit être effectuée sur le KDC maître dans les deux secteurs.

  1. Conditions préalables à l'établissement de l'authentification intersecteur directe

    Cette procédure exige que le KDC maître de chaque secteur soit configuré. Pour tester complètement le processus, plusieurs KDC clients ou esclaves doivent être installés.

  2. Adoptez l'identité de superutilisateur sur l'un des serveurs KDC maîtres.

  3. Créez les principaux du service de ticket d'octroi de tickets pour les deux secteurs avec kadmin.

    Vous devez vous connecter avec un des noms de principal admin créés lors de la configuration du KDC maître.


    # /usr/krb5/sbin/kadmin -p kws/admin
    Entrer le mot de passe: <Entrez le mot de passe kws/admin>
    kadmin: addprinc krbtgt/ENG.EAST.ACME.COM@SALES.WEST.ACME.COM
    Entrer le mot de passe du principal
      krgtgt/ENG.EAST.ACME.COM@SALES.WEST.ACME.COM: <tapez le mot de passe>
    kadmin: addprinc krbtgt/SALES.WEST.ACME.COM@ENG.EAST.ACME.COM
    Entrer le mot de passe du principal
      krgtgt/SALES.WEST.ACME.COM@ENG.EAST.ACME.COM: <tapez le mot de passe>
    kadmin: quit
    

    Remarque :

    Le mot de passe entré pour chaque principal de service doit être identique dans les deux KDC ; ainsi, le mot de passe pour krbtgt/ENG.EAST.ACME.COM@SALES.WEST.ACME.COM doit être le même dans les deux secteurs.


  4. Ajoutez des entrées dans le fichier de configuration Kerberos afin de définir le chemin direct du secteur distant ( kdc.conf).

    Cet exemple s'applique aux clients situés dans le secteur ENG.EAST.ACME.COM . Vous devez permuter les noms de secteur afin d'obtenir les définitions appropriées dans le secteur SALES.WEST.ACME.COM.


    # cat /etc/krb5/krb5.conf
    [libdefaults] 
    .
    .
    [capaths]
        ENG.EAST.ACME.COM = {
            SALES.WEST.ACME.COM = .
        }
    
        SALES.WEST.ACME.COM = {
             ENG.EAST.ACME.COM = .
        }
    
  5. Copiez le fichier de configuration Kerberos sur tous les clients dans le secteur courant.

    Pour que l'authentification intersecteur fonctionne, la nouvelle version du fichier de configuration Kerberos (krb5.conf) doit être installée sur tous les systèmes (y compris les KDC esclaves et les autres serveurs).

  6. Répétez ces étapes pour le deuxième secteur.

Configuration des serveurs d'applications réseau SEAM

Les serveurs d'applications réseau sont des hôtes fournissant l'accès au moyen d'une des applications réseau suivantes : ftp, rcp, rlogin, rsh et telnet. Quelques étapes suffisent pour activer la version SEAM de ces commandes sur un serveur.

Comment configurer un serveur d'applications réseau SEAM

Cette procédure utilise les paramètres de configuration suivants :

  1. Conditions préalables à la configuration d'un serveur d'applications.

    Cette procédure exige que le KDC maître soit configuré. Pour tester complètement le processus, plusieurs clients doivent être installés.

  2. Installez le logiciel client SEAM.

    Le logiciel client SEAM doit être installé.

  3. Facultatif : Installez le client NTP ou un autre mécanisme de synchronisation d'horloge.

    Voir "Synchronisation des horloges des KDC et des clients SEAM" pour de plus amples renseignements sur NTP.

  4. Démarrez kadmin.

    L'utilisation de l'outil d'administration SEAM pour ajouter un principal est décrite à la section "Comment créer un nouveau principal". L'exemple ci-dessous illustre l'ajout des principaux requis au moyen de la ligne de commande. Vous devez vous connecter avec un des noms de principal admin créés lors de la configuration du KDC maître.


    kdc1 # /usr/krb5/sbin/kadmin -p kws/admin
    Entrer le mot de passe : <Entrez le mot de passe kws/admin>
    kadmin: 
    1. Créez le principal hôte du serveur.


      kadmin: addprinc -randkey host/boston.acme.com
      Principal "host/boston.acme.com" créé. 
      kadmin: 
    2. Facultatif : Créez un principal root pour le principal de l'hôte.


      kadmin: addprinc root/boston.acme.com
      Entrer le mot de passe du principal root/boston.acme.com@ACME.COM: <tapez le mot de passe>
      Entrer à nouveau le mot de passe du principal root/boston.acme.com@ACME.COM: <tapez-le à nouveau>
      Principal "root/boston.acme.com@ACME.COM" créé.
      kadmin: 
    3. Ajoutez le principal hôte du serveur à la table de clés du serveur.

      Si la commande kadmin n'est pas en cours d'exécution, relancez-la au moyen d'une commande telle que : /usr/krb5/bin/kadmin -p kws/admin


      kadmin: ktadd host/boston.acme.com
      kadmin: Entrée du principal host/boston.acme.com avec
        numéro de version de clé 3 et type de chiffrement DES-CBC-CRC ajoutée à la table de clés
        WRFILE:/etc/krb5/krb5.keytab
      kadmin: quit
      
    4. Quittez kadmin


      kadmin: quit
      

Configuration des serveurs NFS SEAM

Les services NFS utilisent des UID UNIX pour identifier un utilisateur, et ne peuvent pas utiliser les principaux directement. Pour convertir le principal en UID, il faut créer une table des justificatifs d'identité mappant les principaux d'utilisateur aux UID UNIX. Les procédures ci-dessous mettent l'accent sur les tâches nécessaires pour configurer un serveur NFS SEAM, administrer la table des justificatifs d'identité et activer les modes de sécurité Kerberos pour les systèmes de fichiers montés avec NFS. Le tableau suivant décrit les tâches mentionnées dans cette section.

Tableau 3-3 Configuration du mappage des tâches du serveur NFS SEAM

Tâche 

Description 

Pour des directives, consulter... 

Configurer un serveur NFS SEAM 

 Étapes permettant à un serveur de partager un système de fichiers exigeant une authentification Kerberos."Comment configurer des serveurs NFS SEAM"

Changer le mécanisme dorsal pour la table des justificatifs d'identité 

Étapes de définition du mécanisme dorsal utilisé par gsscred."Comment changer le mécanisme dorsal pour la table gsscred"

Créer une table des justificatifs d'identité 

 Étapes de génération d'une table des justificatifs d'identité."Comment créer une table des justificatifs d'identité"

Comment changer la table des justificatifs d'identité mappant les principaux d'utilisateur à des UID UNIX. 

 Étapes de mise à jour des informations dans la table des justificatifs d'identité."Comment ajouter une entrée unique à la table des justificatifs d'identité"

Partager un système de fichiers avec authentification Kerberos 

 Étapes de partage d'un système de fichiers avec des modes de sécurité afin que l'authentification Kerberos soit requise."Comment configurer un environnement NFS sécuritaire avec de multiples modes de sécurité Kerberos"

Comment configurer des serveurs NFS SEAM

Cette procédure exige que le KDC maître soit configuré. Pour tester complètement le processus, il doit y avoir plusieurs clients. Les paramètres de configuration suivants sont utilisés :

  1. Conditions préalables à la configuration d'un serveur NFS SEAM.

    Le logiciel client SEAM doit être installé.

  2. Facultatif : Installez le client NTP ou un autre mécanisme de synchronisation d'horloge.

    Voir "Synchronisation des horloges des KDC et des clients SEAM" pour de plus amples renseignements sur NTP.

  3. Démarrez kadmin.

    L'utilisation de l'outil d'administration SEAM pour ajouter un principal est décrite à la section "Comment créer un nouveau principal". L'exemple ci-dessous illustre l'ajout des principaux requis au moyen de la ligne de commande. Vous devez vous connecter avec un des noms de principal admin créés lors de la configuration du KDC maître.


    denver # /usr/krb5/sbin/kadmin -p kws/admin
    Entrer le mot de passe: <Entrez le mot de passe kws/admin>
    kadmin: 
    1. Créez le principal du service NFS du serveur.


      kadmin: addprinc -randkey nfs/denver.acme.com
      Principal "nfs/denver.acme.com" créé.
      kadmin:
    2. Facultatif : Créez un principal root pour le serveur NFS principal.


      kadmin: addprinc root/denver.acme.com
      Entrer le mot de passe du principal root/denver.acme.com@ACME.COM: <tapez le mot de passe>
      Entrer à nouveau le mot de passe du principal root/denver.acme.com@ACME.COM: <tapez-le à nouveau>
      Principal "root/denver.acme.com@ACME.COM" créé.
      kadmin: 
    3. Ajoutez le principal du service NFS du serveur à la table de clés du serveur.


      kadmin: ktadd nfs/denver.acme.com
      kadmin: Entrée du principal nfs/denver.acme.com
        avec numéro de version de clé 3 et type de chiffrement DES-CBC-CRD 
        ajoutée à la table de clés WRFILE:/etc/krb5/krb5.
      kadmin: quit
      
    4. Quittez kadmin


      kadmin: quit
      
  4. Créez la table gsscred.

    Voir "Comment créer une table des justificatifs d'identité" pour de plus amples renseignements.

  5. Partagez le système de fichiers NFS au moyen de modes de sécurité Kerberos.

    Voir "Comment configurer un environnement NFS sécuritaire avec de multiples modes de sécurité Kerberos" pour de plus amples renseignements.

  6. Sur chaque client : authentifiez les principaux d'utilisateur et de superutilisateur.

    Voir "Configuration de l'authentification de superutilisateur pour le montage des systèmes de fichiers NFS" pour de plus amples renseignements.

Comment changer le mécanisme dorsal pour la table gsscred

  1. Adoptez l'identité de superutilisateur sur le serveur NFS.

  2. Éditez /etc/gss/gsscred.conf et changez le mécanisme.

    Vous pouvez employer l'un des mécanismes dorsaux suivants : files, xfn_files, xfn_nis, xfn_nisplus ou xfn. Les avantages de chacun de ces mécanismes sont décrits à la section "Utilisation de la table gsscred".

Comment créer une table des justificatifs d'identité

La table des justificatifs d'identité gsscred est employée par un serveur NFS pour mapper des principaux SEAM à un UID. Pour que les clients NFS puissent monter des systèmes de fichiers depuis un serveur NFS avec l'authentification Kerberos, cette table doit être créée ou rendue disponible.

  1. Adoptez l'identité de superutilisateur sur le serveur pertinent.

    Le serveur où vous exécutez cette commande et l'ID que vous employez pour l'exécuter dépendent du mécanisme dorsal sélectionné pour la prise en charge de la table gsscred. Pour tous les mécanismes sauf xfn_nisplus, vous devez adopter l'identité root.

    Si votre mécanisme dorsal est ... 

    alors ... 

    files

    Exécuter sur le serveur NFS 

    xfn

    Sélectionner l'hôte en fonction du réglage par défaut du fichier xfn

    xfn_files

    Exécuter sur le serveur NFS 

    xfn_nis

    Exécuter sur le maître NIS 

    xfn_nisplus

    Exécuter n'importe où, tant que les permissions de changement des permissions NIS+ sont en vigueur.  

  2. Facultatif : Si /var/fn n'existe pas et que vous désirez utiliser une des options xfn, créez une base de données XFN initiale.


    # fnselect files
    # fncreate -t org -o org//
    
  3. Créez la table des justificatifs d'identité avec gsscred.

    La commande obtient des informations de toutes les sources spécifiées avec l'entrée passwd dans /etc/nsswitch.conf. Il pourrait s'avérer nécessaire de supprimer temporairement l'entrée files si vous ne voulez pas que les entrées de mot de passe locales soient incluses dans la table des justificatifs d'identité. Pour de plus amples renseignements, consultez la page de manuel gsscred(1M).


    # gsscred -m kerberos_v5 -a
    

Comment ajouter une entrée unique à la table des justificatifs d'identité

Cette procédure exige que la table gsscred soit installée sur le serveur NFS.

  1. Adoptez l'identité de superutilisateur sur un serveur NFS.

  2. Ajoutez une entrée à la table avec gsscred.


    # gsscred -m [mécanisme] -n [nom] -u [uid] -a
    

    mécanisme

    Le mécanisme de sécurité à utiliser. 

    nom

    Le nom du principal de l'utilisateur, tel que défini dans le KDC. 

    uid

    L'UID de l'utilisateur, tel que défini dans la base de données des mots de passe. 

    -a

    Ajoute l'UID au mappage des noms de principal.  

Exemple--Changement d'une entrée unique dans la table des justificatifs d'identité

L'exemple suivant ajoute une entrée pour l'utilisateur appelé jean, qui est mappé à l'UID 3736. L'UID est extrait du fichier des mots de passe s'il n'est pas inclus sur la ligne de commande.


# gsscred -m kerberos_v5 -n jean -u 3736 -a

Comment configurer un environnement NFS sécuritaire avec de multiples modes de sécurité Kerberos

  1. Adoptez l'identité de superutilisateur sur le serveur NFS.

  2. Éditez le fichier /etc/dfs/dfstab et ajoutez l'option sec= avec les modes de sécurité requis aux entrées pertinentes.


    # share -F nfs -o [mode] [système_de_fichiers]
    

    mode

    Modes de sécurité à utiliser lors du partage. Lorsque vous utilisez de multiples modes de sécurité, le premier mode dans la liste est employé par défaut par autofs. 

    système_de_fichiers

    Chemin du système de fichiers à partager. 

    Tous les clients qui tentent d'accéder à des fichiers à partir du système de fichiers nommé exigent une authentification Kerberos. Pour terminer l'accès aux fichiers, le principal d'utilisateur et le principal root sur le client NFS devraient être authentifiés.

  3. Assurez-vous que le service NFS est en cours d'exécution sur le serveur.

    S'il s'agit de la première commande de partage ou du premier ensemble de commandes de partage que vous avez lancé, il est probable que les démons NFS ne soient pas en cours d'exécution. L'ensemble de commandes suivant élimine les démons et les redémarre.


    # /etc/init.d/nfs.server stop
    # /etc/init.d/nfs.server start
    
  4. Facultatif : Si autofs est utilisé, éditez les données auto_master afin de sélectionner un mode de sécurité autre que celui par défaut.

    Vous n'avez pas besoin d'effectuer cette procédure si vous n'utilisez pas autofs pour accéder au système de fichiers ou si la sélection par défaut pour le mode de sécurité est acceptable.


    /home	  auto_home  -nosuid,sec=krbi
  5. Facultatif : Émettez manuellement la commande mount afin d'accéder au système de fichiers avec un mode autre que celui par défaut.

    Vous pouvez également employer la commande mount pour spécifier le mode de sécurité, mais ne profiterez pas ainsi de l'agent de montage automatique :


    # mount -F nfs -o sec=krb5p /export/home
    

Exemple--Partage d'un système de fichiers avec un mode de sécurité Kerberos

Cet exemple exige une authentification Kerberos avant qu'il soit possible d'accéder aux fichiers.


# share -F nfs -o sec=krb5 /export/home

Exemple--Partage d'un système de fichiers avec de multiples modes de sécurité Kerberos

Dans cet exemple, les trois modes de sécurité Kerberos ont été sélectionnés. Si aucun mode de sécurité n'est spécifié lors d'une requête de montage, le premier mode indiqué est employé sur tous les clients NFS V3 (dans ce cas, krb5). Pour de plus amples renseignements, consultez la section "Modifications apportées à la commande share".


# share -F nfs -o sec=krb5:krb5i:krb5p /export/home

Configuration des clients SEAM

Les clients SEAM incluent tout hôte qui n'est pas un serveur KDC sur le réseau et devant recourir aux services SEAM. Cette section présente une procédure d'installation d'un client SEAM, ainsi que des renseignements spécifiques sur l'utilisation de l'authentification de superutilisateur afin de monter des systèmes de fichiers NFS.

Comment configurer un client SEAM

Les paramètres de configuration suivants sont utilisés :

  1. Conditions préalables à la configuration d'un client SEAM.

    Le logiciel client SEAM doit être installé.

  2. Éditez le fichier de configuration Kerberos (krb5.conf).

    Si vous utilisez la procédure de préconfiguration, vous n'avez pas besoin d'éditer ce fichier, mais vous devrez réviser le contenu. Afin de modifier le fichier par rapport à la version SEAM par défaut, vous devez changer les noms des secteurs et les noms des serveurs, et spécifier le chemin des fichiers d'aide pour gkadmin.


    kdc1 # cat /etc/krb5/krb5.conf
    [libdefaults]
            default_realm = ACME.COM
    
    [realms]
                    ACME.COM = {
                    kdc = kdc1.acme.com
                    kdc = kdc2.acme.com
                    admin_server = kdc1.acme.com
            }
    
    [domain_realm]
            .acme.com = ACME.COM
    #
    # si le nom du domaine et le nom du secteur sont équivalents,
    # cette entrée n'est pas nécessaire
    #
    [logging]
            default = FILE:/var/krb5/kdc.log
            kdc = FILE:/var/krb5/kdc.log
    
    [appdefaults]
        gkadmin = {
           help_url = http://denver:8888/ab2/coll.384.1/SEAM/@AB2PageView/6956
    
  3. Facultatif : synchronisez avec l'horloge du KDC maître au moyen de NTP ou d'un autre mécanisme de synchronisation d'horloge.

    Voir "Synchronisation des horloges des KDC et des clients SEAM" pour de plus amples renseignements sur NTP.

  4. Facultatif : créez un principal d'utilisateur s'il n'en existe pas déjà un.

    Vous devez créer un principal d'utilisateur seulement si l'utilisateur associé à cet hôte n'a pas de principal assigné. Voir "Comment créer un nouveau principal" pour des directives sur l'utilisation de l'outil d'administration SEAM. Voici un exemple de ligne de commande.


    client1 # /usr/krb5/sbin/kadmin -p kws/admin
    Entrer le mot de passe: <Entrez le mot de passe kws/admin>
    kadmin: addprinc mre
    Entrer le mot de passe du principal mre@ACME.COM: <tapez le mot de passe>
    Entrer à nouveau le mot de passe du principal mre@ACME.COM: <tapez-le à nouveau>
    kadmin: 
  5. Créez un principal root.


    kadmin: addprinc root/client1.acme.com
    Entrer le mot de passe du principal root/client1.acme.com@ACME.COM: <tapez le mot de passe>
    Entrer à nouveau le mot de passe du principal root/client1.acme.com@ACME.COM: <tapez-le à nouveau>
    kadmin: quit
    
  6. (Facultatif) Si vous désirez qu'un utilisateur sur le client SEAM monte automatiquement les systèmes de fichiers NFS compatibles Kerberos au moyen de l'authentification Kerberos, vous devez authentifier l'utilisateur root.

    Pour une sécurité maximale, ce processus est effectué avec la commande kinit ; toutefois, les utilisateurs devront employer kinit en tant que root chaque fois qu'ils devront monter un système de fichiers sécurisé par Kerberos. Vous pouvez choisir d'employer un fichier de table de clés à la place. Voir "Configuration de l'authentification de superutilisateur pour le montage des systèmes de fichiers NFS" pour des renseignements détaillés sur les exigences de la table de clés.


    client1 # /usr/krb5/bin/kinit root/client1.acme.com
    Mot de passe de root/client1.acme.com@ACME.COM: <Tapez le mot de passe>
    

    Pour utiliser l'option de fichier de table de clés, ajoutez le principal root à la table de clés du client au moyen de kadmin:


    client1 # /usr/krb5/sbin/kadmin -p kws/admin
    Entrer le mot de passe : <Entrez le mot de passe kws/admin>
    kadmin: ktadd root/client1.acme.com
    kadmin: Entrée du principal root/client.acme.com avec
      numéro de version de clé 3 et type de chiffrement DES-CBC-CRC ajoutée à la table de clés
      WRFILE:/etc/krb5/krb5.keytab
    kadmin: quit
    
  7. Si vous voulez que le client avertisse les utilisateurs à propos de l'expiration des tickets Kerberos, créez une entrée dans le fichier /etc/krb5/warn.conf.

    Voir warn.conf(4) pour de plus amples renseignements.

  8. Modifiez le chemin de recherche du shell de l'utilisateur de manière à inclure l'emplacement des commandes et des pages de manuel SEAM.

    Si vous avez installé le logiciel SEAM au moyen des fichiers de configuration et choisi d'actualiser automatiquement la définition PATH , vous devez uniquement modifier la variable MANPATH. Si vous employez le shell C, tapez :


    % set path=(/usr/krb5/bin $path)
    % set MANPATH=(/usr/krb5/man $MANPATH)
    

    Pour effectuer ces changements de manière permanente dans votre chemin de recherche de shell, éditez votre fichier de démarrage .cshrc ou .login.

    Si vous utilisez le shell Bourne ou Korn, tapez :


    $ PATH=/usr/krb5/bin:$PATH
    $ MANPATH=/usr/krb5/man:$MANPATH
    

    Pour effectuer ces changements de manière permanente dans votre chemin de recherche de shell, éditez votre fichier de démarrage .profile.

Configuration de l'authentification de superutilisateur pour le montage des systèmes de fichiers NFS

Si des utilisateurs veulent accéder à un système de fichiers NFS non compatible Kerberos, vous pouvez monter le système de fichiers en tant que root, ou l'accès au système de fichiers peut être automatique via l'agent de montage automatique lorsque les utilisateurs y accèdent (sans exiger les permissions root).

Le montage d'un système de fichiers NFS compatible Kerberos est similaire, mais comporte un obstacle supplémentaire. Pour monter un système de fichiers NFS compatible Kerberos, les utilisateurs doivent employer la commande kinit en tant que root afin d'obtenir des justificatifs d'identité pour le principal root du client, car le principal root d'un client ne figure généralement pas dans la table de clés du client. Cela s'applique également lorsque l'agent de montage automatique est configuré. Il s'agit non seulement d'une étape supplémentaire, mais force tous les utilisateurs à connaître le mot de passe root de leur système et le mot de passe root du principal.

Pour contourner cette situation, vous pouvez ajouter le principal root d'un client à sa table de clés, qui fournira automatiquement les justificatifs d'identité pour root. Bien que cela permette aux utilisateurs de monter des systèmes de fichiers NFS sans exécuter la commande kinit et facilite l'usage, cela constitue également un risque de sécurité. Par exemple, si une personne accède à un système en ayant le principal root dans sa table de clés, elle pourra obtenir les justificatifs d'identité pour root. Vous devez donc prendre les précautions de sécurité qui s'imposent. Voir "Administration des tables de clés" pour de plus amples renseignements.

Synchronisation des horloges des KDC et des clients SEAM

Les horloges internes de tous les hôtes participant au système d'authentification Kerberos doivent être synchronisées en deçà d'une période de temps maximale (appelée écart d'horloge), offrant une vérification de sécurité Kerberos supplémentaire. Si l'écart d'horloge est dépassé entre n'importe lesquels des hôtes participants, les requêtes de client seront refusées.

L'écart d'horloge détermine également combien de temps les serveurs d'applications doivent conserver les messages de protocole Kerberos afin de reconnaître et de refuser les requêtes réexécutées. Ainsi, plus l'écart d'horloge est grand, plus les serveurs d'applications doivent recueillir d'informations.

La valeur par défaut de l'écart d'horloge maximal est 300 secondes (cinq minutes) ; vous pouvez modifier cette valeur dans la section libdefaults du fichier krb5.conf.


Remarque :

À des fins de sécurité, n'augmentez pas l'écart d'horloge à plus de 300 secondes.


Étant donné qu'il est important de maintenir les horloges synchronisées entre les KDC et les clients SEAM, nous vous recommandons d'employer le logiciel NTP (Network Time Protocol) pour effectuer cette synchronisation. Le logiciel de domaine public NTP, développé par l'université du Delaware, est fourni avec Solaris depuis la version 2.6.


Remarque :

Une autre manière de synchroniser les horloges consiste à utiliser la commande rdate et les tâches cron, ce qui peut s'avérer plus simple que de recourir à NTP. Cependant, cette section met l'accent sur l'usage de NTP. De plus, si vous utilisez le réseau pour synchroniser les horloges, le protocole de synchronisation doit être lui-même sécuritaire.


NTP vous permet de gérer la synchronisation précise de l'heure et/ou des horloges dans un environnement réseau. NTP est essentiellement une mise en oeuvre serveur/client. Vous désignez un système en tant qu'horloge maître (serveur NTP), puis configurez tous vos autres systèmes de manière à ce qu'ils synchronisent leur horloge en fonction de l'horloge maître (clients NTP). Tout cela est effectué au moyen du démon xntpd, qui règle et met à jour l'heure système UNIX conformément aux serveurs d'heure standard Internet. La Figure 3-1 illustre un exemple de mise en oeuvre serveur/client NTP.

Figure 3-1 Synchronisation des horloges avec NTP

Graphic

Pour vous assurer que les horloges des KDC et des clients SEAM demeurent synchronisées, suivez les étapes suivantes :

  1. Configurez un serveur NTP sur votre réseau (il peut s'agir de tout système sauf du KDC maître). Voir "Comment configurer un serveur NTP".

  2. À mesure que vous configurez les KDC et les clients SEAM sur le réseau, configurez-les comme clients NTP sur le serveur NTP. Voir "Comment configurer un client NTP".

Comment configurer un serveur NTP

  1. Adoptez l'identité de superutilisateur sur le système devant agir comme serveur NTP.

  2. Passez au répertoire /etc/inet.

  3. Copiez le fichier ntp.server vers le fichier ntp.conf .


    # cp ntp.server ntp.conf
    
  4. Passez au répertoire /etc/init.d.

  5. Démarrez le démon xntpd.


    # ./xntpd start
    

Comment configurer un client NTP

  1. Adoptez l'identité de superutilisateur sur le système devant devenir un client NTP.

  2. Passez au répertoire /etc/inet.

  3. Copiez le fichier ntp.client vers le fichier ntp.conf .


    # cp ntp.client ntp.conf
    
  4. Passez au répertoire /etc/init.d.

  5. Démarrez le démon xntpd.


    # ./xntpd start
    

Permutation de KDC maître et esclave

Ces procédures devraient être employées pour faciliter la permutation d'un maître et d'un esclave KDC. Cela ne doit être effectué qu'en cas de défaillance du serveur KDC ou lorsqu'il est nécessaire de réinstaller le maître (suite à l'achat de nouveau matériel, par exemple).

Comment configurer un KDC esclave permutable

Cette procédure doit être effectuée sur le serveur KDC esclave disponible pour devenir maître.

  1. Utilisez des noms d'alias pour les serveurs KDC maître et esclave permutables durant l'installation.

    Lors de la définition des noms d'hôte pour les KDC, assurez-vous que chaque système possède un alias inclus dans DNS, et utilisez les noms d'alias en définissant les hôtes dans /etc/krb5/krb5.conf.

  2. Installez le logiciel KDC maître.

    L'installation du KDC maître fournit les fichiers binaires et autres qui seront requis au cours d'une permutation, y compris tous les fichiers requis par un serveur KDC esclave. Ne réinitialisez pas le système à la fin de l'installation.

  3. Suivez les étapes d'installation d'un KDC esclave.

    Avant toute permutation, ce serveur doit fonctionner comme tout autre KDC esclave dans le secteur. Voir "Comment configurer un KDC esclave" pour des directives. N'installez pas le logiciel esclave. Tous les fichiers requis sont installés lors de l'installation du logiciel maître.

  4. Déplacez les commandes du KDC maître.

    Pour empêcher que les commandes du KDC maître puissent être exécutées à partir de cet esclave, déplacez kprop, kadmind et kadmin.local vers un emplacement réservé.


    kdc4 # mv /usr/krb5/lib/kprop /usr/krb5/lib/kprop.save
    kdc4 # mv /usr/krb5/lib/kadmind /usr/krb5/lib/kadmind.save
    kdc4 # mv /usr/krb5/sbin/kadmin.local /usr/krb5/sbin/kadmin.local.save
    
  5. Désactivez le démarrage de kadmind dans /etc/init.d/kdc.master.

    Pour empêcher l'esclave de traiter les requêtes de modification de la base de données KDC, transformez en commentaire la ligne qui démarre kadmind dans le script :


    kdc4 # cat /etc/init.d/kdc.master
    
     .
     .
    
    case "$1" in
    'start')
    
            if [ -f $KDC_CONF_DIR/kdc.conf ]
    then
    #                $BINDIR/kadmind 
            fi
            ;;
  6. Transformez en commentaire la ligne kprop dans le fichier crontab root.

    Cette étape empêche l'esclave de propager sa copie de la base de données KDC.


    kdc4 # crontab -e
    #ident  "@(#)root       1.19    98/07/06 SMI"   /* SVr4.0 1.1.3.1       */
    #
    # Le crontab root devrait être utilisé pour la collecte des données 
    # comptables.
    #
    # La commande rtc est exécutée pour ajuster l'horloge en temps réel lors 
    # d'un passage à l'heure avancée ou normale.
    #
    10 3 * * 0,4 /etc/cron.d/logchecker
    10 3 * * 0   /usr/lib/newsyslog
    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/krb5/lib/kprop_script kdc1.acme.sun.com #SUNWkr5ma
    

Comment permuter des KDC maître et esclave

Cette procédure exige que le serveur KDC esclave ait été configuré en tant qu'esclave permutable (voir "Comment configurer un KDC esclave permutable"). Dans cette procédure, le serveur maître permuté est nommé kdc1, et l'esclave qui deviendra le nouveau maître est nommé kdc4.

  1. Sur l'ancien maître : Éliminez le processus kadmind.

    L'élimination du processus kadmind empêche toute modification de la base de données KDC.


    kdc1 # /etc/init.d/kdc.master stop
    
  2. Sur l'ancien maître : Transformez en commentaire la ligne kprop dans le fichier crontab root.

    Cette étape empêche l'ancien maître de propager sa copie de la base de données KDC.


    kdc1 # crontab -e
    #ident  "@(#)root       1.19    98/07/06 SMI"   /* SVr4.0 1.1.3.1       */
    #
    # Le crontab root devrait être utilisé pour la collecte des données 
    # comptables.
    #
    # La commande rtc est exécutée pour ajuster l'horloge en temps réel lors d'un 
    # passage à l'heure avancée ou normale.
    #
    10 3 * * 0,4 /etc/cron.d/logchecker
    10 3 * * 0   /usr/lib/newsyslog
    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/krb5/lib/kprop_script kdc2.acme.sun.com #SUNWkr5ma
    
  3. Sur l'ancien maître : Désactivez le démarrage de kadmind dans /etc/init.d/kdc.master.

    Pour empêcher le maître de redémarrer kadmind lors de la réinitialisation du serveur, transformez en commentaire la ligne démarrant kadmind dans le script :


    kdc1 # cat /etc/init.d/kdc.master
    
     .
     .
    
    case "$1" in
    'start')
    
            if [ -f $KDC_CONF_DIR/kdc.conf ]
            then
    #                $BINDIR/kadmind 
            fi
            ;;
  4. Sur l'ancien maître : exécutez kprop_script afin de sauvegarder et de propager la base de données.


    kdc1 # /usr/krb5/lib/kprop_script kdc4.acme.com
    Propagation de la base de données à kdc4.acme.com: REUSSIE
  5. Sur l'ancien maître : Déplacez les commandes du KDC maître.

    Pour empêcher l'exécution des commandes du KDC maître, déplacez kprop, kadmind et kadmin.local vers un emplacement réservé.


    kdc4 # mv /usr/krb5/lib/kprop /usr/krb5/lib/kprop.save
    kdc4 # mv /usr/krb5/lib/kadmind /usr/krb5/lib/kadmind.save
    kdc4 # mv /usr/krb5/sbin/kadmin.local /usr/krb5/sbin/kadmin.local.save
    
  6. Sur le serveur DNS : changez les noms d'alias pour le maître.

    Pour changer les serveurs, éditez le fichier de la zone acme.com et changez l'entrée pour masterkdc.


    masterkdc IN CNAME kdc4
  7. Sur le serveur DNS : redémarrez le serveur de nom de domaine Internet.

    Exécutez la commande suivante sur les deux serveurs pour obtenir les nouvelles informations sur les alias :


    # pkill -1 in.named
  8. Sur le nouveau maître : Déplacez les commandes du KDC maître.


    kdc4 # mv /usr/krb5/lib/kprop.save /usr/krb5/lib/kprop
    kdc4 # mv /usr/krb5/lib/kadmind.save /usr/krb5/lib/kadmind
    kdc4 # mv /usr/krb5/sbin/kadmin.local.save /usr/krb5/sbin/kadmin.local
    
  9. Sur le nouveau maître : Créez un fichier de table de clés pour kadmin au moyen de kadmin.local.

    Cette suite de commandes crée un fichier de table de clés spécial avec des entrées de principal pour admin et changepw. Ces principaux sont requis pour le service kadmind.


    kdc4 # /usr/krb5/sbin/kadmin.local
    kadmin.local: ktadd -k /etc/krb5/kadm5.keytab kadmin/kdc4.acme.com
    Entrée pour le principal kadmin/kdc4.acme.com avec numéro de version de clé 3
    et type de chiffrement DES-CBC-CRC 
                   ajoutée à la table de clés WRFILE:/etc/krb5/kadm5.keytab.
    kadmin.local: ktadd -k /etc/krb5/kadm5.keytab changepw/kdc4.acme.com
    Entrée pour le principal changepw/kdc4.acme.com avec numéro de version de clé 3
    et type de chiffrement DES-CBC-CRC
                   ajoutée à la table de clés WRFILE:/etc/krb5/kadm5.keytab.
    kadmin.local: quit
    
  10. Sur le nouveau maître : activez le démarrage de kadmind dans /etc/init.d/kdc.master.


    kdc4 # cat /etc/init.d/kdc.master
    
     .
     .
    
    case "$1" in
    'start')
    
            if [ -f $KDC_CONF_DIR/kdc.conf ]
            then
                    $BINDIR/kadmind 
            fi
            ;;
  11. Sur le nouveau maître : démarrez kadmind.


    kdc4 # /etc/init.d/kdc.master start
    
  12. Activez la ligne kprop dans le fichier crontab root.


    kdc4 # crontab -e
    #ident  "@(#)root       1.19    98/07/06 SMI"   /* SVr4.0 1.1.3.1       */ 
    #
    # Le crontab root devrait être utilisé pour la collecte des données 
    # comptables.
    #
    # La commande rtc est exécutée pour ajuster l'horloge en temps réel lors 
    # d'un passage à l'heure avancée ou normale.
    
    # 10 3 * * 0,4 /etc/cron.d/logchecker
    10 3 * * 0   /usr/lib/newsyslog
    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/krb5/lib/kprop_script kdc1.acme.sun.com #SUNWkr5ma
    

Administration de la base de données Kerberos

La base de données Kerberos est au coeur du système Kerberos, et doit donc être correctement mise à jour. La présente section décrit certaines procédures d'administration de la base de données Kerberos, dont la sauvegarde et la restauration de la base de données, la configuration de la propagation en parallèle, et l'administration du fichier de réserve. Les étapes de configuration initiale de la base de données sont présentées à la section "Comment configurer 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 vers les KDC esclaves est l'une des tâches de configuration les plus importantes. Si la propagation n'est pas assez fréquente, le KDC maître et les KDC esclaves se désynchroniseraient, et si le KDC maître tombait en panne, les KDC esclaves ne posséderaient pas les informations de base de données les plus récentes. En outre, si un KDC esclave a été configuré en tant que maître à des fins d'équilibrage de charge, les clients utilisant cet esclave comme KDC maître n'auront pas les informations les plus récentes. Il est donc important de s'assurer que la propagation est effectuée à une fréquence suffisante, en fonction de la fréquence à laquelle vous modifiez la base de données Kerberos.

Lorsque vous configurez le KDC maître, vous définissez le script kprop_script dans une tâche cron de manière à sauvegarder automatiquement la base de données Kerberos dans le fichier de vidage /var/krb5/slave_datatrans et de la propager vers les KDC esclaves. Cependant, comme tout autre fichier, la base de données Kerberos peut s'endommager. Si cela se produit sur un des KDC esclaves, vous pourriez ne pas le remarquer, étant donné que la propagation automatique suivante de la base de données installe une nouvelle copie. Mais si cela se produit sur le KDC maître, la base de données erronée est propagée vers tous les esclaves lors de la propagation suivante, et le fichier de sauvegarde erroné remplace le fichier de sauvegarde non erroné antérieur sur le KDC maître.

Comme il n'y a pas de copie de sauvegarde "sécuritaire" dans ce scénario, vous devriez également configurer une tâche cron afin de copier périodiquement le fichier de vidage slave_datatrans dans un autre emplacement, ou afin de créer une autre copie de sauvegarde distincte au moyen de la commande dump de kdb5_util. Ensuite, si votre base de données est altérée, vous pourrez restaurer la sauvegarde la plus récente sur le KDC maître au moyen de la commande load de kdb5_util.

Il est également important de noter que, comme le fichier de vidage de la base de données contient des clés de principal, vous devez protéger le fichier contre les utilisateurs non autorisés (par défaut, le fichier de vidage de la base de données n'a des permissions en lecture/écriture que pour root). Cela inclut l'utilisation exclusive de la commande kprop pour propager le fichier de vidage de la base de données, qui chiffre les données transférées. En outre, kprop propage les données uniquement aux KDC esclaves, ce qui minimise la possibilité d'un envoi accidentel du vidage de la base de données à des hôtes non autorisés.


Attention : Attention :

Si la base de données Kerberos est actualisée après avoir été propagée et qu'elle est ultérieurement endommagée avant la propagation suivante, les esclaves ne contiendront pas les mises à jour : celles-ci seront perdues. En raison de ce scénario, si vous apportez des modifications considérables à la base de données avant une propagation périodique, vous devriez propager manuellement la base de données afin d'éviter les pertes de données.


Le fichier kpropd.acl

Le fichier kpropd.acl d'un centre de distribution de clés (KDC) contient une liste de noms de principal d'hôte, un par ligne, spécifiant les systèmes desquels le KDC peut recevoir une base de données actualisée au moyen du mécanisme de propagation. Si le KDC maître est employé pour propager tous les KDC esclaves, le fichier kpropd.acl de chaque esclave ne doit contenir que le nom de principal de l'hôte du maître.

Cependant, les étapes d'installation et de configuration subséquentes de ce guide vous indiquent d'ajouter le même fichier kpropd.acl aux KDC maître et esclaves. Le fichier contient tous les noms de principal d'hôte KDC. Cette configuration vous permet d'effectuer la propagation depuis tout KDC, au cas où les KDC de propagation deviennent temporairement indisponibles. En outre, la conservation d'une copie identique sur tous les KDC en facilite la mise à jour.

La commande kprop_script

La commande kprop_script fait appel à la commande kprop pour propager la base de données Kerberos à d'autres KDC. (Si le script kprop_script est exécuté sur un KDC esclave, il propage la copie de l'esclave de la base de données Kerberos vers d'autres KDC.) Le script kprop_script accepte une liste de noms d'hôte comme arguments, séparés par des espaces, qui spécifient les KDC à propager.

Lorsque le script kprop_script est exécuté, il crée une copie de sauvegarde de la base de données Kerberos dans 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'à la fin de la propagation.

Comment sauvegarder la base de données Kerberos

  1. Adoptez l'identité de superutilisateur sur le KDC maître.

  2. Sauvegardez la base de données Kerberos en utilisant la commande dump de kdb5_util.


    # /usr/krb5/sbin/kdb5_util dump [-verbeux] [-d nom_de_la_bd] [nom_du_fichier 
    [principaux...]]

    -verbeux

    Imprime le nom de chaque principal et de chaque politique en cours de sauvegarde. 

    nom_de_la_bd

    Nom de la base de données à sauvegarder. Le suffixe «.db» est ajouté au nom de base de données spécifié, et le chemin d'accès absolu du fichier peut être précisé. 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, lequel devient /var/krb5/principal.db.

    nom_du_fichier

    Fichier de sauvegarde de la base de données. Vous pouvez préciser le chemin d'accès absolu de ce fichier. Si vous ne spécifiez pas de fichier, la base de données est vidée dans la sortie standard. 

    principal

    Liste comportant un ou plusieurs principaux (séparés par des espaces) devant être sauvegardés. Vous devez spécifier des noms de principal entièrement qualifiés. Si vous n'indiquez aucun principal, la base de données entière est sauvegardée. 

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

L'exemple suivant sauvegarde la base de données Kerberos dans un fichier appelé fichier_de_vidage. Étant donné que l'option -verbeux est spécifiée, chaque principal est imprimé à mesure qu'il est sauvegardé.


# kbd5_util dump -verbose fichier_de_vidage 
kadmin/kdc1.eng.acme.com@ENG.ACME.COM 
krbtgt/eng.acme.com@ENG.ACME.COM 
kadmin/history@ENG.ACME.COM 
pak/admin@ENG.ACME.COM 
pak@ENG.ACME.COM
changepw/kdc1.eng.acme.com@ENG.ACME.COM
#

L'exemple suivant sauvegarde les principaux pak et pak/admin de la base de données Kerberos.


# kdb5_util dump -verbose fichier_de_vidage pak/admin@ENG.ACME.COM pak@ENG.ACME.COM
pak/admin@ENG.ACME.COM
pak@ENG.ACME.COM
#

Comment restaurer la base de données Kerberos

  1. Adoptez l'identité de superutilisateur sur le KDC maître.

  2. Restaurez la base de données Kerberos au moyen de la commande load de kdb_util.


    # /usr/krb5/sbin/kdb5_util load [-verbeux] [-d nom_de_la_bd] [-update] 
    [nom_du_fichier] 

    -verbeux

    Imprime le nom de chaque principal et de chaque politique en cours de restauration. 

    nom_de_la_bd

    Nom de la base de données à restaurer. Le suffixe «.db» est ajouté au nom de base de données spécifié, et le chemin d'accès absolu du fichier peut être précisé. 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, lequel devient /var/krb5/principal.db.

    -update

    Met à jour la base de données existante ; autrement, une nouvelle base de données est créée ou la base de données existante est remplacée. 

    nom_du_fichier

    Fichier à partir duquel restaurer la base de données. Vous pouvez préciser le chemin d'accès absolu de ce fichier.  

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

L'exemple suivant restaure la base de données appelée base1.db dans le répertoire courant à partir du fichier fichier_de_vidage. Étant donné que l'option -update n'est pas spécifiée, une nouvelle base de données est créée lors de la restauration.


# kdb5_util load -d base1 fichier_de_vidage

Comment propager manuellement la base de données Kerberos vers les KDC esclaves

Cette procédure explique comment propager la base de données Kerberos au moyen de la commande kprop. Vous pouvez l'utiliser pour synchroniser un KDC esclave avec le KDC maître en dehors de la tâche cron périodique. Contrairement au script kprop_script, vous pouvez utiliser la commande kprop pour propager uniquement la sauvegarde de la base de données courante sans effectuer préalablement une nouvelle sauvegarde de la base de données.

  1. Adoptez l'identité de superutilisateur sur le KDC maître.

  2. (facultatif) Sauvegardez la base de données au moyen de la commande kdb5_util.


    # /usr/krb5/sbin/kdb5_util dump /var/krb5/slave_datatrans
    
  3. Propagez la base de données vers un KDC esclave au moyen de la commande kprop .


    # /usr/krb5/lib/kprop -f /var/krb5/slave_datatrans KDC_esclave
    

Si vous désirez sauvegarder la base de données et la propager vers un KDC esclave en dehors de la tâche cron périodique, vous pouvez aussi utiliser la commande kprop_script comme ceci :


# /usr/krb5/lib/kprop_script KDC_esclave

Configuration de la propagation en parallèle

Dans la plupart des cas, le KDC maître est utilisé exclusivement pour la propagation de sa base de données aux KDC esclaves. Cependant, si votre site comporte de nombreux KDC esclaves, vous pourriez répartir la charge du processus de propagation, ce qui est appelé la propagation en parallèle.

La propagation en parallèle permet à des KDC esclaves particuliers de partager les tâches de propagation avec le KDC maître. Cela permet d'accélérer la propagation et d'alléger la charge de travail du KDC maître.

Par exemple, supposons que votre site comporte un maître et six esclaves (comme l'illustre la Figure 3-2), et que esclave-1 à esclave-3 constitue un premier groupe logique, et esclave-4 à esclave-6 constitue le deuxième. Pour configurer la propagation en parallèle, le KDC maître pourrait propager la base de données vers esclave-1 et esclave-4, et ces esclaves pourraient à leur tour propager la base de données vers les esclaves dans leur groupe.

Figure 3-2 Exemple de configuration de propagation en parallèle

Graphic

Comment configurer la propagation en parallèle

Ceci ne constitue pas une procédure détaillée, mais une liste globale des étapes de configuration permettant d'activer la propagation en parallèle.

  1. Sur le KDC maître, modifiez l'entrée kprop_script dans sa tâche cron de manière à inclure seulement les arguments relatifs aux esclaves qui effectueront la propagation subséquente (esclaves de propagation).

  2. Sur chaque esclave de propagation, ajoutez une entrée kprop_script à sa tâche cron, laquelle doit inclure les arguments à propager par les esclaves. Pour que la propagation en parallèle réussisse, il faut configurer l'exécution de la tâche cron après la propagation de l'esclave de propagation dans la nouvelle base de données.


    Remarque :

    La durée de propagation d'un esclave de propagation dépend de certains facteurs tels que la largeur de bande du réseau et la taille de la base de données.


  3. Sur chaque KDC esclave, configurez les permissions appropriées devant être propagées. Pour ce faire, ajoutez le nom du principal de l'hôte de son KDC de propagation dans son fichier kpropd.acl.

Exemple -- Configuration de la propagation en parallèle

Dans l'exemple de la Figure 3-2, l'entrée kprop_script du KDC maître pourrait ressembler à ceci :

10 3 * * * /usr/krb5/lib/kprop_script esclave-1.acme.com esclave-4.acme.com

L'entrée kprop_script de l'esclave-1 aurait l'apparence suivante (il faut noter que la propagation sur l'esclave débute une heure après la propagation par le maître) :

10 4 * * * /usr/krb5/lib/kprop_script esclave-2.acme.com esclave-3.acme.com

Le fichier kpropd.acl des esclaves de propagation devrait comporter l'entrée suivante :

host/master.acme.com@ACME.COM

Le fichier kpropd.acl des esclaves propagés par esclave-1 devrait comporter l'entrée suivante :

host/esclave-1.acme.com@ACME.COM

Administration du fichier de réserve

Le fichier de réserve contient la clé maîtresse 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 de réserve est endommagé, vous pouvez employer la commande stash de kdb5_util(1M) afin de remplacer le fichier endommagé. Normalement, vous ne devriez supprimer un fichier de réserve qu'après avoir supprimé la base de données Kerberos au moyen de la commande destroy de kdb5_util. Comme le fichier de réserve n'est pas supprimé automatiquement avec la base de données, vous devez le supprimer afin de terminer le nettoyage.

Comment supprimer un fichier de réserve

  1. Adoptez l'identité de superutilisateur sur le KDC contenant le fichier de réserve.

  2. Supprimez le fichier de réserve.


    # rm fichier_de_réserve
    

    fichier_de_réserve

    Chemin du fichier de réserve. Par défaut, le fichier de réserve se situe dans /var/krb5/.k5.secteur.

Si vous devez recréer le fichier de réserve, vous pouvez employer l'option -f de la commande kdb5_util.

Augmentation de la sécurité

Ces procédures présentent les étapes permettant d'augmenter la sécurité sur les serveurs d'applications SEAM et les serveurs KDC.

Comment activer uniquement les applications compatibles Kerberos

Cette procédure limite l'accès réseau au serveur en utilisant telnet, ftp, rcp, rsh et rlogin pour des transactions authentifiées par Kerberos seulement.

  1. Éditez l'entrée telnet dans /etc/inetd.conf.

    Ajoutez l'option -a user à l'entrée telnet afin de limiter l'accès aux utilisateurs pouvant fournir des informations d'authentification valides.


    telnet stream  tcp     nowait  root    /usr/krb5/lib/telnetd  telnetd -a user
    
  2. Éditez l'entrée ftp dans /etc/inetd.conf.

    Ajoutez l'option -a à l'entrée ftp afin de ne permettre que les connexions authentifiées par Kerberos.


    ftp stream  tcp     nowait  root    /usr/krb5/lib/ftpd    ftpd -a
    
  3. Désactivez les entrées Solaris pour les autres services dans /etc/inetd.conf.

    Les entrées de shell et login doivent être transformées en commentaire ou supprimées.


    # shell   stream  tcp     nowait  root    /usr/sbin/in.rshd
                                          in.rshd
    # login   stream  tcp     nowait  root    /usr/sbin/in.rlogind
                         in.rlogind

Comment limiter l'accès aux serveurs KDC

Les serveurs KDC maître et esclaves possèdent des copies locales de la base de données KDC. Il est important pour la sécurité globale de l'installation SEAM de limiter l'accès à ces serveurs afin que les bases de données soient sécuritaires.

  1. Désactivez les services distants dans /etc/inetd.conf.

    Pour qu'un serveur KDC soit sécuritaire, vous devriez désactiver tous les services réseau non essentiels en transformant en commentaire l'entrée qui lance le service dans /etc/inetd.conf. Dans la plupart des cas, les seuls services devant être exécutés sont time et krdb5_kprop. En outre, tout service utilisant le rebouclage tli (ticlts, ticotsord et ticots) peut demeurer activé. Après l'édition, le fichier devrait ressembler à ceci (pour abréger l'exemple, de nombreux commentaires ont été éliminés) :


    kdc1 # cat /etc/inetd.conf
    #
    #ident  "@(#)inetd.conf 1.33    98/06/02 SMI"   /* SVr4.0 1.5   */
      .
      .
    #name     dgram   udp     wait    root    /usr/sbin/in.tnamed     in.tnamed
    #
    #shell    stream  tcp     nowait  root    /usr/sbin/in.rshd       in.rshd
    #login    stream  tcp     nowait  root    /usr/sbin/in.rlogind    in.rlogind
    #exec     stream  tcp     nowait  root    /usr/sbin/in.rexecd     in.rexecd
    #comsat   dgram   udp     wait    root    /usr/sbin/in.comsat     in.comsat
    #talk     dgram   udp     wait    root    /usr/sbin/in.talkd      in.talkd
    #
    #uucp     stream  tcp     nowait  root    /usr/sbin/in.uucpd      in.uucpd
    #
    #finger   stream  tcp     nowait  nobody  /usr/sbin/in.fingerd    in.fingerd
    #
    # Le service Time est utilisé pour la synchronisation d'horloge.
    #
    time      stream  tcp     nowait  root    internal
    time      dgram   udp     wait    root    internal
    #
     .
     .
    #
    100234/1  tli rpc/ticotsord wait  root    /usr/lib/gss/gssd     gssd 
    #dtspc    stream  tcp     nowait  root    /usr/dt/bin/dtspcd      /usr/dt/bin/dtspcd
    #100068/2-5 dgram rpc/udp wait    root    /usr/dt/bin/rpc.cmsd    rpc.cmsd
    100134/1 tli rpc/ticotsord wait   root    /usr/krb5/lib/ktkt_warnd kwarnd
    #klogin   stream  tcp     nowait  root    /usr/krb5/lib/rlogind   rlogind -k
    #eklogin  stream  tcp     nowait  root    /usr/krb5/lib/rlogind   rlogind -k -e
    #telnet   stream  tcp     nowait  root    /usr/krb5/lib/telnetd   telnetd
    #ftp      stream  tcp     nowait  root    /usr/krb5/lib/ftpd      ftpd
    #kshell   stream  tcp     nowait  root    /usr/krb5/lib/rshd      rshd -k -c -A
    krb5_prop stream  tcp     nowait  root    /usr/krb5/lib/kpropd  kpropd

    Réinitialisez le serveur après avoir apporté les modifications.

  2. Limitez l'accès au matériel prenant en charge le KDC.

    Afin de limiter l'accès physique, assurez-vous que le serveur et son moniteur se situent dans un endroit sûr. Les utilisateurs ordinaires ne devraient pas pouvoir accéder au serveur.

  3. Enregistrez les sauvegardes de base de données KDC sur des disques locaux ou sur les esclaves.

    Vous ne devriez effectuer une sauvegarde sur bande que si les bandes sont conservées dans un endroit sûr. Cela vaut également pour les copies des fichiers de table de clés. Il est préférable de conserver ces fichiers sur un système de fichiers local non partagé avec d'autres systèmes. Le système de fichiers de stockage peut résider sur le serveur KDC maître ou sur un des esclaves.