Beruflich Dokumente
Kultur Dokumente
INTRODUCTION..........................................................................................................................2
I. PRESENTATION GENERALE ..........................................................................................3
1. Historique ..........................................................................................................................3
2. Présentation ......................................................................................................................3
II. PRINCIPE DE FONCTIONNEMENT ..........................................................................4
1. Le sous –système (facility) ...........................................................................................4
2. Le niveau (level) ...............................................................................................................5
3. L’action à réaliser ............................................................................................................5
III. VARIABLE DU MODELE ...............................................................................................5
1. Syntaxe de sélecteur .......................................................................................................5
2. Syntaxe des actions .........................................................................................................6
IV. SECURITE ..........................................................................................................................7
V. FONCTIONNEMENT PRATIQUE ................................................................................8
VI. LES IMPLEMENTATIONS EXISTANTES DU PROTOCOLES .......................... 10
1. Syslog-ng...........................................................................................................................10
2. Rsyslog ..............................................................................................................................11
VII. AVANTAGES ET INCONVENIENTS ......................................................................... 12
1. Avantages .........................................................................................................................12
2. Inconvénients .................................................................................................................12
CONCLUSION .............................................................................................................................14
1
Rédigé et présenté par : NGUENG, SARA, MBANE, YOMBA
THEME : SYSLOG
INTRODUCTION
2
Rédigé et présenté par : NGUENG, SARA, MBANE, YOMBA
THEME : SYSLOG
I. PRESENTATION GENERALE
1. Historique
Syslog a été développé dans les années 1980 par Eric Allman dans le cadre du
projet Sendmail5, et n'était initialement prévue que pour Sendmail. Il s'est avéré si
utile que d'autres applications ont commencé à l'utiliser. Syslog est depuis devenu la
solution de journalisation standard sur les systèmes Unix et Linux6, 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.
2. Présentation
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. Les
serveurs collectent l'information et se chargent de créer les journaux. Il utilise un
socket afin de transmettre ses messages.
Il existe aussi un logiciel appelé Syslog, qui est responsable de la prise en charge des
fichiers de journalisation du système. Ceci inclut un démon klogd, responsable des
messages émis par le noyau Linux.
Exemple : Sep 09 14:09:09 machine_de_test dhcp service [warning] 110 corps du message
3
Rédigé et présenté par : NGUENG, SARA, MBANE, YOMBA
THEME : SYSLOG
Les évènements qu’un programme envoie au démon syslog sont identifiés par 3
éléments :
Le sous-système (facility)
Le niveau (level)
L’action à réaliser
2. Le niveau (level)
À chaque message est également associé un niveau de priorité. En voici la liste par
ordre décroissant :
3. L’action à réaliser
Après avoir défini une facilité et ses niveaux, il faut y ajouter une action :
1. Syntaxe de sélecteur
Le sélecteur est une liste (ayant pour séparateur le point-virgule) de couples sous-
système.priorité (exemple : auth.notice;mail.info). L'astérisque peut y représenter
tous les sous-systèmes ou toutes les priorités (exemples : *.alert ou mail.*). On peut
regrouper plusieurs sous-systèmes en les séparant par une virgule (exemple :
5
Rédigé et présenté par : NGUENG, SARA, MBANE, YOMBA
THEME : SYSLOG
6
Rédigé et présenté par : NGUENG, SARA, MBANE, YOMBA
THEME : SYSLOG
IV. SECURITE
Le protocole Syslog est un protocole qui s'appuie nativement sur UDP. Il hérite donc
de toutes les faiblesses inhérentes à UDP
La première des règles de sécurité est d’avoir les démons mis à jour pour
corriger d’éventuels bugs. En effet, si un démon plante, on a un défaut de
disponibilité de service (la disponibilité étant un des piliers de la sécurité). De
la même manière, les programmes étant conçu par des humains ne sont pas
exempt de failles qu’un individu maicieux pourra exploiter (nous en donnerons
une liste non exhaustive dans la suite de cette documentation). Ainsi pour
réaliser la mise a jour d’un démon, on peut utiliser la commande :
Il y une possibilité que le démon syslogd soit utilisé comme passage pour une
attaque de déni de service. Un programme(ur) malicieux pourrait très
simplement noyer le démon syslogd avec des messages, ce qui conduirait les
journaux à remplir toute la place restante du système de fichiers. Activer la
journalisation à travers la socket de domaine internet exposera le système à des
risques extérieurs vis-à-vis des programmes ou des utilisateurs de la machine
locale.
C'est une bonne idée que d'enregistrer les logs les plus importants sur une
machine séparée (voire dédiée), car cela empêchera un éventuel intrus de
supprimer les traces de son passage (sauf à compromettre également cet autre
serveur). Par ailleurs, en cas de problème majeur (tel qu'un plantage du noyau),
disposer de logs sur une autre machine augmente les chances de retrouver le
déroulement des événements.
Pour accepter les messages de log envoyés par d'autres machines, il faut reconfigurer
rsyslog : dans la pratique il suffit d'activer des directives prêtes à l'emploi qui sont déjà
présentes dans /etc/rsyslog.conf ($ModLoad imudp et $UDPServerRun 514).
7
Rédigé et présenté par : NGUENG, SARA, MBANE, YOMBA
THEME : SYSLOG
V. FONCTIONNEMENT PRATIQUE
Installation
8
Rédigé et présenté par : NGUENG, SARA, MBANE, YOMBA
THEME : SYSLOG
Si vous ne voulez pas envoyer tous les logs au serveur, il faudra utiliser la
fonction filter (filtre). Grâce aux sources et au filtre présent dans Syslog-ng, nous
choisissons les logs que nous voulons envoyer au serveur. Il y a des filtres qui
existent déjà dans le fichier par défaut de syslog-ng en dessous de la bannière
Filters. Il faut ajouter dans la fonction log un filtre. Par exemple, si nous voulons
filtrer par facility, il existe des filtres par défaut. Dans ce cas, la facility est error
:
log { source(s_src); destination(d_serveur); filter(f_err); };
Il est possible d’utiliser plusieurs filtres, par exemple, seulement les messages du
kernel avec la facility critique :
log { source(s_src); destination(d_serveur); filter(f_crit); filter(f_kern); };
9
Rédigé et présenté par : NGUENG, SARA, MBANE, YOMBA
THEME : SYSLOG
1. Syslog-ng
Le projet syslog-ng a débuté en 1998. syslog-ng est une implémentation open-
source du protocole syslog pour les systèmes Unix et Unix . Il étend le modèle syslogd
d'origine avec un filtrage basé sur le contenu, des fonctionnalités de filtrage riches, des
options de configuration flexibles et ajoute des fonctionnalités importantes à syslog,
comme l'utilisation de TCP pour le transport. À partir d'aujourd'hui, syslog-ng est
développé parBalabit IT Security Ltd. Il a deux éditions avec une base de code
commune. Le premier s'appelle syslog-ng Open Source Edition (OSE) avec la licence
LGPL. Le deuxième s'appelle Premium Edition (PE) et possède des plugins
supplémentaires (modules) sous licence exclusive . syslog-ng fournit un certain
nombre de fonctionnalités en plus de transporter les messages syslog et de les stocker
dans des fichiers journaux texte brut:
10
Rédigé et présenté par : NGUENG, SARA, MBANE, YOMBA
THEME : SYSLOG
Classer les messages de journal entrants et, en même temps, extraire des
informations structurées à partir du message syslog non structuré (depuis
syslog-ng OSE 3.0)
2. Rsyslog
Rsyslog est un logiciel libre utilisé sur des systèmes d'exploitation de type
Unix (Unix, Linux) transférant les messages des journaux d'événements sur un
réseau IP. Rsyslog implémente le protocole basique syslog - qui centralise 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 présente la particularité d'en étendre les
fonctionnalités en permettant, notamment, de filtrer sur des champs, de filtrer à l'aide
d'expressions régulières et l'utilisation du protocole TCP de la couche transport.
11
Rédigé et présenté par : NGUENG, SARA, MBANE, YOMBA
THEME : SYSLOG
1. Avantages
Comme avantage de syslog nous pouvons citer :
centralisation de la répartition des informations dans les differents fichiers de
logs dans un seul fichier de configuration,
sécurité: seul l'utilisateur sous lequel tourne le daemon syslog à besoin d'avoir
accès en écriture au fichier de log, ainsi en cas de faille ou de compromission du
service, ce dernier ne sera pas dans la possibilité d'effacer ses propres logs,
l'on peut configurer syslog pour retransmettre directement les logs à une autre
machine sur le réseau, utile pour garder des traces en cas de compromission de
la machine,
grosse simplification de la gestion des droits sur les fichiers de logs ;
2. Inconvénients
Limitations UDP : Le protocole UDP est un protocole très simple mais celui-
ci n'offre en contrepartie aucune garantie d'acheminement. Un paquet UDP
peut très bien être envoyé par un émetteur et ne jamais être reçu ou traité par le
récepteur. De plus, comme il n'y a pas de numérotation des messages Syslog, le
récepteur ne saura jamais qu'il en a perdu un, il n'y a pas d'acquittement
protocolaire au niveau de Syslog. Une autre limitation liée à UDP est que le
séquencement lors de la réception des messages n'est pas garanti. Un émetteur
peut très bien envoyer 2 paquets (1 puis 2) et le récepteur peut très bien les
recevoir dans l'ordre inverse (2 puis 1).
Un petit nombre de fonctionnalités disponibles : Le nombre de
fonctionnalités disponibles est limité à 24 valeurs différentes (de 0 à 23).
Certaines de ces fonctionnalités ne correspondent plus à rien (UUCP par
exemple), d'autres sont en doublon (tout ce qui à trait à l'horloge ou à
l'authentification par exemple). Il est bien sûr possible d'utiliser la
fonctionnalité 6 (line printer subsystem) pour générer les messages Syslog de
son application "maison" ou d'utiliser les fonctionnalités "local use 0 à 7".
La différence de comportement entre TCP et UDP : une trame Syslog sur
UDP est envoyée en un seul paquet IP et que ce paquet sera reçu en une seule
12
Rédigé et présenté par : NGUENG, SARA, MBANE, YOMBA
THEME : SYSLOG
13
Rédigé et présenté par : NGUENG, SARA, MBANE, YOMBA
THEME : SYSLOG
CONCLUSION
Pour conclure, le protocole Syslog possède bien sûr quelques limitations mais il entre
en plein dans la fonctionnalité plus globale qu'est la journalisation. Cette journalisation
permet :
De récupérer des traces utiles pour déboguer un problème sur le réseau ou dans
une application.
De mettre en œuvre l'archivage légal de certaines informations (connexion des
utilisateurs dans une entreprise, utilisation des ressources IT, correspondance
IP/utilisateur pour les FAI, ...).
Une corrélation des différents événements de journalisation peut aussi mettre
en évidence des scenarios d'intrusion.
14
Rédigé et présenté par : NGUENG, SARA, MBANE, YOMBA