Authentification kerberos NFS

De wiki.nexiat.fr
Aller à la navigation Aller à la recherche
Fiche express
Domaine Partage de fichiers sécurisé
Protocole NFS + authentification Kerberos (krb5)
Contexte RHEL 7 — exports NFS protégés par tickets Kerberos
Voir aussi Kerberos · Authentification kerberos systeme

Sur RHEL 7, un export NFS peut être protégé par une authentification Kerberos plutôt que de se reposer uniquement sur les identifiants locaux (UID/GID) transmis en clair. Le montage choisit une méthode de sécurité (sec=) qui détermine le niveau d'authentification et de chiffrement appliqué aux échanges.

Méthodes de sécurité (option sec)

Méthode Description
none Les clients anonymes peuvent accéder au système de fichiers.
sys Authentification basée sur les droits d'accès locaux de la machine Linux (UID/GID), sans chiffrement.
krb5 Les clients doivent s'authentifier via Kerberos pour accéder aux fichiers.
krb5i Idem, avec en plus un contrôle d'intégrité des échanges.
krb5p Idem, avec chiffrement complet des requêtes (attention aux performances).

Pour les méthodes Kerberos, les services nfs-secure-server (côté serveur) et nfs-secure (côté client) doivent être actifs, et l'authentification krb5 doit être opérationnelle sur les deux machines.

Côté serveur

systemctl start nfs-secure-server
systemctl enable nfs-secure-server

mkdir /secureexport
echo '/secureexport *.example.com(sec=krb5,rw)' >> /etc/exports
exportfs -r

firewall-cmd --permanent --add-service=nfs
firewall-cmd --reload

Côté client

systemctl start nfs-secure
systemctl enable nfs-secure

mkdir /mnt/secureexport
mount -o sec=krb5 serverX:/secureexport /mnt/secureexport

Contexte SELinux

Pour un partage soumis à SELinux, préciser le contexte au montage :

mount -o context="system_u:object_r:public_content_rw_t:s0" serverX:/myshare /mnt/nfsexport

Montage chiffré (krb5p)

Pour un montage chiffré, il est conseillé de forcer la version du protocole NFS afin d'éviter les incompatibilités :

mount -o sec=krb5p,v4.2 serverX:/secureexport /mnt/secureexport

touch /secureexport/selinux.txt
chcon -t public_content_t /secureexport/selinux.txt
ls -Z /mnt/secureexport

Entrée /etc/fstab correspondante :

serverX:/securefs   /mnt/secureexport   nfs   defaults,v4.2,sec=krb5p   0 0

Voir aussi