Surveillance et audits



Documents pareils
2011 Hakim Benameurlaine 1

Chapitre VIII : Journalisation des événements

Gestion des journaux

108. Services système de base

Description : Les candidats doivent être capables de conserver l'heure système et synchroniser l'horloge via le protocole NTP

Dans le cadre de SECURIDAY Et sous le thème de Computer Forensics Investigation SECURINETS. Analyse des fichiers LOG. Tarek LABIDI (RT3)

Le système GNU/Linux IUP NTIC /11/05

Séance n o 5 : Alternatives, gestion des utilisateurs et des processus

Syslog et outils de supervision

Chapitre IX : Virtualisation

Commandes Linux. Gestion des fichiers et des répertoires. Gestion des droits. Gestion des imprimantes. Formation Use-IT

Gnu Linux : Bases de. l'administration

Manuel de System Monitor

Préparation LPI. Exam Securité. Document sous licence Creative commons «by nc sa» nc sa/2.

Guide Installation de Fully Automated NAGIOS 2.3 sur Hyper-V

La Comptabilité UNIX System V Acctcom

Unix/Linux I. 1 ere année DUT. Université marne la vallée

LINUX - ADMINISTRATION PROGRAMME DE FORMATION

Formation Technicien Supérieur de Support en Informatique T2SI. Le module LINUX. Session J04 Version 01

FreeNAS Shere. Par THOREZ Nicolas

Atelier : Virtualisation avec Xen

1 Configuration réseau des PC de la salle TP

Gestion de parc Windows depuis Unix. Pascal Cabaud & Laurent Joly

TP : Introduction à TCP/IP sous UNIX

Guide de prise en main Symantec Protection Center 2.1

Session 8: Android File System

Environnements informatiques

TD 1 - Installation de système UNIX, partitionnement

Introduction aux Systèmes et aux Réseaux

Guide de déploiement d'applications FormPublisher

MI03 TP. Objectifs du TP 1ère séance. 2ème séance. Construction d'un système linux embarqué complet

Network Shutdown Module V3 Extension du Manuel Utilisateur pour architecture Virtualisée VMWare ESX Server 3, 3.5

PORTAIL DE GESTION DES SERVICES INFORMATIQUES

Table des matières Hakim Benameurlaine 1

Année Universitaire ième année IMAC Mardi 6 janvier Cloud computing Travaux Pratiques

BTS SIO SISR3 TP 1-I Le service Web [1] Le service Web [1]

SSH, le shell sécurisé

Maintenance et gestion approfondie des Systèmes d exploitation Master 2 SILI. Année universitaire David Genest

Introduction...3. Objectif...3. Manipulations...3. Gestion des utilisateurs et des groupes...4. Introduction...4. Les fichiers de base...

TP1 - Prise en main de l environnement Unix.

Systèmes d exploitation

TP réseaux 4 : Installation et configuration d'un serveur Web Apache

Premiers pas en Linux

Symantec Backup Exec Remote Media Agent for Linux Servers

Mise en oeuvre TSM 6.1

Résolution des problèmes de connexion XDMCP aux hôtes UNIX et Linux

Ajout et Configuration d'un nouveau poste pour BackupPC

PRO CED U RE D I N STALLATI O N

PowerPanel Business Edition Guide d'installation

Aide d'active System Console

Introduction. La vision UNIX. La vision WindowsNT. Laurent BARDI, Institut de Pharmacologie et de Biologie Structurale, Toulouse

TP 1 Prise en main de l environnement Unix

Administration d Oracle Solaris :Tâches courantes

Livre blanc Mesure des performances sous Windows Embedded Standard 7

Sauvegardes par Internet avec Rsync

sshgate Patrick Guiran Chef de projet support

1 Configuration réseau des PC de la salle TP

IFT Systèmes d exploitation - TP n 1-20%

Serveur d application WebDev

Bon ben voilà c est fait!

Linux et le Shell. Francois BAYART. Atelier du samedi 20 Novembre

Cours Programmation Système

1 Démarrage de Marionnet

CONFIGURATION DU SERVEUR DE MAILS EXIM. par. G.Haberer, A.Peuch, P.Saade

et Groupe Eyrolles, 2006, ISBN :

UBUNTU Administration d'un système Linux (4ième édition)

Outils en ligne de commande

Cloner un disque dur

VERITAS NetBackup 5.0 en 5 jours : Administration Avancée

Cours Linux. Cours en ligne Administrateur Systèmes Linux. Académie Libre

INSTALLATION DE WINDOWS 2000 SERVER POUR BCDI3. par. G.Haberer, A.Peuch, P.Saadé

Comment tester la vitesse d un réseau Ethernet

Vade mecum installation et configuration d une machine virtuelle V5.1.0

Supervision - ESX/ESXi. Document FAQ. Supervision - ESX/ESXi. Page: 1 / 9 Dernière mise à jour: 16/04/14 17:45

LES FONCTIONS DE SURVEILLANCE DES FICHIERS

Guide rapide d'installation SUSE Linux Enterprise Server 11 SP1

VMware ESX/ESXi. 1. Les composants d ESX. VMware ESX4 est le cœur de l infrastructure vsphere 4.

Guide d'installation de la base de données ORACLE 10g ( ) pour linux FEDORA CORE 4.

Installation du serveur WEB Apache ( MySQL, PHP) sous Debian 7.

FTPS AVEC UNE APPLIANCE FAST360 EN COUPURE. Table des matières

AudiParc Recommandations IMPORTANTES. AudiParc Principe de fonctionnement. AudiParc Installation Déployement

Instructions d'installation de IBM SPSS Modeler Server 16 pour UNIX

Construction et sécurisation d'un système Linux embarqué. Frédéric AIME

Département R&T, GRENOBLE TCP / IP

Cyberclasse L'interface web pas à pas

Raccordement des machines Windows 7 à SCRIBE

Itium XP. Guide Utilisateur

Guide d Estimation Volumétrique des Logs

Acronis Backup & Recovery 10 Advanced Server Virtual Edition. Guide de démarrage rapide

LINUX - Sécurité. Déroulé de l'action. - 3 jours - Contenu de formation

Expérience d un hébergeur public dans la sécurisation des sites Web, CCK. Hinda Feriani Ghariani Samedi 2 avril 2005 Hammamet

Personnes ressources Tice. Académie de Rouen

Catalogue des services de supervision. Wingoo Monitoring. Copyright Itamsys

Imprimantes et partage réseau sous Samba avec authentification Active Directory

Configuration de l'ordinateur Manuel de l'utilisateur

TP LINUX : MISE EN RÉSEAU D UN SERVEUR LINUX

Nmap (Network Mapper) Outil d exploration réseau et scanneur de ports/sécurité

SOMMAIRE. 01_Installation ESXi Serveur HP.doc. Chapitre 1 Installation ESXi 5.1 2

Transcription:

Surveillance et audits Syslog Fonctionnement de syslog Le service syslog gère les messages générés par les processus systèmes (qui, par définition, n'interagissent pas avec la console). Ces processus envoient leurs messages au démon syslogd qui se charge de les transmettre vers une destination au choix de l'administrateur: Dans un fichier journal (ou un périphérique), Sur la ou les consoles d'un ou de plusieurs utilisateurs, Sur la console système, Au démon syslogd d'une autre machine. Les messages sont transmis dans un format standard (tous les syslog de tous les systèmes de type UNIX sont compatibles) dont les champs (séparés par des espaces) ont la forme suivante : date et heure nom d'hôte nom du processus[pid]: message Le nom d'hôte correspond à l'hôte sur lequel le processus qui a émi le message fonctionne (et non à l'hôte sur lequel fonctionne syslogd), et la date et l'heure correspondent à la date d'émission du message (et non la date de réception par syslogd). Exemple de message: # tail -n 1 /var/log/ftplog Oct 7 15:17:00 servux ftpd[23824]: FTP LOGIN FAILED FROM s3p14 Configuration de syslog On peut configurer la destination des messages transmis par syslogd à l'aide du fichier /etc/syslog.conf. Une entrée dans le fichier de configuration /etc/syslog.conf est composée de deux champs séparés par des tabulations. Ces champs sont: sélecteur et action. Le champ sélecteur permet de créer un filtre sur les messages en fonction de leur fonction et de leur niveau. Il a la forme suivante: fonction.niveau. Plusieurs sélecteurs peuvent être précisés pour une seule destination, il suffit de les séparer par des points virgules. Le champ action permet de préciser la destination des messages correspondants à ce filtre.

Les fonctions possibles sont: auth Messages de sécurité ou d'authentification système. auth_priv Messages de sécurité ou d'authentification des applications. cron Messages des démons horaires (cron et at). ftp Messages des démons ftp (ftpd, tftpd,...). daemon Messages des démons sans classification particulière. kern Messages du noyau ou des pilotes de périphériques. local0 à local7 Messages des applications non systèmes. lpr Messages du système d'impression/spooler. mail Messages du système de courier sortant/entrant. news Messages du système de news USENET. syslog Messages internes de syslogd. user Messages utilisateurs génériques. uucp Messages du système réseau UUCP. * Messages de toutes provenances. Les niveaux possibles sont (par ordre croissant d'importance) : debug Messages de mise au point de programme. info Messages d'informations simples. notice Conditions qui ne sont pas des conditions d'erreur, mais qui nécessitent un traitement particulier. warning Messages d'avertissements. err Messages d'erreurs non critiques. crit Messages d'erreurs critiques. alert Conditions d'erreurs graves qui doivent être prises en compte le plus rapidement possible. emerg Le système est inutilisable ou a planté suite à une erreur logicielle ou à un problème matériel. * Tous les messages, quelque soit leur importance. none Tous les messages sauf ceux de la fonction indiquée. Le champ action permet de diriger les messages vers: /fichier Un fichier (quel que soit son type). Doit être un chemin absolu. Le message est ajouté à la fin du fichier. @hôte Nom(s) d'hôte(s) vers lequel les messages doivent être transmis. Ces hôtes doivent exécuter syslogd. user1, user2,... Écrit les messages sur les consoles des utilisateurs listés. * Écrit les messages sur les consoles de tous les utilisateurs connectés. Exemples d'entrées de /etc/syslog.conf: *.info;mail.none;authpriv.none;cron.none /var/log/messages mail.* /var/log/maillog cron.* /var/log/cron *.emerg * Toute modification du fichier /etc/syslog.conf nécessite une relecture de ce dernier à l'aide du signal SIGHUP: # pkill -HUP syslogd

Utilisation de syslog Les processus systèmes et les programmes utilisent directement le service syslog, et il est possible de l'utiliser dans des scripts ou manuellement (pour tester les modifications faites au fichier /etc/syslog.conf par exemple). Pour cela, il faut utiliser la commande logger. Par exemple, la commande suivante : # logger -p "daemon.crit" -t "test" -i "mon message" Envoie le message suivant : oct 7 17:49:40 s3p14 test[8653]: mon message En règle général, syslogd est configuré pour envoyer les messages les plus courants dans le fichier /var/log/messages. Il est possible de visualiser en temps réel les messages à l'aide de la commande tail comme ceci: # tail -f /var/log/messages Log viewer Il est possible de visualiser en temps réel les fichiers de logs à l'aide de l'outil graphique log viewer. Utilitaires d'audit On trouve sur Linux beaucoup d'outils d'audit système, dont certains vous sont déjà familiers, et qui sont utilisés aussi bien par les administrateurs que par les utilisateurs. Who L'utilitaire who peut fournir les informations suivantes: Une liste courte du nombre total d'utilisateurs connectés: # who -q toto toto toto toto # usager=4 Qui est connecté au système: # who -H NOM LIGNE HEURE COMMENTAIRE toto :0 Oct 10 10:49 Les caractéristiques de la connexion du terminal courant: # who -m # who am i # who je suis # who is god # who qui suisje etc...

w L'utilitaire w affiche les utilisateurs connectés et ce qu'ils font: # w -s 11:46:58 up 2:04, 4 users, load average: 0.10, 0.03, 0.15 USER TTY FROM IDLE WHAT toto :0 -? /usr/bin/gnome-session toto pts/0 :0.0 0.00s gnome-terminal toto pts/1 :0.0 8:58 ssh -l michelon fo01 toto pts/2 :0.0 1:18 man w last La commande last peut être utilisée pour déterminer toutes les connexions/déconnexions d'un utilisateur: # last ttoto ttoto ttyp0 s3p14 Ven 10 oct 11:49 still logged in ttoto ttyp0 s2p01 Mer 8 oct 10:02-10:02 (00:00) ttoto ttyp0 s2p01 Mer 8 oct 09:54-09:56 (00:01) Les reboot système peuvent être tracés aussi car le pseudo utilisateur appelé "reboot" est enregistré comme connecté quand le système redémarre: # last reboot reboot system boot 2.4.20-8 Fri Oct 10 09:43 (02:08) reboot system boot 2.4.20-8 Wed Oct 8 11:56 (1+06:42) reboot system boot 2.4.20-8 Wed Oct 8 09:25 (02:12) uptime La commande uptime nous renseigne depuis quand le système fonctionne et la charge de celui ci: # uptime 11:55:48 up 2:13, 4 users, load average: 0.00, 0.00, 0.07 ps La commande ps liste les processus en cours d'exécution sur le système. Par défaut, ps n'affiche que vos processus, si ils sont attachés à un terminal. Syntaxe de la commande ps ps [ options ] Options -l Affichage long. -x Afficher les processus non attachés à un terminal. -a Afficher les processus de tous les utilisateurs. Exemples d'utilisation de la commande ps # ps -axl F UID PID PPID PRI NI VSZ RSS WCHAN STAT TTY TIME COMMAND 4 0 1 0 15 0 1380 84 schedu S? 0:03 init 1 0 2 1 15 0 0 0 contex SW? 0:00 [keventd] 1 0 3 1 15 0 0 0 schedu SW? 0:00 [kapmd] 1 0 4856 1 15 0 1440 156 schedu S? 0:00 syslogd -m 0 5 0 4860 1 25 0 1364 4 do_sys S? 0:00 klogd -x 5 32 4878 1 15 0 1552 72 schedu S? 0:00 [portmap] 5 29 4897 1 25 0 1520 0 schedu SW? 0:00 [rpc.statd] 5 0 4932 1 24 0 1356 4 schedu S? 0:00 /usr/sbin/apmd -p 10 -w 5 -W -P /5 0 0 4968 1 16 0 3508 368 schedu S? 0:00 /usr/sbin/sshd 5 0 4979 1 15 0 2024 4 schedu S? 0:00 xinetd -stayalive -reuse -pidfile1 0 0 4989 1 15 0 2276 92 schedu S? 0:00 /usr/sbin/dhcpd

5 0 4998 1 15 0 1412 56 schedu S? 0:00 gpm -t imps2 -m /dev/mouse 1 0 5007 1 15 0 1420 140 schedu S? 0:00 crond 4 0 5241 1 19 0 1348 4 schedu S tty5 0:00 /sbin/mingetty tty5 4 0 5242 1 19 0 1348 4 schedu S tty6 0:00 /sbin/mingetty tty6 4 0 5495 5237 20 0 4304 184 schedu S tty1 0:00 -bash 0 500 5545 5467 15 0 4324 300 wait4 S pts/1 0:00 bash 0 500 5618 5545 15 0 3640 740 schedu S pts/1 0:01 ssh -l michelon servux 4 0 17158 5780 19 0 4092 836 wait4 S pts/2 0:00 [su] 4 0 17161 17158 15 0 4308 1396 wait4 S pts/2 0:00 -bash 4 0 17376 17161 15 0 3164 1220 - R pts/2 0:00 ps axl La commande pstree Vous pouvez visualiser l'arbre des processus à l'aide de la commande pstree. Syntaxe de la commande pstree pstree [ options ] [ user pid ] Options -a Afficher les lignes de commandes de processus. -h Afficher le processus courant en gras. -p Afficher les PID. -n Trier selon les PID (et non selon les noms). -u Afficher les changements d'uid. Exemple d'utilisation # pstree -aun init (keventd) (kapmd) (ksoftirqd_cpu0) (kswapd) login bash gnome-terminal,toto (gnome-pty-helpe) bash (su,root) bash pstree -aun more bash man pstree sh -c... sh -c... less -isr (rpciod) (lockd)

La commande top La commande top examine et affiche en temps réel l'activité des processus. Les processus les plus actifs sont affichés en premier, et il est possible de manipuler l'affichage et les processus de façon interactive. Syntaxe de la commande top top [ options ] Options -d sec Fixer le délai de rafraîchissement à sec secondes. -i N'afficher que les processus actifs. -p pid N'afficher que le processus de PID pid (peut être précisé plusieurs fois). Les informations affichées par défaut sont, pour l'en tête: Première ligne: Affiche le temps depuis le démarrage du système, le nombre d'utilisateurs courant ainsi que la charge moyenne. Deuxième ligne: Affiche les informations résumées sur les processus: nombre de processus, nombre de processus actifs, zombies et en pause. Troisième ligne: Affiche les informations sur la charge des processeurs. Quatrième et cinquième ligne: Affiche les informations sur la mémoire virtuelle et partagée. Sixième ligne: Affiche les informations sur les zones de swap. Vient ensuite les informations sur les processus: PID PID du processus. USER Nom du propriétaire du processus. PRI Priorité du processus. NI Valeur de nice du processus (priorité d'ordonnancement). SIZE Taille en mémoire du code et de la pile du processus, en Ko. RSS Taille totale en mémoire du processus, y compris les librairies partagées, en Ko. SHARE Taille totale de mémoire partagée utilisée, en Ko. STAT État du processus. (S=sleep, R=running, Z=zombies, T=traced,paused) %CPU Temps processeur utilisé en pourcent depuis le dernier affichage. %MEM Total de la mémoire virtuelle utilisé en pourcent. TIME Temps cumulé de processeur utilisé depuis le démarrage du processus. CPU Numéro du processeur qui exécute se processus. COMMAND La ligne de commande qui a lancé le processus. La commande df La commande df affiche des informations sur chaque système de fichiers monté: # df -h SysFichier Tail. Util.Disp. Uti% Monté sur /dev/hda3 3.9G 1.5G 2.2G 41% / none 251M 0 251M 0% /dev/shm /dev/hda6 2.4G 34M 2.3G 2% /opt Ou sur un système de fichiers en particulier: # df -h /opt SysFichier Tail. Util.Disp. Uti% Monté sur dev/hda6 2.4G 34M 2.3G 2% /opt

La commande du La commande du indique le nombre de secteurs/octets/... occupés par des répertoires et des fichiers: # du -h /usr/x11r6/lib/x11/fonts 996K /usr/x11r6/lib/x11/fonts/ttf 5.1M /usr/x11r6/lib/x11/fonts/100dpi 4.6M /usr/x11r6/lib/x11/fonts/75dpi 4.0K /usr/x11r6/lib/x11/fonts/cid 4.0K /usr/x11r6/lib/x11/fonts/otf 580K /usr/x11r6/lib/x11/fonts/speedo 2.9M /usr/x11r6/lib/x11/fonts/type1 348K /usr/x11r6/lib/x11/fonts/encodings/large 500K /usr/x11r6/lib/x11/fonts/encodings 4.0K /usr/x11r6/lib/x11/fonts/local 6.6M /usr/x11r6/lib/x11/fonts/misc 192K /usr/x11r6/lib/x11/fonts/util 22M /usr/x11r6/lib/x11/fonts vmstat La commande vmstat permet de suivre en temps réel l'activité de la mémoire virtuelle, des zones de swap, des processus, des entrées/sorties et des processeurs: # vmstat 1 procs memory swap io system cpu r b w swpd free buff cache si so bi bo in cs us sy id 2 0 0 0 8340 17272 369460 0 0 11 21 127 424 10 1 89 0 0 0 0 8340 17272 369460 0 0 0 0 212 553 10 0 90... grep Les fichiers de logs étant au format texte, la commande grep est un des outils les plus utilisés pour l'audit. Exemple: # grep "su" /var/log/messages oct 10 10:50:26 s3p14 su(pam_unix)[3589]: session opened for user root by toto(uid=500) oct 10 12:01:53 s3p14 su(pam_unix)[9938]: authentication failure; logname=toto uid=500 euid=0 tty= ruser=toto rhost= user=root Exemple sur FreeBSD: # grep "su:" /var/log/loginlog Jun 12 17:45:32 servux su: michelon to root on /dev/ttyp0 Jun 12 18:05:48 servux su: BAD SU jperignon to lthevenet on /dev/ttyp0 Jun 12 18:06:01 servux su: jperignon to lthevenet on /dev/ttyp0 Jun 13 11:05:52 servux su: BAD SU msoisson to oracle on /dev/ttype free La commande free affiche la somme totale de mémoire physique et des zones de swap, ainsi que leur utilisation (mémoire libre, partagée, buffers I/O, cache disque,...): En kilo octets: # free total used free shared buffers cached Mem: 513852 503540 10312 0 10396 381768 -/+ buffers/cache: 111376 402476 Swap: 522072 0 522072