Blog ENI : Toute la veille numérique !
🐠 -25€ dès 75€ 
+ 7 jours d'accès à la Bibliothèque Numérique ENI. Cliquez ici
Accès illimité 24h/24 à tous nos livres & vidéos ! 
Découvrez la Bibliothèque Numérique ENI. Cliquez ici
  1. Livres et vidéos
  2. Debian GNU/Linux
  3. Outils de sauvegarde
Extrait - Debian GNU/Linux Maîtrisez la sécurité des infrastructures
Extraits du livre
Debian GNU/Linux Maîtrisez la sécurité des infrastructures Revenir à la page d'achat du livre

Outils de sauvegarde

Gestion de sauvegarde simple

1. Généralités sur les sauvegardes

Après tous les efforts effectués pour sécuriser le système local et ses dépendances, il serait dommage de négliger de sauvegarder le reste de l’écosystème d’une infrastructure. Ce genre d’action est essentiel car, en cas de problème, la première des choses à faire, surtout si l’on subit une perte ou une compromission de données, est de restaurer le contenu concerné. Effectivement, nous avons tendance à oublier que même si nous maîtrisons parfaitement les accès aux serveurs, et que nous pensons avoir correctement sécurisé les machines de notre parc informatique, il faut absolument sauvegarder ou répliquer les données hébergées sur ces ordinateurs, le maître mot étant la sécurisation des données. Bien évidemment, il faut distinguer la sauvegarde de postes individuels, de celle effectuée sur des serveurs d’informations. L’une et l’autre manipulent la même nature d’information : la donnée informatique, et ont le même objectif : protéger l’information et permettre de retrouver la donnée, en cas de perte ou de compromission. Cependant, les méthodes de sauvegarde généralement diffèrent :

  • Les données d’un poste client sont réputées moins importantes que celles gérées sur des systèmes centraux, quoique ce point ne soit pas toujours vrai, selon les environnements applicatifs considérés.

  • Les utilisateurs sont moins sensibilisés aux risques de perte que les professionnels de l’informatique.

  • Les utilisateurs sont également moins formés sur les techniques de sauvegarde, mais ils possèdent un sens inné de la conservation de leurs données (surtout s’il leur est arrivé malheur une fois ou deux).

  • Les moyens techniques sont moins développés sur un poste individuel que sur un serveur. Par ailleurs, ces outils sont souvent contraints par un choix d’entreprise.

Pour conclure, la sauvegarde des données de postes individuels reste marginale, dans la stratégie d’utilisation des ordinateurs. Cependant, les entreprises...

Synchronisation avec rsync

Sur les systèmes GNU/Linux, entre autres, il existe un utilitaire permettant la synchronisation et les sauvegardes incrémentales différentielles : rsync. La synchronisation est unidirectionnelle, les fichiers de la source sont ainsi copiés vers leur destination. Ce programme pourra exécuter des sauvegardes incrémentielles et diffuser le contenu d’un répertoire de référence. L’outil fonctionne sur une large gamme de systèmes d’exploitation : Microsoft Windows, GNU/Linux, MacOSX, Unix...

1. Présentation

L’utilisation de l’outil rsync est similaire à la commande rcp d’Unix, toutefois, il possède de nombreuses options supplémentaires, s’appuyant sur un protocole de mise à jour à distance plus efficace, permettant d’accélérer significativement le transfert de données, surtout lorsque le fichier est déjà présent dans le dossier de destination. En effet, l’outil permet de ne transférer que la différence entre deux jeux de fichiers en s’appuyant sur l’algorithme de recherche de somme de contrôle, via le port TCP/873, par défaut. Cette synchronisation fonctionne selon deux modes opératoires :

  • En mode local : depuis le même système de fichiers ou sur un répertoire réseau monté en local, le programme client se charge alors de comparer les deux versions et effectue alors la synchronisation.

  • En mode distant : le programme client contacte le programme serveur, via le protocole SSH afin de permettre une communication sécurisée, à travers le réseau d’entreprise, ou via Internet, de façon plus générale.

La commande rsync est fournie avec son propre package. C’est ce qui fait sa force par rapport aux autres solutions : scp et sftp, qui nécessitent le package openssh-clients pour être utilisées. De plus, il couvre un aspect de la sauvegarde que l’on peut rapprocher des logiciels basiques comme cpio, tar... et offre de nombreuses options permettant un large spectre de possibilités, dont les synchronisations de partition à partition, ou même, de serveur à serveur. Le principe général consiste à déclarer...

Sauvegarde UrBackup

Il existe de nombreuses façons de protéger et conserver les données des machines du parc informatique d’entreprise. Mais, le meilleur des moyens reste encore l’utilisation de logiciels de sauvegarde. Parmi l’éventail des outils ou suites logiciels open source à disposition, nous allons maintenant étudier un des tous derniers nés de la gamme sauvegarde et déduplication.

1. Fonctionnalités et architecture

La suite UrBackup est un logiciel de sauvegarde en mode client/serveur, disponible sur GNU/Linux, Windows et même macOS et ce quel que soit le rôle du système. Cet utilitaire permet d’effectuer des sauvegardes incrémentales, et même de la déduplication de données. Le client GNU/Linux possède une version graphique et une version en ligne de commande. Le principal avantage de cet outil est qu’il s’avère aussi compétitif et complet que les suites logicielles du commerce: Netbackup, Networker, etc. Son installation a été pensée pour qu’elle soit le plus simple possible. Dans le cas où on accepte le paramétrage par défaut, la seule chose dont il faut se préoccuper est de savoir où seront déposés les backups.

La déduplication (aussi appelée factorisation ou stockage d’instance unique) est une technique de conservation des données, consistant à factoriser les séquences d’information identiques afin d’économiser l’espace de stockage utilisé. Chaque fichier traité est ainsi découpé en tronçons qui reçoivent chacun un identifiant unique, eux-mêmes stockés dans une structure d’index. L’objectif de cette opération est de ne stocker qu’une seule fois un même tronçon. Toute nouvelle occurrence d’un tronçon déjà présent est remplacée par un pointeur, vers l’identifiant correspondant :

images/I07EP07.png

Par ailleurs, lorsque les clients sont situés dans le même sous-réseau que le serveur, ce dernier peut découvrir automatiquement les machines et effectuer de lui-même les sauvegardes. Tous les types de système de fichiers (btrfs, zfs, xfs) sont supportés. Depuis sa version 1.0, UrBackup...

Outil AMANDA

1. Architecture AMANDA

L’outil AMANDA (Advanced Maryland Automated Network Disk Archiver) est également un logiciel client/serveur, permettant de sauvegarder tout ou partie des partitions de serveurs sur un même réseau. Ces sauvegardes peuvent être réalisées de façon parallèle sur un disque tampon.

Dans un but de sécurité maximum, il est même envisageable d’intégrer le support du protocole Kerberos, afin de chiffrer et d’authentifier les sauvegardes.

Au niveau des clients, des partages SAMBA peuvent être créés afin de réaliser les sauvegardes de serveurs Microsoft Windows. Un programme de vérification des backups est intégré à l’outil garantissant une chaîne complète : sauvegarde, vérification, restauration. Le service AMANDA fonctionne sur les ports TCP/10080 et UDP/10080. C’est au travers de ces deux ports (à la fois en UDP et TCP) que se font les échanges entre clients et serveur AMANDA. C’est le rôle du fichier amandahosts, que l’on placera dans le répertoire /etc/amanda, d’accréditer uniquement le serveur vis-à-vis de ses clients. Le contenu se présente selon le format suivant :

</Nom machine cliente FQDN>             <Utilisateur AMANDA> 

La configuration principale du serveur AMANDA s’effectue par "mode" de sauvegarde et se trouve dans le fichier /etc/amanda/<Mode>/amanda.conf. À cela, il faut ajouter le fichier définissant les partitions, volumes ou disques à sauvegarder, appelé : disklist. En somme, AMANDA est un serveur de sauvegarde de partitions de disques durs, sur média magnétique, fonctionnant en réseau, pouvant supporter un robot de manipulation des bandes, et pouvant intégrer un nombre important de systèmes de fichiers. Ce logiciel permet de centraliser les sauvegardes vers un même serveur (ou une même baie de stockage). Mais, par souci de sécurité, nous ne sauvegarderons jamais les données du serveur sur le serveur lui-même, privilégiant le stockage sur disque USB, SAN ou autre support amovible. Les bandes virtuelles ne serviront, elles, que pour les sauvegardes des clients AMANDA.

images/I07EP08.png

ATTENTION :...

Sauvegarde d’entreprise

1. Solution BACULA

Tout comme ses homologues précédents, BACULA est un ensemble de programmes permettant de piloter les sauvegardes, les restaurations et les vérifications des données informatiques au travers du réseau de machines hétérogènes de l’entreprise. Il s’agit d’une suite logicielle capable de fonctionner sur un seul et même serveur et opérant sur des médias aussi variés que les lecteurs de bandes ou les disques magnétiques. Il s’agit là aussi d’un système de sauvegardes/restaurations de type client/serveur de grande envergure, capable de piloter des centaines de machines clientes et leurs backups. Il rivalise sans nul doute avec UrBackup déjà abordé précédemment. Le gestionnaire BACULA est relativement simple à mettre en œuvre et à utiliser, et il est surtout très modulaire, ce qui le rend encore plus attractif vis-à-vis de ses compétiteurs. Le logiciel se découpe en quatre parties :

  • Une ou plusieurs bases de données hébergeant le catalogue : tâches, chemins vers les fichiers de données, évènements...

  • Un ou plusieurs directeurs pilotant l’ensemble des stratégies de sauvegarde et listant les clients.

  • Un ou plusieurs services de stockage gérant un ensemble de volumes virtuels ou physiques. 

  • Les différents clients à sauvegarder.

L’architecture du gestionnaire BACULA peut être représentée en trois tiers distincts, chacun ayant une fonction et un rôle à remplir :

images/rp61.png

Une architecture simple embarquant l’ensemble : stockage, directeur et catalogue est tout à fait envisageable. Cependant, il est possible de démultiplier les fonctions de directeur et de SD, en redondant les serveurs au besoin.

Le catalogue peut être installé sur un moteur PostgreSQL, SQLite ou MySQL/mariaDB. Par souci de sécurité, nous le redonderons sur un cluster de base de données, et ce, même si une instance simple peut suffire à faire fonctionner BACULA. Sera abordée dans un chapitre dédié à la redondance et aux clusters applicatifs la manière de le mettre en œuvre avec une base PostgreSQL....

Gestionnaire de clonage

Jusque-là, nous avons étudié différentes méthodes de sauvegarde d’un ou plusieurs fichiers et/ou une ou plusieurs arborescences, pour des serveurs ou des postes de travail. Mais il ne faut surtout pas négliger l’aspect temps de récupération des données en cas de perte ou de corruption. À l’ère du Cloud et des ransomware, il est souvent plus rapide de perdre ses données que de les restaurer. Pour minimiser ce problème, nous pouvons faire appel à un mécanisme de clonage d’image complète d’un serveur. Initialement, il existait Clonezilla, cependant ce dernier ne permettait pas de créer les images de sauvegarde à chaud. Les développeurs ont donc imaginé un autre logiciel nommé Mondo Rescue.

1. Installation

L’utilitaire Mondo Rescue est en fait un conglomérat d’outils. Certains packages sont d’ailleurs nécessaires à l’installation du logiciel :

  • afio : outil de packaging utilisé pour la génération d’archives.

  • gzip : utilitaire de compression utilisé par Mondo Rescue.

  • mkisofs : utilitaire de création d’images ISO.

  • mindi-busybox : véritable couteau suisse de configuration pour Mindi.

  • mindi : ensemble de commandes en binaire de construction de « projet ».

  • mondo : l’outil de récupération système après désastre.

Avant de pouvoir lancer l’installation, il faut ajouter la référence au dépôt officiel, dans le fichier /etc/apt/sources.list :


# Ajout du depot Mondo Rescue  
deb ftp://ftp.mondorescue.org/debian 8 contrib
 

L’installation du programme principal s’effectue en invoquant l’instruction ci-dessous (et en ayant aussi installé tous les packages cités ci-dessus) :


# apt-get install mondo
 

Lors de cette phase d’installation, la fenêtre suivante devrait apparaître, indiquant comment configurer s’il existe déjà des ensembles RAID :

images/C07EP41.png

Puis, l’assistant demande de préciser les éventuels ensembles RAID à démarrer. Dans l’exemple, nous gardons le paramètre spécifié (soit all) :

images/C07EP42.png

Les journaux de logs se trouvent...