cours[1]
15 pages
Français
Le téléchargement nécessite un accès à la bibliothèque YouScribe
Tout savoir sur nos offres

cours[1]

-

Le téléchargement nécessite un accès à la bibliothèque YouScribe
Tout savoir sur nos offres
15 pages
Français

Description

--ADMINISTRATION SYSTEME Objectif : L'installation, la configuration et la maintenance des systèmes informatiques Répartition : Techniques nécessaires (½ du temps) Documentation (½ du temps) Documenter toutes ses actions formaliser des procédures --> programmer Chapitre 1 : Structures des systèmes UNIX De nos jours, il y a deux systèmes : Unix (intégre MacOS) et Windows On va travailler dans la suite de ce cours du coté Unix car les concepts sont beaucoup plus simples et le système a été fait pour l'administrateur au contraire de windows qui est fait pour les utilisateurs. De plus, Unix est très bien programmé et conçu. Et on peut installer plusieurs versions gratuitement. Unix : C'est le plus vieux système d'exploitation encore couramment utilisé (années 70), qui est multitâche, multiutilisateur. Les versions actuelles les plus connues : ✗ BSD : FreeBSD (la plus facile d'utilisation), OpenBSD (le plus sécurisée), NetBSD (la plus portable) ✗ Système V : Linux, Aix (IBM), Solaris (Sun). A part Aix et Solaris, tous sont gratuits, libres, « puissants », légers, assez bien sécurisés et puis de bonnes qualités (programmé en C, et non en C++). Ils sont très utilisés dans les serveurs (notamment Internet --> ensemble de normes et de protocoles IP, TCP, HTTP, SMTP et POP) On travaillera principalement sur Linux. Linux : Linux est un noyau auquel on intégre des outils GNU (hurd) : d'où l'appelation GNU/Linux + Outils ...

Sujets

Informations

Publié par
Nombre de lectures 58
Langue Français

Exrait

 
 Objectif :   L'installation, la configuration et la maintenance des systèmes informatiques  Répartition : Techniques nécessaires (½ du temps) Documentation (½ du temps) %  Documenter toutes ses actions %  formaliser des procédures --> programmer  Chapitre 1 : Structures des systèmes UNIX  De nos jours, il y a deux systèmes : Unix (intégre MacOS) et Windows  On va travailler dans la suite de ce cours du coté Unix car les concepts sont beaucoup plus simples et le système a été fait pour l'administrateur au contraire de windows qui est fait pour les utilisateurs. De plus, Unix est très bien programmé et conçu. Et on peut installer plusieurs versions gratuitement.  Unix : C'est le plus vieux système d'exploitation encore couramment utilisé (années 70), qui est multitâche, multiutilisateur.  Les versions actuelles les plus connues :  BSD : FreeBSD (la plus facile d'utilisation), OpenBSD (le plus sécurisée), NetBSD (la plus portable)  Système V : Linux, Aix (IBM), Solaris (Sun). A part Aix et Solaris, tous sont gratuits, libres, « puissants », légers, assez bien sécurisés et puis de bonnes qualités (programmé en C, et non en C++). Ils sont très utilisés dans les serveurs (notamment Internet --> ensemble de normes et de protocoles IP, TCP, HTTP, SMTP et POP)  On travaillera principalement sur Linux.  Linux :  Linux est un noyau auquel on intégre des outils GNU (hurd) : d'où l'appelation GNU/Linux + Outils tiers Il se base sur des distributions : C'est un choix de versions, de logiciel, avec un programme d'installation et des outils de configuration (gestionnaire de paquetages). On trouve des distributions telles que RedHat, Mandriva (Mandrake), Suze, Debian (la plus propre, la plus belle et la plus libre, mais pas spécialement conviviale), Ubuntu qui se base sur Debian que l'on va utilisé dans la suite de ce cours.  1.1  Ph i lo s o p hi e U n i x     Unix est basé sur des fichiers, si possible de texte (lisible à l'humain et facilement manipulable automatiquement.  On y ajouter une batterie d'outils simples (fonctionnellement) mais les plus simples possibles, dont beaucoup d'outils de manipulation de textes et de fichiers
 Pour les tâches complexes : on aura des moyens pour combiner les outils (langages de script de type Shell).  L'utilisateur peut donc fabriquer ses propres outils et automatiser son travail. Sur ces bases, on peut aussi avoir des frontaux c'est-à-dire des interfaces textuelles ou graphiques.  1.2  A l' a id e !   Pour utiliser Unix sans avoir à utiliser des quantités de livres, on a des commandes d'aide intégrées à Linux :   Man : Pages de manuel des outils A l'invite de commande : man ls : Lance la documentation de l'outil ls (dans le cours ls(1) = $man 1 ls Exemple : man 3 system : Documentation C  man 1 system : Commande   Help : Documentation des commandes internes du shell Exemple : help help  cd  exports /unset  Doc sur tous les builtins : ma,   apropos toto : Liste de toutes les pages de manuel qui parlent de toto   whatis outil : une ligne de description pour l'outil   info : c'est la commande qui remplace man d'après GNU.  1.3  Orga n i s a t i o n d e  l a  m é mo ire    Espace Utilisateur : les processus : les programmes que l'utilisateur lance. Les processus sont dans des espaces mémoires séparés Dans les processus, on peut avoir des threads  Processus Thread1 Thread2     Espace Noyau + Modules : Le plus haut degré de privilèges       
CPU
Au niveau des processus : on a des librairies partagées  Processus 1 ...  
Processus 2 ...
LibJpeg 1 seule et même copie LibJpeg   1.4  Ar b o re s c e n ce U n i x   C'est un graphe orienté de fichiers et de répertoires, mais attention, ce n'est pas un arbre binaire (deux branches qui se sont séparées peuvent se retrouver).  Sous Unix, on a une arborescence unique. Le répertoire « / », qui est la racine de l'arborescence accessible depuis /  Chaque répertoire = Deux sous répertoires  .  = Le répertoire courant  ..  = Le répertoire parent  Donc /.. = /  /bin et /sbin On y trouve tous les programmes essentiels (binaires = C Compilé) /lib Librairies essentielles /etc Tous les fichiers de config /dev Tous les périphériques exemple :  /dev/hda = le fichier qui donne accès au 1er disque dur IDE  /dev/hda1 est la première partition de /dev/hda /proc Les ressources dynamiques exemple :  /proc/214/..., tout ce qui concerne le processus numéro 214 /var Données variables gérées par des programmes exemple :  /var/www/... : Retourne les fichiers utilisés par un serveur web  /var/log : Traces d'exécution des programmes du noyau /usr Les fichiers binaires, librairies, ..., supplémentaires  /usr/bin /usr/sbin /usr/lib .... exemple :  /usr/local : Suppléments qui ne font pas partie de la distribution /home Les répertoires des utilisateurs /root Le home de l'administrateur /tmp Les fichiers temporaires (effacés à chaque démarrage)   
1.5  Vol u m es  e t sy st è m e s  d e f i c h i e r s  Disques physiques Exemple : /dev/hda HD => IDE hda : Disque maître du 1er contrôleur hdb : Esclave du 1er contrôleur hdc : Maître du 2 nd contrôleur Disques logiques Chaque disque est partitionné en disques donc on peut trouver : hda1, hda2... Chaque partition est un volume Volumes Chaque volume est formaté ou non selon un système de fichier. (dans les disques Exemple : FAT => MS-DOS (16 bits) logiques) FAT32 => MS-DOS (32 bits)                   NTFS => Windows  EXT3 => Default sous Linux  EXT2 => Idem  Swap => Mémoire Virtuelle
  On a des outils : %  de partitionnement : fdisk, cfdisk, parted %  de formatage : mkfs (make file system), mkfs.vfat %  de vérification : fsck (exemple : fsck .ext2 : vérifier l'intégrité du volume ext2)  Pour monter un volume : Commande « mount » qui intégre le système de fichier d'un volume dans l'arborescence Unix exemple :  / => /dev/hda1  /proc => virtuel  /home => /dev/hda2  exemple 2 : /etc/fstab  1.6  Dém a r r a g e   C'est une séquence de différents systèmes qui se démarrent les uns, les autres. Séquence de démarrage : 1.  BIOS / Firmware : lecteur du MBR (Master Boot Record) = prog lancé par le BIOS 2.  MBR installé par un boot loader (chargeur de démarrage) ex : Lilo / GRUB => présente un menu qui nous permet de choisir le système de démarrage (entre Linux et Windows par exemple) 3.  Exécute un noyau avec des paramètres  Initialisations diverses  Montage de / en mode RO 4.  Lance un programme : init: Démarrage de Linux 5.  Init exécute les scripts de /etc/init.d/ Toutes les initialisations :  Montage des disques comme indiqué dans /etc/fstab  Démarrage des services  Démarrage des programmes de connexion (login en texte et xdm/gdm en graphique)  
 1.7  Gr oupe s  e t  ut i l isa t e u rs   /etc/passwd => toutes les informations sur les utilisateurs (réels / systèmes) Nom X => mot de passe est ailleurs uid => user id gid => group id « vrai » nom => finger(1) Home directory Shell par défaut  /etc/shadow : idem mais avec les mots de passe (en pratique, que les mots de passe) Nom Mot de passe crypté Tous les autres champs mais vides  Mot de passe : *! => compte interdit au login, utilisateur système $1$ => mot de passe haché par MD5  Validation d'un MdP : Empreintes : Hachage de MdP : Login / Mdp entré par User => MD5 (Pass) puis compare avec /etc/shadow.  SALT :$1$SALTMD5(SALT+PASS)  /etc/group : information sur les gid /etc/sgroup : un peu comme shadow pour group  1.8  Per m i s s ion s   Processus avec des identités => Utilisent => ressources avec des permissions Toutes ressources = un fichier Tout fichier a 3 series de permissions : Booléens : Bit 0 ou 1  Read r : lecture => lire un fichier, lister un répertoire  Write w : écriture => écrire dans un fichier, créer, supprimer un fichier dans un répertoire  Execute x : Exécuter => Lancer un programme (fichier), et aller dans un répertoire   Une serie pour l'utilisateur propriétaire du fichier user = u Une serie pour le groupe propriétaire du fichier group = g Une serie pour tous les autres others = o  Exemple : Un processus d'identité : frank:staff (uid:gid) Crée un fichier / répertoire toto  => le propriétaire de toto  user frank  group staff  Appel système setgid, set uid Command chown qui positionne le propriétaire d'un fichier.  Rotation rwx - - x - - - 3 pour u, 3 pour g, 3 pour o   
Commande pour gérer les permissions Chmod u+x toto => rend toto exécutable  Ce mécaniseme n'est pas suffisant Exemple : /etc/shadow est rw- r - - - - - appartient à root:shadow  w mécanisme d'élévation de privilège bit setuid ou setgid à la place de u+x ou g+x on a u+s ou g+s s=> x +setgid/uid  exemple : Un fichier setuid (u+s) lance, s'exécute sous l'identité user de son utilisateur propriétaire  /bin/passwd r – s r – x r – x appartient à root(le3s premiers):root Une fois lancé par frank:frank, le processus a l'identité root:frank  A la place du x, on peut avoir :  le s (voir au dessus)  le t => temp (dir) => seul le propriétaire d'un fichier peut l'effacer.  Et sticky (file) => l'image mémoire du processus est conservée pour être réutilisée.  Sticky n'est plus utilisé.  Exemple : /tmp root:root rwx rwx rwxt  tmpdir, tempfile,....  Utilisation : stratégie de sécurité basée sur des rôles !  Un rôle : ensemble de droits sur une ressource  Exemple : rôle => gravure de CD, lecteur audio, enregistrement audio.  Pour chaque rôle => un user/groupe système. Sur audio : /dev/audio root:audio rw- rw- - - - en mettant ou non un utilisateur dans le groupe audio, il peut accèder au son.  Résultat : le système de permission Unix est aussi expressif que les ACL (windows)   
Chapitre 2 : Installation de Linux  Distribution :  Choix de noyau  Choix de paquetage  Choix d'outils d'installation, d'administration  Débian : 2 noyaux :  Linux  Hurd  Norme POSIX : Qu'est ce qu'un Unix.  Généralement, on a un gestionnaire de paquetage (appelé aussi les paquets logiciel): Système qui permet d'installer un logiciel et gère les dépendances entre les différentes parties de logiciel. (pour simplifier : gère des éléments de systèmes interdépendants)  On a deux systèmes notables :   RedHat => Basé sur RPM : Red Hat Package Manager Déf CCC : Il s'agit d'un fichier portant l'extension .rpm permettant une installation automatique, pour les distributions Linux telles que RedHat ou Mandrake.
  Debian => Basé sur DEB Déf CCC : Il s'agit d'un fichier portant l'extension .deb permettant une installation automatique, pour les distributions Linux Debian. Ces deux systèmes sont un outil bas niveau et des frontaux (texte / graphique)
 Exemple : Debian : Ubuntu Dpkg : Outil bas niveau Apt (Advantager Packaging Tool) : Frontal texte + dépendances + Sources de paquetages Dselect / Aptitude : frontal Text / graphique à Apt Synaptic : frontal graphique à Apt  Les autres logiciels : installé à partir des sources, des binaires du vendeur. Ils sont situés dans /usr/local (/opt) Exemple : Ubunto 6.06 (année.mois), il y avait 18881 paquetages (qui sont installables)  Ex 6 : Utilisation d'aptitude #Aptitude update => MAJ de le liste des paquets disponibles  #Aptitude upgrade => Télécharger et installe les MAJ.  #Aptitude install g++ => Installe g++ et ses dépendances  
#Aptitude remove festival purge =>  #Aptitude show anacron    
Chapitre 3 : Gestion des comptes  => Stratégie par rôles  Rôle : Ensemble de privilèges <=> Groupe => Choisir de mettre ou pas chaque utilisateur dans un groupe  Fait à 2 niveaux :  /etc/group  PAM (Pluggable Authentification Module) => Peut modifier les groupes  Il existe une autre voie : sudo Exemple : sudo -u root bash // lancement d'un shell bash Les permissions sont définies dans /etc/sudoers Avantage : Vérification de l'identité se fait avec le mdp de l'utilisateur Avant : su => avant le password root  Autre concept : l'option user de /etc/fstab et l'option setuid / setgid  L'utilisateur installé par Ubunto => autorise à faire sudo n'importe quoi avec son mdp  gksudo  Exemple : utilisateur install administrateur de /usr/local  /configure make make install  root# adduser install => crée un user install  un group install  un répertoire /home/install  root# mkdir /usr/local/stow root# chmod +s /usr/local => tout fichier crée dans /usr/local sera donné au propriétaire du dir. Root# chown -r install:install /usr/local root# visudo vi (ou ed) /etc/sudoers On va ajouter une line :  install ALL=(ALL) /sbin/ldconfig (en tant que root par defaut)  ldconfig => déclarer des librairies dynamiques root#aptitude install stow  Pour installer un logiciel : copier tout l'arborescence du logiciel dans /usr/local/stow/xyz (dédié au logiciel) => généralement, c'est fait automatiquement  Exemple : Imaginons qu'on installe toto en version 1.8 : install#cd install#wget http://........../toto-1.8.tar.gz install#tar xzf toto-1.8.tar.gz // on décompresse l'archive  On récupere un repertoire un repertoire toto-1.8 install# ./configure - - prefix=/usr/local/stow toto-1.8 - `date +%y%m%d`
install#make install#make install install#cd /usr/local/stow install#stow toto-1.8-061108  /usr/local/stow/toto-1.8-061108/xyz /usr/local/xyz //Equivalent des raccourcis windows  Pour desinstaller : cd /usr/local/stow stow -d toto-1.8-061108 //supprime les liens symboliques rm -rf toto-1.8-061108  Ex 7 : Commandes  commande [toto] ... [Arg] [] => Optionnel ... => Répétable  Who => Qui est connecté par login Finger => Affiche des informations sur un utilisateur. Si l'utilisateur n'est pas rempli, c'est l'utilisateur en cours. Chfn => Change finger, change les informations finger Groups => Liste les groupes (principal + secondaires)   Adduser => Ajoute un utilisateur Addgroup => Ajout un groupe ====> Useradd, groupeadd utilisables mais plus rudimentaires Usermod => Modifie un utilisateur Chsh => Change le shell d'un utilisateur Passwd => Change le mdp d'un utilisateur sur LOCAL /etc/shadow Su => Changement d'identité avec le mdp de l'utilisateur visé Sudo => Changement d'identité avec le mdp de l'utilisateur qui lance sudo Visudo => Edition du fichier de configuration de sudo Rem : Les fichiers de configuration ne devraient pas être édités avec autre chose que vi ou ed ou... (bas niveau)  Choix des mots de passe :  Assez long, minuscule, majuscule, ponctuation, chiffres 1sVqcDl'H => une souris verte qui courrait dans l'herbe   Ne pas utiliser de mot de passe par défaut  pwgen apg gpw => mot de passe aléatoire prononçable généré. Mot de passe par défaut = pas de mot de passe   Vérifier la solidité des mdp Modules spéciaux ou des versions spéciales de password qui vérifient avant de changer Logiciels d'attaque : John the ripper, crack. => Attaque par dictionnaire Attaques de type Arc en ciel : Hachage MD5 => 2^128 hachages différents => Attaque par root  Attaque par l'ingénierie sociale => Analyse de l'humain: Exemple : une secretaire veut le mdp du PDG, elle téléphone au service informatique qui va lui donner un nouveau mdp.
2 composants : l'urgence et le danger  Ex : Date de naissance, login, nom du chien, nom du chat, .... On peut aussi regarder sur le clavier.  Responsable sécurité, c'est quoi ? Responsable de la bonne installation, configuration et maintenant du système d'information (ce qui incluse les usagers)