Configuration du serveur NFS avec authentification basée sur Kerberos pour les clients Linux - partie 7
- 3578
- 138
- Emilie Colin
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 7Dans 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:
- Machine client [Box1: 192.168.0.18]]
- 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 domaine192.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 suiviSynchroniser 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 -SCré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 NFSEnsuite, obtenez et cachez un ticket d'accueil de billets Kerberos pour root / admin:
# kinit root / admin # klistCache 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.SMSMount 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.origineMount 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.
- « CloudLayar - une protection DNS gratuite pour votre site Web
- Comment créer un fichier d'échange Linux »