Objectifs de certification
CCNA 200-301
4.5 Décrire l’utilisation des fonctionnalités de syslog features en ce inclus les facilities et niveaux
Gestion des logs SYSLOG
1. Protocole Syslog
Syslog est un protocole définissant un service de journaux d’événements d’un système informatique. C’est aussi le nom du format qui permet ces échanges.
En tant que protocole, Syslog se compose d’une partie cliente et d’une partie serveur. La partie cliente émet les informations sur le réseau, via le port UDP 514. Il est possible d’utiliser TCP. Les serveurs collectent l’information et se chargent de créer les journaux.
L’intérêt de Syslog est donc de centraliser les journaux d’événements, permettant de repérer plus rapidement et efficacement les défaillances d’ordinateurs présents sur un réseau.
Il existe aussi un logiciel appelé Syslog, qui est responsable de la prise en charge des fichiers de journalisation du système.
Syslog est la solution de journalisation standard sur les systèmes Unix et Linux, il y a également une variété d’implémentations Syslog sur d’autres systèmes d’exploitation (Windows notamment) et est généralement trouvé dans les périphériques réseau tels que les commutateurs ou routeurs.
1.1. Format Syslog
Un journal au format Syslog comporte dans l’ordre les informations suivantes :
- la date à laquelle a été émis le log,
- le nom de l’équipement ayant généré le log (hostname),
- une information sur le processus qui a déclenché cette émission,
- le niveau de gravité du log,
- un identifiant du processus ayant généré le log
- et enfin un corps de message.
Certaines de ces informations sont optionnelles.
Par exemple :
Sep 14 14:09:09 machine_de_test dhcp service[warning] 110 corps du message
Les origines peuvent être multiples et sont juxtaposées à l’aide d’un ‘;’.
Elles sont construites sous la forme :
facility.criticity
La gravité (criticity) doit être comprise comme la criticité minimale, ainsi user.critical
correspond au message d’origine utilisateur pour le niveau de gravité critical
et les niveaux supérieurs, en l’occurrence alert
et emergency
.
Le mot-clef “none
” peut lui aussi être utilisé afin de filtrer les messages, il est alors utilisé en lieu et place de la gravité.
1.2. Niveaux de gravité
N | Niveau | Signification |
---|---|---|
0 | Emerg | Système inutilisable |
1 | Alert | Une intervention immédiate est nécessaire |
2 | Crit | Erreur critique pour le système |
3 | Err | Erreur de fonctionnement |
4 | Warning | Avertissement |
5 | Notice | Événement normal méritant d’être signalé |
6 | Informational | Pour information seulement |
7 | Debug | Déboggage |
1.3. Origine
Outre les niveaux de gravité, les messages sont orientés au regard de leur origine, dont les codes sont regroupés suivant des types que l’on appelle des “facilités”, soit l’origine, de local0
à local7
à personnaliser. On peut trouver :
Facilité | Origine |
---|---|
AUTH | Message de sécurité/autorisation. |
AUTHPRIV | Message de sécurité/autorisation (privé). |
CRON | Message d’un démon horaire. |
DAEMON | Démon du système sans classification particulière. |
FTP | Démon ftp. |
KERN | Message du noyau. |
LOCAL0 à LOCAL7 | Réservé pour des utilisations locales. |
LPR | Message du sous-système d’impression. |
Message du sous-système de courrier. | |
NEWS | Message du sous-système des news USENET. |
SYSLOG | Message interne de syslogd. |
USER (défaut) | Message utilisateur générique. |
UUCP | Message du sous-système UUCP. |
2. Les logs en Cisco IOS
2.1. Show logging
#show logging
Syslog logging: enabled (0 messages dropped, 3 messages rate-limited, 0 flushes, 0 overruns, xml disabled, filtering disabled)
No Active Message Discriminator.
No Inactive Message Discriminator.
Console logging: level debugging, 31 messages logged, xml disabled,
filtering disabled
Monitor logging: level debugging, 0 messages logged, xml disabled,
filtering disabled
Buffer logging: level debugging, 33 messages logged, xml disabled,
filtering disabled
Exception Logging: size (8192 bytes)
Count and timestamp logging messages: disabled
Persistent logging: disabled
On constate au début de la sortie que la journalisation Syslog est activée par défaut Syslog logging: enabled
.
On trouve aussi trouve trois configurations concernant l’apparition des messages :
- en consoles physiques (Console logging)
- en consoles vty (ssh, telnet, …) (Monitor logging)
- mémoire tampon (taille limitée) (Buffer logging)
2.2. Console logging
Désactivation des logs en console physique :
(config)#no logging console
Configuration du niveau de logs :
#logging console ?
<0-7> Logging severity level
alerts Immediate action needed (severity=1)
critical Critical conditions (severity=2)
debugging Debugging messages (severity=7)
discriminator Establish MD-Console association
emergencies System is unusable (severity=0)
errors Error conditions (severity=3)
filtered Enable filtered logging
guaranteed Guarantee console messages
informational Informational messages (severity=6)
notifications Normal but significant conditions (severity=5)
warnings Warning conditions (severity=4)
xml Enable logging in XML
<cr>
2.3. Monitor logging
Pour activer l’apparition des logs dans une session VTY (telnet, ssh, …), en mode privilège :
#terminal monitor
2.4. Buffer logging
Mise en tampon des logs :
#logging buffered ?
<0-7> Logging severity level
<4096-2147483647> Logging buffer size
alerts Immediate action needed (severity=1)
critical Critical conditions (severity=2)
debugging Debugging messages (severity=7)
discriminator Establish MD-Buffer association
emergencies System is unusable (severity=0)
errors Error conditions (severity=3)
filtered Enable filtered logging
informational Informational messages (severity=6)
notifications Normal but significant conditions (severity=5)
warnings Warning conditions (severity=4)
xml Enable logging in XML to XML logging buffer
<cr>
Pour fixer la taille du tampon, par exemple :
#logging buffered 64000
2.5. Visualisation des logs en tampon
#show logging
2.6. Effacer les messages de logs
Par exemple la commande clear logging
efface les logs en tampon et reconnecte un serveur Syslog configuré.
#clear logging
Clear logging buffer [confirm]
2.7. Commande Debug
Pour activer des messages de débogage on utilise les commandes debug
/ undebug
avec la possibilité de choisir finement la fonctionnalité ou le protocole à auditer.
Par exemple :
#debug ip ospf adj
OSPF adjacency debugging is on
Pour désactiver ce débogage :
#no debug ip ospf adj
OSPF adjacency debugging is off
Ou désactiver tout débogage :
#undebug all
All possible debugging has been turned off
3. Configuration Syslog client Cisco IOS
En configuration globale.
3.1. Procédure
- Configuration de l’horodatage.
- Adresse du serveur syslog.
- Configuration de l’origine.
- Configuration du niveau de gravité.
3.2. Configuration de l’horodatage
(config)#service timestamps log datetime ?
localtime Use local time zone for timestamps
msec Include milliseconds in timestamp
show-timezone Add time zone information to timestamp
year Include year in timestamp
<cr>
service timestamps log datetime
service timestamps debug datetime
3.3. Adresse du serveur Syslog
logging <ip_adress>
3.4. Configuration de l’origine
logging facility <origine>
où <origine>
peut varier de Local0
à Local7
(Local7
par défaut)
3.5. Configuration du niveau de gravité
logging trap <niveau>
où <niveau>
peut être :
#logging trap ?
<0-7> Logging severity level
alerts Immediate action needed (severity=1)
critical Critical conditions (severity=2)
debugging Debugging messages (severity=7)
emergencies System is unusable (severity=0)
errors Error conditions (severity=3)
informational Informational messages (severity=6)
notifications Normal but significant conditions (severity=5)
warnings Warning conditions (severity=4)
<cr>
3.6. Trap SNMP
logging snmp-trap <niveau>
Vérification :
show logging
3.7. Ajout de l’origine
logging origin-id ?
hostname Use origin hostname as ID
ip Use origin IP address as ID
ipv6 Use origin IPv6 address as ID
string Define a unique text string as ID
<cr>
logging origin-id ip
Ou encore la commande logging source-interface
permet de préciser l’interface qui fournira l’adresse IP :
int lo0
ip add 1.1.1.1 255.255.255.255
!
logging source-interface lo0
3.8. Commandes IOS
debug Debugging functions (see also 'undebug')
logging Handles logging operations
monitor Monitoring different system events
undebug Disable debugging functions (see also 'debug')
3.9. Serveur Rsyslog
# grep -v ^# /etc/rsyslog.conf | grep -v ^$
$ModLoad imudp
$UDPServerRun 514
$ModLoad imtcp
$InputTCPServerRun 514
local7.* /var/log/cisco.log
# touch /var/log/cisco.log
# systemctl restart rsyslog
# ss -an | grep :514
# tail -f /var/log/cisco.log
3.10. Historique
#show logging history
Syslog History Table:1 maximum table entries,
saving level warnings or higher
46 messages ignored, 0 dropped, 0 recursion drops
10 table entries flushed
SNMP notifications not enabled
entry number 11 : LINK-2-INTVULN
In critical region with interrupt level=0, intfc=GigabitEthernet0/1
timestamp: 190343