TP de Supervision avec Nagios

TP : Déploiement d'un environnement avec supervision Nagios

1. Introduction et objectifs du TP

L'objectif de ce TP est de :


2. Topologie réseau et configuration des IP

2.1 Pare-feu (PF)

Les règles du pare-feu devront :

2.2 RSYSLOG (sur le LAN)

2.3 SRV-WEB (en DMZ)

2.4 PC-CLIENT (sur le LAN)

2.5 NAGIOS (sur le LAN)


3. Installation et configuration des services

3.1 Installation de WordPress sur SRV-WEB

Installer Apache, MariaDB et PHP :

sudo apt update
sudo apt install apache2 mariadb-server php php-mysql libapache2-mod-php

Sécuriser MariaDB :

sudo mysql_secure_installation

Créer la base de données WordPress :

sudo mysql -u root -p

CREATE DATABASE wordpress_db;
CREATE USER 'wp_user'@'localhost' IDENTIFIED BY 'votre_mot_de_passe';
GRANT ALL PRIVILEGES ON wordpress_db.* TO 'wp_user'@'localhost';
FLUSH PRIVILEGES;
EXIT;

Installer WordPress :

Configurer Apache pour pointer vers wordpress comme VirtualHost si nécessaire.

Vérifier l'accessibilité de WordPress via l'URL (http://10.10.20.2/wordpress par exemple).

3.2 Installation de Nagios XI 2024 sur NAGIOS

Préparer le serveur :

sudo apt update
sudo apt install wget curl -y

Télécharger le package Nagios XI 2024 depuis le site officiel ou via un script fourni par Nagios (les étapes exactes peuvent varier selon la version).

Décompresser et exécuter le script d'installation :

tar xzf nagiosxi-2024*.tar.gz
cd nagiosxi-2024/
sudo ./fullinstall

3.3 Installation de rsyslog sur RSYSLOG

Sur Debian, rsyslog est souvent déjà installé. Sinon :

sudo apt update
sudo apt install rsyslog

Vérifier que le service est actif :

systemctl status rsyslog

Configurer éventuellement la réception de logs distants (optionnel selon vos besoins).


4. Configuration de la supervision Nagios

Nous allons déployer les sondes suivantes sur NAGIOS. Chaque hôte (PF, RSYSLOG, SRV-WEB, PC-CLIENT, NAGIOS lui-même) doit être monitoré selon les sondes listées.

4.1 Principe général


5. Documentation technique des sondes

Vous trouverez ci-dessous la liste détaillée de toutes les sondes à configurer, classées par équipement. Chaque sonde est documentée avec les informations suivantes :

5.1 PC-CLIENT (Windows)

Nom de la sonde Objectif Seuils W/C Action en cas d'anomalie
1 CPU 1min Vérifier la charge CPU moyenne sur 1 min WARNING : 70% / CRITICAL : 90% Vérifier les processus gourmands. Fermer l'application incriminée.
2 DISK (C:\) Vérifier l'espace disponible sur C:\ WARNING : 70% / CRITICAL : 80% Libérer de l'espace, archiver/supprimer des fichiers inutiles.
3 RAM 1min Vérifier l'utilisation de la RAM sur 1 min WARNING : 70% / CRITICAL : 85% Vérifier les processus, augmenter la RAM si nécessaire.

5.2 RSYSLOG (Debian)

Nom de la sonde Objectif Seuils W/C Action en cas d'anomalie
1 CPU 15min Surveiller la charge CPU moyenne sur 15 min WARNING : 50% / CRITICAL : 70% Analyser les processus, vérifier la charge sur la durée.
2 CPU 5min Surveiller la charge CPU moyenne sur 5 min WARNING : 60% / CRITICAL : 80% Idem ci-dessus, examiner la montée en charge plus courte.
3 CPU 1min Surveiller la charge CPU moyenne sur 1 min WARNING : 70% / CRITICAL : 90% Intervention plus rapide : stopper un service incriminé si besoin.
4 DISK / Vérifier l'espace disque racine (/) WARNING : 70% / CRITICAL : 85% Archiver/supprimer des logs ou fichiers inutiles, augmenter la partition.
5 USERS (root) Vérifier qu'il n'y a pas plus d'une session root simultanée > 1 connexion root Vérifier si un autre administrateur n'est pas connecté ou s'il y a un souci sécurité.

5.3 SRV-WEB (Debian + WordPress)

Nom de la sonde Objectif Seuils W/C Action en cas d'anomalie
1 CPU 15min Charge CPU moyenne sur 15 min WARNING : 50% / CRITICAL : 70% Vérifier si un grand nombre de requêtes web sur la durée.
2 CPU 5min Charge CPU moyenne sur 5 min WARNING : 60% / CRITICAL : 80% Idem, contrôle sur une période plus courte.
3 CPU 1min Charge CPU moyenne sur 1 min WARNING : 70% / CRITICAL : 90% Intervention d'urgence si la charge dépasse 90%.
4 DISK / Espace disponible sur la racine (/) WARNING : 70% / CRITICAL : 90% Vérifier logs Apache, logs applicatifs, base de données.
5 HTTPD 1min Vérifier si Apache tourne (service httpd ou apache2) Service up/down Redémarrer le service si down, analyser les logs d'erreur.
6 INDEX 1min Vérifier l'accessibilité de la page index.php (WordPress) HTTP 200 (ou code 2xx) attendu Vérifier la config Apache, le VHost, le code WordPress s'il y a un souci.
7 MARIADB 1min Vérifier si MariaDB tourne Service up/down Redémarrer le service si down, vérifier logs MySQL.
8 RAM 1min Vérifier l'utilisation de la RAM WARNING : 70% / CRITICAL : 85% Optimiser les services, augmenter la RAM ou vérifier la conf MySQL/Apache.
9 USERS (root) Vérifier le nombre de sessions root > 1 connexion root Vérifier qu'il n'y a pas d'accès non autorisé.

5.4 NAGIOS (Debian + Nagios XI 2024)

Note : Nagios se surveille lui-même.

Nom de la sonde Objectif Seuils W/C Action en cas d'anomalie
1 CPU 15min Charge CPU moyenne sur 15 min WARNING : 50% / CRITICAL : 70% Vérifier la charge, trop de checks simultanés ?
2 CPU 5min Charge CPU moyenne sur 5 min WARNING : 60% / CRITICAL : 80% Réduire la fréquence de checks si surcharge.
3 CPU 1min Charge CPU moyenne sur 1 min WARNING : 70% / CRITICAL : 90% Vérifier si un pic anormal, stopper les checks non critiques.

5.5 PF (Pare-feu)

Les sondes CPU et DISK sur un pare-feu peuvent varier selon qu'il s'agisse d'un OS dédié (pfsense, ipfire) ou d'un Linux. Adaptez selon votre pare-feu. Ici, on considère un firewall Linux.

Nom de la sonde Objectif Seuils W/C Action en cas d'anomalie
1 CPU 15min Surveiller la charge CPU moyenne sur 15 min WARNING : 50% / CRITICAL : 70% Vérifier règles iptables, logs, etc.
2 CPU 5min Surveiller la charge CPU moyenne sur 5 min WARNING : 60% / CRITICAL : 80% Vérifier les services, potentiels scans, tentatives d'intrusion.
3 CPU 1min Surveiller la charge CPU moyenne sur 1 min WARNING : 70% / CRITICAL : 90% Action rapide : bloquer des IP malveillantes si besoin.
4 DISK / Vérifier la partition racine du pare-feu (/) WARNING : 70% / CRITICAL : 85% Archiver logs, déplacer ou supprimer des fichiers temporaires.
5 USERS (root) Vérifier qu'il n'y a pas plus d'une session root simultanée > 1 connexion root Vérifier une intrusion possible, couper immédiatement la session suspecte.

6. Tableau récapitulatif (Serveurs/Postes, Sondes, Paramètre)

Afin d'avoir une vision globale, voici un tableau listant chaque équipement, la sonde et le paramètre technique à surveiller (seuils, intervalle, etc.).

Serveur/PC Sonde Paramètre
PC-CLIENT CPU (1min) WARNING : 70%, CRITICAL : 90%
DISK C:\ WARNING : 70%, CRITICAL : 80%
RAM (1min) WARNING : 70%, CRITICAL : 85%
RSYSLOG CPU (15min, 5min, 1min) 15min : W=50%/C=70% ; 5min : W=60%/C=80% ; 1min : W=70%/C=90%
DISK / WARNING : 70%, CRITICAL : 85%
USERS (root) > 1 connexion root
SRV-WEB CPU (15min, 5min, 1min) 15min : W=50%/C=70% ; 5min : W=60%/C=80% ; 1min : W=70%/C=90%
DISK / WARNING : 70%, CRITICAL : 90%
HTTPD (1min) Service up/down
INDEX (1min) Vérifier http:///wordpress/index.php - code 200
MARIADB (1min) Service up/down
RAM (1min) WARNING : 70%, CRITICAL : 85%
USERS (root) > 1 connexion root
NAGIOS CPU (15min, 5min, 1min) 15min : W=50%/C=70% ; 5min : W=60%/C=80% ; 1min : W=70%/C=90%
PF CPU (15min, 5min, 1min) 15min : W=50%/C=70% ; 5min : W=60%/C=80% ; 1min : W=70%/C=90%
DISK / WARNING : 70%, CRITICAL : 85%
USERS (root) > 1 connexion root

7. Conseils d'organisation et validations

Ordre de réalisation :

Tests et validation :


Conclusion

À la fin de ce TP, vos stagiaires auront :

Cela leur donnera un aperçu très complet de la mise en œuvre d'une infrastructure professionnelle supervisée.


⬆️ Retour en haut de la page