Syslog 101
Qu'est-ce que syslog et d'où vient-il ?
Syslog (Protocole de journalisation système) est une méthode pour transmettre des informations système vitales à des systèmes de collecte centralisés. Il permet aux administrateurs de surveiller efficacement l'état et la santé de leurs environnements et applications. Contrairement à SNMP, qui a un cadre plus rigide, Syslog offre une plus grande flexibilité pour surveiller une gamme plus large d'événements et s'adapter à des scénarios moins prévisibles.
Syslog a une longue histoire et a été introduit pour la première fois au monde en 1980 par Eric Allman dans le cadre du projet Sendmail. Il a rapidement gagné en popularité et continue de maintenir un attrait généralisé.
Le RFC 3164 original a été mis à jour en 2001 avec RFC 5424 qui reste la norme utilisée aujourd'hui.
Perspective de Veeam
À partir de la version 12.1, Veeam prend désormais en charge l'envoi de messages syslog. Cette fonctionnalité vous permet d'exporter les journaux Linux vers un collecteur de journaux, facilitant ainsi leur visualisation et leur analyse.
Qu'est-ce qu'un message syslog et à quoi ressemble-t-il ?
Un message Syslog, selon la RFC 5424, comporte de nombreux champs et valeurs :
- PRI (Priorité) : Combinaison de la Facilité et de la Sévérité
- VERSION : Numéro de version du protocole
- TIMESTAMP : Date et heure de l'événement
- HOSTNAME : Nom de l'hôte source
- APP-NAME : Nom de l'application générant le message
- PROCID : ID de processus
- MSGID : Identifiant du type de message
- STRUCTURED-DATA : Paires clé-valeur fournissant un contexte supplémentaire
- MSG : Texte du message en libre format
Cependant, il est important de noter que tous les champs n'ont pas besoin d'être remplis, car certains champs peuvent rester vides ou être omis en fonction du contexte spécifique ou du système de journalisation utilisé. C'est ce qui rend Syslog si attrayant pour les développeurs.
Niveaux de gravité
Syslog présente également une gamme de niveaux de gravité, y compris :
0 Urgence (emerg) : Le système est inutilisable
- Exemple : Panne complète du système, panique du noyau
1 Alerte (alert) : Une action doit être entreprise immédiatement
- Exemple : Corruption de la base de données, perte de la sécurité du système
2 Critique (crit) : Conditions critiques
- Exemple : Panne matérielle, composant d'application indisponible
3 Erreur (err) : Conditions d'erreur
- Exemple : Erreurs d'application, échecs d'opérations de processus
4 Avertissement (warning) : Conditions d'avertissement
- Exemple : Ressource proche de la capacité, dégradation du service
5 Avis (notice) : Conditions normales mais significatives
- Exemple : Démarrages/arrêts de service, changements de configuration
6 Informationnel (info) - Messages d'information
- Exemple : Événements d'opération réguliers, opérations réussies
7 Débogage (debug) : Messages de niveau débogage
- Exemple : Informations détaillées de dépannage, journaux de développement[SB1]
Remarque : Le message visible dans la console peut ne pas contenir ces niveaux de gravité.
Comment un message Syslog est déclenché
Dans cette section, nous expliquons comment déclencher un message Syslog et vérifier sa réception sur un serveur Syslog. En exécutant la commande ‘sudo ls’ sur le serveur Linux podman01, une alerte Syslog est envoyée au serveur Syslog s3tester01. Nous détaillons les informations contenues dans le message Syslog, y compris l'horodatage, le nom d'hôte, l'ID de processus et l'action effectuée. ‘Sudo’ permet à un utilisateur ordinaire d'exécuter temporairement des commandes spécifiques avec des privilèges de superutilisateur (root), plutôt que d'ouvrir une session root complète. Cela signifie que l'utilisateur est limité à l'exécution d'une seule commande à la fois avec des permissions élevées, ce qui aide à maintenir la sécurité du système et déclenche un message de sécurité. De plus, nous couvrons comment vérifier que le message a été reçu sur le serveur Syslog et montrons comment utiliser la commande tail pour surveiller les entrées Syslog en direct.
Dans l'image ci-dessous, nous déclenchons une alerte Syslog qui est envoyée à un serveur Syslog. Nous utilisons sudo pour déclencher un message Syslog sur le serveur podman01 qui est envoyé au serveur Syslog s3tester01.
Dans l'image ci-dessous, la commande ‘sudo ls’ est représentée.

Sur le serveur Syslog S3tester01, nous pouvons voir si le message a été reçu :
‘tail -2 logs.txt’

Le serveur Linux avec le nom d'hôte podman01 envoie le message Syslog suivant indiquant que la commande ‘sudo’ a été effectuée :
Jan 26 17:41:23 podman01 sudo[1435]: pam_unix(sudo:session): session ouverte pour l'utilisateur root(uid=0) par ober(uid=1000)Jan 26 17:28:05 podman01 sshd[1097]: Serveur à l'écoute sur :: port 22.
Nous pouvons déchiffrer ce message comme suit :
- Horodatage : Jan 26 17:41:23
- Nom d'hôte : podman01
- Processus : sudo[1435]
- Message : pam_unix(sudo:session): session ouverte pour l'utilisateur root(uid=0) par ober(uid=1000)
Vous pouvez surveiller les entrées Syslog en direct sur le serveur Syslog récepteur en utilisant la commande tail. Puisque nous dirigeons les messages Syslog entrants vers un fichier nommé logs.txt, j'exécuterais la commande suivante pour afficher les 10 entrées les plus récentes :
‘tail -10 /var/syslog-ng/logs.txt’

Pour surveiller le fichier en temps réel, je peux utiliser cette commande :
‘tail -f /var/syslog-ng/logs.txt’

Comment activer les messages Syslog dans Veeam
Dans cette section, nous allons discuter de la manière d'activer le transfert de messages Syslog dans Veeam, une fonctionnalité introduite dans la version 12.1. En suivant les étapes décrites, vous pouvez configurer le système pour envoyer des messages Syslog à votre serveur choisi, garantissant ainsi une surveillance efficace des activités de sauvegarde et de réplication.
Pour activer le transfert, ouvrez la fenêtre “Options”, puis sélectionnez l'onglet “Transfert d'événements” comme indiqué dans l'image suivante.

Dans le tableau “Serveurs Syslog”, ajoutez votre serveur de réception.
Remarque : Vous ne pouvez ajouter qu'un seul serveur.
Vous avez le choix entre UDP (User Datagram Protocol), TCP (Transmission Control Protocol) ou TLS (Transport Layer Security). Pour garder vos messages Syslog confidentiels, utilisez le chiffrement des messages via TLS.
Dans ce cas, nous allons envoyer nos messages Syslog via UDP à un serveur Syslog à l'adresse IP 192.168.0.180.

Après avoir cliqué sur le bouton “Appliquer”, vous verrez immédiatement ce message :

VBR (Veeam Backup & Replication) envoie un message de test à Syslog confirmant que tout fonctionne comme prévu.
Ensuite, vous recevrez un message Syslog similaire de Veeam :
2025-01-26T12:24:37.035294-05:00 VBR122 Veeam_MP [categoryId=0 instanceId=40001 InstallationId="d465fd95-7e66-4956-b2d2-41938cce5f34" VbrHostName="vbr122" VbrVersion="12.3.0.310" Version="1" Description="Le service Veeam Backup and Replication est connecté à la base de données de configuration : Nom du serveur : localhost:5432 Nom de la base de données : VeeamBackup Authentification : Windows ID d'installation : {d465fd95-7e66-4956-b2d2-41938cce5f34}"]
SIEM
L'envoi et la réception de messages Syslog sont bénéfiques, mais il est impratique de s'attendre à ce que quiconque surveille en continu une ligne de commande. Pour maximiser les avantages de cette configuration, nous devrions utiliser un système de Gestion des Informations et des Événements de Sécurité (SIEM).
Un SIEM collecte, analyse et corrèle efficacement des données provenant de diverses sources, lui permettant de détecter et de répondre aux menaces de sécurité. Il existe de nombreuses solutions SIEM disponibles, à la fois open-source et propriétaires, pour répondre à différents besoins.
Un défi notable lors de l'intégration des messages Syslog avec un SIEM est la nécessité de configurer des alertes et des paramètres adaptés à votre application spécifique. Cependant, si vous choisissez Splunk comme votre SIEM, l'application Veeam peut simplifier considérablement ce processus.
Pour installer l'application Veeam pour Splunk, connectez-vous à votre compte Splunk et téléchargez-la depuis la page des applications.

Ensuite, téléchargez le fichier .tgz dans la section "Gérer les applications" de l'interface Web de Splunk en cliquant sur le bouton "Installer l'application à partir du fichier".

Puis, choisissez votre fichier et cliquez sur le bouton "Télécharger".

Une fois l'application installée, Splunk vous demandera de redémarrer les services. Après vous être connecté, vous trouverez la nouvelle application Veeam prête à l'emploi.

Dans Veeam, nous devons configurer le transfert d'événements Syslog pour diriger les données vers notre serveur Splunk.

Cela générera le premier message dans Splunk.

Nous avons seulement commencé à explorer les éléments essentiels de Syslog et des SIEM, mais je crois que cela constitue une excellente base pour que chacun commence à configurer la messagerie Syslog.
Gardez à l'esprit que vous ne pouvez pas résoudre des problèmes si vous n'êtes pas conscient de leur existence.