Sauvegarde d’une base Aegis via WebDAV
Authentification à double facteur
L’authentification à double facteur sécurise grandement l’accès aux services numériques et, si vous ne l’avez pas encore fait, je vous invite à l’utiliser partout où elle vous est proposée. Cette double authentification peut être mise en œuvre de diverses manières, l’une des plus courantes étant la génération d’un code TOTP (i.e. code à usage unique basé sur le temps). À l’instar de vos identifiants et mots de passe, vous pouvez confier la gestion des codes TOTP au coffre-fort numérique KeePassXC. Je vous invite cependant à ne pas mettre tous vos œufs dans le même panier et à utiliser pour cela une application tierce, tournant idéalement sur un autre terminal, que vous avez toujours sous la main, votre smartphone. J’ai bien évidemment confié cette tâche à une application libre, FreeOTP+ dans un premier temps, puis Aegis Authenticator, que je trouve plus complet.
Une sauvegarde s’impose
Utiliser plusieurs périphériques et fragmenter les secrets renforce la sécurité, mais cela rend votre smartphone et son contenu encore plus précieux. Et vous connaissez ma devise : « si c’est précieux, on sauvegarde », même si, en l’espèce, je prends soin d’enregistrer systématiquement dans un fichier chiffré les précieuses « semences » de mes codes TOTP (je pourrais donc reconstituer ma base ex-nihilo, mais ce serait long et fastidieux).
L’une des raisons qui m’ont conduit à abandonner l’application FreeOTP+ au profit d’Aegis Authenticator est que celle-ci propose une fonction de sauvegarde automatique de sa base de données après chaque modification. Mais la sauvegarde ne peut se faire que localement ou sur le cloud d’Android. Aucune de ces options ne me convient.
J’ai donc cherché comment effectuer une sauvegarde distante, ailleurs que sur les serveurs de Google. J’aurais pu utiliser mon NAS, mais je ne l’expose pas sur Internet. J’aurais pu utiliser Syncthing ou mon serveur NextCloud, mais sauvegarder ces données ailleurs que chez moi m’a paru plus intéressant, car cette action s’inscrit dans une réflexion plus globale sur ma résilience numérique.
La solution
Storage Box chez Hetzner
Louant déjà à Hetzner un espace Storage Box pour y stocker les sauvegardes distantes de mes machines, je me suis dit que c’était certainement l’endroit adéquat pour y déposer les sauvegardes de ma base Aegis. Là encore, pour cloisonner un peu les choses, j’ai décidé :
- de créer un compte secondaire via l’interface de gestion de la Storage Box ;
- de restreindre l’accès de ce compte à un répertoire créé pour l’occasion (il n’a ainsi pas accès au reste de l’espace, et notamment aux sauvegardes de mes machines, qu’il ne peut altérer ou supprimer) ;
- d’activer pour ce compte, et seulement lui, l’accès via le protocole WebDAV.
Pour fixer les idées, disons que :
- Mon compte principal sur la Storage Box est
u123456
; - Mon espace Storage Box est accessible via l’adresse
u123456.your-storagebox.de
; - Je me suis connecté à mon espace via SSH pour y créer un répertoire
aegis
; - J’ai demandé la création d’un compte secondaire –
u123456-sub1
/godsavethequeen
– et je lui ai affecté le répertoireaegis
comme « répertoire de base » (u123456-sub1
est ainsi enfermé, « chrooté » dansaegis
) ; - J’ai enfin autorisé le protocole WebDAV pour le compte
u123456-sub1
(et seulement lui, afin de ne pas exposer mes autres sauvegardes).
Le compte u123456-sub1
accède à l’espace u123456.your-storagebox.de/aegis
via l’adresse u123456-sub1.your-storagebox.de
(notez le préfixe qui change,
adoptant le nom du compte secondaire, et la disparition du répertoire aegis
,
conséquence du « chroot »).
Montage du point d’accès sur le smartphone
Plusieurs outils permettent de monter un volume WebDAV sur un système Android. Pour ma part, j’utilise déjà l’application DAVx5 pour synchroniser mon carnet d’adresse entre mon instance NextCloud et mon smartphone, et il se trouve qu’elle supporte aussi le protocole WebDAV.
La configuration d’un point de montage WebDAV nécessite 4 paramètres :
- L’URL :
https://u123456-sub1.your-storagebox.de
- Le compte :
u123456-sub1
- Le mot de passe :
godsavethequeen
- Le nom du montage :
Hetzner Aegis Backup
Voici ce que cela donne sur l’interface de DAVx5 :
Il ne reste qu’à valider. On peut alors accéder au point de montage via le menu déroulant de l’application « Fichiers », cf. le bas de la capture ci-dessous :
Configuration de l’application Aegis Authenticator
Le volume WebDAV est accessible. On peut maintenant configurer la sauvegarde de la base Aegis Authenticator. Pour cela, il faut se rendre dans les paramètres de l’application, puis la section « Sauvegardes ». Là, il faut activer l’option « Sauvegarder automatiquement » et pointer dans l’option « Emplacement de sauvegarde » le point de montage WebDAV (Aegis Authenticator lance l’application Fichiers, où on accède au point de montage WebDAV via le menu déroulant). On peut alors déclencher une sauvegarde immédiate pour vérifier le bon fonctionnement de la chaine (par défaut, Aegis Authenticator conserve les 5 dernières sauvegardes).
Les sauvegardes doivent immédiatement apparaitre dans l’espace de la Storage Box :
$ ssh -p 23 u123456@u123456.your-storagebox.de
u123456 /home > cd aegis/
u123456 /home/aegis > ls -l
total 582
-rw-r--r-- 1 u123456 u123456 53063 Feb 2 14:37 aegis-backup-20250202-153755.json
-rw-r--r-- 1 u123456 u123456 54725 Feb 2 15:10 aegis-backup-20250202-161009.json
-rw-r--r-- 1 u123456 u123456 67061 Feb 2 16:42 aegis-backup-20250202-174257.json
La base d’Aegis Authenticator sera désormais sauvegardée à chaque modification. Elle sera en outre facile à récupérer en cas d’urgence (installation sur un nouveau téléphone en cas de perte de l’ancien). Pour cela, il suffira d’ouvrir un navigateur, de consulter l’adresse suivante, de s’authentifier (en utilisant le compte secondaire) et de récupérer le fichier le plus récent pour l’importer dans Aegis Authenticator :
https://u123456-sub1.your-storagebox.de
Bonus, accès à l’espace de stockage depuis GNU/Linux
Il est possible d’installer le paquet davfs2
pour accéder, via le protocole
WebDAV, à l’espace de stockage des sauvegardes depuis GNU/Linux.
On peut alors créer un point de montage (ici, /home/user/aegis
) et le
déclarer dans le fichier /etc/fstab
, avec les options noauto
(pour qu’il
ne soit monté qu’à la demande) et user
(pour qu’un compte non privilégié
puisse le monter) :
https://u123456-sub1.your-storagebox.de /home/user/aegis davfs noauto,user 0 0
Il faut ensuite renseigner l’identifiant et le mot de passe au niveau du
compte non privilégié (user
) :
$ mkdir ~/.davfs2
$ chmod 700 ~/.davfs2
$ touch ~/.davfs2/secrets
$ chmod 600 ~/.davfs2/secrets
$ editor ~/.davfs2/secrets
Le contenu du fichier ~/.davfs2/secrets
est :
<point de montage> <identifiant webdav> <mot de passe webdav>
Donc, dans le cas présent :
/home/user/aegis u123456-sub1 godsavethequeen
Il ne reste plus qu’à monter le volume pour accéder aux sauvegardes :
$ mount aegis
$ ls -l aegis
total 171
-rw-r--r-- 1 user user 53063 2 févr. 15:37 aegis-backup-20250202-153755.json
-rw-r--r-- 1 user user 54725 2 févr. 16:10 aegis-backup-20250202-161009.json
-rw-r--r-- 1 user user 67061 2 févr. 17:42 aegis-backup-20250202-174257.json
La base Aegis Authenticator est désormais sauvegardée à chaque modification, et les sauvegardes sont disponibles et faciles à récupérer même en cas de perte de mon smartphone. Me voilà plus serein.