Upload
others
View
6
Download
0
Embed Size (px)
Citation preview
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. Syslogd
III. Klogd
II. Outils de supervision :
I. MRTG
II. RRDTool
III. Nagios
IV. Les autres
III. Conclusion
I. Syslog sous Linux
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).
Introduction
I. Syslog sous Linux
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)
Historique
I. Syslog sous Linux1. 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 Linux1. Syslog : le protocole
Les messages Syslog :
3 parties :
PRI : priorité du message
HEADER :
Mmm dd hh:mm:ss hostname
MSG : [ TAG : CONTENT ]
Taille <= 1024bits
I. Syslog sous Linux1. Syslog : le protocole
Codes PRI
I. Syslog sous Linux1. Syslog : le protocole
Code PRI :
Code = < Service x 8 + Sévérité >
Exemple :
Service : Mail : 2
Sévérité : Critique : 2
Code = 2 x 8 + 2 : <18>
I. Syslog sous Linux1. Syslog : le protocole
Device
Relay
Device
Relay
Device
Collector Collector Collector
Device Device
Relay
Device
Device
Exemples de topologies :
I. Syslog sous Linux2. 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 Linux3. 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 Linux3. Syslogd : configuration
Facility :
user Messages generated by user processes (default).
kern Messages generated by the kernel.
mail The mail system.
daemon System daemons, such as ftpd
auth The authorization system: login, su…
lpr The line printer spooling system: lpr, lpc,...
news Reserved for the USENET network news system.
cron Reserved for cron/at messages generated by
systems that do logging through syslog.
local0-7 Reserved for local use.
mark For timestamp messages produced internally by
syslogd.
I. Syslog sous Linux3. Syslogd : configuration
I. Syslog sous Linux3. 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 Linux3. Syslogd : configuration
Actions :
Action Signification
Filename é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 Linux3. Syslogd : configuration
/etc/syslog.conf
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 Linux3. 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 Linux3. 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 /var/adm/netblazer.log
local4.notice /var/adm/da.log
local6.debug /var/adm/annex-isn.log
local7.debug /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 Linux3. 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 Linux4. Syslog : Lire un fichier Log
I. Syslog sous Linux
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
klogd
I. Syslog sous Linux
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.
klogd
I. Syslog sous Linux
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.
Syslog-NG
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)
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…
Conclusion
II. Les Outils de Supervision
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
1. MRTG 1.
II. Les Outils de Supervision
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…
1. MRTG 1.
Station
II. Les Outils de Supervision
Collecte des informations
Les stocke dans une base de données
(MIB : Management Information Base)
Restitue les informations sous forme de
graphique
1. MRTG
NMS
Agent
Requête
Exécute
la requêteRéponse
Alerte
1.
II. Les Outils de Supervision
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,….
1. MRTG 1.
II. Les Outils de Supervision1. MRTG 1.
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
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.
2.
II. Les Outils de Supervision
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
2.
II. Les Outils de Supervision
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:
2.
II. Les Outils de Supervision
Plus simple,
Plus beau,
Fonctions Max, Min,
Average, Last,
Moins stressant pour le
serveur.
2.
II. Les Outils de Supervision
3.Qu’est ce que c’est ? 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-de-
reseaux/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é parQuest Software.
logiciel de supervision réseau basé sur la puissance destockage 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 desupervision que nous avons présenté, développés pourdes besoin spécifiques puis mis en ligne pour lacommunauté.
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.
BibliographieLivres :
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