Syslog et outils de supervision MAURIZIO Laurent LOTH Ludovic Architecture et sécurité réseaux M. NOLOT Florent
Introduction Outils indispensables à l administration système et réseau Historique Sécurité Contrôle Aide à la gestion des erreurs et des pannes
Plan du cours I. Syslog : I. Protocole II. III. Syslogd Klogd II. Outils de supervision : I. MRTG III. RRDTool Nagios Les autres Conclusion II. III. IV.
I. Syslog sous Linux Introduction Qu est ce que c est? Un protocole, ET un logiciel (un Daemon). A quoi ca sert? Journalisation système locale et réseau. Sur quelles plateformes? Linux, BSD, Solaris, HP-UX, AIX (IBM).
I. Syslog sous Linux Historique Développé pour la branche UNIX des systèmes BSD (Berkeley Software Distribution) en 1980 (SendMail project) par Eric Allman, Aujourd hui utilisé sur tous les systèmes UNIX, GNU/Linux et surtout sur les équipements réseaux de nombreux constructeurs. RFC3164 «The BSD Syslog Protocol» (Août 2001)
I. Syslog sous Linux Transport Layer (couche 4), 1. Syslog : le protocole Liaison en UDP sur le port 514 (par défaut), Modèle client-serveur, plusieurs types de machine : Device (client), Relay (relais), Collector (serveur).
I. Syslog sous Linux Les messages Syslog : 1. Syslog : le protocole 3 parties : PRI : priorité du message HEADER : Mmm dd hh:mm:ss hostname MSG : [ TAG : CONTENT ] Taille <= 1024bits
I. Syslog sous Linux Codes PRI 1. Syslog : le protocole
I. Syslog sous Linux Code PRI : Code = < Service x 8 + Sévérité > Exemple : Service : Mail : 2 Sévérité : Critique : 2 Code = 2 x 8 + 2 : <18> 1. Syslog : le protocole
I. Syslog sous Linux 1. Syslog : le protocole Exemples de topologies : Device Device Device Device Device Device Device Relay Relay Relay Collector Collector Collector
I. Syslog sous Linux Syslogd est un démon des journaux 2. Syslogd : le démon Fichier de configuration : /etc/syslog.conf Executé au démarage et fonctionne en permanence Redémarré par : #kill HUP /bin/cat /var/run/syslog.pid
I. Syslog sous Linux 3. Syslogd : configuration Comment écrire un fichier de configuration? facility.level <tab> action Facility : service, processus, programme Level : sévérité Action : destination du log Les lignes vides ou débutant par un # seront ignorées lors du lancement du daemon.
I. Syslog sous Linux Facility : 3. Syslogd : configuration user kern mail daemon auth lpr news cron local0-7 mark Messages generated by user processes (default). Messages generated by the kernel. The mail system. System daemons, such as ftpd The authorization system: login, su The line printer spooling system: lpr, lpc,... Reserved for the USENET network news system. Reserved for cron/at messages generated by systems that do logging through syslog. Reserved for local use. For timestamp messages produced internally by syslogd.
I. Syslog sous Linux 3. Syslogd : configuration
I. Syslog sous Linux 3. Syslogd : configuration Les sélecteurs peuvent contenir les mots clés particuliers : * : qui signifie tout none : qui signifie rien Un sélecteur peut contenir plusieurs programmes séparés par des virgules On peut combiner plusieurs sélecteurs avec des points-virgules
I. Syslog sous Linux Actions : Action Filename @hostname @ipaddress Signification 3. Syslogd : configuration écrit un message dans un fichier sur la machine locale transmet le message au syslogd de la machine correspondant à hostname transmet le message à l hôte correspondant à l adresse ip ipaddress User1,user2, affiche le message sur l écran des utilisateurs s il sont logés * Envoi le message à tous les utilisateurs logés
I. Syslog sous Linux /etc/syslog.conf 3. Syslogd : configuration Exemple : Sélécteur Action *.err;auth.notice /dev/console lpr.debug /var/adm/lpd-errs mail.debug /var/spool/mqueue/syslog *.alert root *.emerg *
I. Syslog sous Linux Exemple : 3. Syslogd : configuration #fichier syslog.conf du dpt info, hôte maitre des journaux #urgences : vers la console et le fichier journal, avec la date *.emerg /dev/console *.err;kern,mark.debug;auth.notice /dev/console *.err;kern,mark.debug;user.none /var/adm/console.log auth.notice /var/adm/console.log #envoi les messages non-urgents aux fichiers journaux habituels *.err;user.none;kern.debug /var/adm/messages daemon,auth.notice;mail.crit /var/adm/messages lpr.debug /var/adm/lpd-errs Mail.debug /var/adm/mail.log
I. Syslog sous Linux Exemple (suite): 3. Syslogd : configuration #messages d autorisations locales comme sudo et npasswd local2.debug /var/adm/sudo.log local2.alert /var/adm/sudo-errs.log auth.info /var/adm/auth.log #autres messages locaux local0.info local4.notice local6.debug local7.debug /var/adm/netblazer.log /var/adm/da.log /var/adm/annex-isn.log /var/adm/tcp.log #message de l utilisateur (par defaut si aucune catégorie n est spécifiée) user.info /var/adm/user.log
I. Syslog sous Linux 3. Syslogd : configuration Exemples de programmes utilisant Syslog : Programme Categories Niveaux Descriptions ftpd démon err-debug démon ftp inetd démon err,warning super-démon d internet passwd auth err gestion mdp popper local0 notice,debug système de mail mac/pc sendmail mail alert-debug transport e-mail tcpd local7 err-debug emballage tcp pour inetd su auth crit,notice change d IUD sudo local2 alert,notice programme SU-limité..
I. Syslog sous Linux 4. Syslog : Lire un fichier Log
I. Syslog sous Linux klogd Kernel Logging Daemon Peut-être utilisé comme un client de Syslogd ou optionnellement comme un processus autonome Fonction : Récupérer et enregistrer les messages du noyau linux
I. Syslog sous Linux klogd Comment ca marche? klogd intercepte les messages que le noyau génère grâce à la fonction printk (affichage console noyau) et les envoie au programme syslog Utilisé avec Syslog, aucune configuration nécessaire.
I. Syslog sous Linux Syslog-NG Gestionnaire de journaux systèmes nouvelle génération (NG) : Remplacant de Syslogd Facilité de centralisation des logs machine, Portabilité reconnue, Configuration de base très avancée, Possibilité de chrooter son environnement, Export des logs reçus vers un serveur MySQL, Utilisation de macros possible pour le nom des logs, Possibilité de chiffrer les logs envoyés via la techno SSL, Utilisation des protocoles UDP et TCP pour le transfert, Possibilité d utilisation des expressions régulières.
I. Syslog sous Linux Un point important de l administration système et réseau au niveau de : Sécurité Gestion des pannes Gestion des erreurs (utilisateur et système) Conclusion Existence d outils de gestion de journaux permettant : Alertes sonores ou visuelles pour l administrateur, Appels téléphoniques, SMS, mails en cas d alerte, Mise en relief des données importantes
II. Les Outils de Supervision 1. 1. MRTG Multi Router Traffic Grapher Qu est ce que c est? Outils de surveillance réseau Open Source Développé en 1994 par Tobias Oetiker Script Perl Sur quelles plateformes? Unix, Windows, Mac et la plupart des routeurs
II. Les Outils de Supervision 1. 1. MRTG A quoi ca sert? Initialement à surveiller d une connexion réseau Contrôle les variables SNMP et RMON Surveiller : Les charges processeurs, Nombre de fichiers ouverts, Température, Etc
II. Les Outils de Supervision 1. 1. MRTG Collecte des informations Les stocke dans une base de données (MIB : Management Information Base) Restitue les informations sous forme de graphique NMS Requête Réponse Station Exécute la requête Alerte Agent
II. Les Outils de Supervision 1. 1. MRTG Avant l installation de MRTG : Installation de gcc Installation de Perl Installation de gd (graphical display) Installation de MRTG Configuration de SNMP Configuration de MRTG Quelques scripts connus : ping-nerim, mem, webstat, process, tcpcount,.
II. Les Outils de Supervision 1. 1. MRTG
II. Les Outils de Supervision Round-Robin Database Tool Qu est ce que c est? Suite d outils de surveillance réseau Open Source, Développé en 1997 en C par Tobias Oetiker. A quoi ça sert? Remplacer MRTG, Stocker, restaurer des données (rrd) Afficher des graphiques 2.
II. Les Outils de Supervision 2. Les améliorations par rapport à MRTG : Maths sur flottant (positif et négatifs), Accepte plus de 2 valeurs, Capable de générer des graphiques provenant de différentes sources, Historique complet non sauvegardé, Moins de charge sur la NMS.
II. Les Outils de Supervision 2. Installation : $ apt-get install rrdtool Création de la base de données : $ rrdtool create test.rrd Mise à jour de la base (nouvelles entrées) : $ rrdtool update test.rrd 1051481100:12345 1051481400:12357 1051481700:12363 Récupération des données : $ rrdtool fetch test.rrd AVERAGE --start 1051481100 --end 1051485300
II. Les Outils de Supervision Création d un graphique: $ rrdtool graph vitesse.png --start 1051481100 Graphique résultant: 2. --end 1051485300 --imgformat PNG DEF:vitesse=test.rrd:vitesse:AVERAGE LINE2:vitesse#FF0000
II. Les Outils de Supervision 2. Plus simple, Plus beau, Fonctions Max, Min, Average, Last, Moins stressant pour le serveur.
II. Les Outils de Supervision Qu est ce que c est? 3. Un moniteur de supervision active Développé en 1999 (sous Licence GPL) Successeur de NetSaint (en 2003) A quoi ça sert? Surveiller les services et les matériels Journalisation Alerte Actions en réponse Composé de 3 grandes parties : Le moteur de l application Une interface Web Des plug-in
II. Les Outils de Supervision Possibilités : 3. Supervision des services réseaux : (SMTP, POP3, HTTP, NNTP, ICMP, SNMP, LDAP, ) Supervision des ressources serveurs (charge du processeur, occupation du disque dur, utilisation de la mémoire paginée) Interfaçage avec le protocole SNMP Supervision à distance possible avec SSH ou un tunnel SSL. Plugins en scripts shell (Bash, ksh...), C++, Perl, Python, Ruby, PHP, C#,...
II. Les Outils de Supervision Possibilités (suite): 3. Hiérarchisation : différenciation entre un serveur en panne et un serveur injoignable. Remontée des alertes entièrement paramétrable grâce aux plugins (alerte par email, SMS, etc...) Acquittement des alertes par les administrateurs Escalades des alertes Limitation de visibilité, les utilisateurs peuvent avoir un accès limité à quelques éléments. Gestion des oscillations
II. Les Outils de Supervision 3. http://www.01net.com/editorial/315435/administration-dereseaux/supervision-nagios-ouvre-la-voie-a-l-open-source/
II. Les Outils de Supervision 3.
II. Les Outils de Supervision 3.
II. Les Outils de Supervision 3.
II. Les Outils de Supervision 3. Nagios rencontre un succès flagrant auprès des entreprise de par : Son faible coût ( gratuit) Son évolutivité (communauté très active) Son adaptabilité (50 aine de plugins en standard) Prise en main rapide A l instar de grand outils de supervision payants tels que : HP OpenView Tivoli d IBM Ou d outils trop lourd tels que BigBrother
II. Les Outils de Supervision 3. «Nagios est le couteau suisse de la supervision réseau. Il ne fait pas tout en standard, mais est capable de tout faire. C'est avant tout un ordonnanceur de scripts de supervision» Thomas Soupault (Chef de projet chez Intrinsec)
II. Les Outils de Supervision 4. Les autres Logiciel de monitoring de serveurs en temps réel développé par Quest Software. logiciel de supervision réseau basé sur la puissance de stockage de données de RRDTool. Il peut-être considéré comme le successeur de MRTG et également comme une interface d'utilisation de RRDTool. Il existe bien évidemment d autres dérivés des outils de supervision que nous avons présenté, développés pour des besoin spécifiques puis mis en ligne pour la communauté.
II. Les Outils de Supervision 4. Les autres
II. Les Outils de Supervision 4. Les autres
III. CONCLUSION Outils variés pour des besoins variés : Contrôle et surveillance, Résolutions automatiques de pannes (reboot de serveurs, redémarrage de services), Statistiques sur des périodes variés (heure, jour, mois, année), Vont permettre l optimisation du Système d Information. Outils indispensable au sein de toute structure informatisée.
Bibliographie Livres : Unix Guide de l administrateur, Campus Press Evi Nemeth, Garth Suyder, Scott Seebass et Trent R.Hein Le System Linux, O Reilly Matthias Kalle Dalheimer et Matt Welsh Les bases de l administration système, O Reilly Aleen Frisch Web : Syslog : maîtrisez l'historique http://okki666.free.fr/docmaster/articles/linux068.htm RFC3164, The BSD Syslog Protocol http://tools.ietf.org/html/rfc3164 http://www.nagios.org/ http://articles.mongueurs.net/magazines/linuxmag65-bis.html http://doc.ubuntu-fr.org/nagios