Situation Pro : Protection et Résilience du Patrimoine

1. Contexte

Après la fusion entre Solutech et Horizon, l'instance GLPI est devenue le cœur du système d'information : elle centralise l'inventaire matériel, les contrats de maintenance et l'ensemble de l'historique du support. Une perte de données aurait eu des conséquences directes sur la continuité d'activité. L'objectif de cette mission était de mettre en place une stratégie de sauvegarde fiable et automatisée, capable de protéger les données face aux pannes matérielles comme aux cyberattaques de type ransomware — en passant d'une gestion manuelle à un système industrialisé.

2. Besoins identifiés

Intégrité des données : extraire la base MariaDB et les fichiers physiques (pièces jointes) sans risque de corruption. Sécurité : appliquer le principe du moindre privilège pour limiter l'exposition en cas de compromission. Automatisation : éliminer le risque d'oubli humain via une planification rigoureuse. Gestion de la rétention : maîtriser l'espace disque en conservant un historique de versions archivées. Traçabilité : centraliser les journaux d'activité pour surveiller le bon déroulement des sauvegardes.

3. Solution technique retenue

J'ai mis en place une solution basée sur les standards Linux, en privilégiant robustesse et sécurité :

Compte de maintenance dédié : création d'un utilisateur MariaDB disposant uniquement des droits de lecture (SELECT, LOCK TABLES). En cas de compromission, l'attaquant ne peut pas modifier ni supprimer la base de production. Fichier de secrets (.my.cnf) : authentification automatique sans mot de passe en clair dans le script, sécurisé par un chmod 600. Script Bash industrialisé : utilisation de variables pour la maintenabilité, avec vérification des codes de retour — le script s'arrête et consigne une erreur si le dump SQL échoue. Logrotate : gestion automatique de la rotation des archives avec une rétention de 5 versions, garantissant 6 points de restauration disponibles en permanence. Cron : planification automatique des sauvegardes pour garantir un RPO (Recovery Point Objective) de 24 heures. Centralisation des logs : journalisation dans /var/log/backup_solutech.log avec gestion des droits, conforme aux normes professionnelles (standard FHS).

4. Réalisations

Exploration technique : analyse de la structure de la base de données via des requêtes SQL (SHOW TABLES) pour identifier les éléments à sauvegarder. Archivage du système de fichiers : compression des répertoires critiques (/files, /config, /apache) avec la commande tar. Sécurisation de l'accès : création de l'utilisateur de maintenance et configuration du fichier masqué d'authentification. Développement de l'automate : rédaction du script backup_solutech.sh intégrant la gestion des logs et le transfert de propriété des fichiers générés. Configuration système : mise en place de la règle de rotation dans /etc/logrotate.d/ et de la tâche planifiée via crontab. Test de résilience : simulation d'un sinistre complet (suppression de la base et des fichiers) suivi d'une restauration intégrale via mysql et tar pour valider la procédure.

5. Preuves de réalisation finale

Sauvegarde de la configuration

Capture

Export de la base de données

Capture

Sécurisation par moindre privilège

Capture

Automatisation et Historisation

Capture

Gestion de la rétention des archives

Capture

Planification nocturne

Capture

Disaster Recovery réussi

Capture