Configuration du serveur NFS avec authentification basée sur Kerberos pour les clients Linux - partie 7

Configuration du serveur NFS avec authentification basée sur Kerberos pour les clients Linux - partie 7

Dans le dernier article de cette série, nous avons passé en revue la création d'un partage de samba sur un réseau qui peut être composé de plusieurs types de systèmes d'exploitation. Maintenant, si vous avez besoin de configurer le partage de fichiers pour un groupe de clients de type Unix, vous pensez automatiquement au Système de fichiers réseau, ou NFS pour faire court.

Série RHCE: Configuration du serveur NFS avec authentification Kerberos - Partie 7

Dans cet article, nous vous guiderons tout au long du processus d'utilisation Kerberos Authentification pour NFS actions. On suppose que vous avez déjà configuré un serveur NFS et un client. Sinon, veuillez vous référer à Installer et configurer le serveur NFS - qui répertoriera les packages nécessaires qui doivent être installés et expliquer comment effectuer des configurations initiales sur le serveur avant de poursuivre.

De plus, vous voudrez configurer SELINUX et Firewalld pour permettre le partage de fichiers via NFS.

L'exemple suivant suppose que votre NFS La part est située dans / nfs dans box2:

# SEMANAGE Fcontext -a -t public_content_rw_t "/ nfs (/.*)?"# restorecon -r / nfs # setSebool -p nfs_export_all_rw sur # setSebool -p nfs_export_all_ro sur 

(où le -P Le drapeau indique la persistance à travers les redémarrages).

Enfin, n'oubliez pas:

Créer un groupe NFS et configurer le répertoire de partage NFS

1. Créer un groupe appelé NFS et ajouter le NFSNobody l'utilisateur à lui, puis modifiez les autorisations du / nfs répertoire de 0770 et son propriétaire de groupe à NFS. Ainsi, NFSNobody (qui est mappé aux demandes du client) aura des autorisations d'écriture sur la part) et vous n'aurez pas besoin d'utiliser no_root_squash dans le / etc / exportations déposer.

# GroupAdd NFS # UserMod -A -g NFS NFSNOBODY # CHMOD 0770 / NFS # CHGRP NFS / NFS 

2. Modifiez le fichier d'exportations (/ etc / exportations) comme suit pour ne permettre que l'accès depuis box1 en utilisant Kerberos sécurité (sec = krb5).

Note: que la valeur de anongide a été défini sur le Gid de la NFS groupe que nous avons créé précédemment:

Exportations - Ajouter un partage NFS
/ NFS Box1 (RW, sec = Krb5, anongid = 1004) 

3. Réexporter (-r) tous (-un) Les actions NFS. Ajout de verbosité à la sortie (-v) est une bonne idée car elle fournira des informations utiles pour dépanner le serveur en cas de problème:

# exportfs -arv 

4. Redémarrer et activer le serveur NFS et les services connexes. Notez que vous n'avez pas à activer NFS-Lock et NFS-IDMAPD Parce qu'ils seront automatiquement lancés par les autres services sur Boot:

# SystemCTL Redémarrer RPCBIND NFS-Server NFS-Lock NFS-IDMAP # SystemCTL Activer RPCBIND NFS-Server 

Test de l'environnement et autres conditions préalables

Dans ce guide, nous utiliserons l'environnement de test suivant:

  1. Machine client [Box1: 192.168.0.18]]
  2. Serveur NFS / Kerberos [Box2: 192.168.0.20] (aussi connu sous le nom Centre de distribution de clés, ou KDC pour faire court).

Note: ce Kerberos Le service est crucial pour le schéma d'authentification.

Comme vous pouvez le voir, le NFS serveur et le KDC sont hébergés dans la même machine pour simplifier, bien que vous puissiez les configurer dans des machines séparées si vous avez plus disponible. Les deux machines sont membres de la mydomain.com domaine.

Enfin et surtout, Kerberos nécessite au moins un schéma de base de la résolution des noms et le service de protocole de temps de réseau est présent à la fois dans le client et le serveur, car la sécurité de l'authentification Kerberos est en partie basée sur les horodatages des billets.

Pour configurer la résolution du nom, nous utiliserons le / etc / hôtes Fichier dans le client et le serveur:

Fichier hôte - Ajouter DNS pour le domaine
192.168.0.18 Box1.mydomain.com box1 192.168.0.20 Box2.mydomain.combo x2 

Dans Rhel 7, chrony est le logiciel par défaut qui est utilisé pour NTP synchronisation:

# yum install chrony # systemctl start chronyd # systemctl activer chronyd 

Assurer chrony est en fait synchronisant le temps de votre système avec des serveurs de temps, vous pouvez émettre la commande suivante deux ou trois fois et s'assurer que le décalage se rapproche de zéro:

# chronyc suivi 
Synchroniser le temps du serveur avec Chrony

Installation et configuration de Kerberos

Pour configurer le KDC, Installez les packages suivants sur les deux serveur et client (omettez le package de serveur dans le client):

# yum Update && yum install krb5-server krb5-workstation pam_krb5 

Une fois qu'il est installé, modifiez les fichiers de configuration (/ etc / krb5.confli et / var / kerberos / krb5kdc / kadm5.ACL) et remplacer toutes les instances de exemple.com (minuscules et majuscules) avec mydomain.com comme suit.

Créez maintenant le Kerberos base de données (veuillez noter que cela peut prendre un certain temps car il nécessite un certain niveau d'entropie dans votre système. Pour accélérer les choses, j'ai ouvert un autre terminal et j'ai couru ping -f localhost pendant 30 à 45 secondes):

# KDB5_UTIL CREATE -S 
Créer une base de données Kerberos

Ensuite, activez Kerberos à travers le pare-feu et démarrer / activer les services connexes.

Important: NFS-Secure doit également être démarré et activé sur le client:

# Firewall-CMD --permanent --add-Service = Kerberos # SystemCTL Start KRB5KDC KADMIN NFS-SECure # SystemCTL Activer KRB5KDC KADMIN NFS-SECure 

Ensuite, en utilisant le kadmin.local outil, créez un directeur d'administration pour root:

# kadmin.Root / admin local # AddPrinc 

Et ajouter le Kerberos serveur à la base de données:

# addPrinc -Randkey host / box2.mydomain.com 

Même chose avec le NFS Service pour les deux clients (box1) et serveur (box2). Veuillez noter que dans la capture d'écran ci-dessous, j'ai oublié de le faire pour box1 Avant d'arrêter:

# addPrinc -Randkey NFS / Box2.mydomain.com # addPrinc -Randkey NFS / Box1.mydomain.com 

Et sortie en tappant arrêter et en appuyant sur Entrée:

Ajouter Kerberos au serveur NFS

Ensuite, obtenez et cachez un ticket d'accueil de billets Kerberos pour root / admin:

# kinit root / admin # klist 
Cache kerberos

La dernière étape avant d'utiliser réellement Kerberos stockage dans un clés Fichier (dans le serveur) Les directeurs qui sont autorisés à utiliser l'authentification Kerberos:

# kadmin.Hôte local # ktadd / box2.mydomain.com # ktadd nfs / box2.mydomain.com # ktadd nfs / box1.mydomain.com 

Enfin, montez le partage et effectuez un test d'écriture:

# Mount -T NFS4 -o sec = Krb5 Box2: / nfs / mnt # echo "Bonjour de Tecmint.com "> / mnt / salutation.SMS 
Mount NFS Partage

Allons maintenant déboucher la part, renommer le clés fichier dans le client (pour simuler ce n'est pas présent) et essayez de monter à nouveau le partage:

# umount / mnt # mv / etc / krb5.keytab / etc / krb5.clés.origine 
Mount un montage de Kerberos NFS

Maintenant vous pouvez utiliser le NFS partager avec Kerberos authentification.

Résumé

Dans cet article, nous avons expliqué comment mettre en place NFS avec Kerberos authentification. Puisqu'il y a beaucoup plus dans le sujet que nous pouvons couvrir dans un seul guide, n'hésitez pas à vérifier la documentation en ligne de Kerberos et puisque Kerberos est un peu difficile à dire, n'hésitez pas à nous envoyer une note en utilisant le formulaire ci-dessous Si vous rencontrez un problème ou avez besoin d'aide pour vos tests ou votre implémentation.