Table des matières

Mise en place d'un serveur UrBackup et exploitation

Dans cette documentation nous installerons une solution de sauvegarde sur base de urBackup. Nous installerons aussi les agents sur les clients à sauvegarder.

Cette documentation est réalisée dans le cadre scolaire, il peut donc y avoir d'autres méthodes plus ou moins simple pour y parvenir. Pour mieux s'y retrouver cette documentation disposera de plusieurs screenshots illustrant les consignes.

Préambule

Sauvegarde : bonne pratiques

N’oubliez pas également de suivre la règle de sauvegarde 3-2-1.

Il existe plusieurs supports de sauvegarde :

Afin de réaliser une sauvegarde hors-site, il faut chiffrer les données afin d'éviter qu'une personne puisse les reconstruire.

Prévoir un PRA en cas d'incident sur l'infrastructure : il doit être concis, précis et rapide à comprendre.

Voici un exemple de PRA pour une société nommée Mégaproduction : wiki:others:pra_redaction

Exemple d'un déroulement d'incident :

Pourquoi urbackup ?

Il s'agit d'un système de sauvegarde client/serveur open source et facile à configurer qui, grâce à une combinaison de sauvegardes d'images et de fichiers, assure à la fois la sécurité des données et un temps de restauration rapide.

Les données de toute organisation sont très importantes. C'est pourquoi la sauvegarde de vos données est encore plus importante pour les garder en sécurité en cas de sinistre. UrBackup est une solution de sauvegarde réseau puissante et gratuite pour un usage personnel ou professionnel.

Le programme offre une bonne poignée de fonctions disponibles dans le logiciel de sauvegarde. Parmi eux, nous trouverons une interface Web pour gérer toutes les sauvegardes. Il peut être installé sur Gnu/Linux, Windows et de nombreux systèmes d'exploitation NAS basés sur GNU/Linux.

Prérequis

Je considère que vous avez déjà plusieurs clients à sauvegarder, ici nous installerons seulement l'agent et non la machine complète.

Nous considérons que vous êtes équipé de cette manière :

  1. Une VM sous Debian 11 Le client a sauvegarder
  2. Une VM sous Debian 11 vierge [srv-urbackup]

Les allocations de matériel (CPU/RAM…) sont à allouer selon vos envies, attention à respecter la configuration minimale. C'est à dire :

Pour UrBackup :

  1. 4GB de ram
  2. 2 cœurs de CPU
  3. 32GB d'espace disque pour l'OS
  4. XXGB ² d'espace disque pour les sauvegardes
  5. Debian 11

² Tout dépend du volume de données que vous souhaiter enregistrer

Nos IP pour notre infrastructure seront :

  1. [CLIENT] : 10.192.43.10
  2. [UrBackup] : 10.192.43.13

Mot de passe par défaut sur toutes les sessions : Not24get

Rappel des deux commandes essentiels :

  1. ip a (connaitre son adresse IP)
  2. nano /etc/network/interfaces (configuration de l'interface réseau)

Ajouter les deux machines dans un logiciel tel que mRemoteNG pour faciliter l'administration.

Préparation du disque de sauvegarde

Mise en ligne du disque

Selection du disque

Lister les disques disponibles, puis choisissez le disque que vous souhaitez préparer. Dans notre cas, ce sera le /dev/sdb de 100GB.

fdisk -l
fdisk /dev/sdb

Visualiser la table de partition

Afficher la table de partition avec la commande p.

Création de la partition de type Linux

Avec la commande n

Si vous souhaitez un autre type de partition :

Écriture des nouveaux changements

Avec la commande w, les changements vont êtres write sur la partition sélectionnée.

Formatage de la partition

Quitter l'outil fdisk avec CTRL+C.

Formater la partition en utilisant le système de fichier ext4 :

mkfs.ext4 -b 4096 /dev/sdb1

Montage du disque

mkdir /media/backup
mount /dev/sdb1 /media/backup

Vérifier avec la commande fdisk -l | grep sdb :

Le disque est monté dans /media/backup et est prêt à recevoir les prochaines sauvegardes.

Montage du disque automatiquement

blkid

nano /etc/fstab

(en précisant l'UUID du lecteur à monter et son point de montage, ici /media/backup)

UUID=587e5f03-8fba-4144-8bea-c08c7e8dfbf8 /media/urbackup ext4 defaults 0 2

Installation du serveur UrBackup

Avec le binary sous Debian Bullseye

Avant d’exécuter les commandes, assurez vous que votre système est à jour.

Dernière version actuelle : 2.5.30

Mettez vous dans un répertoire temporaire pour le téléchargement du .deb.

wget https://hndl.urbackup.org/Server/2.5.30/debian/bullseye/urbackup-server_2.5.30_amd64.deb

Une fois le fichier télécharger, forcer l'installation avec :

dpkg -i urbackup-server_2.5.30_amd64.deb

Des erreurs vont apparaitre mais cela est normal : il manque des dépendances. Vous devez les installer avec :

apt install -f

Renseigner le répertoire récemment monté sur le serveur. Si vous ne l'avez pas fait ou que vous souhaiter changer ce lien, utiliser cette commande.

dpkg-reconfigure urbackup-server

Activer le démarrage du service dès le démarrage de la machine :

systemctl enable urbackupsrv

Le nom du service pour le serveur UrBackup est urbackupsrv.

Une fois l'installation terminée rendez-vous sur le page de UrBackup.

Le serveur web écoute sur le port 55414.

Créer l'utilisateur adminisrateur

Pensez à créer l'utilisateur admin, il vous sera nécessaire par la suite.

Autoriser l'écriture sur le disque de sauvegarde

Pour autoriser urBackup à écrire sur le disque de sauvegarde, il faut lui donner les droits. Nous avons précédemment choisi /media/backup comme point de montage de sauvegarde

chmod -R 750 /media/backup  
chown -R urbackup:urbackup /media/backup

DNS & Reverse Proxy sur apache2

Nous souhaitons que notre serveur de backup soit accessible sur backup.dom.megaprod.lan.

Création du DNS

Dans notre serveur DNS (en l’occurrence sur Windows Server), ajouter dans les zones de recherche directes une propriété.

Création du reverse proxy sur a2

touch /etc/apache2/sites-available/backup.conf
snippet.yaml
<VirtualHost *:80>
  ServerName backup.dom.megaprod.lan
  RewriteEngine on
 
  ProxyPass / http://10.192.43.13:55414/ #spécifier l'adresse du serveur urbackup et son port
  ProxyPassReverse / http://10.192.43.13:55414/
  ProxyPreserveHost On
  ProxyAddHeaders On
  RequestHeader set X-Forwarded-Proto "http"
</VirtualHost>
 a2ensite backup.conf
systemctl restart apache2

La page de urbackup est désormais accessible depuis backup.dom.megaprod.lan.

Configuration de urBackup

Documentation de urBackup : https://www.urbackup.org/administration_manual.html

Configuration de l'onglet Internet et Serveur

Configuration du serveur mail

Pour pouvoir générer des alertes, vous devez spécifier un serveur mail relay et un port. Une fois configuré, vous pouvez essayer votre configuration en ajoutant une adresse de test dans la dernière textbox.

Gestion des alertes

Les scripts qui sont existants sont déjà étudier pour envoyer des mails si des éventements se déroulent.

Installation du client UrBackup

Installation manuelle

Via la commande d'installation automatique

Selon la documentation de urBackup, vous pouvez installer et mettre à jour le binary du client via une seule commande :

snippet.bash
TF=$(mktemp) && wget "https://hndl.urbackup.org/Client/2.5.23/UrBackup%20Client%20Linux%202.5.23.sh" -O $TF && sh $TF; rm -f $TF

Sur une distribution Linux

Dans le GUI de UrBackup

Sur le client

(penser à enlever la commande sudo avant le sh, elle risque d'êtres gênante)

snippet.bash
TF=`mktemp` && wget "http://10.192.43.13:55414/x?a=download_client&lang=fr&clientid=1&authkey=b4n5f7wl7B&os=linux" -O $TF && sh $TF; rm -f $TF

(commande unique pour chaque client)

Activer le service au démarrage :

systemctl enable urbackupclientbackend
nano /etc/default/urbackupclient

Modifier les variables en :

snippet.yaml
INTERNET_ONLY=false
RESTORE=server-confirms
HTTP_SERVER=urbackup://10.192.43.13 #ip de votre serveur de backup

systemctl restart urbackupclientbackend
systemctl status urbackupclientbackend
ss -pentul | grep urbackup

Le nom du service pour le client UrBackup est urbackupclientbackend.

Les logs sont disponibles dans /var/log/urbackupclient.log.
La configuration est disponible dans /etc/default/urbackupclient.

La configuration de server-idents.txt est dans /usr/local/var/urbackup/server_idents.txt

Vérification du client dans UrBackup GUI

Le serveur que l'on vient d'ajouter est bien sous le statut En ligne :

Désinstallation du client de la machine

UrBackup est désormais désinstallé de la machine.

Pour le retirer du serveur, supprimer la machine via la GUI puis forcer le nettoyage :

urbackupsrv cleanup --amount x

Sur Windows

Dans le GUI de UrBackup

Sur le client windows 10

Une fois l'agent installé, vous retrouverez dans la barre des tâches le client en train de s’exécuter.

Dans l'onglet Internet renseigner le serveur, ici, urbackup://10.192.43.13 sans port.

Vérification du client dans UrBackup GUI

Le serveur que l'on vient d'ajouter est bien sous le statut En ligne :

La sauvegarde débute sur le client Windows.

Une fois que toutes les machines sont ajoutées voici le résultat :

Sauvegardes

Les types de sauvegardes

En effet pour restaurer les données du jour J il faut déjà restaurer la dernière sauvegarde complète, puis restaurer les unes après les autres les sauvegardes incrémentales jusqu'au jour J.

Sauvegarde d'un SGBD MariaDB sous Debian

Documentation : https://www.urbackup.org/backup_mysql.html.

Urbackup permet de sauvegarder les bases de données PostgreSQL, MariaDB et MySQL sans avoir à ajouter une tâche cron. Sur la machine ou il y a le serveur MariaDB, activez l'option.

Avantages :

Inconvénients :

Conclusion : Utilisez cette méthode de sauvegarde si vous avez une petite base de données (par exemple 1GB) sous Linux.

Configuration de l'agent

Modifier le fichier de configuration mariadbdump.conf :

nano /usr/local/etc/urbackup/mariadbdump.conf

Activer la sauvegarde en mettant 1 à la ligne MARIADB_DUMP_ENABLED, renseignez le compte utilisateur et ajoutez le mot de passe.

Il est préférable de mettre ce mot de passe dans un fichier caché, par exemple .urbackpwd et de renseigner le chemin dans le fichier de configuration.

MARIADB_BACKUP_PASSWORD=/home/adminlocal/.urbackuppwd
touch /home/adminlocal/.urbackuppwd

Ajouter le mot de passe root pour se connecter au SGBD.

systemctl restart urbackupclientbackend

Lors de la sauvegarde, la basse de donnée sera sauvegardée et un fichier .sql sera présente dans les sauvegardes à ce chemin urbackup_backup_scripts/mariadbdump.sql.

Commencez avec une base de données vide, téléchargez le dumping SQL du serveur et importer le dumping SQL avec :

mysql -u root -p < mysqldump.sql

Sauvegarde d'image

Pour des raisons techniques, il est malheureusement impossible de faire des sauvegardes d'images de l'infra donnée par l'école. En effet, UrBackup n'a pas la possibilité de créer des images de partition en ext2.

Cependant, voici le déroulé d'une sauvegarde d'image :

Pour lancer une sauvegarde d'image, aller dans l'onglet États puis Sauvegarde image complète.

Ce type de sauvegarde est égal aux logiciels Ghost ou Clonezilla, ces images sont ensuite réutilisables pour restaurer un OS complètement via un live-cd fourni par UrBackup.

En allant dans l'onglet Activités, il est possible de voir l'avancement.

Sauvegarde de fichiers spécifiques

Lancer une sauvegarde manuellement

Pour lancer une sauvegarder manuellement, choisissez la machine puis sélectionner Sauvegarde de fichiers complète.

Une fois la sauvegarde lancée, vous pouvez vérifier son avancement en cliquant sur l’onglet Activités.

Dans l'onglet Sauvegarde il est possible de choisir la machine sur laquelle vous souhaiter restaurer des fichiers.

En temps normal, tous les fichiers sont sauvegardés, mais si vous souhaitez choisir un dossier spécifique à sauvegarder, vous pouvez en suivant le chapitre suivant.

Sous Windows, spécifier le path à sauvegarder

Sélectionner choisir manuellement les fichiers à sauvegarder.

Ici nous voulons sauvegarder notre site web intranet hébergé avec le serveyr web IIS.

La sauvegarde de fichiers est maintenant configurée sur cette machine, elle aura lieu manuellement ou automatiquement selon les règles définies sur le serveur.

Sous Linux, spécifier le path à sauvegarder dans le GUI

Rendez vous dans le GUI de urBackup puis dans Réglages. Choisissez la machine à modifier et spécifier le path de sauvegarde.

Dans notre exemple nous souhaitons sauvegarder la configuration de mailcow.

systemctl restart urbackupsrv


Réglage des planifications des sauvegardes

Si vous souhaitez régler la planification des tâches de sauvegardes, rendez-vous dans l'onglet Réglages puis dans l'onglet Client.

L'argument de l'intervalle de sauvegarde est scindé en deux parties :

1-7   /    0-24

La première partie concerne les jours de la semaine :

La deuxième partie concerne les heures de la journée.

Exemple: Si vous souhaitez lancer les sauvegardes entre mercredi et jeudi, entre 0 et 04h00, voici l'argument : 3-4/0-04.

Réglage des planifications des archives

Si vous souhaitez régler la planification de l'archivage, rendez-vous dans l'onglet Réglages puis dans l'onglet Archive.

*;*;*;* → (heure ; jour du mois ; mois ; jour de la semaine)

Selon la documentation de UrBackup voici les conditions attendues :

Exemple: Si vous souhaitez faire un archive tous les 1er du mois à 04h00, voici l'argument : 4;1;*;*.

Restauration de sauvegarde

De fichiers

Afin de restaurer un fichier, on navigue dans l'onglet Sauvegarde jusqu'au fichier souhaité. Une fois le fichier cible trouvé, sélectionner Restaurer.

Si on souhaite restaurer l’ensemble du répertoire Pictures, il est nécessaire de cliquer sur Restaurer un dossier vers un client.

Sur les machines Windows, une confirmation est demandée.

D'une image

Toute la puissance de UrBackup réside dans la possibilité de restaurer une machine via une image.
Cette technique se nomme BMR (Bare Metal Restore).
Le BMR est une technique de restauration où les données sont sauvegardées sous une forme telle que l'on peut récupérer une machine dans son entièreté et la faire redémarrer sans aucune installation préalable.

Pour cela il vous sera nécessaire de vous créer un media live CD avec l'ISO de UrBackup.

Création du live CD sur clé USB

Il est nécessaire d'avoir téléchargé l'iso sur le site de UrBackup : https://www.urbackup.org/download.html#restore_cd.

Une fois l'iso récupéré, utiliser un utilitaire comme https://rufus.ie/ pour graver le fichier sur une clé USB.

Démarrage du live CD

Avancement sur le serveur UrBackup

La restauration est terminée vous pouvez désormais redémarrer la machine sans la clé USB.

La machine va reprendre l'état identique par rapport à l'image.

Conclusion

Tout cela montre la puissance du logiciel UrBackup. Pour une PME/TPE ce logiciel gratuit et léger peut être très pratique. La perte de données devient quasi impossible, si les backups sont régulières et dupliquées sur d'autres serveurs.

Mes sources