29 0 2MB
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 Syslog : I. Protocole II. Syslogd III. Klogd II. Outils de supervision : I. MRTG II. RRDTool III. Nagios IV. Les autres III. Conclusion I.
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 1. Syslog : le protocole Transport Layer (couche 4),
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 1. Syslog : le protocole Les messages Syslog :
3 parties : PRI : priorité du message HEADER : Mmm dd hh:mm:ss hostname MSG : [ TAG : CONTENT ] Taille Exemple : Service : Mail : 2 Sévérité : Critique : 2 Code = 2 x 8 + 2 :
I. Syslog sous Linux 1. Syslog : le protocole Exemples de topologies : Device Device
Device
Device
Device
Device Device
Relay
Collector
Collector
Relay
Relay
Collector
I. Syslog sous Linux 2. Syslogd : le démon Syslogd est un démon des journaux
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 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 3. Syslogd : configuration Facility : 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 3. Syslogd : configuration Actions : Action Filename
Signification
écrit un message dans un fichier sur la machine locale @hostname transmet le message au syslogd de la machine correspondant à hostname @ipaddress 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 3. Syslogd : configuration /etc/syslog.conf
Exemple : Sélécteur *.err;auth.notice lpr.debug mail.debug *.alert *.emerg
Action /dev/console /var/adm/lpd-errs /var/spool/mqueue/syslog root *
I. Syslog sous Linux 3. Syslogd : configuration Exemple : #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 3. Syslogd : configuration Exemple (suite): #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 Conclusion 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)
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 Requête NMS
Station Exécute la requête
Réponse 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 2. 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
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 2. Création d’un graphique: $ rrdtool graph vitesse.png
--start 1051481100 --end 1051485300 --imgformat PNG DEF:vitesse=test.rrd:vitesse:AVERAGE LINE2:vitesse#FF0000
Graphique résultant:
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 3. Possibilités :
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 3. Possibilités (suite):
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é (50aine 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