Sécurité des Systèmes Informatique Master 1 ère année Sécurité des Systèmes Informatique Gestion des processus Le noyau gère les processus en cours d’exécution Création et arrêt Gestion de la mémoire Ordonnancement du temps du micro- processeur
Outils de gestion des processus Master 1 ère année Sécurité des Systèmes Informatique Outils de gestion des processus Quelques outils qui permettent de contrôler les processus ps kill top pstree pgrep lsof fuser
Outils de gestion des processus Master 1 ère année Sécurité des Systèmes Informatique Outils de gestion des processus ps – afficher l’état des processus en cours d’exécution Style POSIX ps aux Style BSD (Berkeley Software Distribution) ps -ef
Sécurité des Systèmes Informatique Master 1 ère année Sécurité des Systèmes Informatique ps aux Table de tous les processus en cours USER - propriétaire PID - numéro %CPU - pourcentage de CPU consommé %MEM - pourcentage de mémoire consommé RSS - Nombre de kilo-octets se trouvant en mémoire. START – date de lancement
Sécurité des Systèmes Informatique Master 1 ère année Sécurité des Systèmes Informatique exemple ps USER : nom du propriétaire PID : numéro du processus %CPU : pourcentage de temps CPU occupée %MEM : pourcentage de mémoire occupée SIZE ou VSZ : Virtual image size; size of text+data+stack RSS : Resident set size; taille du programme en mémoire TTY : terminal contrôlant le processus, ? s'il n'y en a pas STAT : état ou statut START : date de départ
Sécurité des Systèmes Informatique Master 1 ère année Sécurité des Systèmes Informatique ps auxww L’option w permet un affichage long Cette option est très utile pour les processus JAVA Chaque w ajoute une ligne d’affichage
kill [ -<NUMSIG> | -<NOMSIG> ] <PID> Master 1 ère année Sécurité des Systèmes Informatique kill [ -<NUMSIG> | -<NOMSIG> ] <PID> Envoi d’un signal à un processus (le nom est mal choisi) Exemples kill -15 <PID> signal envoyé par défaut si aucun numéro ou nom de signal n'est précisé kill –9 <PID> signal KILL kill –1 <PID> signal HUP (Hang Up), demande de relire le fichier de configuration, très utilisé dans la fonction reload des services kill –0 <PID> obtient l’état du processus sans l’interrompre
kill -<SIGNAL> -1 Master 1 ère année Sécurité des Systèmes Informatique kill -<SIGNAL> -1 Un aspect intéressant de cette commande est la possibilité de détruire un groupe de processus. Par exemple, pour détruire tous les processus vous appartenant, sauf le shell courant, il suffit de donner les commandes suivantes: d’un signal à un processus kill -TERM -1 Tente de détruire tous vos processus kill -KILL -1 Force la destruction de tous vos processus
kill -<SIGNAL> -1 Master 1 ère année Sécurité des Systèmes Informatique kill -<SIGNAL> -1 Un aspect intéressant de cette commande est la possibilité de détruire un groupe de processus. Par exemple, pour détruire tous les processus vous appartenant, sauf le shell courant, il suffit de donner les commandes suivantes: d’un signal à un processus kill -TERM -1 Tente de détruire tous vos processus kill -KILL -1 Force la destruction de tous vos processus
kill -<SIGNAL> %<NUM> Master 1 ère année Sécurité des Systèmes Informatique kill -<SIGNAL> %<NUM> Autre commande très utilisée par l’administrateur kill -9 %1 Séquence de commande xterm & (équivalent à « xterm, <Ctrl Z>, bg »)
top – (Table Of Process) Master 1 ère année Sécurité des Systèmes Informatique top – (Table Of Process) Permet d’afficher la table des processus par ordre d’activité De nombreuses options de tri d’affichage Exemples top –d 10 rafraîchissement toutes les 10 s top –u francois processus de francois top –n 2 top se termine après deux affichages
Sécurité des Systèmes Informatique Master 1 ère année Sécurité des Systèmes Informatique pstree
Sécurité des Systèmes Informatique Master 1 ère année Sécurité des Systèmes Informatique lsof List Open Files La commande lsof appelée sans paramètre retourne tous les fichiers actuellement ouverts Pour afficher la liste de tous les fichiers ouverts par le processus dont le PID est 1339 lsof -p 1339
Utilisateur qui accède aux fichiers : fuser Master 1 ère année Sécurité des Systèmes Informatique Utilisateur qui accède aux fichiers : fuser Vous pouvez utiliser fuser pour déterminer les processus ou les utilisateurs qui accèdent actuellement à certains fichiers. Par exemple, pour déterminer la liste des processus qui accèdent au contenu de /media/cdrom fuser –v /media/cdrom
Le système de fichiers /proc Master 1 ère année Sécurité des Systèmes Informatique Le système de fichiers /proc Pas de contenu réel (tout est en mémoire) Accès à des structures internes du noyau Permet de changer certains paramètres noyau On y trouve Un sous-répertoire pour chacun des processus actifs Des fichiers d'informations générales Des répertoires contenant des informations ciblées Un accès aux paramètres modifiables dans /proc/sys
Fichiers d'informations générales de /proc Master 1 ère année Sécurité des Systèmes Informatique Fichiers d'informations générales de /proc cmdline ligne de commande pour lancer le noyau cpuinfo informations sur le(s) processeur(s) devices périphériques disponibles filesystems liste des systèmes de fichiers reconnus Interrupts interruptions et périphériques correspondants loadavg charge moyenne locks verrous actifs meminfo utilisation globale de la mémoire modules liste des modules en cours d'utilisation mounts liste des SF en cours d'utilisation swaps liste des partitions utilisées pour le swap version identification du noyau en cours d'utilisation
Les répertoires correspondant à des processus Master 1 ère année Sécurité des Systèmes Informatique Les répertoires correspondant à des processus # ls -l /proc/2441 cmdline cwd environ exe fd/ maps mem mounts root stat statm status Eléments intéressants cmdline ligne de commande utilisée cwd lien vers un répertoire de travail environ variables d'environnement exe lien vers le fichier exécutable fd fichiers ouverts par le processus status état actuel du processus
Autres répertoires de /proc Master 1 ère année Sécurité des Systèmes Informatique Autres répertoires de /proc bus informations sur les bus ide informations sur les périphériques ide net configuration réseau geometry informations sur la géométrie des disques irq paramétrage des irq scsi informations sur les bus scsi
Sécurité des Systèmes Informatique Master 1 ère année Sécurité des Systèmes Informatique Paramètres du noyau Le répertoire /proc/sys fs/ paramètre du système de fichiers. file-max détermine le nombre maximum de fichiers ouverts simultanément. kernel/ fonctionnement général du noyau (ctrl-alt-del, hostname, osname, ...) vm/ fonctionnement de la gestion de la mémoire virtuelle (ndirty, min-percent, freepages,...) net/ configuration réseau (ipv4/ip_forward, ...) dev/ paramétrage des périphériques (autoeject,...)
Modification dynamique des paramètres du noyau Master 1 ère année Sécurité des Systèmes Informatique Modification dynamique des paramètres du noyau Exemple, le fichier /proc/sys/net/ipv4/ip_forward, contient la valeur 0 ou 1. 0 indique que le noyau ne redirige pas les paquets réseau 1 indique que le noyau redirige les paquets. La machine se comporte comme un routeur. sysctl -w net.ipv4.ip_forward=1 echo 1 > /proc/sys/net/ipv4/ip_forward
Modification des paramètres du noyau au démarrage Master 1 ère année Sécurité des Systèmes Informatique Modification des paramètres du noyau au démarrage Le fichier /etc/sysctl.conf # Kernel sysctl configuration file for Red Hat Linux # # For binary values, 0 is disabled, 1 is enabled. See sysctl(8) and # sysctl.conf(5) for more details. # Controls IP packet forwarding net.ipv4.ip_forward = 0 # Controls source route verification net.ipv4.conf.default.rp_filter = 1 # Do not accept source routing net.ipv4.conf.default.accept_source_route = 0