Sauvegardes
Avant-propos
Maintenance des accès utilisateurs
Prévenir : configurer, sauvegarder, surveiller, intervenir
Corriger : détecter, diagnostiquer, réparer, valider et documenter
Gérer : outils des gestion de parc, gestion d'incidents, politique de maintenance, périmètre d'intervention, normes
Prévention
Prévention
Anticiper - Mises à jour
Mises à jour : Windows
Mises à jour : Linux
Anticiper - Nettoyage du système
Qu'est ce que le nettoyage ?
vidage des fichiers temporaires (fichiers d'installation, cache du navigateur, paquets debian dans le cache , points de reprise windows, ….)
Supprimer des fichiers ?
Supprimer des applications
Pourquoi mettre à jour son système ?
Supprimer un utilisateur ?
Anticiper - Surveillance
Surveillance - Windows - 1
Surveillance - Windows - 2
Surveillance - Linux - 1
root@marge:~#> tail -f /var/log/syslog
Jan 26 13:49:01 marge dhcpd: DHCPDISCOVER from 00:1e:c1:06:78:60 via eth0: network 10.121.32.0/25: no free leases
Jan 26 13:49:04 marge dhcpd: DHCPDISCOVER from 00:1f:3c:4a:ca:4c (pmpor-10) via 10.121.39.254
Jan 26 13:49:04 marge dhcpd: DHCPOFFER on 10.121.39.205 to 00:1f:3c:4a:ca:4c (pmpor-10) via 10.121.39.254
Jan 26 13:49:08 marge named[22440]: client 10.121.32.42#59293: update 'ldij-lecastel.lan/IN' denied
Jan 26 13:49:08 marge named[22440]: client 10.121.32.42#58656: update '10.in-addr.arpa/IN' denied
Jan 26 13:49:13 marge dhcpd: DHCPDISCOVER from 00:1e:c1:06:78:60 via eth0: network 10.121.32.0/25: no free leases
Jan 26 13:49:14 marge dhcpd: DHCPREQUEST for 10.121.39.195 (10.121.32.22) from 0c:df:a4:84:0a:0b via 10.121.39.254
Jan 26 13:49:14 marge dhcpd: DHCPACK on 10.121.39.195 to 0c:df:a4:84:0a:0b via 10.121.39.254
Jan 26 13:49:14 marge dhcpd: DHCPREQUEST for 10.121.39.195 (10.121.32.22) from 0c:df:a4:84:0a:0b via 10.121.39.254
Jan 26 13:49:14 marge dhcpd: DHCPACK on 10.121.39.195 to 0c:df:a4:84:0a:0b via 10.121.39.254
Jan 26 13:49:25 marge dhcpd: DHCPDISCOVER from 00:1e:c1:06:78:60 via eth0: network 10.121.32.0/25: no free leases
Surveillance - Linux - 2
gestion des volumes
durée de la période stockée (1 semaine … 1 an)
obligations légales
comment faire pour limiter le volume et ne pas saturer les partitions (logrotate)
compression
mécanisme de centralisation : 1 serveur de log par site (cf syslog Castel) et plus des logs locaux
Surveillance - Supervision
root@vm2:/home/sio# nmap ns1
Starting Nmap 5.00 ( http://nmap.org ) at 2012-01-26 14:24 CET
Interesting ports on marge.ldij-lecastel.lan (192.168.0.1):
Not shown: 998 closed ports
PORT STATE SERVICE
22/tcp open ssh
53/tcp open domain
Nmap done: 1 IP address (1 host up) scanned in 0.27 seconds
Anticiper - Les Sauvegardes
Sauvegardes - Caractéristiques - 1
Sauvegarde différentielle
effectue une copie des fichiers créés ou modifiés depuis la dernière sauvegarde complète, quelles que soient les sauvegardes intermédiaires.
En d'autres termes, la sauvegarde complète du jour J sert de référence pour identifier les fichiers créés, modifiés ou ajoutés et ainsi ne sauvegarder que ces derniers du jour J+1 au jour J+6.
la restauration nécessite la recopie sur disque de la dernière sauvegarde complète et de la sauvegarde différentielle la plus récente.
utilise un attribut de fichier qui passe à 1 s'il est sauvegardé
Sauvegarde incrémentale
sauvegarde les fichiers créés ou modifiés depuis la dernière sauvegarde quel que soit son type (complète, différentielle ou incrémentielle).
exemple : une sauvegarde complète est réalisée le jour J. Le jour J+1, la sauvegarde incrémentale est réalisée par référence au jour J. Le jour J+2, la sauvegarde incrémentale est réalisée par référence au jour J+1. Etc
si la restauration se porte sur un disque sauvegardé le jour J+4, on doit alors restaurer la sauvegarde du jour J et les sauvegardes incrémentales des jours J+1, J+2, J+3 et J+4 afin d'obtenir la dernière version
Sauvegardes - Caractéristiques - 2
stockage
mode
image : archive une image de partition (/dev/sda1) ou du disque dans sa globalité (partclone, partimage, ntfsclone, dd, …)
fichiers : archive les fichiers individuellement - plus souple (cp, copy, rsync, scp…)
compression
Sauvegardes - Caractéristiques - 3
machine
physique : sauvegarde en mode fichiers indispensable
virtuelle : sauvegarde en mode fichier mais également sauvegarde de la machine virtuelle dans sa globalité (mode image) : plus pratique mais attention au volume global de la partition (40 Go dont 5 occupés …)
Sauvegardes - Caractéristiques - 4
une sauvegarde ne peut s'effectuer que si un fichier n'est pas ouvert par une application (Winword …)
une base de donnée ne peut être sauvegardée que si elle est arrêtée ou si la sauvegarde est faite par un agent spécifique
Sauvegardes - Que sauvegarder ?
Sauvegardes - Les bases de données
root@debian:~# mysqldump -u root -p mabase > mabase-dump.sql
root@debian:~# pg_dump -f mabase-dump.sql -U root mabase
root@debian:~# ssh root@srv "mysqldump -u root -pxxxx mabase | gzip" > mabase-dump.sql.gz
Sauvegardes - les outils
Windows
BackupExec, Acronis, Arcserve, Netbackup (Symantec), Bacula, BackupPC, Cobian Backup, ntbackup (système)
Linux
système : tar, cp, scp, rsync
BackupPC, Bacula, Unisson
-
partclone, partimage, ntfsclone, dd
les LiveCD : Redo Backup, System Rescue CD, Clonezilla, …
DriveImage XL : création d'images de partitions
Sauvegardes - les protocoles
dans le cas où l'on effectue une sauvegarde sur ou depuis une ressource qui n'est pas une ressource locale, on doit utiliser un protocole réseau
les plus utilisés sont les suivants (couche application):
SMB/CIFS (Microsoft) : le standard de fait pour le partage/transfert de fichiers en environnement Windows - utilisable avec Samba ou smbclient sous Linux
NFS - Network File System (Unix/Linux) : le standard pour le partage de fichier en environnement Unix - pas adapté a l'internet
HTTP : moins fréquemement utilisé - surtout pour les méthodes get (téléchargement)
FTP : utilisé également mais ancien et peu souple - très peu sécurisé (mots de passe en clair)
SSH : utilisé pour copier des fichiers avec scp : Secure Copy, ou comme tunnel chiffré pour rsync avec des clés publiques
Sauvegardes - exemple 1 : tar
tar cvf /bu/home-sv.tar /home
Archive (c : Creation, v: Verbose, f: File) le répertoire /home dans l'archive /bu/home-sv.tar
on peut utiliser l'option z: gzip pour compresser l'archive au passage
tar cvfz /bu/home-sv.tgz /home
Sauvegardes - exemple 2 : scp
scp - (Secure Copy) permet de copier des fichiers/répertoires dans un tunnel chiffré ssh de ou vers une machine distante disposant d'un serveur ssh
fonctionne sous Linux, il existe pscp pour Windows
scp -rp root@machine:/home /sv/machine/home
copie tous les fichiers du répertoire /home de la machine distante machine et les stocke dans le répertoire local /sv/machine/home
la copie est récursive (option -r) et préserve (-p) les attributs et dates de changement des fichiers
scp ne tient pas compte des dates relatives des fichiers
Sauvegardes - exemple 3 : rsync
rsync est une application/protocole qui permet de synchroniser des fichiers/répertoires en mode local ou à distance
rsync est le protocole le plus économe en bande passante car il effectue des comparaisons entre les fichiers et limite ses transferts aux seules (ou presque) différences entre les fichiers
rsync est devenu le standard de fait pour la synchronisation des sites miroirs
rsync -av -e ssh root@distant:/home /sv
la commande plus haut synchronise au travers d'un tunnel ssh (option -e) chiffré le répertoire /home de la machine distant avec son pendant dans le répertoire local /sv . La machine distante doit également disposer de rsync et d'un serveur ssh
l'option -a correspond au mode archive (récursion et préservation des attributs), l'option -v correspond au mode verbeux …
Sauvegardes - SSH et les clés publiques
le système de clé publique permet de s'authentifier sans mot de passe sur un système distant qui dispose d'un serveur SSH auquel on a envoyé sa clé publique
Problème : la machine Linux C1 veut se connecter sur la machine Linux SRV sans utiliser de mots de passe
depuis C1, on doit générer les clés RSA et DSA
root@C1~#> ssh-keygen
root@C1~#> ssh-copy-id root@srv
la machine demande alors le mot de passe root de SRV
on peut alors se connecter sur la machine SRV sans mot de passe
le tunnel SSH peut alors être utilisé pour de l'administration distante ou une synchronisation de répertoires par rsync
Sauvegardes - Planification
il est impératif de pouvoir planifier les sauvegardes pour les lancer hors des périodes d'activité et déconnecter au besoin les utilisateurs
sous Linux, on dispose du démon crontab qui permet une grande souplesse dan la gestion de la programmation
# crontab
0 22 * * 1-5 /root/backup-sys
# par exemple, sauvegarde du répertoire /home
# a 5 h du matin chaque semaine:
# 0 5 * * 1 tar -zcf /var/backups/home.tgz /home/
la crontab décrite plus haut lance le script /root/backup-sys à 22h du lundi au vendredi
on peut également utiliser les répertoires cron-hourly, cron-daily, cron-weekly et cron-monthly
sous Windows, le planificateur de tâches propose un fonctionnement similaire
Sauvegardes - Rotation
DAT=`date "+%u"` # $DAT contient le No de jour de la semaine
# on compresse la base avec le filtre gzip
mysqldump -u root --password=xxxxx -B mbase | gzip > mabase-$DAT.dump.gz