Sommaire
Présentation
Nous allons, dans ce tutoriel, configurer FreeNAS en tant que serveur Rsync.
Nous aborderons également l’aspect sécurité afin de protéger l’accès au serveur mais également de chiffrer le transfert des données.
Rsync est avant tout un protocole (et un outil) de synchronisation mais il est largement utilisé dans des scénarios de sauvegarde.
Ce tutoriel a été prévu pour un serveur FreeNAS.
1) Préparation de l’environnement
1.1) Création d’un utilisateur dans FreeNAS
Création d’un utilisateur backup dédié pour le service Rsync.
Ne pas l’ajouter dans des groupes inutiles et ne pas lui donner des permissions inutiles tel que « Permit Sudo » pour éviter de compromettre la sécurité de votre système.
1.2) Création d’un dataset Backups
Pour des questions d’organisation, créer un Dataset dédié (Ex : Backups).
La création de sous-datasets est possible pour organiser les backups.
1.3) Configuration des droits d’accès
Afin de se prémunir de problèmes de sécurité, le propriétaire sera l’utilisateur backup et seul lui aura les droits sur le Datasets.
2) Configuration de Rsync dans FreeNAS
2.1) Activation et Configuration de Rsync dans FreeNAS
Se rendre dans les Services de FreeNAS, cliquer sur le bouton pour Activer le service Rsync et cliquer sur le « crayon » de la colonne « Actions » pour configurer ce dernier.
Cocher la case pour que le service Rsync démarre automatiquement au lancement de FreeNAS.
2.2) Modification du port de Rsync dans FreeNAS
Pour des raisons de sécurité, il est vivement recommandé de ne pas utiliser le port par défaut.
A partir de maintenant, nous utiliseront le port 44873.
2.3) Création et configuration d’un Module Rsync dans FreeNAS
Se rendre dans la configuration du service Rsync, cliquer sur l’onglet Rsync Module puis cliquer sur ADD.
3) Sécurisation de l’accès à Rsync
Cette étape est importante si votre serveur Rsync est en production ou accessible depuis internet.
A cette étape, le serveur Rsync est fonctionnel.
Cependant, le module configuré précédemment n’est pas sécurisé car il est accessible par tout le monde sur le réseau sans contrôle d’accès.
Il va falloir renforcer la sécurité.
3.1) Autoriser ou refuser des machines dans Rsync
Hosts Allow
Si les machines autorisées à se connecter au module Rsync sont connues, il serait judicieux de les renseigner dans Hosts Allow (adresses IP, plages d’IP ou adresses réseaux).
Seules les machines respectant ces critères pourront se connecter au module (A condition qu’elles ne se trouvent pas dans Host Deny).
Hosts Deny
Il est également possible de lister les machines, réseaux ou plages d’IP n’ayant pas le droit de se connecter au module grâce au paramètre Hosts Deny.
3.2) Authentification
Il est possible de sécuriser l’accès au module rsync grâce à une authentification.
Pour cela, il faudra configurer 2 paramètres :
- auth users : Indique la liste des utilisateurs ayant le droit de se connecter au module.
- secrets file : Indique le chemin d’accès du fichier faisant office de base de compte utilisateurs.
Il contiendra User:MotDePasse en clair. L’accès à ce fichier doit donc être restreint.
Configurer ces 2 paramètres dans le champ « Auxiliary parameters » du module :
Note : Il est possible de mettre ces paramètres dans la configuration globale de Rsync (Onglet Configure et champ Auxiliary parameters).
Ouvrir une invite de commande dans FreeNAS et créer le fichier /usr/local/etc/rsyncd.secrets
:
1 |
nano /usr/local/etc/rsyncd.secrets |
Renseigner les informations de connexion de l’utilisateur :
Modification des droits sur le fichier rsyncd.secrets
:
1 |
chmod 600 /usr/local/etc/rsyncd.secrets |
Cette modification est importante car par défaut et pour renforcer la sécurité, rsync vérifie les droits du fichier rsyncd.secrets
.
Si les autres utilisateurs ont accès à ce fichier, la connexion au module sera systématiquement refusée.
Il est possible de désactiver ce contrôle avec le paramètre strict modes = false mais ce n’est pas recommandé.
3.3) Désactiver la découverte du module Rsync
Par défaut, les clients peuvent lister les modules d’un serveur Rsync.
Pour renforcer la sécurité, il est possible de désactiver la découverte du module avec le paramètre list = false
.
Note : Il est possible de mettre ce paramètre dans la configuration globale de Rsync (Onglet Configure et champ Auxiliary parameters).
4) Chiffrement du transfert Rsync
Cette étape est importante si votre serveur Rsync est accessible depuis internet.
Le protocole Rsync permet de sécuriser l’accès au serveur mais le données qui transitent du client au serveur ne sont pas chiffrées.
Nous allons voir ici les différentes solutions qui s’offrent à nous pour chiffrer le transfert.
4.1) Rsync et SSH
En utilisant Rsync au travers de SSH, le client Rsync contactera directement le serveur via SSH.
Ce qui signifie que le demon Rsyncd ne sera pas utilisé et la configuration du fichier rsyncd.conf n’aura donc plus aucun intérêt.
Exemple de ligne de commande coté client :rsync -av -e "ssh -l userSSH" /home/jean/ 192.168.1.202://Backup/Path/
- sshUser : Utilisateur SSH pouvant s’authentifier sur la machine 192.168.1.202 et disposant des permissions nécessaires sur le répertoire //Backup/Path/.
4.2) Rsyncd et SSH
Il est possible de chiffrer les données transférées tout en continuant à utiliser le demon rsyncd. Cette solution est selon moi plus contraignante car il y aura de la configuration supplémentaire. Je préconise donc l’utilisation de Rsync via SSH.
Si vous souhaitez tout de même utiliser Rsyncd et SSH il faudra :
Exemple de ligne de commande coté client :rsync -av -e "ssh -l sshUser" /home/jean/ 192.168.1.202::ModuleName/BackupPath/
- sshUser : Utilisateur SSH pouvant s’authentifier sur la machine 192.168.1.202 et disposant des permissions nécessaires sur le Module ModuleName.
- Il faudra impérativement utiliser « :: » pour séparer le serveur et le nom du module pour spécifier que l’on cherche à se connecter au demon Rsync et non au serveur SSH.
Vous avez enfin configuré le service Rsync sur votre serveur FreeNAS.
Il ne reste plus qu’à :
- Créer vos propres modules Rsync
- Utiliser la section commentaires pour me faire part de vos remarques ou problèmes rencontrés.
- Visiter les pages de documentation rsync pour aller encore plus loin :
En savoir plus sur Jj World
Subscribe to get the latest posts sent to your email.
Bonjour
Je ne suis pas doué : jamais reussi à faire Rsync deux freenas.
Help 🙃