Mémo de la fiche B2-29 : une page A4, à imprimer ou à enregistrer en PDF.
B2-29

Journalisation : syslog, journald, centralisation

Lire, configurer et centraliser les journaux des équipements, des serveurs Linux et des serveurs Windows pour dépanner vite, détecter une attaque et garder des preuves.

Version en ligne
SIO2 · semestre 33 h (cours + TP)Bloc 2 – SISRMémo · Portail SIO
JOURNAUXsyslog · 514 Pourquoidépanner · détecterprouver · conformité MessagePRI = facilité × 8 + gravité0 emerg … 7 debug Linuxrsyslog : @ UDP · @@ TCPjournalctl -u -p -b -f Windows4624 · 4625 · 4740 · 1102abonnements (WEF) Temps et duréeNTP · timestamps mseclogrotate · 6 mois à 1 an Centraliserlogging host · trap infoSRV-LOG · SIEM

L'essentiel

  1. Les journaux servent à dépanner, détecter une attaque, prouver et respecter la loi : à condition d'être produits, transportés, conservés et lus.
  2. Un message syslog contient une priorité (facilité × 8 + gravité), une heure, une machine, une source et un texte.
  3. Gravités de 0 (emerg) à 7 (debug) : un seuil garde son niveau et tous les plus graves.
  4. rsyslog : règle = facilité.gravité + action ; @ envoie en UDP, @@ en TCP, port 514.
  5. Le serveur central charge imudp / imtcp et range chaque machine dans son fichier ; rsyslogd -N1 vérifie la syntaxe.
  6. journalctl -u, -p, --since, -b -1, -f ; Storage=persistent pour garder l'historique.
  7. Windows : Application, Système, Sécurité ; ID 4624, 4625, 4740, 4720, 1102 ; abonnements pour centraliser.
  8. NTP partout et service timestamps log datetime msec : sans heure commune, pas de chronologie.
  9. logrotate fait tourner et compresse ; conservation des journaux d'accès : 6 mois à 1 an (CNIL).
  10. Cisco : logging host, logging trap informational, logging source-interface ; centraliser protège aussi contre l'effacement des traces.

Moyen mnémotechnique

Dans l'ordre de 0 à 7 : Emergency, Alert, Critical, Error, Warning, Notice, Informational, Debugging : « Every Awesome Cisco Engineer Will Need Ice-cream Daily ». Plus le chiffre est petit, plus c'est grave.

Piège classique

Une arobase envoie en UDP (@), deux arobases en TCP (@@). UDP ne garantit rien : si le serveur est arrêté ou si le réseau sature, les messages sont perdus sans prévenir. Pour les journaux de sécurité, préfère TCP, et ouvre le port 514 dans le pare-feu du serveur.

Rendre le journal persistant

Si le dossier /var/log/journal n'existe pas, journald garde tout en mémoire et perd l'historique à chaque redémarrage. Pour le conserver : Storage=persistent dans /etc/systemd/journald.conf (ou créer le dossier), puis sudo systemctl restart systemd-journald. La taille se limite avec SystemMaxUse=500M.

Commandes clés

Pour…Commandes
Envoyer vers le central (Debian)*.info @@172.16.50.30:514 · rsyslogd -N1 · systemctl restart rsyslog
Recevoir (Debian)module(load="imudp") · input(type="imudp" port="514") · idem imtcp
Chercher (Debian)journalctl -u ssh -p err --since today · journalctl -b -1 · logger -p auth.warning "test"
Chercher (Windows)Get-WinEvent -FilterHashtable @{LogName='Security';Id=4625}
Envoyer (Cisco)logging host 172.16.50.30 · logging trap informational · logging source-interface vlan 99
Horodater (Cisco)ntp server 172.16.99.252 · service timestamps log datetime msec
Vérifier (Cisco)show logging · show ntp status · show clock