Pourquoi s’intéresser à Kopia ?
Une sauvegarde n’a de valeur que si elle reste lisible, intègre et hors de portée d’un attaquant le jour où l’on en a besoin. Or les campagnes de rançongiciel ciblent désormais en priorité les dépôts de sauvegarde : un serveur de backup monté en lecture-écriture depuis le réseau de production est souvent chiffré en même temps que les données qu’il protège. Les obligations de gestion des risques imposées par la directive NIS 2, qui mentionne explicitement la gestion des sauvegardes et la continuité d’activité, rendent le sujet incontournable pour les DSI et RSSI.
Kopia est un logiciel de sauvegarde open source qui répond à ces enjeux avec une approche moderne : chiffrement de bout en bout obligatoire, déduplication, compression, stockage objet en natif et prise en charge du verrouillage d’objets (Object Lock) pour des sauvegardes immuables. Il se distingue aussi par une interface graphique officielle, KopiaUI, et par un mode serveur pensé pour centraliser la sauvegarde de plusieurs postes.
Qu’est-ce que Kopia ?
Kopia est un outil de sauvegarde et de restauration multiplateforme (Windows, macOS, Linux) développé en Go et publié sous licence Apache 2.0 sur GitHub. Le projet est activement maintenu : à la date de rédaction, la dernière version publiée sur le dépôt officiel est la 0.23.1 (juin 2026). Kopia se présente sous deux formes complémentaires :
kopia, l’outil en ligne de commande, idéal pour les serveurs et l’automatisation ;
KopiaUI, une application graphique qui permet de créer ou connecter un dépôt, de gérer les snapshots et les politiques, et de restaurer des fichiers sans toucher au terminal.
Kopia ne sauvegarde pas des images disque ou des machines virtuelles complètes : il travaille au niveau des fichiers et des répertoires, sous forme de snapshots incrémentaux.
Architecture et fonctionnement
Toutes les données sont stockées dans un dépôt (repository) qui peut résider sur des supports très variés : disque local ou partage réseau, serveur SFTP ou WebDAV, Amazon S3 et stockages compatibles S3, Azure Blob Storage, Backblaze B2, Google Cloud Storage, ou encore certains services accessibles via Rclone (support expérimental). Un dépôt peut aussi être exposé par un Kopia Repository Server.
Le fonctionnement repose sur quelques principes clés :
Stockage adressé par contenu : les fichiers sont découpés en blocs grâce à un hachage glissant (rolling hash). Un contenu identique n’est stocké qu’une fois, un fichier déplacé ou renommé n’est pas renvoyé, et plusieurs machines partageant un même dépôt profitent d’une déduplication commune.
Snapshots incrémentaux : chaque snapshot est une vue complète d’un répertoire, mais seules les parties modifiées des fichiers sont transférées.
Chiffrement côté client : contenus et noms de fichiers sont chiffrés avec AES-256 ou ChaCha20 avant de quitter la machine. Kopia ne permet pas de créer de sauvegarde non chiffrée ; la clé dérive du mot de passe du dépôt, que vous seul détenez.
Compression : pgzip, s2 ou zstd, configurables par politique.
Intégrité : vérifications de cohérence intégrées, correction d’erreurs Reed-Solomon contre le bitrot, et métadonnées d’index stockées de façon redondante.
Politiques : rétention, planification, exclusions (fichier
.kopiaignore) et compression se définissent à quatre niveaux : global, par hôte, par utilisateur et par chemin user@host:path.
Installation
Kopia est distribué sous forme de paquets pour les principales plateformes. Sur Debian et Ubuntu, le projet fournit un dépôt APT signé ; sous Windows, les paquets sont disponibles via winget ou Scoop ; sous macOS, via Homebrew. Les commandes ci-dessous sont celles de la documentation officielle :
# Debian / Ubuntu : ajout du dépôt APT officiel
curl -s https://kopia.io/signing-key | sudo gpg --dearmor -o /etc/apt/keyrings/kopia-keyring.gpg
echo "deb [signed-by=/etc/apt/keyrings/kopia-keyring.gpg] http://packages.kopia.io/apt/ stable main" | sudo tee /etc/apt/sources.list.d/kopia.list
sudo apt update
sudo apt install kopia # CLI
sudo apt install kopia-ui # interface graphique (optionnel)
# Windows
winget install Kopia.KopiaCLI
winget install Kopia.KopiaUI
# macOS
brew install kopia
brew install kopiaui Prise en main : dépôt, snapshots et restauration
La logique est toujours la même : on crée (une fois) un dépôt, on s’y connecte depuis chaque machine, puis on prend des snapshots des répertoires à protéger. Le mot de passe du dépôt est demandé à la création : conservez-le dans un coffre-fort de mots de passe, car sans lui les données sont irrécupérables.
Pour un dépôt sur stockage objet, Kopia propose des sous-commandes dédiées (s3, b2, sftp, azure, gcs…). Sur S3 et les stockages compatibles, les options --retention-mode et --retention-period activent la rétention des objets à la création du dépôt, ce que l’interface graphique ne permet pas. Pour Backblaze B2, le verrouillage d’objets passe par l’option S3-compatible et non par le connecteur B2 natif.
Côté restauration, la documentation recommande de monter un snapshot comme un disque local pour y parcourir et copier les fichiers, la commande kopia snapshot restore permettant de restaurer un snapshot complet vers un répertoire cible. Les politiques de rétention se règlent avec kopia policy set :
# Créer un dépôt local (ou sur un partage réseau monté)
kopia repository create filesystem --path /srv/backup/kopia
# Ou un dépôt S3 compatible avec rétention des objets (immuabilité)
kopia repository create s3 \
--bucket=sauvegardes-kopia \
--endpoint=s3.example.com \
--access-key=... \
--secret-access-key=... \
--retention-mode=COMPLIANCE \
--retention-period=720h
# Se connecter au dépôt depuis une autre machine
kopia repository connect filesystem --path /srv/backup/kopia
# Prendre un snapshot puis lister l'historique
kopia snapshot create /etc
kopia snapshot list /etc
# Politique de rétention et de compression
kopia policy set /etc --keep-latest 10 --keep-daily 14 --keep-weekly 8 --keep-monthly 12 --compression=zstd
kopia policy show /etc
kopia policy show --global
# Restaurer : monter un snapshot ou le restaurer dans un répertoire
mkdir /tmp/mnt
kopia mount <ID_snapshot> /tmp/mnt &
kopia snapshot restore <ID_snapshot> /tmp/restauration
# Mode serveur centralisé (TLS) et ajout d'un utilisateur
kopia server start --tls-generate-cert --tls-cert-file ~/my.cert --tls-key-file ~/my.key --address 0.0.0.0:51515 --server-control-username control
kopia server user add alice@poste01
kopia repository connect server --url https://backup.example.com:51515 --server-cert-fingerprint <empreinte_SHA256> Centraliser avec le Repository Server
Dans un dépôt classique, un seul mot de passe donne un accès complet : quiconque partage le dépôt peut lire toutes les données. Le Kopia Repository Server corrige ce point pour les parcs de plusieurs machines. Le serveur détient seul les identifiants du stockage ; chaque client s’authentifie avec son propre compte (kopia server user add) et se connecte en HTTPS en vérifiant l’empreinte du certificat. Depuis la version 0.8, des listes de contrôle d’accès (kopia server acl) limitent par défaut chaque utilisateur à ses propres snapshots et politiques, avec des niveaux READ, APPEND (lecture et écriture sans suppression) et FULL. Attention : ces ACL portent sur les manifestes de snapshots et de politiques, pas sur le contenu sous-jacent.
Kopia face aux alternatives
Restic partage la même philosophie (chiffrement obligatoire, déduplication, stockage objet natif) et dispose d’un écosystème très mature. Il reste avant tout un outil en ligne de commande, là où Kopia ajoute une interface graphique officielle, des politiques hiérarchiques et un mode serveur multi-utilisateurs.
BorgBackup est une référence pour sauvegarder vers un disque local ou un serveur SSH, mais ne vise pas le stockage objet en natif.
Duplicati mise sur une interface web conviviale, pour un usage proche de celui de KopiaUI.
Proxmox Backup Server est plus adapté pour sauvegarder des machines virtuelles et conteneurs d’un cluster Proxmox ; le TP de mise en place de Proxmox Backup Server du cours Proxmox VE en détaille le déploiement. Kopia le complète bien pour les fichiers des postes et des serveurs physiques.
Les solutions commerciales comme Veeam couvrent un périmètre plus large (hyperviseurs, applications, bandes) avec support éditeur, au prix d’une licence.
Bonnes pratiques
Appliquez la règle 3-2-1 : trois copies, deux supports, une copie hors site. Kopia peut alimenter un dépôt local rapide et un dépôt S3 distant.
Rendez au moins une copie immuable grâce à l’Object Lock (mode COMPLIANCE) sur un stockage compatible, afin qu’un compte compromis ne puisse ni supprimer ni écraser les sauvegardes.
Protégez le mot de passe du dépôt dans un coffre-fort, distinct des identifiants du stockage ; sans lui, aucune restauration n’est possible.
Donnez des droits minimaux aux clés d’accès au stockage, et préférez le Repository Server avec des comptes par machine plutôt qu’un mot de passe de dépôt partagé.
Vérifiez régulièrement l’intégrité du dépôt et testez des restaurations réelles : une sauvegarde jamais restaurée n’est qu’une hypothèse.
Excluez le superflu (caches, fichiers temporaires) avec
.kopiaignoreet adaptez la compression par politique pour maîtriser les coûts de stockage.Supervisez les tâches : un snapshot qui échoue silencieusement est un risque majeur ; remontez les journaux dans votre outil de supervision.
Conclusion
Kopia coche les cases attendues d’une sauvegarde moderne : chiffrement de bout en bout obligatoire, déduplication efficace, large choix de stockages, immuabilité via Object Lock et vérification d’intégrité intégrée. Son interface graphique et son mode serveur le rendent accessible aussi bien à l’administrateur qui scripte ses sauvegardes qu’à une petite équipe qui veut protéger ses postes sans complexité. Comme pour tout outil de sauvegarde, sa valeur se mesure le jour de la restauration : testez-la régulièrement et intégrez-la à votre plan de continuité d’activité.
À lire aussi : UrBackup : une solution de sauvegarde libre, simple et complète · Veeam Backup : la solution pour la protection des données · Cours : Sauvegardes 3-2-1 avec Restic



