Vous êtes sur la page 1sur 19

Tester Par : Mohammed Lionel TCHINDA TEPONNO Mise à jour : 19/12/2020

Editer par : Computingforgeek.com

INSTALLATION ET CONFIGURATION DE L'OUTIL DE SURVEILLANCE ICINGA2 SUR

UBUNTU 20.04

La quintessence d'être au sommet de votre infrastructure est lorsque vous savez pourquoi,
quand et comment les détails cardinaux d'un appareil ou de tout service critique changent
d'une manière qui attire l'attention. Une surveillance suffisante des ressources de base au
sein de votre organisation libère le fardeau de la peur, des conjectures et de la panique et le
remplace par une correction systématique, organisée et informée en cas de situation étrange
ou catastrophique. Cela peut à peine être réalisé sans outils entre les mains des
administrateurs et des gardiens de l'infrastructure. Un de ces outils qui peut décorer le
support et la maintenance quotidiens des serveurs et des services qui y sont exécutés est
Icinga.

À partir de sa riche page Web, Icinga est un système de surveillance qui vérifie la disponibilité
de vos ressources réseau, avertit les utilisateurs des pannes et génère des données de
performance pour le reporting. Il a été développé avec l'évolutivité et l'extensibilité à l'esprit.
Icinga peut surveiller des environnements vastes et complexes sur plusieurs sites grâce à la
surveillance distribuée. Pour tirer parti de ce produit de surveillance, je vais vous expliquer de
manière détaillé comment mettre en place Icinga 2 et Icinga Web 2 sur Ubuntu 20.04 (Focal
Fossa).

1
SECURITE DES SYSTEMES D’INFORMATION
Figure 1.1 Principe de fonctionnement d’Icinga 2

Infosec : ICINGA 2 est le serveur de surveillance et nécessite Icinga Web 2 sur le dessus pour
avoir une vue claire, pratique et confortable de ce qui se passe sous le capot via votre
navigateur. La configuration peut être facilement gérée avec Icinga Director , des outils de
gestion de configuration ou du texte brut dans le DSL Icinga . Je vais commencer par faire
monter Icinga 2 et ronronner.

Étape 1: installer et configurer Icinga 2 sur Ubuntu 20.04

Cette étape reprendra le fardeau de l'installation étape par étape de Icinga 2.

Étape 1: Mettez à jour et installez les applications essentielles

Nous partirons d'un serveur propre et bien mis à jour avec le dernier logiciel.

$sudo apt update && sudo apt upgrade

 Installez les applications essentielles dont nous aurons besoin tout au long du
processus d'installation.

$sudo apt install -y vim apt-transport-https wget gnupg

2
SECURITE DES SYSTEMES D’INFORMATION
Étape 2: Ajouter le référentiel de packages Icinga

Vous devrais ajouter le référentiel Icinga à notre configuration de gestion de paquet serveur
comme indiqué ci-dessous.

$wget -O - https://packages.icinga.com/icinga.key | sudo apt-key add -


. /etc/os-release; if [ ! -z ${UBUNTU_CODENAME+x} ]; then DIST="${UBUNTU_CODENAME}";
else DIST="$(lsb_release -c| awk '{print $2}')"; fi;

$echo "deb https://packages.icinga.com/ubuntu icinga-${DIST} main" | sudo tee


/etc/apt/sources.list.d/${DIST}-icinga.list

$echo "deb-src https://packages.icinga.com/ubuntu icinga-${DIST} main" | sudo tee -a


/etc/apt/sources.list.d/${DIST}-icinga.list

 Mettez ensuite à jour le serveur pour obtenir les packages du référentiel


nouvellement ajouté.

$sudo apt update

Étape 3: Installez Icinga2 sur Ubuntu 20.04

 Maintenant que nous avons le référentiel officiel Icinga, nous pouvons installer Icinga
2 en utilisant le gestionnaire de paquets apt pour obtenir le paquet icinga2 comme ci-
dessous.

$sudo apt install icinga2 -y

Étape 4: Configuration des plugins de vérification

Sans plugins, Icinga 2 ne sait pas comment vérifier les services externes. Le Monitoring
Plugins Project fournit un ensemble complet de plugins qui peuvent être utilisés avec Icinga 2
pour vérifier si les services fonctionnent correctement. La méthode recommandée pour
installer ces plugins standards est d'utiliser le gestionnaire de paquets d'Ubuntu comme
indiqué ci-dessous.

$sudo apt install monitoring-plugins -y

 Une fois que cela est fait, démarrez et activez icinga2

$sudo systemctl enable --now icinga2

3
SECURITE DES SYSTEMES D’INFORMATION
 Et vérifiez son statut

$systemctl status icinga2

● icinga2.service - Icinga host/service/network monitoring system


Loaded: loaded (/lib/systemd/system/icinga2.service; enabled; vendor preset: enabled)
Drop-In: /etc/systemd/system/icinga2.service.d
└─limits.conf
Active: active (running) since Wed 2020-07-15 12:33:17 EAT; 3min 53s ago
Main PID: 42856 (icinga2)
Tasks: 8
Memory: 13.3M
CGroup: /system.slice/icinga2.service

Étape 5: Installation de MySQL | MariaDB et configuration de DB IDO MySQL

La fonction Database Icinga Data Output (DB IDO) pour Icinga 2 se charge d'exporter toutes
les informations de configuration et d'état dans une base de données. Installons MariaDB et
la sortie de données Database Icinga.

Heureusement, nous avons déjà mis un lien en annexe qui vous expliquera comment installer
MariaDB 10.5 sur Ubuntu 20.4.

 Après cela, installez DB IDO comme ci-dessous.

$sudo apt install icinga2-ido-mysql -y

Vous verrez des invites lors de l'installation, choisissez « <Oui> » dans la première.

Dans la deuxième invite, choisissez « <Non> » car nous avons déjà installé et configuré la base
de données.

4
SECURITE DES SYSTEMES D’INFORMATION
 Ensuite, créez une base de données et un utilisateur pour Icinga2. Vous êtes libre de
nommer votre base de données et votre utilisateur différemment et de vous assurer
d'utiliser un mot de passe sûr.

$ mysql -u root -p

MariaDB [(none)]> CREATE DATABASE icinga;


MariaDB [(none)]> GRANT SELECT, INSERT, UPDATE, DELETE, DROP, CREATE VIEW, INDEX,
EXECUTE ON icinga.* TO 'icinga'@'localhost' IDENTIFIED BY 'icinga';
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> quit

 Après avoir créé la base de données, vous pouvez importer le schéma Icinga 2 IDO à
l'aide de la commande suivante. Entrez le mot de passe root dans l'invite lorsque vous
y êtes invité et donnez-lui du temps pour terminer.

$ mysql -u root -p icinga < /usr/share/icinga2-ido-mysql/schema/mysql.sql


Enter password: <Enter-your-root-password>

Étape 6: Activez le module IDO MySQL

Le paquet fournit un nouveau fichier de configuration qui est installé dans


/etc/icinga2/features-available/ido-mysql.conf. Mettez à jour les informations d'identification
de la base de données dans ce fichier.

$ sudo vim /etc/icinga2/features-available/ido-mysql.conf

/**
* The db_ido_mysql library implements IDO functionality
* for MySQL.
*/

library "db_ido_mysql"

object IdoMysqlConnection "ido-mysql" {

5
SECURITE DES SYSTEMES D’INFORMATION
user = "icinga",
password = "icinga",
host = "localhost",
database = "icinga"
}

Ensuite, activez le fichier de configuration de la fonctionnalité ido-mysql à l'aide de l'activation


de la fonctionnalité icinga2 comme suit:

$sudo icinga2 feature enable ido-mysql


Enabling feature ido-mysql. Make sure to restart Icinga 2 for these changes to take effect

 Redémarrez Icinga 2 comme conseillé.

$sudo systemctl restart icinga2

Étape 7: Configuration de l'API REST Icinga 2

Icinga Web 2 et d'autres interfaces Web nécessitent que l'API REST envoie des actions
(vérification de replanification, etc.) et interroge les détails des objets. Étant important, nous
devons activer l'API.

 Activez la fonctionnalité api en utilisant la commande icinga2 cli comme ceci:

$sudo icinga2 api setup

Un exemple de sortie lorsque la commande ci-dessus est exécutée est illustré ci-dessous

information/cli: Generating new CA.


information/base: Writing private key to '/var/lib/icinga2/ca//ca.key'.
information/base: Writing X509 certificate to '/var/lib/icinga2/ca//ca.crt'.
information/cli: Generating new CSR in '/var/lib/icinga2/certs//ubuntu-20.04-amd64.csr'.
information/base: Writing private key to '/var/lib/icinga2/certs//ubuntu-20.04-amd64.key'.
information/base: Writing certificate signing request to '/var/lib/icinga2/certs//ubuntu-20.04-
amd64.csr'.
information/cli: Signing CSR with CA and writing certificate to '/var/lib/icinga2/certs//ubuntu-
20.04-amd64.crt'.
information/pki: Writing certificate to file '/var/lib/icinga2/certs//ubuntu-20.04-amd64.crt'.
information/cli: Copying CA certificate to '/var/lib/icinga2/certs//ca.crt'.
information/cli: Adding new ApiUser 'root' in '/etc/icinga2/conf.d/api-users.conf'.
information/cli: Reading '/etc/icinga2/icinga2.conf'.
information/cli: Enabling the 'api' feature.
Enabling feature api. Make sure to restart Icinga 2 for these changes to take effect.
information/cli: Updating 'NodeName' constant in '/etc/icinga2/constants.conf'.
information/cli: Created backup file '/etc/icinga2/constants.conf.orig'.
information/cli: Updating 'ZoneName' constant in '/etc/icinga2/constants.conf'.
information/cli: Backup file '/etc/icinga2/constants.conf.orig' already exists. Skipping backup.

6
SECURITE DES SYSTEMES D’INFORMATION
 La commande ci-dessus activera non seulement la fonction api, mais configurera des
certificats et une nouvelle racine d'utilisateur API avec un mot de passe généré
automatiquement dans le fichier de configuration /etc/icinga2/conf.d/api-users.conf.
 Modifiez le fichier /etc/icinga2/conf.d/api-users.conf et ajoutez un nouvel objet
ApiUser sous celui généré automatiquement et spécifiez l'attribut permissions avec les
permissions minimales requises par Icinga Web 2.

$ sudo vim /etc/icinga2/conf.d/api-users.conf

object ApiUser "icingaweb2" {


password = "Wijsn8Z9eRs5E25d"
permissions = [ "status/query", "actions/*", "objects/modify/*", "objects/query/*" ]
}

Notez que cette API sera à l'écoute sur le port 5665 par défaut.

Une capture d'écran de l'ensemble du fichier de configuration est partagée ci-dessous pour
plus de clarté

 Redémarrez Icinga 2 pour activer la nouvelle configuration effectuée.

$sudo systemctl restart icinga2

Étape 2: Configuration d'Icinga Web 2

Icinga 2 peut être utilisé avec Icinga Web 2 et une variété de modules pour augmenter
l'expérience de surveillance. Cette partie explique comment configurer Icinga Web 2.

Étape 1: Ajouter un référentiel de packages

La manière préférée d'installer Icinga Web 2 est d'utiliser le référentiel de paquets officiel.
Notez que si vous installez Icinga Web 2 sur le même serveur qu’Icinga 2, il n'est pas
nécessaire d'ajouter à nouveau les référentiels. D'autre part, si vous avez l'intention d'installer
Icinga Web 2 sur un serveur Ubuntu 20.04 distinct, vous devrez alors effectuer l’étape 1 et 2
de la configuration d'Icinga 2 étape 1 ci-dessus.

7
SECURITE DES SYSTEMES D’INFORMATION
Étape 2: Installez Icinga Web 2

Nous utiliserons le gestionnaire de paquets apt pour récupérer et installer le paquet


icingaweb2. Voici la commande que nous allons exécuter pour accomplir cela. Vous noterez
des packages supplémentaires icingacli et libapache2-mod-php. libapache2-mod-php est cool
pour Ubuntu car il permet à Icinga Web 2 de fonctionner directement sans toucher à PHP
FPM. De plus, votre serveur Web devrait être opérationnel après l'installation de Icinga Web
2. Ceci est uniquement dans l'installation Ubuntu | Debian.

$sudo apt install icingaweb2 libapache2-mod-php icingacli -y

Étape 3: préparation de la configuration Web

Pour préparer la configuration Web, nous devrons créer manuellement une base de données
et un utilisateur de base de données. Si vous êtes sur un serveur séparé, vous devrez installer
MariaDB | MySQL pour cette partie. Si vous êtes sur le même serveur, ignorez cette étape
puis que je l’ai déjà installé en amont et ajoutez l'utilisateur de la base de données.

$mysql -u root -p

MariaDB [mysql]> CREATE DATABASE icingaweb2;


MariaDB [mysql]> GRANT ALL ON icingaweb2.* TO icingaweb2@localhost IDENTIFIED BY
'StrongPassword';
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> quit

 Une fois que vous avez terminé, nous continuerons à configurer Icinga Web 2
rapidement et facilement avec l'assistant de configuration Icinga Web 2 qui est
disponible la première fois que vous visitez Icinga Web 2 dans votre navigateur. Lorsque
vous utilisez la configuration Web, vous devez vous authentifier à l'aide d'un jeton. Afin
de générer un jeton, nous utiliserons l'outil icingacli disponible pour nous comme
indiqué ci-dessous.

$sudo icingacli setup token create


The newly generated setup token is: 47cd8e45837e8db0

 Vous pouvez plus tard afficher le jeton en utilisant le icingacli:

$sudo icingacli setup token show

 Si vous avez un pare-feu, autorisez les ports 80 ou 443 (si vous utilisez https)

$sudo ufw allow http

8
SECURITE DES SYSTEMES D’INFORMATION
Étape 4: Démarrage de la configuration Web

Enfin, visitez Icinga Web 2 dans votre navigateur pour accéder à l'assistant de configuration et
terminer l'installation: http: // [nom-de-domaine-ou-adresse-ip] / icingaweb2 / setup.

Cela lancera l'interface Web où nous terminerons la configuration d'Icinga Web 2. Dans la
première page illustrée ci-dessous, il vous sera demandé de saisir le jeton que nous avons
créé à l'étape juste avant cela. Copiez votre jeton et collez-le puis cliquez sur « Suivant»

 MODULES

La page deux vous invite à activer les autres modules que l'équipe Icinga a mis en place. Si
vous les trouvez utiles, activez-les simplement puis cliquez sur « Suivant » pour l'étape
suivante.

9
SECURITE DES SYSTEMES D’INFORMATION
 MODULES PHP

La page qui suit vous montre les modules PHP disponibles et ceux qui manquent. Cliquez sur «
Suivant».

 CONFIGURER LE TYPE D'AUTHENTIFICATION

Ce qui vient ensuite est de choisir le type d'authentification que vous utiliserez. Si vous avez
une implémentation LDAP ou souhaitez utiliser Database, choisissez ici celle qui répondra à
vos besoins dans la liste déroulante. Appuyez sur " Suivant " une fois terminé.

10
SECURITE DES SYSTEMES D’INFORMATION
 CONFIGURER LA BASE DE DONNEES | LDAP

En fonction de ce que vous avez sélectionné à l'étape précédente, un formulaire vous sera
présenté pour remplir les détails dont Icinga Web 2 a besoin pour authentifier les utilisateurs.
Dans cette demonstration on utilisera Database. Entrez les détails de la base de données que
nous avons saisis à l'étape 3 Étape 2. Une fois que vous avez terminé, vous pouvez cliquer sur
« Valider la configuration » pour vérifier si les détails que vous avez saisis sont corrects.
Cliquez sur « Suivant » lorsque vous avez terminé.

Le message affiché une fois validé est comme illustré ci-dessous

 BACKEND D'AUTHENTIFICATION

11
SECURITE DES SYSTEMES D’INFORMATION
La page suivante vous demandera de donner un nom à votre backend.

 AJOUTER UN UTILISATEUR ADMINISTRATIF

Ensuite, nous ajouterons un utilisateur administratif que nous utiliserons pour nous connecter
à Icinga web 2 une fois l'installation terminée, c'est via ce compte que nous pourrons
également en créer d'autres.

 CONFIGURATION DE L'APPLICATION

Ici, ajustez toutes les options de configuration liées à l'application et à la journalisation en


fonction de vos besoins, puis cliquez sur « Suivant »

12
SECURITE DES SYSTEMES D’INFORMATION
 REVUE DES CONFIGURATIONS EFFECTUEES

À ce stade, nous avons configuré avec succès Icinga Web 2. Il nous suffit de confirmer nos
paramètres avant de le configurer. Si tout est beau et bon, cliquez sur « Suivant ».

 CONFIGURATION DU MODULE DE SURVEILLANCE

Le module de surveillance offre diverses vues d'état et de rapport avec de puissantes


capacités de filtrage qui vous permettent de suivre les événements les plus importants de
votre environnement de surveillance. Cliquez sur « Suivant » pour démarrer la configuration
du module de surveillance.

13
SECURITE DES SYSTEMES D’INFORMATION
 CONFIGURER LE BACKEND DE SURVEILLANCE

Cela guidera Icinga 2 sur la manière dont il doit récupérer les informations de surveillance.

 SURVEILLANCE DES RESSOURCES IDO

Remplissez les détails de connexion ci-dessous pour accéder à la base de données IDO que
nous avons configurée à l'étape 5, étape 1. Validez les paramètres, puis cliquez sur « Suivant
».

14
SECURITE DES SYSTEMES D’INFORMATION
Après une validation appropriée, vous devriez voir un message de réussite comme celui-ci.
Cliquez sur « Suivant» pour avancer.

 TRANSPORT DE COMMANDE

C'est là que l'API que nous configurons à l'étape 1, étape 7, est utilisée à bon escient. Entrez
les détails que vous avez définis dans votre environnement dans le formulaire. Pour rappel,
les configurations de cette démonstration étaient les suivantes:

object ApiUser "icingaweb2" {


password = "Wijsn8Z9eRs5E25d"
permissions = [ "status/query", "actions/*", "objects/modify/*", "objects/query/*" ]
}

Une fois la saisie des informations d'identification terminée, cliquez sur « Valider » pour
vérifier si tout a été configuré correctement.

15
SECURITE DES SYSTEMES D’INFORMATION
 SURVEILLANCE DE LA SECURITE

Pour protéger votre environnement de surveillance contre les regards indiscrets, veuillez
remplir les paramètres ci-dessous.

16
SECURITE DES SYSTEMES D’INFORMATION
 EXAMEN FINAL DU MODULE DE SURVEILLANCE

Vous pouvez passer en revue les modifications censées être apportées avant de terminer la
configuration à cette étape. Il est conseillé de ne pas hésiter à revenir en arrière pour
apporter des corrections. Sinon, si tout semble joli, cliquez sur « Terminer » ci-dessous et vous
devriez recevoir le message « Icinga Web 2 a été configuré avec succès ».

Cliquez sur « Connexion à Icinga Web 2 » pour commencer votre parcours de surveillance avec
Icinga. Les captures d'écran suivantes montrent les parties restantes de la route.

Cela vous mènera dans les bras de la «page de connexion». Entrez l'utilisateur administratif
que nous avons créé précédemment et nous devrions être conduits via la porte principale.

17
SECURITE DES SYSTEMES D’INFORMATION
Nous sommes enfin arrivés à la fin du guide de suivi Icinga. Cela fait longtemps mais nous y
sommes enfin. La nôtre est de vous remercier de votre visite, de votre soutien et d'être resté
jusqu'à la fin.

Note : Ce document est strictement à utiliser à des fins éducatifs, pour la communauté cyber sécurité
mais éventuellement pour un déploiement dans le but de sécurisé vos systèmes d’information.

18
SECURITE DES SYSTEMES D’INFORMATION
ANNEXE
https://icinga.com/docs/icinga-2/latest/
https://icinga.com/get-started/download/
https://github.com/Icinga/icinga2/releases
https://translate.googleusercontent.com/translate_c?depth=1&hl=fr&prev=search&pto=aue
&rurl=translate.google.fr&sl=en&sp=nmt4&u=https://computingforgeeks.com/how-to-install-
mariadb-on-ubuntu-focal-fossa/&usg=ALkJrhh5Noedz31vlxNA2hDOnSks4yzHow

19
SECURITE DES SYSTEMES D’INFORMATION

Vous aimerez peut-être aussi