En cybersécurité, le Backup, également appelé sauvegarde informatique, désigne une copie de données réalisée afin de permettre leur restauration en cas de perte, de suppression accidentelle, de panne matérielle, de corruption ou de cyberattaque. La sauvegarde constitue un mécanisme essentiel de protection des informations et de continuité d'activité.
1. À propos du Backup en cybersécurité
Un Backup est une copie de données, de fichiers, de bases de données ou de systèmes informatiques, conservée dans le but de pouvoir récupérer ces éléments lorsqu'ils deviennent indisponibles, endommagés ou supprimés.
Une sauvegarde peut concerner un simple document, un répertoire, une base de données, un serveur ou une image complète d'un système d'exploitation.
Pourquoi réaliser des sauvegardes ?
Les sauvegardes permettent notamment de :
- Récupérer des fichiers supprimés accidentellement.
- Restaurer des données après une panne matérielle.
- Réduire les conséquences d'une attaque par ransomware.
- Revenir à un état antérieur après une modification incorrecte.
- Assurer la continuité d'activité d'une organisation.
- Protéger les informations importantes contre certaines pertes.
Exemple simple
Supposons qu'un enseignant possède un dossier contenant ses cours, ses exercices et ses documents pédagogiques.
Si ce dossier est accidentellement supprimé, une sauvegarde récente permet de récupérer les documents disponibles au moment de la sauvegarde.
Backup et restauration
La sauvegarde consiste à créer et conserver une copie des données.
La restauration, ou Restore, consiste à récupérer les données à partir de cette copie.
Une sauvegarde n'est réellement utile que si les données peuvent être restaurées correctement.
Backup et synchronisation
La synchronisation maintient généralement des fichiers cohérents entre plusieurs emplacements.
Elle ne remplace pas nécessairement une sauvegarde, car une suppression ou une corruption peut être propagée aux emplacements synchronisés.
Backup et archivage
L'archivage vise principalement la conservation de données pendant une durée déterminée, notamment pour des raisons historiques, administratives ou réglementaires.
La sauvegarde vise principalement la récupération opérationnelle des données après un incident.
Backup et redondance
La redondance, notamment avec certains systèmes RAID, permet d'améliorer la disponibilité des données en cas de défaillance d'un composant.
Elle ne remplace pas une sauvegarde indépendante, car elle ne protège pas nécessairement contre les suppressions accidentelles, les ransomwares ou les erreurs logicielles.
2. Les différents types de sauvegardes
Il existe plusieurs types de sauvegardes, chacun présentant des avantages et des limites en matière de stockage, de durée d'exécution et de restauration.
Sauvegarde complète
La sauvegarde complète, ou Full Backup, consiste à copier l'ensemble des données sélectionnées.
Elle facilite généralement la restauration, mais peut nécessiter davantage d'espace de stockage et de temps.
Sauvegarde incrémentielle
La sauvegarde incrémentielle, ou Incremental Backup, conserve les données modifiées depuis la dernière sauvegarde pertinente, qu'elle soit complète ou incrémentielle.
Elle permet généralement de réduire le volume des données copiées.
La restauration peut nécessiter une sauvegarde complète et plusieurs sauvegardes incrémentielles successives.
Sauvegarde différentielle
La sauvegarde différentielle, ou Differential Backup, conserve les modifications intervenues depuis la dernière sauvegarde complète.
Elle peut simplifier la restauration par rapport à une longue chaîne incrémentielle, mais son volume peut augmenter progressivement.
Sauvegarde miroir
Une sauvegarde miroir reproduit l'état d'un ensemble de fichiers dans un autre emplacement.
Selon sa configuration, les suppressions peuvent être répercutées dans le miroir. Un miroir sans historique ne constitue donc pas une protection suffisante contre toutes les pertes.
Sauvegarde d'image système
Une image système peut contenir les partitions, le système d'exploitation, les applications et les configurations nécessaires à une restauration complète.
Elle est particulièrement utile lorsqu'un ordinateur doit être remis en état après une panne importante.
Sauvegarde de base de données
Une sauvegarde de base de données permet de conserver les informations gérées par un système comme MySQL, PostgreSQL ou SQLite.
La méthode utilisée doit garantir une copie cohérente des données, notamment lorsque la base est utilisée pendant l'opération.
Tableau comparatif
| Type | Principe | Avantage | Limite |
|---|---|---|---|
| Complète | Copie toutes les données sélectionnées. | Restauration généralement simple. | Volume important. |
| Incrémentielle | Copie les modifications depuis la dernière sauvegarde. | Volume réduit. | Chaîne de restauration parfois longue. |
| Différentielle | Copie les modifications depuis la dernière sauvegarde complète. | Restauration relativement simple. | Volume croissant. |
| Miroir | Reproduit l'état des fichiers. | Copie rapidement accessible. | Propagation possible des suppressions. |
| Image système | Copie un système ou ses partitions. | Restauration complète possible. | Stockage et compatibilité à prévoir. |
| Base de données | Copie cohérente des données applicatives. | Récupération des données métiers. | Méthode adaptée au SGBD nécessaire. |
3. Supports et stratégies de sauvegarde
Une stratégie de sauvegarde efficace doit déterminer où conserver les copies, à quelle fréquence les réaliser et comment les protéger.
Sauvegarde locale
La sauvegarde locale consiste à conserver les copies sur un disque interne, un disque externe ou un support directement accessible.
Elle peut offrir une restauration rapide, mais reste exposée à certains incidents affectant le même environnement.
Sauvegarde sur disque externe
Un disque dur externe ou un SSD externe permet de conserver une copie indépendante des données.
Il est préférable de déconnecter le support après la sauvegarde lorsque cela correspond à la stratégie retenue.
Sauvegarde réseau
Un NAS, pour Network Attached Storage, permet de centraliser le stockage de sauvegardes accessibles sur un réseau.
Il doit être sécurisé par des contrôles d'accès, des mises à jour et des mécanismes de protection adaptés.
Sauvegarde Cloud
La sauvegarde Cloud consiste à conserver des copies sur une infrastructure distante.
Elle peut protéger contre certains incidents locaux, mais nécessite une attention particulière à la confidentialité, au chiffrement, aux permissions et aux coûts de stockage.
Sauvegarde hors ligne
Une sauvegarde hors ligne, ou Offline Backup, est conservée sur un support qui n'est pas accessible en permanence depuis les systèmes de production.
Cette séparation peut réduire les risques de compromission simultanée par certains ransomwares.
Sauvegarde immuable
Une sauvegarde immuable est protégée contre les modifications et suppressions pendant une période définie, selon les garanties du mécanisme utilisé.
Elle peut renforcer la résilience face aux suppressions malveillantes.
La règle 3-2-1
La règle 3-2-1 constitue une stratégie classique de protection des sauvegardes :
- Conserver 3 copies des données, y compris les données originales.
- Utiliser 2 types de supports ou technologies de stockage différents.
- Conserver 1 copie hors site.
La stratégie 3-2-1-1-0
Une variante plus exigeante est la stratégie 3-2-1-1-0 :
- 3 : trois copies des données.
- 2 : deux types de supports.
- 1 : une copie hors site.
- 1 : une copie hors ligne ou immuable.
- 0 : zéro erreur constatée lors des contrôles de sauvegarde et des vérifications de restauration prévues.
Fréquence des sauvegardes
La fréquence dépend de la valeur des données et de la quantité de modifications qu'une organisation peut accepter de perdre.
Des données fréquemment modifiées peuvent nécessiter des sauvegardes quotidiennes ou plus rapprochées.
Durée de conservation
La politique de rétention définit la durée pendant laquelle les sauvegardes doivent être conservées.
Elle doit tenir compte des besoins opérationnels, des risques et des obligations applicables.
4. Fonctionnement et restauration des sauvegardes
Une sauvegarde fiable ne se limite pas à copier des fichiers. Elle doit également permettre une récupération cohérente, vérifiable et suffisamment rapide.
Étape 1 : identifier les données critiques
Il faut commencer par déterminer les fichiers, bases de données, configurations et systèmes indispensables au fonctionnement de l'activité.
Étape 2 : définir les objectifs de récupération
Deux indicateurs sont particulièrement importants :
- RPO, ou Recovery Point Objective : quantité maximale de perte de données acceptable, exprimée en durée.
- RTO, ou Recovery Time Objective : durée cible maximale pour rétablir un service après un incident.
Exemple de RPO et RTO
Une organisation peut définir un RPO de 24 heures et un RTO de 4 heures.
Cela signifie qu'elle vise à limiter la perte de données à 24 heures au maximum et à rétablir le service concerné dans un délai cible de 4 heures.
Ces objectifs ne constituent pas des garanties automatiques : ils doivent être soutenus par une architecture adaptée et des tests.
Étape 3 : exécuter la sauvegarde
Le logiciel de sauvegarde copie les données sélectionnées vers le support prévu.
Pour certaines applications et bases de données, il faut utiliser des mécanismes garantissant la cohérence des informations pendant l'opération.
Étape 4 : vérifier l'intégrité
Une vérification d'intégrité permet de détecter certaines modifications ou corruptions des données sauvegardées.
Des empreintes cryptographiques telles que SHA-256 peuvent être utilisées pour comparer des fichiers.
Étape 5 : conserver les copies
Les sauvegardes doivent être stockées selon la politique de sécurité et de rétention définie.
Étape 6 : tester la restauration
Une restauration de test consiste à récupérer les données dans un environnement approprié afin de vérifier que la sauvegarde est exploitable.
Ce contrôle doit être réalisé régulièrement.
Étape 7 : restaurer après un incident
Lorsqu'un incident survient, les administrateurs sélectionnent un point de restauration fiable et exécutent la procédure de récupération.
En cas de cyberattaque, il faut également vérifier que la sauvegarde ne contient pas les éléments malveillants responsables de la compromission.
Sauvegarde et plan de reprise d'activité
Le PRA, ou Plan de Reprise d'Activité, définit les procédures permettant de rétablir les systèmes et services après un incident majeur.
Le PCA, ou Plan de Continuité d'Activité, vise à maintenir les activités essentielles pendant une perturbation.
Les sauvegardes constituent un élément important de ces plans, mais elles ne suffisent pas à elles seules pour garantir la continuité ou la reprise.
5. Réaliser des sauvegardes avec Python
Python possède plusieurs modules standards permettant de copier des fichiers, créer des archives, vérifier l'intégrité des données et automatiser certaines opérations de sauvegarde.
Les exemples suivants sont pédagogiques et utilisent des chemins relatifs. Il est conseillé de les exécuter dans un répertoire de test contenant des fichiers non sensibles.
Exemple 1 : sauvegarder un fichier avec shutil
Le programme suivant utilise la fonction shutil.copy2() pour copier un fichier dans un répertoire de sauvegarde. Cette fonction conserve également certaines métadonnées du fichier lorsque le système le permet.
1 2 3 4 5 6 7 8 9 10 | from pathlib import Path import shutil source = Path("document.txt") destination = Path("backup") destination.mkdir(exist_ok=True) if source.is_file(): shutil.copy2(source, destination / source.name) print("Sauvegarde du fichier réussie") else: print("Fichier source introuvable") |
Output :
1 | Sauvegarde du fichier réussie |
Cette sortie suppose que le fichier document.txt existe dans le répertoire courant.
Exemple 2 : sauvegarder un dossier complet
Le programme suivant utilise shutil.copytree() pour copier un répertoire et son contenu vers un emplacement de sauvegarde.
Le dossier source doit exister et le dossier de destination ne doit pas déjà être présent pour cette version de l'exemple.
1 2 3 4 5 6 7 8 9 | from pathlib import Path import shutil source = Path("mes_documents") destination = Path("backup_documents") if source.is_dir() and not destination.exists(): shutil.copytree(source, destination) print("Sauvegarde du dossier réussie") else: print("Vérifiez le dossier source et la destination") |
Output :
1 | Sauvegarde du dossier réussie |
Cette sortie suppose que le dossier source existe et que le dossier de destination n'existe pas encore.
Exemple 3 : créer une archive ZIP
Le programme suivant crée une archive ZIP à partir d'un dossier. Cette technique permet de regrouper plusieurs fichiers dans une seule archive.
1 2 3 4 5 6 7 8 | from pathlib import Path import shutil dossier = Path("mes_documents") if dossier.is_dir(): shutil.make_archive("sauvegarde", "zip", root_dir=".", base_dir="mes_documents") print("Archive sauvegarde.zip créée") else: print("Dossier introuvable") |
Output :
1 | Archive sauvegarde.zip créée |
Cette sortie suppose que le répertoire mes_documents existe. Une archive ZIP classique n'est pas nécessairement chiffrée et ne doit pas être considérée comme une protection de confidentialité.
Exemple 4 : créer une sauvegarde avec horodatage
Le programme suivant crée une copie d'un fichier en ajoutant la date et l'heure au nom de sauvegarde. Cette méthode permet de conserver plusieurs versions successives.
1 2 3 4 5 6 7 8 9 10 11 12 13 | from pathlib import Path from datetime import datetime import shutil source = Path("document.txt") dossier = Path("sauvegardes") dossier.mkdir(exist_ok=True) date = datetime.now().strftime("%Y%m%d_%H%M%S") destination = dossier / ("document_" + date + ".txt") if source.is_file(): shutil.copy2(source, destination) print("Sauvegarde horodatée créée") else: print("Fichier introuvable") |
Output :
1 | Sauvegarde horodatée créée |
Le nom du fichier généré dépend de la date et de l'heure d'exécution.
Exemple 5 : vérifier l'intégrité d'une sauvegarde avec SHA-256
Le programme suivant calcule les empreintes SHA-256 du fichier original et de sa sauvegarde. Si les empreintes sont identiques, les deux fichiers possèdent le même contenu selon ce contrôle.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | import hashlib from pathlib import Path def empreinte_sha256(chemin): hachage = hashlib.sha256() with open(chemin, "rb") as fichier: for bloc in iter(lambda: fichier.read(65536), b""): hachage.update(bloc) return hachage.hexdigest() original = Path("document.txt") copie = Path("backup/document.txt") if original.is_file() and copie.is_file(): if empreinte_sha256(original) == empreinte_sha256(copie): print("Intégrité vérifiée : fichiers identiques") else: print("Alerte : fichiers différents") else: print("Fichier original ou sauvegarde introuvable") |
Output :
1 | Intégrité vérifiée : fichiers identiques |
Cette sortie suppose que les deux fichiers existent et possèdent le même contenu. Le contrôle d'intégrité ne remplace pas un test de restauration.
Exemple 6 : restaurer un fichier sauvegardé
Le programme suivant restaure un fichier depuis un répertoire de sauvegarde vers un dossier de récupération distinct. Cette approche permet de tester la restauration sans écraser immédiatement le fichier original.
1 2 3 4 5 6 7 8 9 10 | from pathlib import Path import shutil sauvegarde = Path("backup/document.txt") restauration = Path("restauration") restauration.mkdir(exist_ok=True) if sauvegarde.is_file(): shutil.copy2(sauvegarde, restauration / sauvegarde.name) print("Restauration réussie") else: print("Sauvegarde introuvable") |
Output :
1 | Restauration réussie |
Cette sortie suppose que le fichier sauvegardé existe.
Exemple 7 : simuler une sauvegarde incrémentielle
Le programme suivant compare les empreintes SHA-256 des fichiers présents dans un dossier source à celles d'un instantané de référence. Il copie uniquement les fichiers nouveaux ou modifiés vers un nouveau répertoire de sauvegarde.
Pour simplifier, l'exemple traite uniquement les fichiers situés directement dans le dossier source. Il ne gère ni les sous-répertoires, ni les suppressions, ni la cohérence de fichiers ouverts.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | from pathlib import Path import hashlib import shutil source = Path("mes_documents") reference = Path("reference") destination = Path("backup_incremental") destination.mkdir(exist_ok=True) def sha256(chemin): h = hashlib.sha256() with open(chemin, "rb") as f: for bloc in iter(lambda: f.read(65536), b""): h.update(bloc) return h.hexdigest() nombre = 0 if source.is_dir(): for fichier in source.iterdir(): if fichier.is_file(): ancien = reference / fichier.name if not ancien.is_file() or sha256(fichier) != sha256(ancien): shutil.copy2(fichier, destination / fichier.name) nombre += 1 print("Fichiers sauvegardés :", nombre) else: print("Dossier source introuvable") |
Output possible :
1 | Fichiers sauvegardés : 2 |
Cette sortie correspond à un exemple où deux fichiers sont nouveaux ou modifiés. Pour obtenir une véritable chaîne de sauvegardes incrémentielles, il faut également conserver et gérer les instantanés de référence, les métadonnées, les suppressions et les points de restauration.
Exemple 8 : sauvegarder une base de données SQLite
Le programme suivant utilise l'API de sauvegarde intégrée à SQLite, accessible depuis le module standard sqlite3. Cette méthode est préférable à une simple copie brute du fichier lorsque la base peut être utilisée pendant la sauvegarde.
1 2 3 4 5 6 7 8 9 10 11 | import sqlite3 from pathlib import Path source = Path("application.db") destination = Path("backup_application.db") if source.is_file(): with sqlite3.connect(source) as connexion_source: with sqlite3.connect(destination) as connexion_backup: connexion_source.backup(connexion_backup) print("Sauvegarde SQLite réussie") else: print("Base de données introuvable") |
Output :
1 | Sauvegarde SQLite réussie |
Cette sortie suppose que le fichier application.db existe et que la sauvegarde se termine sans erreur. La destination doit être choisie de manière à ne pas écraser une sauvegarde importante.
6. Risques, sécurité et bonnes pratiques
Une stratégie de sauvegarde doit être conçue pour résister aux incidents techniques, aux erreurs humaines et aux cyberattaques.
Ransomware et sauvegardes
Un ransomware peut chiffrer ou rendre indisponibles des fichiers et tenter de supprimer les sauvegardes accessibles.
Il est donc important de conserver des copies indépendantes, notamment hors ligne ou immuables lorsque cela est possible.
Chiffrer les sauvegardes
Les sauvegardes contenant des informations sensibles doivent être protégées par des mécanismes de chiffrement adaptés.
Les clés de chiffrement doivent être conservées séparément et protégées contre la perte et l'accès non autorisé.
Contrôler les accès
Seules les personnes et les applications autorisées doivent pouvoir consulter, modifier ou supprimer les sauvegardes.
Utiliser des comptes distincts
Lorsque cela est possible, les systèmes de sauvegarde doivent utiliser des identités et des permissions distinctes de celles des environnements de production.
Conserver des copies hors site
Une copie distante peut protéger contre certains incidents locaux, comme un incendie, un vol ou une panne affectant un bâtiment.
Vérifier les sauvegardes
Les sauvegardes doivent faire l'objet de contrôles d'intégrité et de vérifications de leur état.
Tester régulièrement la restauration
Une restauration de test permet de vérifier que les données peuvent réellement être récupérées.
Elle doit porter sur les fichiers, les bases de données et les applications critiques selon les besoins.
Automatiser les sauvegardes
Les sauvegardes automatiques réduisent les risques d'oubli. Elles doivent cependant être surveillées afin de détecter les échecs et les interruptions.
Définir une politique de rétention
La durée de conservation des copies doit être définie selon la valeur des données, les besoins de récupération et les obligations applicables.
Protéger les sauvegardes contre les suppressions
Des mécanismes d'immuabilité, des permissions restrictives et des copies hors ligne peuvent réduire les risques de suppression malveillante.
Documenter les procédures
Les procédures de sauvegarde et de restauration doivent être documentées afin de faciliter leur exécution en situation d'urgence.
Sauvegarder les configurations
Les configurations des systèmes, des serveurs, des équipements réseau et des applications peuvent être essentielles à une restauration complète.
Sauvegarder les applications Web
Pour un site WordPress, une sauvegarde exploitable doit généralement inclure :
- Les fichiers du site, notamment les thèmes et extensions.
- Les médias et documents téléversés.
- La base de données.
- Les configurations nécessaires à la restauration.
Une sauvegarde limitée aux fichiers ne suffit généralement pas à restaurer l'ensemble du contenu dynamique d'un site WordPress.
Surveiller l'espace de stockage
Le système doit disposer d'un espace suffisant pour conserver les sauvegardes selon la politique définie.
Défense en profondeur
Les sauvegardes constituent une composante essentielle de la défense en profondeur, mais elles doivent être associées aux mises à jour, au contrôle d'accès, à la surveillance et aux mesures de prévention des incidents.
7. À retenir
Le Backup, ou sauvegarde informatique, consiste à créer et conserver une copie de données afin de permettre leur récupération après une perte, une panne ou une cyberattaque.
Les principales catégories comprennent les sauvegardes complètes, incrémentielles, différentielles, les images système et les sauvegardes de bases de données.
Les sauvegardes peuvent être conservées sur des supports locaux, des disques externes, des serveurs NAS ou des infrastructures Cloud.
La règle 3-2-1 recommande de conserver trois copies des données, sur deux types de supports, avec une copie hors site.
La stratégie 3-2-1-1-0 renforce cette approche avec une copie hors ligne ou immuable et des vérifications visant à éviter les erreurs de sauvegarde et de restauration.
Les indicateurs RPO et RTO permettent de définir les objectifs de perte de données et de durée de rétablissement.
Python permet d'automatiser la copie de fichiers, la création d'archives ZIP, les sauvegardes horodatées, les contrôles d'intégrité et certaines opérations de restauration.
Les sauvegardes doivent être protégées contre les accès non autorisés, les suppressions malveillantes et les ransomwares.
Une sauvegarde ne doit jamais être considérée comme fiable sans vérification d'intégrité et tests de restauration adaptés.
Enfin, les sauvegardes constituent un élément fondamental de la continuité d'activité, du plan de reprise d'activité et de la résilience informatique.
Mots clés
Auteur : Younes Derfoufi
Lieu de travail : CRMEF OUJDA
Site Web : www.tresfacile.net
Chaine YouTube : https://www.youtube.com/user/InformatiquesFacile
Me contacter : https://www.tresfacile.net/me-contacter/



