wiki:2011-2012:sauvegardes

Voir cette page sous forme de diaporama.

Sauvegardes

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

Anticiper

  • Protection du système dans l'utilisation courante
    • Qui a droit à quoi ?
      • Vérifier et documenter les habilitations des utilisateurs en fonction des choix organisationnels
    • Quelle politique de droits et privilèges ?

Anticiper

  • Protection du système contre les malveillances
    • antivirus
    • antispyware
    • risques
    • outils
  • Pourquoi mettre à jour son système ?
    • failles de sécurité
  • Mise à jour automatiques Oui/Non ?
    • fréquence : chez Microsoft, les 2e et 4e mardi du mois
    • volume : plusieurs centaines des Mo pour certains Services Pack Microsoft
    • versions : changement de version majeur 2.0 ⇒ 3.0 (cf base de données)
    • précautions : peuvent produire des blocages ou des plantages
    • temps d'installation, avec de multiples démarrage (Windows) ⇒ indisponibilité
    • types de mises à jour, chez Microsoft : importantes, recommandées, facultatives
  • Mise à jour automatiques possibles
  • Service SUS/WSUS (Windows Software Update Service)
    • service centralisé (Client/Serveur) de mise à jour avec validation
    • permet de limiter les volumes de transfert
    • permet la planification après les tests
  • Système élaborés et efficaces
    • utilisation éventuelle de serveur proxy
  • Debian/Ubuntu :
    • aptitude update pour télécharger les listes de version sur un dépôt externe
    • aptitude upgrade pour mettre à jour les paquets
  • RedHat :
    • yum update
  • 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 ?
    • corriger les bugs
  • Supprimer un utilisateur ?
  • Observer ce qui se passe sur un système
  • Les journaux système et applicatifs
    • Windows
    • Linux
  • Services réseaux ouverts
    • port ouvert ⇔ un service en écoute
    • TCP/UDP
  • Audit d'activité :
    • Pourquoi ?
    • Quels objets auditer ?
    • Quels évènements auditer ? (succès - échec)
  • l'observateur d'évènements ( eventvwr)
  c:\> eventvwr
  • l'observateur d'évènements : le journal système
  • les logs
  • les fichier de logs sont récupérés par le démon syslog (rsyslog sous Debian) et stockés dans le répertoire /var/log
    • le fichier /var/log/syslog est le fichier principal de logs mais il en existe d'autres (/var/log/apache2/access.log pour apache, …)
    • on peut les examiner en temps réel avec la commande tail -f fichier (Ctrl-C pour interrompre)
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
  • 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
  • installation d'outils de supervision (Nagios, Zabbix, …)
  • scan de ports distants : nmap sous Linux :!: Attention aux contraintes légales
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
  • mise en place de solutions de récupération ⇒ dispositifs de sauvegardes
  • caractéristiques
    • totale
    • partielle
  • contraintes
    • volume
    • débit
    • historique
  • totale
    • gros volume
    • long
  • partielle
    • volume limité
    • incohérence potentielle
    • plusieurs sauvegardes à restaurer
    • 2 variantes
      • différentielle
      • incrémentale
  • 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 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
  • stockage
    • local : gros volume - débit élevé (100 Mo/s)- accessible sur une seule machine
    • réseau : accessible partout mais problème éventuel de débit ⇒ goulet d'étranglement (100 Mb/s)
  • 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
    • compression : permet plus de stockage - moins rapide
    • sans compression (natif) : plus rapide - moins de pb en cas d'archive corrompue
  • 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 …)
  • une sauvegarde ne peut s'effectuer que si un fichier n'est pas ouvert par une application (Winword …)
    • ⇒ nécessité que les utlisateur soient déconnectés ou que le volume soit en lecture seule
  • 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
  • les répertoires utilisateurs
    • Linux : /home
    • Windows : c:\Documents and Settings pour XP, c:\users pour Vista et Seven
  • les répertoires système
    • fichiers de librairies système
    • comptes utilisateurs
    • la base de registre Windows
    • sous Linux : le répertoire /etc qui comporte les fichiers de configuration
  • des outils de vidage existent
  • pour Mysql : mysqldump
  root@debian:~# mysqldump -u root -p mabase > mabase-dump.sql
  • pour Postgresql : pg_dump
  root@debian:~# pg_dump -f mabase-dump.sql -U root mabase
  • ces deux logiciels fonctionnent à chaud (avec la base en fonctionnement)
  • ces 2 commandes peuvent être éxécutées à distance à travers un tunnel sécurisé ssh au travers de l'outil de compression gzip
  root@debian:~# ssh root@srv "mysqldump -u root -pxxxx mabase | gzip"  > mabase-dump.sql.gz
  • Windows
    • BackupExec, Acronis, Arcserve, Netbackup (Symantec), Bacula, BackupPC, Cobian Backup, ntbackup (système)
  • Linux
    • système : tar, cp, scp, rsync
    • BackupPC, Bacula, Unisson
    • Timemachine (Mac/OS)
    • partclone, partimage, ntfsclone, dd
  • les LiveCD : Redo Backup, System Rescue CD, Clonezilla, …
  • DriveImage XL : création d'images de partitions
  • 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
  • tar (Tape ARchive) est la commande de base pour l'archivage sous Unix/Linux
  • elle permet de créer un fichier d'archive sur disque ou sur bande
  • fonctionne en local
 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
  • 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
  • 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 …
  • 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
  • ne saisir aucun mot de passe (passphrase)
  • envoyer la clé publique de root sur la machine SRV
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
  • 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
  • faire une sauvegarde est intéressant, mais il peut être intéressant d'effectuer plusieurs sauvegardes journalières en rotation hebdomadaire : la sauvegarde N remplace la sauvegarde N-7
  • exemple :
    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
  • on obtient des vidages de base de données appelés mabase-0.dump.gz, mbase-1.dump.gz, …
  • wiki/2011-2012/sauvegardes.txt
  • Dernière modification : 2013/03/22 13:19
  • de 127.0.0.1