Général

burp : la sauvegarde simple qui juste marche

Cette fois, je vais parler sauvegarde avec le logiciel burp. Je vous laisse vous référer au site officiel pour en apprendre plus sur les raisons du démarrage de ce projet par Graham Keeling. Burp est basé sur librsync, ce qui lui permet d’être très efficace sur les sauvegardes différentielles.

Des points intéressants de ce logiciel sont que le client fonctionne sur linux/mac/windows, qu’il est très simple à mettre en place. Par exemple, le client et le serveur sont dans le même binaire, il y a très peu de dépendances etc.

Autre point important pour mon cas d’usage qui comprend des ordinateurs portables qui ne sont pas toujours présents sur le réseau: c’est le client qui vient demander au serveur s’il est temps pour lui de se sauvegarder.

Concrètement, il s’agit d’un cron qui se lance régulierement pour interroger le serveur. Selon la politique de sauvegarde définie et la date de la dernière sauvegarde, le serveur autorise la sauvegarde ou non. Le script de calcul coté serveur est bien sur configurable et modifiable.

Je vais rapidement dérouler l’installation et la sauvegarde du premier client.

Installation du server et du client :
apt install burp

Sur le serveur, autoriser le démon à se lancer en mettant RUN=yes dans /etc/default/burp

La configuration du serveur se fait dans /etc/burp/burp-server.conf
L’ajout d’un client se passe simplement, il faut une configuration sur le serveur et une sur le client avec un password commun.

Exemple sur le serveur dans /etc/burp/clientconfdir/client_test
password = passbkp

Exemple sur le client dans /etc/burp/burp.conf
mode = client
port = 4971
server = 10.0.0.1
password = passbkp
cname = client_test

Bien sur il ne faut pas oublier de modifier le reste du fichier pour limiter le débit si necessaire et ajuster les inclusions et exclusions.

A la première communication, le serveur va verifier le mot de passe puis signer le certificat ssl généré par le client, cela servira à chiffrer les communications par la suite.

un rapide burp -a b pour lancer la premiere sauvegarde, puis l’ajout de burp -a t en cron et c’est fini !

Après la première sauvegarde, cela va assez vite car burp inventorie les metadonnées des fichiers à sauvegarder puis les compare aux métadonnées de la derniere sauvegarde du serveur.
Cela lui permet de ne sauvegarder que les fichiers ajoutés et pour les fichiers modifiés, seuls les blocs modifiés sont transmis.

Les sauvegardes sont chiffrées coté serveur.

Une interface de visualisation est disponible depuis le serveur :
burp -c /etc/burp/burp-server.conf -a s

Ziirish à lancé un projet d’interface web de monitoring et de configuration pour burp. Ça se passe ici : https://git.ziirish.me/ziirish/burp-ui

Au moment de tester les restaurations, c’est amusant de voir que les regex sont utilisées pour selectioner les fichiers ou repertoires à remonter. C’est vraiment pratique.

Exemple pour restaurer un fichier depuis le backup numéro 1 dans le repertoire /tmp/
burp -a r -b 1 -r fichier$ -d /tmp/

C’est KISS non ? :-)

En bonus voici les infos qu’on trouve pour résumer l’état d’un backup.
--------------------------------------------------------------------------------
Start time: 2015-09-11 19:27:01
End time: 2015-09-11 19:28:08
Time taken: 01:07
New Changed Unchanged Deleted Total | Scanned
------------------------------------------------------------
Files: 15 59 0 0 74 | 48610
Meta data: 0 0 0 0 0 | 1
Directories: 0 0 0 0 0 | 6002
Soft links: 0 0 0 0 0 | 56
Special files: 0 0 0 0 0 | 2
Grand total: 15 59 0 0 74 | 54671
------------------------------------------------------------

Warnings: 1

Bytes estimated: 213898414380 (199.21 GB)
Bytes in backup: 110569423 (105.45 MB)
Bytes received: 0
Bytes sent: 23859722 (22.75 MB)
--------------------------------------------------------------------------------

Related Posts:

Leave a Reply