table des matières Administration système M4C gestion des utilisateurs 2ème année - S4, cours - 2/3 gestion des disques 24-25 données et sauvegardes Marcel Bosc Département informatique notions de sécurité IUT de Villetaneuse Université Paris-3 ère partie gestion des utilisateurs le fichier /etc/passwd root:x:::root:/root:/bin/bash www-data:x:33:33:www-data:/var/www:/bin/sh Debian-exim:x:2:2::/var/spool/exim4:/bin/false dupond:x::2:jean Dupond,,,:/home/dupond:/bin/bash durand:x::2:bob Durand,,,:/home/durand:/bin/bash gid gid login login uid uid infos infos home home vrai utilisateurs (humains) "utilisateurs" système login login shell shell
Authentification : mot de passe les groupes /etc/passwd lisible par tous! /etc/group root:x:: man:x:2: cdrom:x:24:durand,dupond video:x:44:dupond durand:x:2: dupond:x:2: /etc/shadow dupond:ab4f63f9ac saisie par «dupond»: authentification hash : ab4f63f9ac en clair : azerty groupe groupe gid gid membres membres pas de mot de passe enregistré en clair droits d'accès aux fichiers catégories droits propriétaire (moi): User groupe : Group les autres : Others lecture écriture execution : Read : Write : execute catégories droits propriétaire (moi): User groupe : Group les autres : Others lecture écriture execution G:groupe O:les autres U:moi G:groupe O:les autres U:moi -rw-r----- -rw-r--r-- [dupond@r2 ~/public_html]# ls -l READMEhtml -rw-r----- bosc prof 7:44 READMEhtml droits droits d'accès d'accès changer les droits : chmod moi moi mon mon groupe groupe +r chmod o+r unfichiertxt : Read : Write : execute
serveurs et utilisateurs parcs de machines /etc/passwd les serveurs ont des utilisateurs spécifiques à droits limités processus apache piraté /etc/passwd /etc/passwd /etc/passwd NIS : Network Information Service fichier sensible LDAP: Lightweight Directory Access Protocol BDD utilisateurs centralisée bien réfléchir aux droits d'accès limiter les droits en écriture partitions d'un disque dur 2ème partie gestion des disques disque dur 5 Giga Octets MBR 99 99 9 99 9 ext3 swap partition- partition-2 partition-3 9 ntfs 49 9 systèmes de fichiers
montage de disques noms de périphériques Linux partition (sda) SCSI / SATA / USB bin /dev/sda /dev/sdb /dev/sdc /dev/sdd / usr etc var tmp home partitions:,2,3 /dev/sda, /dev/sda2, /dev/sda3 include bin lib [root@r ~]# mount /dev/sda2 /usr [root@r ~]# UUID: 3767484-378-48d-b8e-2e63edab44 identifiant unique partition 2 (sda2) dans le répertoire : /dev le fichier /etc/fstab emplacement emplacement /dev/sda /dev/sda2 /dev/hda /dev/sdb / /usr /media/cdrom /mnt/disque-usb ext3 ext3 iso966 auto la commande «df» [dupond@r2 ~]# df -h defaults defaults ro,user,noauto users Sys de fich /dev/sda /dev/sda3 /dev/sdb Tail 4G 58G 5G Occ 6,7G 46G 97G %Occ 5% 84% 68% Monté sur / /home /disk2 [dupond@r2 ~]# sda système système de de fichiers fichiers Disp 6,5G 9,3G 47G sdb options options peripherique peripherique sda: 4Go sda3: 58Go / /home sdb:5go /disk2
allocation de l'espace disque le système de fichiers fichier2 fichier fichier4 fichier3 exemples 99 9 99 9 99 9 conflit! 29 partition de 3 Giga Octets ext4, ext3 btrfs vfat, fat32 ntfs iso966 gérer l'arborescence des fichiers et répertoires droits d'accès Linux Windows CD bloc: série d'octets de taille fixe disque découpé en blocs ex: 496 octets important! 3ème partie données et sauvegardes allouer l'espace disque disques pas fiables! erreurs humaines incendie, vol mécanique! mécanique! 3 à 5 ans beaucoup d'heures de travail données critiques Les données sont précieuses!
Fiabilité sauvegarde par duplication sauvegardes facile à faire semi-automatique régulières lieu séparé formats standards vérifier régulièrement! sauvegarde incrémentale copie des changements copie tous les "x" jours pas d'historique pertes de donnée pas remarquée => définitive!! j j- procédure très simple j-2 beaucoup de place! équipement simple j-3 historique complet très grande sécurité rdiff-backup: simple en pratique: schémas intermédiaires
raid l'utilisateur voit un seul disque virtuel raid : parité plusieurs disques physiques (redondance) raid- : mirroring = G + G G raid-5 : parité = 2G + G + G G raid : utilisation! le raid n'est pas une sauvegarde! il n'y a pas d'historique panne disque interruption de service performance complexité = danger disque raid (virtuel) disque- disque-2 + += on peut toujours reconstruire une valeur manquante disque-3 parité = nombre impair de en pratique: parité distribué par blocks ère partie rappels http - client serveur
page html statique musiqueorg client navigateur html généré par le serveur http://musiqueorg/essaihtml navigateur 2 4 serveur web 2 serveur web /var/www/essaihtml affichage musiqueorg rechercher "concerts lundi" client logiciel affichage 4 génère page html 6 3 essaihtml montrant les résultats de recherche fichier 5 html répertoire configuré par DocumentRoot base de données internet internet très simplifié html généré par le serveur musiqueorg rechercher très simplifié hébergement web classique client navigateur http://musiqueorg/searchphp serveur web 2 searchphp interpréteur PHP sitecom internet http://sitecom/essaiphp affichage 4 serveur web apache 2 3 html PHP essaiphp exécution searchphp html début page connexion à la BDD 3 recherche -> requête SQL pour chaque résultat 4 générer html avec liens base de html fin page données internet 5 html 3 fichiers serveur ftp développeur ~/travail/essaiphp très simplifié
hébergement mutualisé 2ème partie totoorg <VirtualHost > ServerName totoorg DocumentRoot /var/www/toto titicom architectures web 83234 apache zozonet <VirtualHost > ServerName titicom DocumentRoot /var/www/titi abcorg <VirtualHost > /var/www/toto /var/www/titi BDD SQL toto titi zozo abc une uneseule seulemachine machine plusieurs plusieurssites sitesweb web hébergement mutualisé serveur dédié plusieurs centaines de sites sur une machine prix très réduit ( à 3 / mois) bande passante limitée processeur partagé : très lent généralement limité à un accès ftp, et outils bdd location d'une machine hébergé dans un datacenter pas à administrer le serveur plus cher : 3 / mois contrôle complet sur la machine administrateur système requis
virtualisation serveur virtuel Virtualisation : exécuter un ou plusieurs systèmes invités dans un système d'exploitation hôte Exemple: Une seule machine physique très pratique! hôte: hôte: Windows Windows XP XP logiciels: (bureau) VirtualBox (libre!) Parallels VMware invité: invité: Windows Windows XP XP logiciels: (serveur) xen (libre) kvm (libre) VMware invité: invité: Ubuntu Ubuntu (Linux) (Linux) Ahmed root Mach Virtuelle Dupond root Mach Virtuelle 2 Nguyen root Mach Virtuelle 3 Serveur de fichiers Windows Solaris contrôle complet (root) sur la machine performance dépend des autres serveur virtuel Machine Physique Linux cloud computing Mach Virtuelles Machines Physiques Serveurs de fichiers Mach Virtuelle Linux Mach Virtuelle 2 Windows Mach Virtuelle 3 Solaris machine physique = CPU/RAM l'hébergeur vend du temps CPU, RAM, place disque migration d'une machine physique à une autre moins sensible aux pannes matérielles en pratique : problèmes de performance, prix
autres dispositions haute disponibilité / performance redondance location de baies ou demie-baies avoir son propre datacenter $ un unsite siteweb: web: plusieurs plusieursmachines machines serveurs web serveurs bdd / fichiers $$$ routeur internet routeur de secours 3éme partie contrôle d'accès apache Directory Directory configuration apache et sécurité <Directory /var/www/monsite/include> Deny from all </Directory> interdire interdire l'accès l'accès <Directory /var/www/monsite/uploads> Deny from all <Files ~ "\(png gif pdf)$"> Allow from all </Files> </Directory> Files Files attention! ne concerne que les fichiers demandés par le client Un processus (ex PHP) peut faire ce qu'il veut
comptes et authentification! droits d'accès aux fichiers musiqueorg ne pas confondre: comptes système /etc/passwd /etc/shadow indexhtml totohtml processus apache www-data comptes à l'intérieur d'un logiciel web ex: moodle : php, sql table sql avec login et mot de passe crypté utilisateur système : apache (ex www-data) /var/www/ authentification apache config apache ex: htaccess, htpasswd utilisateurs sql table mysqluser totohtml -rw-r----- bosc prof indexhtml -rw-r--r-- bosc prof www-data bosc www-data prof contrôle d'accès apache musiqueorg indexhtml configuration du php /etc/php5/apache2/phpini processus apache <Directory /var/www/rep> Deny from all secrethtml </Directory> scriptphp safe_mode = off max_execution_time = 3 memory_limit = 6M error_reporting = E_ALL & ~E_NOTICE register_globals = Off /var/www/ magic_quotes_gpc = On upload_max_filesize = 2M rep indexhtml scriptphp include_path = ":/usr/share/php" <?php fopen("rep/secrethtml") secrethtml?> redémarrer apache
administration mysql sauvegarde: mysqldump -u toto -p mabase > mabasesql restauration mysql -u toto -p mabase < mabasesql 4éme partie instructions SQL pour reconstituer DROP TABLE IF EXISTS `users`; CREATE TABLE `users` ( INSERT INTO `users` VALUES (' DROP TABLE IF EXISTS `article`; CREATE TABLE `article` ( INSERT INTO `article` VALUES (' le courrier électronique création de bases CREATE DATABASE mabase; création d'utilisateurs sql et droits GRANT ALL PRIVILEGES ON mabase* TO toto@localhost IDENTIFIED BY 'motdepasse'; FLUSH PRIVILEGES; courrier : notions de base courrier : au plus simple expéditeur récepteur smtp MUA : Mail User Agent thunderbird, webmail, eudora, outlook, MTA : Mail Transfer Agent sendmail, exim, postfix, exchange port 25 MTA MUA mais: récepteur doit rester connecté expéditeur doit rester connecté sécurité: pas de contrôle / filtrage protocole SMTP
serveur de mail rentrant serveur de mail sortant FAI ou réseau d'entreprise expéditeur récepteur port 25 smtp MTA POP IMAP MUA récepteur MTA POP MTA2 IMAP MUA courrier : scénarios réalistes FAI ou réseau d'entreprise expéditeur récepteur MTA serveur web expéditeur le serveur mail (MTA) peut stocker les mails et ressayer jusqu'à ce que MTA2 les accepte webmail MTA FAI ou réseau d'entreprise port 25 le serveur mail (MTA) stocke les mails en attendant que le client (MUA) vienne les demander par POP ou IMAP port 25 FAI ou réseau d'entreprise http MUA
Ce document est distribué librement Sous licence GNU FDL : http://wwwgnuorg/copyleft/fdlhtml Les originaux sont disponibles au format LibreOffice http://www-infoiutvuniv-paris3fr/~bosc