Comment déployer un Serveur syslog pour superviser les logs clients sur votre réseau avec CentOS ?

Ça vous dit de savoir combien d’utilisateurs se sont connectés sur votre réseau d’entreprise, d’afficher les heures de connexion, leurs adresses IP en ligne de commande ou par web, enfin de faire votre monitoring réseau ?

C’est que je vais vous montrer dans cet article et l’outil que nous allons utiliser est un serveur SYSLOG.

Chaque entreprise où je suis passé dans le domaine informatique dispose d’un système de supervision de son réseau. Là où j’ai effectué mon premier stage en réseau et télécoms, un local rempli d’écran était dédié à la surveillance avec Nagios.

Pour réaliser une telle surveillance, plusieurs logiciels simples et intégrés dans les systèmes sont mis en évidence : EyesOfNetwork, Centeron, Zabbix, OpenNMS…

serveurs de supervision réseau
Pixabay WilliamsCreativity

C’est un des aspects les plus importantes de la sécurité : contrôler vos équipements et services, alerter votre réseau.

Imaginez qu’on vous recrute comme agent superviseur et qu’un problème survienne sans que vous ayez anticiper les choses. Ce n’est pas du tout reluisant. Il faut mettre votre dispositif à l’avance, observer les évènements et recevoir des alertes à tout moment.

Chaque infrastructure est susceptible de tomber en panne, et les conséquences qui pourront survenir seront désastreuses. Disfonctionnement des systèmes, faillites de l’entreprise, mécontentement des users, blocage des services… pertes de clients. Les incidents peuvent survenir à tout moment, avec des architectures complexes.

Solution de sécurité – serveur syslog

Donc, il est crucial d’avoir un œil sur son infra, ses services et ses équipements, sur leur niveau de fonctionnement, de sécurité et d’utilisation des ressources.

Quel est l’objectif de la supervision réseau ?

technology outils de supervision réseau linux

Quand nous parlons de sécurité, il ne faut jamais oublier la règle d’or : le DIC, la disponibilité, l’intégrité et la confidentialité. Collecter, prévenir, automatiser, faire des rapports pour le bon fonctionnement du système d’information est notre mission en tant que superviseur.

  1. Collecte de données : techniques de récupération;
  2. Stockage de données : analyser, contrôler, alerter, traiter;
  3. Rapport de données : c’est de l’analyse de données.

NB : Il faut toujours documenter tous les incidents pour vous faciliter les tâches.

POURQUOI COLLECTER LES DONNÉES SUR UN SERVEUR SYSLOG ?

  • Voir la congestion du réseau;
  • Vérifier l’état des systèmes;
  • Avoir une vision sur la consommation des ressources ;
  • Analyser le réseau et service;
  • Analyser les taches et les users
  • Analyser les programmes ;

Voici la question qu’on se pose maintenant…

Comment installer et configurer un serveur Syslog sous CentOS 8 pour la centralisation des logs ?

Le but du réseau est le partage des ressources (matérielles & logiciels), favoriser l’accès à distance et la supervision de ces outils. Pour un bon système de monitoring, l’objectif est de faire une journalisation, une observation de tout ce qui se passe à votre domicile.

Alors, pour installer et configurer notre serveur Syslog sous Linux, utilisons un serveur CentOS 8 (à télécharger) que nous allons configurer afin de faire une journalisation, une centralisation des logs. Vous pouvez certainement le faire sous Windows.

Voyons maintenant le sommaire.

  1. Introduction
  2. C’est quoi un syslog ?
  3. Installation de rsyslog
  4. Configuration du serveur syslog
  5. Configuration du protocole UDP & TCP
  6. Configuration du client syslog
  7. Vérification

Notre tâche est de pouvoir centraliser toutes les applications et tous les équipements. Les machines clientes vont envoyer leurs logs sur un système qui va les centraliser, les stocker sur un endroit qui sera commun à tous les utilisateurs.

Pourquoi on veut centraliser des logs ?

C’est tout simplement qu’avec le stockage en local nous pouvons avoir des problèmes quand par exemple notre serveur crash! Dans ce cas nous n’aurons absolument aucune information.

Chaque système qu’il soit Windows ouvre Linux enregistre un ensemble d’événements pendant le processus d’exploitation. Ces événements peuvent être journalisés, exportés dans un serveur externe appelé serveur syslog.

Vous vous rendrez compte que cette activité permettra à des entreprises qui ne disposent pas d’un large espace de stockage d’exporter cette tâche de journalisation vers un élément externe.

Si nous n’avions pas de journaux, nous ne pourrions pas regarder ce qui s’est passé et du coup nous serions dans l’impossibilité de retracer un événement et de retracer les crashs. Ce qui serait dommage !

Avec la centralisation des logs, même si le serveur crash, nous serions en mesure de pouvoir comme je l’ai dit récupérer des informations après le crash.

Cela va être bénéfique et sécuritaire, vous allez pouvoir récupérer les erreurs, des activités sur le serveur Syslog en temps de fonctionnement. C’est extrêmement fondamental !

Place à la pratique ! J’espère que vous avez déjà installé CentOS 8 sur votre machine. Utilisez pour cela un virtualiseur ESXI ou comme je l’ai fait en installant Elastix pour les appels VOIP gratuits.

Installation de rsyslog sous Linux CentOS 8

Nous allons installer le package via cette commande :

dnf -y install rsyslog

D’autre commandes au cas où :

$ sudo yum install rsyslog

N’oubliez pas de faire la mise à jour dès après l’installation de CentOS 8 avec cette commande.

$ yum update -y

Si vous êtes sous Ubuntu, voici la commande appopriée :

$ apt install rsyslog

installation syslog sous linux centOs
Installer rsyslog sous terminal CentOS 8

Configuration du serveur Syslog sous Cent0S 8

Je pense que vous savez déjà mais petite piqûre de rappel. En matière de communication et de transport des paquets sur le réseau, il faut passer par les protocoles. De ce fait, deux protocoles entre un jeu dans notre centralisation des logs : le protocole UDP et le protocole TCP, notre Syslog par défaut, écoute via le port 514.

Dans notre configuration, nous allons paramétrer le service Rsyslog pour écouter les flux de journaux entrants sur les deux protocoles avec le port 514 : TCP et UDP. On peut activer d’autres écouteurs pour d’autres fonctionnalités d’écoutes de messages.

Ajoutez les lignes suivantes à un nouveau fichier nommé /etc/rsyslog.d/server.conf

Pour modifier le fichier, tapez vim /etc/rsyslog.conf

Activer le service rsyslog sous linux

Utilisez systemctl pour activer le service Rsyslog.

$ systemctl enable rsyslog.service

Configuration du protocole UDP & TCP

fichier syslog sous centOS
Fichier rsyslog linux

Pour le UDP, vous devez décommenter ces 2 lignes en enlevant le #:

$ ModLoad imudp
$ UDPServerRun 514

Même chose pour le TCP

$ ModLoad imtcp
$ InputTCPServerRun 514

On va alors redémarrer le service syslog via cette commande :

systemctl redémarrer rsyslog

Configuration du client Syslog

Dès que la configuration du serveur est terminée, il faut s’attaquer à celle du client. Pour cela, procédez comme suit en tapant cette commande qui permet l’installation du package :

yum -y install rsyslog

Encore une fois, l’installation terminée on va configurer le service via un fichier.

Après on va faire des vérifications sur le port 514.

netstat -antup | grep 514

D’abord on redémarre le service, configurer le firewall sur le serveur.

Pour TCP
firewall-cmd --permanent --add-port = 514 / tcp 
firewall-cmd --reload

Pour UDP

firewall-cmd --permanent --add-port = 514 / udp 
firewall-cmd --reload

Pour ce faire modifiez ce fichier : vim /etc/rsyslog.conf

Puis on va fixer l’adresse IP du serveur dans le fichier :

*.* @10.0.2.10:514
*.* @@10.0.2.10:514

Enfin, le moment de vérité. Il faut vérifier la journalisation des messages sur votre serveur.

 tail -f / var / log / messages
Afficher les messages logs sur syslog

Voilà, toute cette tâche s’effectue en ligne de commande. On peut installer un accès par Web qui est plus convivial si vous le souhaitez ? Cela pourra faire l’objet d’un nouvel article ou une vidéo sur ma chaine YouTube.

Nous allons installer :

  • Le HTTP, Apache, MySQl et PHP
  • Un LogAnalyser (interface Web vers Syslog et connectée à la base de données)

conclusion

Vous avez compris que Syslog offre de la flexibilité et permet de séparer complètement la génération de messages, le stockage des messages et l’analyse des messages. Les données de journal sont non seulement utiles aux ingénieurs système et réseau, mais elles sont également utiles aux ingénieurs sécurité. 

L’objectif est de permettre aux analystes et ingénieurs systèmes d’identifier et de minimiser les problèmes liés au réseau et à la sécurité en temps réel.

Liens utiles sur le serveur Syslog

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *