This site uses cookies! Learn More

Ce site utilise des cookies !

En continuant à utiliser ce site, vous vous engagez à nous permettre de stocker des cookies sur votre ordinateur.

Langer

[TUTO] Sauvegarde Hyper Backup vers un serveur distant rsync avec chiffrement du transfert

Messages recommandés

Sauvegarde Hyper Backup vers un serveur distant rsync avec chiffrement du transfert

 

 

Objectif : Sauvegarde des données automatisée par l’outils Hyper Backup du Syno vers un serveur distant rsync avec chiffrement du transfert

Prérequis :  Synology avec hyperbackup et droits administrateurs

       Serveur distant sous distribution linux avec droits administrateurs

Pour les fins du tutorial, j’utilise mon raspberry pi, mais la méthode marche parfaitement pour des serveurs au-delà du réseau local.

 

 

1. Connexion au serveur distant

On commence par paramétrer le serveur distant. On se logue au serveur distant en SSH, en root ou admin (port 22 par défaut)

1..png

 

En console, on va installer le paquet rsync :

root@SERVEUR-PI:~# apt-get install rsync

Et lancer le service Rsync :

root@SERVEUR-PI:~# service rsync start

 

On vérifie ensuite la configuration de la connexion ssh : 

root@SERVEUR-PI:~# nano /etc/ssh/sshd_config

Dans ce fichier, vous pouvez changer le port de connexion (22 par défaut) pour un plus exotique, désactiver la connexion en ssh avec le root et autoriser l’authentification par clés publiques si on le désire ou non. À modifier selon vos critères.

On sauvegarde le fichier et on recharge la configuration ssh :

root@SERVEUR-PI:~# /etc/init.d/ssh force-reload 

 

On peut alors créer l’utilisateur qui va permettre le transfert, backup pour mon cas :

root@SERVEUR-PI:~# sudo useradd backsyno -m -G users
root@SERVEUR-PI:~# sudo passwd backsyno
root@SERVEUR-PI:~# su - backsyno

 

Puis on va créer le module de connexion ssh permettant d’afficher le serveur dans hyper backup :

$ nano rsyncd.conf
cat /home/backsyno/rsyncd.conf
use chroot = no
max verbosity = 2
log file = /var/log/rsyncd.log
[RASPBERRY-PI]
path = /home/backsyno
aut users = backsyno
secrets file = /home/backsyno/rsyncd.secrets
comment = Synchro fichiers avec le PI
read only = false

Ainsi que le rsyncd.secrets, où sont stockés les mots de passe des auth users.

$ nano rsyncd.secrets
backupsyno:motdepasse

Puis on change les droits de ce fichier

$ sudo chmod 600 rsyncd.secrets

Il y a plein de possibilités et de niveaux de sécurité pour le rsyncd.conf, je vous laisse aller consulter cette page pour plus de détails : http://www.delafond.org/traducmanfr/man/man5/rsyncd.conf.5.html

Toutefois, il est nécessaire que ce fichier se retrouve dans le répertoire utilisateur pour que tout fonctionne correctement. De plus le compte rsync et le compte linux n'ont aucun rapport, mais Le Syno a besoin que le login soit le même. 

Finalement, on créé le répertoire .ssh où l'on va stocker la clé d'authentification :

$ mkdir .ssh

 

 

2. Connexion au Synology pour activer l'authentification par clé

Si l'on souhaite faire de l'authentification par clé, il est aussi nécessaire d'autoriser la clé ssh du syno sur le serveur distant, permettant ainsi la protection de l'accès au serveur ssh. Le serveur rsync n'a pas besoin d'être autorisé depuis internet à la base.

On va maintenant ouvrir une nouvelle connexion ssh avec Putty pour se connecter au serveur Synology, et créer les clés d'authentification. Dans le cas où le service ssh est bloqué sur le Synology, se rendre dans le panneau de configuration  :

6.png

 

Se loguer avec le compte admin que vous avez choisi dans le DSM, puis se connecter au compte root :

Cedric@SYNO-NAS:/$ sudo -i
Password:
root@SYNO-NAS:~#

 

Les clés doivent être générées dans le dossier suivant /root/.ssh :

root@SYNO-NAS:/# ssh-keygen -t rsa

On se place dans le dossier des clés et on vérifie que les clés ont bien été créées avec ls -l :

root@SYNO-NAS:/# cd /.ssh
root@SYNO-NAS:/# ls -l
total 8
-rw------- 1 root root 668 Jan 20 17:49 id_rsa
-rw-r--r-- 1 root root 605 Jan 20 17:49 id_rsa.pub

 

Dès lors on peut transférer la clé publique id_rsa.pub vers le serveur distant (attention au port de connexion si changé plus tôt) :

root@SYNO-NAS:/# scp -p /root/.ssh/id_rsa.pub backsyno@IP.IP.IP.IP:/home/backsyno/.ssh/

Mettre “yes” en toutes lettres, puis rentrer le mot de passe.

 

 

On retourne sur la console du serveur distant, et on va vérifier que la clé est bien là :

$ cd /home/backsyno/.ssh
$ ls -l
total 4
-rw-r--r-- 1 backsyno backsyno 605 Jan 20 17:49 id_rsa.pub

 

Il est désormais nécessaire de copier le contenant de la clé dans le fichier authorized_keys, toujours dans le répertoire .ssh du serveur distant, puis vérifier que le fichier comporte la clé publique avec un nano : :

$ cat id_rsa.pub >> authorized_keys
$ nano authorized_keys

Si la clé est présente, on peut dès lors supprimer le id_rsa.pub sur le serveur distant :

$ rm id_rsa.pub

 

La clé est bien installé, on va vérifier si la connexion ssh se fait sans mot de passe depuis la console du Synology (Attention au port par défaut) :

root@SYNO-NAS:~/.ssh# ssh -p 22 -i /root/.ssh/id_rsa backsyno@IP.IP.IP.IP

The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
$ 

Aucun mot de passe n'a été demandé, la connexion ssh par clé fonctionne bien :)

 

Étant donné que Hyper Backup va faire les sauvegardes de fichiers, on va copier les clés dans pour les faire fonctionner avec HyperBackup :

root@SYNO-NAS:~/.ssh# mkdir /var/packages/HyperBackup/target/.ssh/
root@SYNO-NAS:~/.ssh# cp id_rsa /var/packages/HyperBackup/target/.ssh/
root@SYNO-NAS:~/.ssh# cp id_rsa.pub /var/packages/HyperBackup/target/.ssh/
root@SYNO-NAS:~/.ssh# cd /var/packages/HyperBackup/target/.ssh/

il est nécessaire de changer les droits d’accès :

root@SYNO-NAS:/var/packages/HyperBackup/target/.ssh# chown HyperBackup id_rsa
root@SYNO-NAS:/var/packages/HyperBackup/target/.ssh# chmod 600 id_rsa
root@SYNO-NAS:/var/packages/HyperBackup/target/.ssh# chown HyperBackup id_rsa.pub
root@SYNO-NAS:/var/packages/HyperBackup/target/.ssh# chmod 644 id_rsa.pub

 

Puis on change aussi le propriétaire du dossier .ssh :

root@SYNO-NAS:/var/packages/HyperBackup/target/.ssh# cd ..
root@SYNO-NAS:/var/packages/HyperBackup/target# chown HyperBackup .ssh
root@SYNO-NAS:/var/packages/HyperBackup/target# chmod 700 .ssh

 

 

3. Opération avec Hyper Backup sur le Syno

Les manipulations en console sont maintenant terminées, on peut utiliser l'outil Hyper Backup. On va créer une nouvelle tâche de sauvegarde de données, par serveur rsync distant :

2..png

 

On va ensuite rentrer les paramètres de notre serveur distant, qui est compatible rsync :

Attention si vous aviez préalablement changer de port pour l’accès SSH, dans le sshd_config, le chiffrement de transfert se fait par défaut par le port 22, sinon le port 873 pour le mode sans chiffrement.

Les identifiants de l’utilisateur qui a été créé sur le serveur distant.

Le module Rsync créé dans le ficher rsyncd.conf devrait s’afficher dans le champ Module de sauvegarde si tout va bien :).

Le répertoire dans lequel la sauvegarde va se faire sur le serveur distant : /home/backsyno/SYNO-NAS

3..png

 

Ensuite on peut choisir les différentes données et applications que l’on veut sauvegarder, ainsi que de la fréquence. Un mode de fichiers cryptés sur le serveur distant est aussi disponible, ainsi que des paramètres de rotation des anciennes versions.

4.png

 

Voici la tâche de sauvegarde du Synology vers un serveur distant rsync avec Hyper Backup et le chiffrement du transfert.

5.png

 

Merci à Fenrir pour son aide précieuse!

J Enjoy

 

Modifié par Langer

Partager ce message


Lien à poster
Partager sur d’autres sites

Un bon petit tuto qui devrait servir, juste une petite remarque

Il y a 14 heures, Langer a dit :

ssh-keygen -t dsa

dsa est déprécié, il faut choisir rsa ou ed25519

Modifié par Fenrir

Partager ce message


Lien à poster
Partager sur d’autres sites

Bonjour,

Merci pour ce tuto très instructif.

Je ne suis pas sûr de bien comprendre la démarche pour la création des clés: on génère une clé publique avec le compte admin et on va l'utiliser avec le compte "backsyno" ?

Ai-je bien compris? si c'est bien ça, on ne devrait pas générer la clé depuis le compte "backsyno" ?

La clé publique générée est associée à l'utilisateur ou bien au NAS?

Merci d'avance pour vos retours.

 

 

Modifié par fildar42
ajout de texte

Partager ce message


Lien à poster
Partager sur d’autres sites
Il y a 2 heures, fildar42 a dit :

La clé publique générée est associée à l'utilisateur ou bien au NAS?

Tu peux créer une paire de clef pour un utilisateur et l'utiliser pour 50, c'est juste un choix d'organisation/sécurité.

Partager ce message


Lien à poster
Partager sur d’autres sites

ok, donc si le propriétaire de ma tache Hyperbackup n'est pas root mais ADMBACKUP, je peux lui générer une clé et la mettre dans Hyperbackup/target/.ssh pour que cela fonctionne, sans utiliser la clé de root. Ca devrait fonctionner?

Partager ce message


Lien à poster
Partager sur d’autres sites

Salut,

Merci beaucoup pour ton tuto, un petit détail cependant, en l'état actuel des choses l'utilisateur créé n'a pas accès au fichier de log. Extrait du syslog lors de la connexion du syno

rsync: failed to open log-file /var/log/rsyncd.log: Permission denied (13)

Pour ma part, sur mon serveur distant (debian sur une dedibox) j'ai du créer le fichier et lui donner les droits avec ces commandes

touch /var/log/rsyncd.log

chown backsyno /var/log/rsyncd.log

chmod 664 /var/log/rsyncd.log

A+

 

Partager ce message


Lien à poster
Partager sur d’autres sites

Créer un compte ou se connecter pour commenter

Vous devez être membre afin de pouvoir déposer un commentaire

Créer un compte

Créez un compte sur notre communauté. C’est facile !

Créer un nouveau compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.

Connectez-vous maintenant