Centraliser les logs des switchs sur un serveur Linux avec rsyslog

Publié le par Kachallah Abagana Mahamat

Dans un environnement réseau professionnel, il est essentiel de centraliser les journaux système (logs) pour faciliter la supervision, l’audit et la détection d’incidents.
Cet article te guide pas à pas pour configurer un serveur de logs (Syslog Server) sous Linux avec rsyslog, et y centraliser les logs de tes équipements réseau (comme les switchs ou NAS Synology).
 

⚙️ Partie 1 : Installation et configuration de rsyslog

1️⃣ Vérification et installation de rsyslog

Le service rsyslog est souvent déjà présent sur Ubuntu/Debian. Pour vérifier :

# rsyslogd -v
 

Sinon, installe rsyslog :

# apt update

 

# apt install rsyslog -y

Vérifie ensuite son état :

# systemctl status rsyslog

S’il n’est pas actif, lance-le et active-le au démarrage :

# systemctl start rsyslog

 

# systemctl enable rsyslog

2️⃣ Configuration de base du serveur rsyslog

Ouvre le fichier principal de configuration :

# nano /etc/rsyslog.conf
 

Dans ce fichier, assure-toi que la réception de logs réseau est activée.
Cherche (et décommente si besoin) les lignes suivantes :

module(load="imudp")
input(type="imudp" port="514")

module(load="imtcp")
input(type="imtcp" port="514")


Ces directives permettent d’accepter des logs via UDP et TCP sur le port 514 — le port standard de Syslog.

Enregistre et ferme, puis redémarre le service :

# systemctl restart rsyslog

Tu peux vérifier que le port est bien ouvert :

# netstat -tulpn | grep 514
3️⃣ Test de réception de logs

Pour vérifier que rsyslog fonctionne correctement, envoie un message de test :

Puis visualise les journaux récents :

# tail -f /var/log/syslog

Tu devrais voir ton message apparaître !

📂 Partie 2 : Séparation des logs par source

L’un des avantages de rsyslog est sa capacité à filtrer et rediriger les logs selon leur origine.
Par exemple, tu peux stocker les logs de ton switch ou de ton Synology NAS dans un fichier dédié.

🛠️ 1. Créer une règle spécifique

Crée un fichier de configuration dans /etc/rsyslog.d/ :

# nano /etc/rsyslog.d/50-synology.conf

# Logs du switch SW_CORE
if ($fromhost-ip == '192.168.1.86') then {
    action(type="omfile" file="/var/log/switchs/sw_core.log")
    stop
}

 

📝 Explication :

  • $fromhost-ip désigne l’adresse IP source de l’équipement.

  • Le mot-clé stop indique à rsyslog d’arrêter le traitement une fois le message écrit (pour éviter qu’il aille aussi dans /var/log/syslog).

📄 2. Créer le fichier log et définir les permissions
# touch /var/log/switchs/sw_core.log

 


# touch /var/log/switchs/sw_etage1.log 

 

# chmod 640 /var/log/switchs/*.log

 

# chown syslog:adm /var/log/switchs/*.log

 

🔁 3. Redémarrer rsyslog
# systemctl restart rsyslog
 

🧩 Partie 4 : Configuration du switch Cisco pour l’envoi des logs vers le serveur rsyslog

Maintenant que ton serveur Syslog est prêt à recevoir les journaux, configurons ton switch Cisco pour qu’il envoie automatiquement ses logs au serveur rsyslog (IP : 192.168.1.212 dans notre exemple).

🔧 Configuration Cisco IOS

Connecte-toi sur le switch en mode privilégié (enable), puis passe en mode de configuration globale :

Switch> enable
Switch# configure terminal
 

Entre ensuite les commandes suivantes :

service timestamps log datetime msec
logging 192.168.X.X   (IP de RSYSLOG)
logging facility local5
logging trap informational
logging source-interface Vlan1

✅ Vérification sur le switch

Tu peux tester la configuration avec :

show logging
Syslog logging: enabled (0 messages dropped, 0 flushes, 0 overruns)
    Logging to 192.168.X.X (udp port 514, audit disabled, link up)

 
📜 5. Vérifier le fonctionnement

Depuis ton switch (ou tout autre équipement configuré en client syslog), envoie quelques logs vers ton serveur.
Sur le serveur Ubuntu, observe le fichier dédié :

# tail -f /var/log/switchs/sw_core.log

Les logs devraient apparaître ici uniquement.

🔒 Partie 3 : Rotation et gestion des logs

Pour éviter que le fichier /var/log/synology.log ne devienne trop volumineux, configure logrotate.

Crée un fichier de configuration dédié :

# nano /etc/logrotate.d/switches

# logrotate -f /etc/logrotate.d/switches

💡 Cette configuration :

  • Fait une rotation quotidienne (daily),

  • Conserve 7 jours d’historique,

  • Compresse les anciens fichiers pour économiser de l’espace.

 

✅ Conclusion

Tu as désormais un serveur Syslog centralisé et organisé.
Grâce à rsyslog, tu peux :

  • Collecter les logs de tous tes équipements réseau (switchs, routeurs, NAS, etc.),

  • Les stocker dans des fichiers dédiés,

  • Et gérer leur rotation automatiquement.

Cette architecture est la première étape vers une supervision avancée avec des outils comme Graylog, ELK Stack (Elasticsearch + Logstash + Kibana) ou Grafana Loki.

Publicité

Publié dans Admin Sys

Pour être informé des derniers articles, inscrivez vous :
Commenter cet article