Cisco : Envoi des logs sur un serveur distant
Sommaire
I. Présentation
Dans le tutoriel d'aujourd'hui, nous allons étudier l'intérêt de la centralisation des logs et surtout la manière de faire pour les systèmes Cisco (Routeurs, Switch, ...). Vous trouverez ainsi la procédure à suivre en ligne de commande sous Cisco pour envoyer tout ou partie de vos logs sur un serveur distant. Lors de ce tutoriel, je pars du principe que vous disposez déjà d'un serveur de logs opérationnel. Si ce n'est pas le cas, je vous invite à en construire un sous Linux dans le tutoriel suivant : Configurer un serveur de logs sous Linux
II. Centraliser les logs : quels intérêts ?
Tout d'abord, il faut comprendre ce que peut apporter la centralisation des logs dans une architecture et plus précisément pour des éléments réseau comme nous allons le faire. La centralisation peut présenter plusieurs intérêts, mais sa fonction principale est d'être capable de récupérer un historique des évènements qui se sont produits sur une machine ou l'ensemble d'un réseau alors que lesdites machines ne sont plus disponibles. Cela peut être par exemple un piratage ayant entrainé un endommagement de la machine ou une destruction des logs ou alors une panne matériel. La centralisation des logs va alors nous permettre de retracer les évènements ayant amené à l'indisponibilité de la machine.
D'un autre côté, la centralisation des logs peut avoir un objectif de contrôle et de supervision. On peut en effet vouloir centraliser les logs d'un ensemble de machines afin de mieux les surveiller, les indexer ou encore les grapher dans un système comme Kibana.
III. Configuration Cisco pour exporter les logs
Étant donné que la configuration que je présente se fait en ligne de commande, on va commencer par ouvrir un terminal. Une fois sur celui-ci, on va passer en mode enable :
ena
Il est important de noter que l'horodatage, c'est à dire l'heure que vont avoir les journaux exportés a une importance particulière dans le système de centralisation des logs. Il permet en effet de retracer précisément les logs entre plusieurs machines, c'est pour cela que la première chose à faire est de mettre notre machine à la bonne date et la bonne heure :
clock set 20:11:00 october 20 2014
Résultat :
On va ensuite passer en mode configuration afin de paramétrer l'envoi des logs.
conf t
On commence par activer l'horodatage des logs :
service timestamps
Puis on configure les différents paramètres propres à l'envoi des logs, on commence par l'IP du serveur distant :
logging 192.168.10.67
Puis on peut préciser le log facility qui va nous permettre, sur le serveur distant, de trier les logs, par exemple :
logging facility local5
Une chose importante à faire également est de configurer le log-level à partir duquel on prendra le soin d'envoyer les logs. Pour différentes raisons comme la performance, on peut ne pas vouloir envoyer la totalité des logs au serveur distant, on va alors choisir d'envoyer les logs à partir d'un certain niveau de criticité. On retrouve généralement ces niveaux de logs :
- 7 - debbuging
- 6- informational
- 5 - notifications
- 4 - warnings
- 3 - errors
- 2 - critical
- 1 - alerts
- 0 - emergencies
Vous l'aurez compris, le loglevel "0" est le cas le plus critique et "7" est le cas le plus bavard où beaucoup de logs sont produits. Dans le cadre du tutoriel, nous allons par exemple envoyer les logs de 6 à 0, on fixe donc la valeur à "informational" :
logging trap informational
Notre système Cisco va maintenant commencer à envoyer ses logs au serveur distant. On va pouvoir récapituler la configuration présente en retournant en mode enable puis en saisissant "show logging" :
IV. Paramétrage serveur et visualisation des logs Cisco
Maintenant que nous avons configuré notre routeur Cisco pour qu'il envoie les logs au serveur de log distant, il faut que l'on sache mettre à part ces logs. Dans Rsyslog, système utilisé dans le tutoriel sur la centralisation des logs dont j'ai parlé plus haut, il faut aller dans le fichier "/etc/rsyslog.conf" et ajouter la ligne suivante pour que tous les logs arrivant en log-facility 4 soient mis dans un fichier spécifique. On mettra par exemple tous les logs des machines Cisco sur ce logs level :
local4.* /var/log/cisco
On va ensuite redémarrer ce service :
service rsyslog restart
Il nous faut maintenant, pour tester notre export de log Cisco, provoquer la journalisation d'évènement. On verra alors dans le fichier configuré dans Rsyslog pour recevoir les fichiers à log-facility 4 les logs de notre routeur Cisco :
pouvez vous indiquer des application de supervision et de consultation des logs sous une interface Web .
zabbix ! (je déterre un peu le commentaire)