Ceci est une ancienne révision du document !
Samba AD DC - Partage NFSv4 avec authentification Kerberos
Le partage de données se fait communément avec le protocole SMB (Server Message Block). Ce protocole a l'avantage d'être supporté par l'ensemble des plate-formes (Windows, Apple, Linux, Unix).
Une alternative à celui-ci est NFS (Network File System) qui, historiquement, est le protocole de partage de données dans le monde Unix et plus tard Linux. Ces trois premières versions manquaient cruellement de sécurité. La quatrième version apporte des éléments de sécurité concrets dont :
- L'authentification des intervenants qui a pour but de vérifier l'identité de la personne ou de la machine avec qui l'on communique.
- La signature des communications qui a pour but de détecter si la communication a été modifiée entre son émission et sa réception.
- Le chiffrement des communications qui a pour but d'empêcher la compréhension de la communication si elle est interceptée.
Prérequis
- Avoir un contrôleur de domaine Samba AD (ou son équivalent Windows) →Se référer à Samba - Active Directory Domain Controller (AD DC)
- Avoir deux machines dans ce domaine →Se référer à Samba AD DC - Intégration de machines au domaine
- Avoir une connaissance de NFS →Se référer à NFS
Paramètres
Pour cette documentation, les paramètres suivants seront utilisés 1)
Nom de domaine | Royaume (realm) |
---|---|
example.com | EXAMPLE.COM |
Nom de machine | Adresse IP | Role |
---|---|---|
ubndc01 | 192.0.2.11 | Contrôleur de domaine |
ubnfs01 | 192.0.2.12 | Serveur de fichier |
ubnws01 | 192.0.2.13 | Machine client |
Le répertoire partagé sera le répertoire /media/example/home présent sur le serveur de fichier et contenant les répertoires home des utilisateurs du domaine. Ce répertoire sera monté sur chaque machine du domaine afin de permettre à chaque utilisateur d'accéder à son répertoire home depuis n'importe quelle machine du domaine.
Mécanisme d'authentification Kerberos
Ult.
Configurations
Configuration du serveur de fichier
L'installation de NFS se fait avec le paquet nfs-kernel-server
sudo apt-get install nfs-kernel-server
Avant de faire fonctionner NFS, il faut préparer le partage. NFSv4 base son partage sur une racine virtuelle définie. Bien qu'il soit possible d'utiliser des répertoires déjà existants, il est recommandé d'en créer un à la racine du système de fichier, par exemple /export. Ensuite pour chaque répertoire qui sera partagé, il faut créer un sous répertoire, par exemple /export/home. A ce stade, les données partagées le serait sur la partition Root ce qui n'est pas une bonne pratique. Afin de ne pas modifier le reste du serveur de fichier, il faut procéder à la jonction du répertoire /export/home avec le répertoire qui stockera réellement les données, /media/example/home.
En ligne de commande
sudo mount --bind /media/example/home /export/home
Ou en ajoutant une ligne dans le fichier /etc/fstab pour que l'opération soit effectuée à chaque redémarrage
- /etc/fstab
# Export NFS4 /media/example/home /export/home none bind 0 0
Cette structure de répertoires sous /export doit être considérée comme une structure virtuelle permettant le fonctionnement de NFS et non pas comme une structure pour le stockage de fichiers directement. Ainsi, l'impact en espace disque sur la partition Root est quasi nul.
La configuration des partages se fait au travers du fichier /etc/exports
- /etc/exports
/export 192.0.2.0/24(rw,sync,fsid=0,no_subtree_check,crossmnt,sec=krb5) /export/home 192.0.2.0/24(rw,sync,no_subtree_check,sec=krb5)
La première ligne avec l'option fsid=0 (ou fsid=root) défint la racine virtuelle du système de fichier partagé. Ainsi, tout les fichiers et répertoires sous /export sont accessibles par le partage NFS.
L'option sec=krb5 définit le niveau de sécurité exigé. Il en existe 3:
- krb5: Authentification Kerberos
- krb5i: Authentification Kerberos avec signature des communications (i pour integrity)
- krb5p: Authentification Kerberos avec chiffrement des communications (p pour privacy)
A ce stade, le démarrage du serveur NFS ne devrait pas encore fonctionner. config /etc/default/nfs-kernel-server …
Références
Contributeur principal : Qedinux