Sie sind auf Seite 1von 29

Nagios3 sous Linux

LASFAR Salim
Snort est un outil IDS (Introduction Detection System) open
source crit par Martin Roesch.
La socit SourceFire dont a fait partie Roesch, a continu le
dveloppement de Snort puis a t rachete par le gant
isralien CheckPoint en 2005.

LP-R2SI:
Administration des
rseaux et scurit
sous Linux.

Encadr Par : Mr M.EL KIRAM

NAGIOS-3
Introduction:
A Prsentation de Nagios
Nagios est un logiciel de supervision de rseau libre sous licence GPL qui
fonctionne sous
Linux.
Il a pour fonction de surveiller les htes et services spcifis, alertant
l'administrateur des tats des machines et quipements prsents sur le rseau.
Bien qu'il fonctionne dans un environnement Linux, ce logiciel est capable de
superviser toutes sortes de systmes d'exploitation (Windows XP, Windows
2000, Windows 2003
Server, Linux, Mac OS entre autres) et galement des quipements rseaux
grce au protocole SNMP.
Cette polyvalence permet d'utiliser Nagios dans toutes sortes d'entreprises,
quelque soit la topologie du rseau et les systmes d'exploitation utiliss au
sein de l'entreprise.
Ce logiciel est compos de trois parties:
-Le moteur de l'application, qui gre et ordonnance les supervisions des
diffrents quipements
-Les Plugins qui servent d'intermdiaire entre les ressources que l'on souhaite
superviser et le moteur de Nagios. Il faut bien noter que pour accder une
certaine ressource sur un hte, il faut un plugin cot Nagios et un autre cot
hte administr.
-L'interface web qui permet d'avoir une vue d'ensemble des tats de chaque
machine du parc informatique supervis et ainsi pouvoir intervenir le plus
rapidement possible en ciblant la bonne panne.
B Fonctionnement de Nagios
Le principe de supervision de Nagios repose sur l'utilisation de plugins, l'un
install sur la machine qui supporte Nagios, et l'autre sur la machine que l'on
souhaite superviser. Un plugin est un programme modifiable, qui peut tre crit
dans plusieurs langages possibles, selon les besoins, et qui servent rcuprer
les informations souhaites.
Nagios, par l'intermdiaire de son plugin, contact l'hte souhait et l'informe
des informations qu'il souhaite recevoir.
Le plugin correspondant install sur la machine concerne reoit la requte
envoye par Nagios et ensuite va chercher dans le systme de sa machine les
informations demandes.

Il renvoi sa rponse au plugin Nagios, qui ensuite le transmet au moteur de


Nagios afin d'analyser le rsultat obtenu et ainsi mettre jour l'interface web.
Il existe deux types de rcupration d'informations: La rcupration active et la
rcupration passive.
La diffrence entre les deux types est l'initiative de la rcupration. Dans le
premier type, savoir le type actif, c'est Nagios qui a toujours cette initiative.
C'est lui qui dcide quand il envoie une requte lorsqu'il veut rcuprer une
information.
Alors que lors d'une rcupration passive, l'envoi d'information est planifi en
local, soi partir d'une date, soit en raction un vnement qui se droule sur
la machine administre.
Pour notre projet, nous avons dcid d'utiliser le type de rcupration active,
cest--dire que Nagios prend l'initiative d'envoyer une requte pour obtenir
des informations. Ceci vite donc de configurer les postes superviser.
La demande d'informations se fait grce l'excution d'une commande de la
part de Nagios. Une commande doit obligatoirement comporter des arguments
afin de pouvoir chercher les bonnes informations sur les bonnes machines.
Ces arguments sont l'adresse IP de l'hte sur lequel aller chercher l'information,
la limite de la valeur de l'information recherche pour laquelle l'tat 'attention'
sera dcid, idem pour la valeur 'critique', et enfin d'autres options qui varient
selon le plugin utilis.
Pour ne pas devoir crer une commande par machine supervise et par
information recherche, nous pouvons remplacer les arguments par des
variables, et ainsi rutiliser la commande plusieurs fois, en remplaant la bonne
variable. Nous avons alors la possibilit de travailler avec des services. Lors de
la cration d'un service, il faut l'associer un ou plusieurs htes puis une
commande.
Ensuite Nagios remplace automatiquement la variable de l'adresse IP dans la
commande, grce la liste d'htes associe au service.
Puis on doit dfinir manuellement dans le service les autres variables
ncessaires la commande.

Un fois que Nagios reu les informations dont il avait besoin sur l'tat des
htes, celui-ci peut construire des notifications sur l'tat du rseau, afin d'en
informer l'administrateur.
Lorsque Nagios effectue une notification, il attribut des tats aux htes, ainsi
qu'aux services.
Un hte peut avoir les tats suivants:
-Up : en fonctionnement
-Down : teint
-Inaccessible
-En attente
Les diffrents tats d'un service sont:
- OK
- Attention
- Critique
- En attente
- Inconnu

C Installation de Nagios
Nous avons install Nagios en suivant la documentation fournie par Nagios.
Les tapes de l'installation sont fournies en annexe. Afin de scuriser l'interface
web de Nagios, nous avons mis en place le protocole "HTTPS" (web scuris).
Ceci permet de crypter les changes entre le serveur et l'utilisateur.
Pour cela nous avons ajout un certificat SSL Apache.
D Interface graphique de Nagios
Pour accder l'interface de Nagios depuis l'extrieur de notre rseau, il suffit
de taper dans un navigateur web https://192.168.104.174/nagios/ puis de
s'identifier.
Pour y accder depuis l'intrieur de notre rseau, l'adresse utilise est
https://10.0.0.2/nagios/
L'identification s'effectue de la mme manire.
L'interface graphique de Nagios est utilise uniquement pour visualiser l'tat
du rseau supervis. Cette interface ne peut en aucun cas servir pour la
configuration de Nagios.
L'interface se compose d'une partie "menu" gauche, et une partie centrale,
beaucoup plus grande sur le reste de l'cran, qui servira afficher les
informations souhaites Des captures d'cran sont disponibles en annexe.
Dans le menu, nous retrouvons en premier des liens vers le site de Nagios, et
vers la documentation de ce logiciel. Ces liens sont dans la partie 'General'.
Puis une partie 'Monitoring' dans laquelle il est possible de slectionner les
informations que l'on souhaite visualiser. Il y a de nombreux sous-menus dans
cette partie ce qui permet d'afficher vraiment les informations prcises qui nous

interessent. Il y a galement la possibilit de visualiser des statistiques que


Nagios a construit, ce qui est trs intressant pour l'administrateur.
Dans la partie "Reporting" il y a la possibilit de crer des rapports et des
historiques des vnements qui se sont produits sur le rseau.
Et enfin dans la dernire partie "Configuration", il est possible de visualiser
toute les configuration grce laquelle Nagios sait qui et quoi supervis.

V Les plugins :
A Plugins principaux
Nagios possde une importante communaut sur Internet. Grce celle-ci, de
nombreux utilisateurs ont cres des plugins permettant Nagios d'aller
rcuprer des informations sur des quipements du rseau (PC, routeurs,
serveurs, )
Les plugins n'utilisent pas tous le mme protocole pour changer les
informations. Le protocole utilis est dans la plupart des cas un facteur dcisif
sur le choix des plugins utiliser.
Un seul plugin Nagios ne peut pas aller chercher toutes les informations sur les
quipements du rseau: En effet, chaque plugin n'a accs qu' certaines
informations (exemple: un plugin peut aller chercher l'occupation du disque
dur, et un autre l'occupation du processeur d'un PC). Pour superviser un parc
informatique, il est donc ncessaire de mettre en place plusieurs plugins.
De plus, certains plugins peuvent aller chercher des informations sur des clients
uniquement sur certains systmes d'exploitation (c'est le cas du plugin
check_nt qui peut chercher des informations uniquement sur des quipements
Windows).
Les principaux plugins utiliss par nagios sont :
- check_disk : Vrifie l'espace occup d'un disque dur
- check_http : Vrifie le service "http" d'un hte
- check_ftp : Vrifie le service "ftp" d'un hte
- check_mysql : Vrifie l'tat d'une base de donnes MYSQL
- check_nt : Vrifie diffrentes informations (disque dur, processeur ) sur un
systme d'exploitation Windows
- check_nrpe: Permet de rcuprer diffrentes informations sur les htes
- check_ping: Vrifie la prsence d'un quipement, ainsi que sa dure de
rponse
- check_pop: Vrifie l'tat d'un service POP (serveur mail)
- check_snmp : Rcupre divers informations sur un quipement grce au
protocole
SNMP (Simple Network Management Protocol)
Il est possible de crer son propre plugin. Dans ce cas, il faudra les crer de la
sorte que celui renvoie nagios :

- L'tat du rsultat (OK, CRITICAL, DOWN, UP, )


- Une chaine de caractres (pour donner le dtail du rsultat)
B Plugins retenus
Nous avons retenus les plugins suivants :
- check_nt
- check_nrpe
- check_snmp
- check_ping
Check_nt

Le plugin Check_nt est un plugin rcent qui permet de superviser trs


facilement des PC dont le systme d'exploitation est Windows.
Check_nt permet de rcuprer sur un systme Windows les informations
suivantes :
L'espace occup sur le disque dur, le temps depuis le dmrrage de l'ordinateur,
la version du plugin NsClient ++ (voir ci-dessous), occupation du processeur,
occupation de la mmoire, tat d'un service.
Mise en place de check_nt :
1/ Le plugin check_nt est installer sur la machine NAGIOS. Dans notre cas,
check_nt a t install automatiquement (dans le dossier
/etc/usr/local/nagios/libexec) lors de l'installation de Nagios.
2/ Sur les machines superviser, on doit installer le logiciel NsClient++,
tlchargeable sur le site http://sourceforge.net/projects/nscplus
3/ Sur les machines superviser, on doit configurer le fichier "NSC.ini". C'est
dans ce fichier que l'on doit dfinir :
- Le port sur lequel NsClient++ doit couter les requtes
- Les adresses des machines qui ont le droit de dialoguer avec NsClient++ (les
machines qui ont le droit de rcuprer les informations sur ce poste)
- Un mot de passe (les machines qui souhaiteront dialoguer avec celle-ci par
NsClient++ devront fournir ce mot de passe)
=> Le fichier de configuration est fourni en annexe
Fonctionnement de check_nt :

Lorsque Nagios veut connatre une information sur un PC, il excute le plugin
check_nt.

Celui envoie une requte au PC. Sur le PC, le programme NsClient++ reoit la
requte, va chercher les informations dans les ressources du PC et renvoie le
rsultat au serveur Nagios.
Usage :
Pour aller chercher les informations sur un PC grce check_nt, Nagios excute
une commande ayant la syntaxe suivante :
check_nt -H host -v variable [-p port] [-w warning] [-c critical][-l params]
Avec :
-H : Adresse IP de l'hte superviser
-v : ce qu'il faut superviser (ex : CPULOAD
-p : Port sur lequel il faut envoyer la requte
-w : Seuil pour lequel le rsultat est considr comme une alerte
-c : Seuil pour lequel le rsultat est considr comme critique
-l : Paramtres supplmentaires (ncessaire ou non en fonction du paramtre
"v")
Pour notre projet, nous utiliserons ce plugin pour superviser tous les postes
Windows (client XP + Serveur 2003 Server) sauf pour contrler l'espace des
dossiers des profils des utilisateurs. En effet, ce plugin ne permet pas d'effectuer
cette vrification. Nous utiliserons un autre plugin pour cela.
2. Check_nrpe
Le plugin Check_nrpe est un plugin qui permet de superviser des PC dont le
systme d'exploitation est Windows ou Linux.
Check_nrpe utilise une connexion SSL (Secure Socket Layout) pour aller
chercher les informations sur les postes. Ceci permet de crypter les trames
d'changes.
Mise en place de check_nrpe (sur Windows) :
1/ Le plugin check_nrpe est installer sur la machine NAGIOS. Dans notre cas,
check_nrpe a t install automatiquement (dans le dossier
/etc/usr/local/nagios/libexec) lors de l'installation de Nagios.
2/ Sur les machines superviser, on doit installer un logiciel permettant de
dialoguer avec check_nrpe. Le programme le plus couramment utilis est "nrpe
pluging". Seulement, le logiciel NsClient++ permet aussi de faire des changes
avec le plugin check_nrpe. Comme nous utilisons dj ce programme pour
check_nt, nous le conservons aussi pour
check_nrpe.
3/ Sur les machines superviser, on doit configurer le fichier "NSC.ini". C'est
dans ce fichier que l'on doit dfinir :
- Le port sur lequel NsClient++ doit couter les requtes de check_nrpe
(diffrent de celui check_nt)
- Les adresses des machines qui ont le droit de dialoguer avec NsClient++ (les
machines qui ont le droit de rcuprer les informations sur ce poste)
=> Le fichier de configuration est fourni en annexe

Mise en place de check_nrpe (sur Linux) :


Mme procdure que sur Windows sauf qu'on n'utilise pas NsClient ++ sur
l'hte superviser mais le programme "nrpe", tlchargeable ici
http://www.nagiosexchange.org/
Puis on configure le fichier /etc/nagios/nrpe.conf (le fichier est donn en
annexe).
Fonctionnement de check_nrpe :

Lorsque Nagios veut connatre une information sur un PC, il excute le plugin
check_nrpe.
Celui envoie une requte au PC. Sur le PC, le programme NsClient++ (ou nrpe
si linux) reoit la requte, va chercher les informations dans les ressources du
PC et renvoie le rsultat au serveur Nagios.
Usage :
Pour aller chercher les informations sur un PC grce check_nrpe, Nagios
excute une commande ayant la syntaxe suivante :
check_nrpe -H <adresse de l'hote superviser> -c <nom de la commande
excuter sur le serveur>
Puis sur les postes superviser, dans le fichier de configuration (NSC.ini pour
Windows,
nrpe.conf pour Linux), on doit dfinir la commande excuter pour chaque
nom de commande.
Exemple pour Windows : command[check_cpu]=inject checkCPU warn=80
crit=90 5 10 15
Exemple pour Linux:
command[check_cpu]=/usr/local/nagios/libexec/check_load -w 15,10,5 c 30,25,20 Ces deux commandes vrifient la charge du processeur.
On remarque alors que la mise en place de nrpe dans une grande entreprise est
trs complexe car il faut configurer toutes les commandes sur chaque hte
superviser (contrairement check_nt qui ne ncessite pas de configuration). En
revanche, nrpe offre une meilleure scurit puisque les changes client serveur
sont scuriss (grce SSL).
Pour notre projet, nous utilisons check_nrpe pour :
- superviser les clients Linux

- rcuprer la taille des dossiers de profils sous Windows


3. Check_snmp
Le plugin Check_snmp est un plugin qui permet de superviser tous les
quipements. En revanche, il est trs instable pour superviser les PC. nous
utiliserons check_snmp pour superviser le routeur.
Mise en place de check_snmp:
1/ Le plugin check_snmp est installer sur la machine NAGIOS. Dans notre cas,
check_snmp a t install automatiquement (dans le dossier
/etc/usr/local/nagios/libexec) lors de l'installation de Nagios.
2/ Il faut configurer le routeur pour qu'il accepte les changes snmp (voir
configuration du routeur en annexe)
Fonctionnement de check_nt :

La MIB (Management Information Base) est une base de donnes sur le routeur
qui stocke toutes les informations de celui-ci (statistiques, dbit, tat des
interfaces).
Lorsque Nagios veut connatre une information sur le routeur, il excute le
plugin check_snmp. Celui envoie une requte au routeur. Le routeur reoit la
requte, va chercher les informations dans sa MIB et renvoie le rsultat au
serveur Nagios.
Usage :
Pour aller chercher les informations sur le routeur grce check_snmp, Nagios
excute une commande ayant la syntaxe suivante :
check_snmp -H <adresse de l'hote superviser> o <adresse de l'information a
rcuprer dans la MIB> -C <communaut SNMP>
Pour notre projet, on pensait rcuprer directement dans la MIB le nombre de
paquets rejets par les ACLs, dans le routeur. Malheureusement, la
documentation de la MIB de notre routeur est trs incomplte et nous n'avons
pas trouv o tait stocke cette information.
Nous avons donc dcid de rcuprer dans la MIB le nombre de paquets ICMP
envoys par le routeur lors d'un " host unreachable" (message d'erreur envoy
l'expditeur quand le destinataire n'est pas joignable)
4. Check_ping

Le plugin Check_ping est un plugin qui permet de vrifier qu'un hte est bien
joignable.
Usage :
Pour vrifier qu'un hte est joignable, Nagios excute une commande ayant la
syntaxe suivante :
check_ping -H <adresse de l'hote> -w <temps maxi de
reponse>,<Pourcentage de russite des pings> -c <temps maxi de
reponse>,<Pourcentage de russite des pings>
Avec:
-w : Seuil pour lequel le rsultat est considr comme une alerte
-c : Seuil pour lequel le rsultat est considr comme critique
Pour notre projet, on testera la prsence du routeur RT (192.168.104.5). En effet,
ci celui-ci ne rpond plus, on peut considrer que l'on est plus connect
Internet.
Pour pouvoir rcuprer des informations sur les machines clientes Windows,
un "client" doit tre pralablement install sur ces dernires. Cet agent agit
comme un intermdiaire entre le "plugin" Nagios qui tourne sur le serveur
Nagios et le service windows qui concerne les informations dsires.
Par exemple on peut installer NSCLIENT++ sur windows et utiliser le plugin
check_nt sur Nagios.

Concernant le monitoring sur les machines UNIX il existe de nombreux


moyens de rcuprer les informations mais le plus utilis est d'installer NRPE
addon sur la machine cliente et permet ainsi la communication avec le plugin
de Nagios.

Le monitoring des quipements rseau un peu volus, utilisant SNMP repose


en gros sur le mme principe que prcdemment.
Les plugins Nagios rcuprent les informations des quipements.
MRTG est utilis pour le monitoring de la bande passante.

On peut distinguer deux types de fonctionnement de la rcupration des


informations:
Actif et Passif
-Lors du fonctionnement actif, c'est Nagios qui envoie une demande
d'information au client. Celui-ci renvoi alors les informations demandes.
-Alors que lors du fonctionnement passif, l'envoi d'information est planifi en
local (soi planifi l'avance selon une date donne, soi selon un certain
vnement produit sur la machine cliente)

Installation et configuration nagios


Installation :

Configuration :

On change nagiosadmin par nagios dans tout le fichier cgi.cfg

BN : 7 substitutions sur 7 lignes


On cre un mot de passe pour notre nagios :

Rsultat :

On ajoute une machine windows7


Pour simplifier la tche on copie le fichier localhost :

On modifie le fichier window.cfg comme suite :

On ajoute un routeur cisco 3750


On tlcharge le plugin de puis un site :

On le copie dans notre serveur avec les autres pluging -> chemin
/usr/lib/nagios/pluging

On ajoute une commande de pluging :

Pour simplifier la tche on copie le fichier localhost

On modifie le fichier routeur.cfg comme suite :

Aprs on dfinie les services que on veut les superviss :

Aprs on ajoute notre machine au groupe convenable dans notre cas on


va ajouter toutes les machines aux touts les groupes car on veut
superviser tout les services donc on tape * au lieu de nom de
machines si on veut spcifie quelque machines on va les sparer par
des virgules :

On redmarre le service :

Configuration des machines

Machine windows 7 :
Panneau de configuration\Tous les Panneaux de
configuration\Programmes et fonctionnalits
On clique sur qui situ gauche :

Et on couche le protocole SNMP :

On va ajouter aussi un serveur IIS (serveur web) pour le supervis


aussi :

Routeur Csico:
Configuration de linterface :

Configuration du protocole SNMP :

On enregistre :

Configuration du SSH :

Schma Utilis :

Vue sur GNS3 :


C1 cest la machine relle qui es li au Routeur et les deux sont li au
serveur Nagios (toutes les machines dans un rseau local)

Das könnte Ihnen auch gefallen