Auteur/autrice : starmate

31 mai 2017 /

Pour un hôte Linux

Vérifier où sont situé vos scripts dans nrpe.cfg ( /usr/lib/… ou /usr/lib64/…).

 

Vérifier l’espace disque de  /data:

/usr/lib64/nagios/plugins/check_disk -w 10% -c 5% -p /data

 

Vérifier l’état d’un volume Raid:

/usr/lib/nagios/plugins/check_raid.pl -p mdstat

 

Vérifier la date de modification du fichier /ftp/texte.txt :

/usr/lib64/nagios/plugins/check_file_age -w 86400 -c 129600 -f /ftp/texte.txt

1 heure = 3600 secondes
24 heures = 86400 secondes
36 heures = 129600 secondes
7 jours = 604800 secondes
30 jours = 2592000 secondes
6 mois = 15379200 secondes

 

Vérification de processus:

/usr/lib64/nagios/plugins/check_procs -w 80 -c 95 -m CPU -C httpd
/usr/lib64/nagios/plugins/check_procs -w 1:512 -c 1:1024 -C smbd
/usr/lib64/nagios/plugins/check_procs -c 1:1 -C nmbd

-w 1:512 correspond à Warning si le nombre de processus n’est pas entre 1 et 512.
-c 1:1024 correspond à Critical si le nombre de processus n’est pas entre 512 et  1024.
-c 1:1 correspond à Critical sil n’y a pas 1 processus (au min et au max).

 

Surveillance de la Swap:

/usr/lib64/nagios/plugins/check_swap -w 80% -c 40%

 

APT:

/usr/lib64/nagios/plugins/check_apt

-u = fait un apt-get update avant le lancer le script (lancé par l’utilisateur nagios).
-t 120 = timout de 120 sec (le temps de faire un apt-get update).

 

Mysql:

/usr/lib64/nagios/plugins/check_mysql -uworkey -pworkey

 

File d’attente des courriels:

/usr/lib64/nagios/plugins/check_mailq -w 40 -c 50

 

Pour un hôte Windows

 

Charge CPU

/usr/local/nagios/libexec/check_nrpe -H 10.148.14.212 -t 30 -c CheckCPU -a warn=80 crit=90 time=1m time=5m time=15m

 

%  CPU utilisé

/usr/local/nagios/libexec/check_nrpe -H 10.148.14.212 -c check_pdh -a 'counter:% Processor Used Total=\Processor(_Total)\% Processor Time' 'warning=value>80' 'critical=value>90' 'perf-config=*(suffix:none)'

 

% CPU Libre

/usr/local/nagios/libexec/check_nrpe -H 10.148.14.212 -c check_pdh -a 'counter:% Processor Free Total=\Processor(_Total)\% Idle Time' 'warning=value<20' 'critical=value<10' 'perf-config=*(suffix:none)'

 

RAM utilisée en Mo

/usr/local/nagios/libexec/check_nrpe -H 10.148.14.212 -t 30 -c Check_Memory -a show-all type=physical 'warning=used>1536M' 'critical=used>1792M'

 

RAM utilisée en %

/usr/local/nagios/libexec/check_nrpe -H 10.148.14.212 -t 30 -c Check_Memory -a show-all type=physical 'warning=used>80%' 'critical=used>90%'

 

RAM libre en Mo

/usr/local/nagios/libexec/check_nrpe -H 10.148.14.212 -t 30 -c Check_Memory -a show-all type=physical 'warning=free<512M' 'critical=free<256M'

 

RAM libre en %

/usr/local/nagios/libexec/check_nrpe -H 10.148.14.212 -t 30 -c Check_Memory -a show-all type=physical 'warning=free<20%' 'critical=free<10%'

 

Performance disque Lecture en % de C:\

/usr/local/nagios/libexec/check_nrpe -H 10.148.14.212 -c check_pdh -a 'counter:C: % Read Time=\LogicalDisk(C:)\% Disk Read Time' 'warning=value>50' 'critical=value>75' 'perf-config=*(suffix:none)'

 

Performance disque Lecture en Bits/Sec de C:\

/usr/local/nagios/libexec/check_nrpe -H 10.148.14.212 -c check_pdh -a 'counter:C: Read Bytes/sec=\LogicalDisk(C:)\Disk Read Bytes/sec' 'warning=value>100' 'critical=value>500' 'perf-config=*(suffix:none)'

 

Performance disque écriture en % de C:\

/usr/local/nagios/libexec/check_nrpe -H 10.148.14.212 -c check_pdh -a 'counter:C: % Write Time=\LogicalDisk(C:)\% Disk Write Time' 'warning=value>50' 'critical=value>75' 'perf-config=*(suffix:none)'

 

Performance disque écriture en Bits/Sec de C:\

/usr/local/nagios/libexec/check_nrpe -H 10.148.14.212 -c check_pdh -a 'counter:C: Write Bytes/sec=\LogicalDisk(C:)\Disk Write Bytes/sec' 'warning=value>100' 'critical=value>500' 'perf-config=*(suffix:none)'

 

File d’attente IO sur C:\

/usr/local/nagios/libexec/check_nrpe -H 10.148.14.212 -c check_pdh -a 'counter:C: Queue Length=\LogicalDisk(C:)\Current Disk Queue Length' 'warning=value>10' 'critical=value>20' 'perf-config=*(suffix:none)'

 

Nombre d’IO par Seconde sur C:\

/usr/local/nagios/libexec/check_nrpe -H 10.148.14.212 -c check_pdh -a 'counter:C: Split IO/sec=\LogicalDisk(C:)\Split IO/sec' 'warning=value>10' 'critical=value>20' 'perf-config=*(suffix:none)'

 

Espace libre en Go sur C:\

/usr/local/nagios/libexec/check_nrpe -H 10.148.14.212 -t 30 -c check_drivesize -a drive=C: 'warning=free<10G' 'critical=free<5G' show-all 'perf-config=*(unit:G)' detail-syntax='{${drive_or_name} ${free} free / ${size} total}' top-syntax='${status}: ${problem_list}'

 

Espace libre en % sur C:\

/usr/local/nagios/libexec/check_nrpe -H 10.148.14.212 -t 30 -c check_drivesize -a drive=C: 'warning=free<20%' 'critical=free<10%' show-all 'perf-config=*(unit:G)' detail-syntax='{${drive_or_name} ${free_pct}% free / ${size} total}' top-syntax='${status}: ${problem_list}'

 

Espace libre en Go sur tous les disques

/usr/local/nagios/libexec/check_nrpe -H 10.148.14.212 -t 30 -c check_drivesize -a 'warning=free<10G' 'critical=free<5G' show-all 'perf-config=*(unit:G)' detail-syntax='{${drive_or_name} ${free} free / ${size} total}' top-syntax='${status}: ${problem_list}'

 

Espace libre en % sur tous les disques

/usr/local/nagios/libexec/check_nrpe -H 10.148.14.212 -t 30 -c check_drivesize -a 'warning=free<20%' 'critical=free<10%' show-all 'perf-config=*(unit:G)' detail-syntax='{${drive_or_name} ${free_pct}% free / ${size} total}' top-syntax='${status}: ${problem_list}'

 

Espace libre en Go sur tous les disques sauf disquette et CDROM

/usr/local/nagios/libexec/check_nrpe -H 10.148.14.212 -t 30 -c check_drivesize -a "filter=type in ('fixed')" exclude='System Reserved' 'warning=free<10G' 'critical=free<5G' show-all 'perf-config=*(unit:G)' detail-syntax='{${drive_or_name} ${free} free / ${size} total}' top-syntax='${status}: ${problem_list}'

 

Espace libre en % sur tous les disques sauf disquette et CDROM

/usr/local/nagios/libexec/check_nrpe -H 10.148.14.212 -t 30 -c check_drivesize -a "filter=type in ('fixed')" exclude='System Reserved' 'warning=free<20%' 'critical=free<10%' show-all 'perf-config=*(unit:G)' detail-syntax='{${drive_or_name} ${free_pct}% free / ${size} total}' top-syntax='${status}: ${problem_list}'

 

Espace libre en Go sur tous les disques sauf E:\

/usr/local/nagios/libexec/check_nrpe -H 10.148.14.212 -t 30 -c check_drivesize -a exclude='E:\' 'warning=free<10G' 'critical=free<5G' show-all 'perf-config=*(unit:G)' detail-syntax='{${drive_or_name} ${free} free / ${size} total}' top-syntax='${status}: ${problem_list}'

(pour deux disques: exclude=’E:\’ exclude=’P:\’)

 

Espace libre en Go sur tous les disques sauf disquette, CDROM et  E:\

/usr/local/nagios/libexec/check_nrpe -H 10.148.14.212 -t 30 -c check_drivesize -a "filter=type in ('fixed')" exclude='System Reserved' exclude='E:\' 'warning=free<10G' 'critical=free<5G' show-all 'perf-config=*(unit:G)' detail-syntax='{${drive_or_name} ${free} free / ${size} total}' top-syntax='${status}: ${problem_list}'

(pour deux disque=> exclude=’E:\’ exclude=’P:\’)

 

Espace libre en % sur tous les disques sauf E:\

/usr/local/nagios/libexec/check_nrpe -H 10.148.14.212 -t 30 -c check_drivesize -a exclude='E:\' 'warning=free<20%' 'critical=free<10%' show-all 'perf-config=*(unit:G)' detail-syntax='{${drive_or_name} ${free_pct}% free / ${size} total}' top-syntax='${status}: ${problem_list}'

(pour deux disque=> exclude=’E:\’ exclude=’P:\’)

 

Espace libre en %   sur tous les disques sauf disquette, CDROM et E:\

/usr/local/nagios/libexec/check_nrpe -H 10.148.14.212 -t 30 -c check_drivesize -a exclude='E:\' "filter=type in ('fixed')" exclude='System Reserved' 'warning=free<20%' 'critical=free<10%' show-all 'perf-config=*(unit:G)' detail-syntax='{${drive_or_name} ${free_pct}% free / ${size} total}' top-syntax='${status}: ${problem_list}'

(pour deux disque=> exclude=’E:\’ exclude=’P:\’)

Espace utilisé en Go sur C:\

/usr/local/nagios/libexec/check_nrpe -H 10.148.14.212 -t 30 -c check_drivesize -a drive=C: 'warning=used>50G' 'critical=used>100G' show-all 'perf-config=*(unit:G)' detail-syntax='{${drive_or_name} ${used} used / ${size} total}' top-syntax='${status}: ${problem_list}'

 

Espace utilisé en % sur C:\

/usr/local/nagios/libexec/check_nrpe -H 10.148.14.212 -t 30 -c check_drivesize -a drive=C: 'warning=used>80%' 'critical=used>90%' show-all 'perf-config=*(unit:G)' detail-syntax='{${drive_or_name} ${used_pct}% used / ${size} total}' top-syntax='${status}: ${problem_list}'

 

Espace utilisé en Go sur tous les disques

/usr/local/nagios/libexec/check_nrpe -H 10.148.14.212 -t 30 -c check_drivesize -a 'warning=used>50G' 'critical=used>100G' show-all 'perf-config=*(unit:G)' detail-syntax='{${drive_or_name} ${used} used / ${size} total}' top-syntax='${status}: ${problem_list}'

 

Espace utilisé en Go sur tous les disques sauf disquette et cdrom

/usr/local/nagios/libexec/check_nrpe -H 10.148.14.212 -t 30 -c check_drivesize -a "filter=type in ('fixed')" exclude='System Reserved' 'warning=used>50G' 'critical=used>100G' show-all 'perf-config=*(unit:G)' detail-syntax='{${drive_or_name} ${used} used / ${size} total}' top-syntax='${status}: ${problem_list}'

 

Espace utilisé en % sur tous les disques

/usr/local/nagios/libexec/check_nrpe -H 10.148.14.212 -t 30 -c check_drivesize -a 'warning=used>80%' 'critical=used>90%' show-all 'perf-config=*(unit:G)' detail-syntax='{${drive_or_name} ${used_pct}% used / ${size} total}' top-syntax='${status}: ${problem_list}'

 

Espace utilisé en % sur tous les disques sauf disquette et cdrom

/usr/local/nagios/libexec/check_nrpe -H 10.148.14.212 -t 30 -c check_drivesize -a "filter=type in ('fixed')" exclude='System Reserved' 'warning=used>80%' 'critical=used>90%' show-all 'perf-config=*(unit:G)' detail-syntax='{${drive_or_name} ${used_pct}% used / ${size} total}' top-syntax='${status}: ${problem_list}'

 

Nombre de fichier dans C:\Repertoire

/usr/local/nagios/libexec/check_nrpe -H 10.148.14.212 -t 30 -c check_files -a path='C:\\Repertoire' pattern=*.* 'warning=count>500' 'critical=count>1000' top-syntax='${status}: ${problem_count}/${count} files' 'empty-state=ok'

 

Vérifie si au moins un fichier à une taille supérieure à 500Mo dans C:\, critique si oui

/usr/local/nagios/libexec/check_nrpe -H 10.148.14.212 -t 30 -c check_files -a path='C:\\' pattern=*.* 'filter=size gt 500M' 'critical=count>0' 'detail-syntax=%(filename): %(size)' 'empty-state=ok'

 

Vérifie la présence du fichier C:\test (il ne doit pas être vide)

/usr/local/nagios/libexec/check_nrpe -H 10.148.14.212 -t 30 -c check_files -a path='C:\\' pattern='test*' max-depth=1 'critical=count<1' 'empty-state=critical'

 

Vérifier la présence du répertoire C:\Users

/usr/local/nagios/libexec/check_nrpe -H 10.148.14.212 -c check_files -a file="c:\\" "max-depth=2" "filter=filename='Users'" "critical=count<1" "empty-state=CRITICAL" "empty-syntax=CRITICAL - Cannot find folder Users"

 

Vérifie que les fichiers dans C:\Repertoire ont été modifié depuis moins de deux heures

/usr/local/nagios/libexec/check_nrpe -H 10.148.14.212 -t 30 -c check_files -a path='C:\\Repertoire' pattern=*.* 'filter=written > -2h' 'critical=count<1' 'empty-state=critical'

 

Vérifie que les fichiers dans C:\Repertoire ont été modifié depuis plus de deux heures

/usr/local/nagios/libexec/check_nrpe -H 10.148.14.212 -c check_files -a path='C:\\Repertoire' pattern=*.* 'filter=written < -2h' 'critical=count>0' top-syntax='${status}: ${problem_count}/${count} files' 'empty-state=ok'

 

Particularité « path= » et « pattern= »:

Si vous vouliez seulement spécifier un fichier:
path='C:\\test.txt'

Mais si il est possible que le fichier n’existe pas, on utilisera alors « pattern= ».

path='C:\\' pattern='test.txt'

 

Surveillance de la carte réseau en Bits reçu par sec

/usr/local/nagios/libexec/check_nrpe -H 10.148.14.212 -c check_pdh -a 'counter:Bytes Received/sec=\Network Interface(Intel[R] PRO_1000 MT Network Connection)\Bytes Received/Sec' 'warning=value>786432000' 'critical=value>943718400' 'perf-config=*(suffix:none)'

 

Surveillance de la carte réseau en Bits envoyé par sec

/usr/local/nagios/libexec/check_nrpe -H 10.148.14.212 -c check_pdh -a 'counter:Bytes Sent/sec=\Network Interface(Intel[R] PRO_1000 MT Network Connection)\Bytes Sent/Sec' 'warning=value>786432000' 'critical=value>943718400' 'perf-config=*(suffix:none)'

 

Nombre de paquet envoyé en erreur par la carte réseau

/usr/local/nagios/libexec/check_nrpe -H 10.148.14.212 -c check_pdh -a 'counter:Packets Outbound Errors=\Network Interface(Intel[R] PRO_1000 MT Network Connection)\Packets Outbound Errors' 'warning=value>0' 'critical=value>0' 'perf-config=*(suffix:none)'

 

Nombre de paquet reçu en erreur par la carte réseau

/usr/local/nagios/libexec/check_nrpe -H 10.148.14.212 -c check_pdh -a 'counter:Packets Received Errors=\Network Interface(Intel[R] PRO_1000 MT Network Connection)\Packets Received Errors' 'warning=value>0' 'critical=value>0' 'perf-config=*(suffix:none)'

 

Nombre de paquet envoyé en erreur par la carte réseau et jeté (discarded)

/usr/local/nagios/libexec/check_nrpe -H 10.148.14.212 -c check_pdh -a 'counter:Packets Outbound Discarded=\Network Interface(Intel[R] PRO_1000 MT Network Connection)\Packets Outbound Discarded' 'warning=value>0' 'critical=value>0' 'perf-config=*(suffix:none)'

 

Nombre de paquet reçu en erreur par la carte réseau et jeté (discarded)

/usr/local/nagios/libexec/check_nrpe -H 10.148.14.212 -c check_pdh -a 'counter:Packets Received Discarded=\Network Interface(Intel[R] PRO_1000 MT Network Connection)\Packets Received Discarded' 'warning=value>0' 'critical=value>0' 'perf-config=*(suffix:none)'

 

Version Windows de l’OS

/usr/local/nagios/libexec/check_nrpe -H 10.148.14.212 -c Check_OS_Version -a 'perf-config=*(ignored:true)'

 

File d’attente de l’imprimante « Microsoft XPS Document Writer »

/usr/local/nagios/libexec/check_nrpe -H 10.148.14.212 -c CheckCounter -a 'Counter:XPS Document Writer=\Print Queue(Microsoft XPS Document Writer)\Jobs' MaxWarn=5 MaxCrit=15 ShowAll

 

Uptime, critique si plus d’un jour

/usr/local/nagios/libexec/check_nrpe -H 10.148.14.212 -t 30 -c Check_Uptime -a show-all 'warning=uptime>1d' 'critical=uptime>1d'

 

Uptime, critique si moins d’un jour

/usr/local/nagios/libexec/check_nrpe -H 10.148.14.212 -t 30 -c CheckUpTime -a MinCrit=1d

 

Surveillance de l’activité du service Spooler, critique si il n’est pas démarré

/usr/local/nagios/libexec/check_nrpe -H 10.148.14.212 -t 30 -c check_service -a 'service=spooler'

 

Surveillance de l’arrêt du service Spooler, critique si il est  démarré

/usr/local/nagios/libexec/check_nrpe -H 10.148.14.212 -t 30 -c check_service -a 'service=spooler' "ok= state = 'stopped'" "warning=not state = 'stopped'" "critical=not state = 'stopped'" "perf-config=*(ignored:true)"

 

Vérifie si tous les services activés au demarrage sont bien démarré

/usr/local/nagios/libexec/check_nrpe -H 10.148.14.212 -t 30 -c check_service

 

Vérifie si les services activé au demarrage sont bien démarré, sauf le service spooler

/usr/local/nagios/libexec/check_nrpe -H 10.148.14.212 -t 30 -c check_service -a exclude=Spooler

31 mai 2017 /

Coté serveur Centreon CES 3.3 (192.168.122.58)

On commence par installer le script check_nrpe:

yum install -y nrpe-plugin

 

Par défaut, la variable $USER1$ qui correspond au répertoire où sont stockés les scripts Centreon, pointe sur /usr/lib/nagios/plugins/, alors que check_nrpe a été installé dans /usr/lib64/nagios/plugins/ . Nous devons donc créer un lien symbolique pour que check_nrpe y soit présent.

ln -s /usr/lib64/nagios/plugins/check_nrpe /usr/lib/nagios/plugins/check_nrpe

 

Sur l’interface web de Centreon, nous allons maintenant configurer la commande check_nrpe.
Pour cela nous allons dans Configuration / Commandes puis on clique sur ajouter:

Dans ligne de commande on met ceci:

$USER1$/check_nrpe -H $HOSTADDRESS$ -p $_SERVICEPORT$ $_SERVICECOMMAND$

Puis on clique sur « Décrire les macro » puis sauvegarder sur le pop-up qui apparaît, pour générer le texte suivant:

MACRO (SERVICE) PORT :
MACRO (SERVICE) COMMAND :

Nous pouvons maintenant créer des services NRPE. Pour cela nous allons dans Configuration / Services / Modèles puis on clique sur Ajouter:

On rempli le formulaire comme ci dessus pour la création d’un service surveillance de la charge système d’un hôte.

On met la « Commande de vérification » sur la commande « check_nrpe« .

La variable PORT contient le port de service de NRPE, 5666.
La variable COMMAND contient la valeur « check_load« .
Cela correspond au nom de la commande sur le serveur cible (dans nrpe.cfg).

L’hôte que l’on souhaite monitorer doit donc avoir cette commande déclarer dans son fichier nrpe.cfg, comme on peut le voir ici:

vi /etc/nagios/nrpe.cfg

.....
command[check_load]=/usr/lib/nagios/plugins/check_load -w 15,10,5 -c 30,25,20
......

 

Puis on va dans l’onglet « Relations » pour lié le modèle à des modèles d’hôtes:

On associe le modèle de service au modèle d’hôte qui fonctionneront avec NRPE comme ci-dessus. Il faudra reproduire la même chose pour chaque service NRPE que l’on désire configurer.

On peut maintenant créer dans Centreon notre première machine à monitorer avec notre service NRPE, « check_load« .

 

Coté client Ubuntu (192.168.0.20)

On installe sur le client Ubuntu le deamon NRPE ainsi que des scipts pour le monitorer:

apt-get install nagios-nrpe-server nagios-plugins

On va autoriser le serveur Centreon dans le fichier de configuration NRPE:

vi /etc/nagios/nrpe.cfg

allowed_hosts=127.0.0.1,192.168.122.58

Puis on démarre le service:

/etc/init.d/nagios-nrpe-server start

ou

systemctl start nagios-nrpe-server

On peut vérifier que le client Ubuntu répond au serveur Centreon avec cette commande (à faire depuis Centreon):

/usr/lib/nagios/plugins/check_nrpe -H 192.168.0.20 -c check_load

OK - load average: 0.06, 0.06, 0.01|load1=0.060;15.000;30.000;0; load5=0.060;10.000;25.000;0; load15=0.010;5.000;20.000;0;

On va maintenant déclarer la machine dans Centreon.
Pour cela on va dans Configuration / Hôtes et on clique sur le bouton ajouter

On rempli le formulaire en ayant spécifié le modèle d’hôte « Serveurs-Ubuntu« .
L’hôte va ainsi hérité du service NRPE que nous avons créer tout à l’heure.

On peut vérifié que le service pour la charge système est bien présent pour notre hôte Ubuntu à monitorer.

Pour cela on va dans Configuration / Services et on clique sur le service de notre hôte:

On vérifie que le « Modèle de service » que l’on souhaite, ici « NRPE_Charge_Système » que l’on a configurer précédemment est bien sélectionné.
On met la « Commande de vérification » sur « check_nrpe« .

On peut vérifier que cela fonctionne depuis le serveur Centreon avec cette commande:

/usr/lib/nagios/plugins/check_nrpe -H 192.168.0.20 -c check_load

Si tous est bon, il ne reste plus qu’a recharger la configuration du Collecteur:

 

Si il n’y à pas d’erreur, on coche également « Déplacer les fichier« , et « Redémarrer l’ordonnanceur »

Puis on clic sur exporter.

 

Coté Client CentOS (192.168.122.172)

Pour installer le deamon NRPE, nous devons passer par les dépôts EPEL:

yum install epel-release -y

Puis

yum -y install nrpe nagios-plugin*

On va autoriser le serveur Centreon dans le fichier de configuration NRPE:

vi /etc/nagios/nrpe.cfg

allowed_hosts=127.0.0.1,192.168.122.58

Puis on démarre le service:

service nrpe start
chkconfig nrpe on

Particularité CentOS 7

systemctl restart nrpe
systemctl enable nrpe
firewall-cmd --permanent --add-port=5666/tcp

 

On va maintenant déclarer la machine CentOS dans Centreon.

En ayant spécifié le modèle d’hôte « Serveurs-CentOS« , l’hôte va ainsi hérité du service NRPE que nous avons créer tout à l’heure.

On peut vérifié que le service pour la charge système est bien présent pour notre hôte CentOS à monitorer.

Pour cela on va dans Configuration / Services et on clique sur le service de notre hôte:

On vérifie que le « Modèle de service » que l’on souhaite, ici « NRPE_Charge_Système » que l’on a configurer précédemment est bien sélectionné.
On vérifie que la « Commande de vérification » est bien « check_nrpe« .

On peut vérifier que cela fonctionne depuis le serveur Centreon avec cette commande:

/usr/lib/nagios/plugins/check_nrpe -H 192.168.122.172 -c check_load

Si tous est bon, il ne reste plus qu’a recharger la configuration du Collecteur:

Si il n’y à pas d’erreur, on coche également « Déplacer les fichier », et « Redémarrer l’ordonnanceur »

Puis on clic sur exporter.

 

31 mai 2017 /

NSCLIENT++ est un agent de supervision pour toutes versions de Windows.

1) Installation

On peut récupérer le fichier d’installation à cette adresse.

L’installation de NSClient++ n’est pas très compliqué. Il suffit de valider par le bouton « Next » chacun des écrans présentés. Le logiciel est installé par défaut dans le répertoire C:\Program Files\NSClient++\. Il contient l’exécutable, le répertoire des extensions et le fichier de configuration nsclient.ini.

On lance l’exécutable puis on clic sur « Next » pour commencer l’installation:

 

On clic sur « Next« :

 

 

On sélectionne « Complete« , puis « Next« :

 

 

 

On clic sur « Next« :

 

 

On autorise ici l’adresse IP du serveur Centreon (192.168.122.58) et on lui créé un mot de passe pour se connecter. On active également ici le plugin check_nt (j’aborderai NRPE dans un autre article). Puis on fait « Next« :

 

On clic sur « Install« :

 

L’installation est maintenant terminé, cliquer sur « Finish« :


Depuis le serveur Centreon, on peut vérifier que notre poste Windows (192.168.122.74) à NSCLIENT++ de bien configuré et qu’il nous répond bien par son numéro de version:

/usr/lib/nagios/plugins/check_nt -H 192.168.122.74 -v CLIENTVERSION -p 12489 -s toto

NSClient++ 0.5.0.62 2016-09-14

 

2) Configuration de l’hôte

Si tout va bien on retourne sur Centreon pour ajouter notre serveur Windows:


3) Configuration des services

On va maintenant associer notre serveur à des services basés sur check_nt:

CPU:

Si la variable « params » contient « 1,90,95,5,90,95,15,90,95 » comme valeur, elle aura un résultat similaire à:
CPU Load x% (1 min average) x% (5 min average) x% (15 min average)

Si la variable « params » contient « 60,90,95,120,90,95 » comme valeur, elle aura un résultat similaire à:
CPU Load x% (60 min average) x% (120 min average)

Mémoire:

Espace disque:

La variable « params » contient « c » qui correspond ici à la lettre du disque sur le client, « C: ».


Uptime:

La variable « params » contient l’unité de temps qui est soit "seconds", "minutes", "hours", ou "days".


Un processus, (ici OneDrive.exe):

Vous pouvez déclarer plusieurs processus dans la variable « params« , en les séparant d’une virgule:

<process1>,<process2>,<process3>


Un service (ici Windows Update):

Vous pouvez déclarer plusieurs services dans la variable « params« , en les séparant d’une virgule:

<service1>,<service2>,<service3>

30 mai 2017 /

Une fois l’ISO télécharger à cette adresse, on peut commencer l’installation:

 

Vous pouvez choisir de vérifier l’intégrité de l’image ISO:

 

Anaconda se lance, on clique sur « Next« :

 

On choisit sa langue:

 

La configuration de son clavier:

 

On choisi se qui correspond à votre configuration matériel du serveur Centreon:

 

On valide en choisissant Oui:

 

On choisit le nom du serveur Centreon:

 

On choisit le mot de passe pour l’utilisateur root:

 

On choisit le partitionnement du disque:

 

On valide le tout:

 

On choisit le rôle du serveur Centreon:

 

Installation en cours:

 

Installation terminée:

 

Maintenant que l’installation est terminé, on se connecte dessus en console/ssh et on met à jour Centreon:

yum -y update

On installe la traduction de l’interface en français

yum -y install centreon-lang-fr_FR

On spécifie le fuseau horaire dans php.ini:

vi /etc/php.ini

date.timezone = Europe/Paris

Puis on redémarre httpd:

service httpd restart

On récupère l’adresse ip du serveur, puis on se connecte dessus via son navigateur internet.

On clique sur « Next« :

On clique sur « Next« :

On clique sur « Next« :

« Next« …:

On rempli le formulaire et on clique sur « Next« :

On clique sur « Next« :

On clique sur « Next« :

 

On clique sur « Finish« , l’installation est terminée:


On arrive à cette fenêtre de connexion, on va donc se connecter:

On va passer l’interface en français, pour cela on va aller dans Administration / Parameters / My Account / Language

 

 

On va maintenant activer l’exécution du collecteur Central (et qui actuellement affiché en « Non« ). Pour cela on va dans « Configuration / Collecteurs« , puis on sélectionne le Collecteur « Central » et on clique sur « Exporter la configuration »

 

 

On arrive sur cette fenêtre, ou on va cocher les 4 premières cases et mettre la méthode sur « Redémarrer »

 

Ou bout de quelques secondes le collecteur est maintenant bien afficher en « Oui »

 

Par soucis d’esthétique, nous allons Installer un pack d’icônes:

cd /tmp
wget https://exchange.icinga.org/exchange/F%2ANagios+icon+pack+%28Status+Map+and+Host+View+icons%29/files/21/FNagios.tar.gz
tar xzf FNagios.tar.gz

 

On déplace les images dans répertoire d’images de Centreon:

mv hardware /usr/share/centreon/www/img/media/
mv other /usr/share/centreon/www/img/media/
mv vendors /usr/share/centreon/www/img/media/

 

On donne la propriété des fichiers à l’utilisateur centreon:

chown -R centreon: /usr/share/centreon/www/img/media/

 

On retourne dans « Administration / Paramètres / Images", puis on clique sur « Synchroniser le répertoire des images« :

Une fois la mise à jour terminée, vous pouvez voir vos images:

 

Vous pouvez maintenant associer les images avec des modèles de machines

 

 

Voila, il ne reste maintenant plus qu’a ajouter les hôtes et installer/configurer leurs services.

18 mai 2017 /

Voici comment détecter rapidement les machines vulnérable à l’exploit WannaCry grâce à Nmap (version 7 minimum) et  du plugin associé à l’exploit : smb-vuln-ms17-010.nse.

Vous pouvez vérifié votre version de Nmap avec la commande suivante:

nmap -V

Nmap version 5.51 ( http://nmap.org )

Si vous avez une version inférieur à la 7, il faudra compiler Nmap à partir de la dernière version disponible (nmap-7.40.tar.bz2 actuellement).

cd /usr/share/
wget https://nmap.org/dist/nmap-7.40.tar.bz2
bzip2 -cd nmap-7.40.tar.bz2 | tar xvf -
cd nmap-7.40
./configure
make
make install

Maintenant que Nmap est installé et en version au moins égale à la 7.4, nous allons installer le plugin nécessaire pour identifier les machines vulnérable à Wannacry.

Pour cela nous devons trouver le répertoire contenant les scripts Nmap, vous pouvez pour cela vous aider de cette commande:

locate -i *.nse

ou

locate -i nmap | grep -i script

Une fois trouvé, on se rend dedans et on télécharge le plugin:

cd /usr/share/nmap-7.40/scripts/
wget https://raw.githubusercontent.com/cldrn/nmap-nse-scripts/master/scripts/smb-vuln-ms17-010.nse

On met à jour la base de donnée de Nmap:

cd /usr/share/nmap-7.40/
./nmap --script-updatedb

Pour scanner une machine en 192.168.0.33 et générer le résultat dans un fichier HTLM:

./nmap -sC -p 445 --script smb-vuln-ms17-010.nse 192.168.0.33 -oX scan.xml && xsltproc scan.xml -o "wannacry_192.168.0.33_`date +%d%m%y`.html"

 

On peut ensuite consulter le fichier HTML contenant rapport généré par Nmap:

 

 

Pour scanner le réseau 192.168.0.0/24 et générer le résultat dans un fichier HTLM:

./nmap -sC -p 445 -max-hostgroup 3 -open --script smb-vuln-ms17-010.nse 192.168.0.0/24 -oX scan.xml && xsltproc scan.xml -o "wannacry_192.168.0.0-24_`date +%d%m%y`.html"

 

On peut ensuite consulter le fichier HTML contenant rapport généré par Nmap:

 

 

Pour scanner une liste d’adresse IP et générer le résultat dans un fichier HTLM:

vi ip.txt

Dans le fichier ip.txt nous allons mettre toute nos adresse IP à scanner (une adresse ip par ligne) et on le donne en argument à Nmap:

./nmap -sC -p 445 -max-hostgroup 3 -open --script smb-vuln-ms17-010.nse -iL ip.txt -oX scan.xml && xsltproc scan.xml -o "wannacry_listeIP_`date +%d%m%y`.html"

 

Si aucune machine vulnérable à l’exploit SMBv1 n’est détectée (ou que le service n’est pas activé, patché ou pas), la sortie sera vide.
Si une machine à le protocole SMBv1 activé mais qu’il a été patché, la sortie affichera « Could not connect to ‘IPC$’ « .

Mais si une machine vulnérable à l’exploit SMBv1 est détectée (service activé et non patché), voici la sortie que vous allez avoir:

Starting Nmap 7.40 ( https://nmap.org ) at 2017-05-18 12:16 CEST
Nmap scan report for 192.168.0.33
Host is up (0.0013s latency).
PORT    STATE SERVICE
445/tcp open  microsoft-ds
MAC Address: 00:0C:29:E5:8A:29 (VMware)

Host script results:
| smb-vuln-ms17-010:
|   VULNERABLE:
|   Remote Code Execution vulnerability in Microsoft SMBv1 servers (ms17-010)

|     State: VULNERABLE

|     IDs:  CVE:CVE-2017-0143

|     Risk factor: HIGH

|       A critical remote code execution vulnerability exists in Microsoft SMBv1

|        servers (ms17-010)
.
|
|     Disclosure date: 2017-03-14
|     References:
|       https://blogs.technet.microsoft.com/msrc/2017/05/12/customer-guidance-for-wannacrypt-attacks/
|       https://technet.microsoft.com/en-us/library/security/ms17-010.aspx
|_      https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-0143

Nmap done: 1 IP address (1 host up) scanned in 13.61 seconds

 

Et voila, vous savez maintenant le nombre machine Windaube qu’il faut patcher…