informatique:linux:syslog
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
informatique:linux:syslog [2016/12/30 07:21] – [Syslog centralisé] pteu | informatique:linux:syslog [2020/09/14 08:50] (current) – relecture pteu | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | {{tag> | ||
======Théorie du syslog====== | ======Théorie du syslog====== | ||
- | * service de gestion des logs sur le port udp/514 | + | * service de gestion des logs écoutant |
- | * 2 démons utilisés sous Linux : klogd et syslogd | + | * 2 démons utilisés sous Linux : **klogd** et **rsyslogd** |
- | * **klogd** : récupére | + | * **klogd** : récupère |
- | * **syslogd** : gestion des logs : il recoit | + | * **rsyslogd** : gestion des logs locaux |
- | =====Les services===== | + | =====Les services/types===== |
- | Listes des services reconnus par syslog : | + | Listes des services |
* **auth** : Messages relatifs à la sécurité du système et à l' | * **auth** : Messages relatifs à la sécurité du système et à l' | ||
* **cron** : Messages générés par les daemons cron et at. | * **cron** : Messages générés par les daemons cron et at. | ||
Line 37: | Line 36: | ||
- | =====/etc/syslog.conf===== | + | =====/etc/rsyslog.conf===== |
- | Fichier de conf de **syslogd** organisé en 2 colonnes : | + | Fichier de conf de **rsyslogd** organisé en 2 colonnes : |
- | * la première (sélecteur) définit l' | + | * la première (sélecteur) définit l' |
* la seconde (action) la destination (fichier, console, machine distante, liste d' | * la seconde (action) la destination (fichier, console, machine distante, liste d' | ||
Ces colonnes sont donc de la forme : | Ces colonnes sont donc de la forme : | ||
- | | + | <code bash> |
+ | < | ||
+ | </code> | ||
- | Par exemple pour récupérer les logs critiques ('' | + | Par exemple pour récupérer les logs critiques ('' |
- | mail.crit | + | <code bash> |
+ | mail.crit | ||
+ | </ | ||
On utilise : | On utilise : | ||
* une étoile '' | * une étoile '' | ||
- | * une virgule '','' | + | * une virgule '','' |
* un point virgule '';'' | * un point virgule '';'' | ||
+ | * un point d' | ||
* un tiret '' | * un tiret '' | ||
- | * la priorité '' | + | * la priorité '' |
- | Exemple1 | + | __Exemple1 |
mail, | mail, | ||
+ | | ||
- | Exemple2 : '' | + | =====Diagnostique===== |
+ | On peut vérifier la configuration avec la commande : | ||
+ | <code bash> | ||
+ | rsyslogd -N1 | ||
+ | </ | ||
+ | |||
+ | Pour lancer le démon syslog en mode DEBUG, il faut spécifier l' | ||
+ | <code bash> | ||
+ | vi / | ||
+ | | ||
+ | </ | ||
=====Configuration sous Debian===== | =====Configuration sous Debian===== | ||
- | ==== Syslog centralisé ==== | + | =====Options de démarrage du démon===== |
+ | |||
+ | Se configure dans le fichier **/ | ||
+ | <code bash> | ||
+ | # Options for rsyslogd | ||
+ | # -d enables debug | ||
+ | # -m 0 disables ' | ||
+ | # -r enables logging from remote machines | ||
+ | # -x disables DNS lookups for remote messages | ||
+ | # See rsyslogd(8) for more details | ||
+ | RSYSLOGD_OPTIONS="" | ||
+ | </ | ||
+ | |||
+ | =====Filtres===== | ||
+ | |||
+ | ====Notation basée propriété==== | ||
+ | |||
+ | C'est une notation abrégée permettant d' | ||
+ | |||
+ | Structure : '': | ||
+ | |||
+ | <code bash> | ||
+ | # property-based filter : | ||
+ | # msg | hostname | programname | etc... | ||
+ | # compare-operation : | ||
+ | # | ||
+ | # string (cible) : | ||
+ | # | ||
+ | |||
+ | :msg, contains, " | ||
+ | # ancienne notation | ||
+ | # & ~ | ||
+ | # nouvelle notation | ||
+ | & stop | ||
+ | :msg, regex, "^\[ *[0-9]*\.[0-9]*\] iptables" | ||
+ | & stop | ||
+ | </ | ||
+ | |||
+ | ====Notation basée expression==== | ||
+ | |||
+ | Notation plus verbeuse basée sur le langage RainerScript propre à rsyslog, qui utilise des opérateurs logiques. | ||
+ | |||
+ | Structure : '' | ||
+ | |||
+ | <code bash> | ||
+ | if $msg regex '^\[ *[0-9]*\.[0-9]*\] iptables' | ||
+ | & stop | ||
+ | </ | ||
+ | |||
+ | |||
+ | ====Template==== | ||
+ | |||
+ | <code bash> | ||
+ | # création du template " | ||
+ | $template OpenVPN,"/ | ||
+ | # on y transfère tous les messages issus des processus dont le nom commence par " | ||
+ | : | ||
+ | # puis on arrête le traitement de ces messages pour éviter les doublons | ||
+ | : | ||
+ | </ | ||
+ | |||
+ | |||
+ | ===== Syslog centralisé | ||
- | Lorsqu' | + | Lorsqu' |
Depuis Debian 8, pour activer la gestion des logs par le réseau il faut : | Depuis Debian 8, pour activer la gestion des logs par le réseau il faut : | ||
Line 75: | Line 152: | ||
$UDPServerRun 514 | $UDPServerRun 514 | ||
</ | </ | ||
+ | * activer la prise en charge " | ||
* créer un fichier dans ''/ | * créer un fichier dans ''/ | ||
<code bash> | <code bash> | ||
# les logs provenant de l'IP 192.168.2.1 seront envoyés dans le fichier / | # les logs provenant de l'IP 192.168.2.1 seront envoyés dans le fichier / | ||
if $fromhost-ip == ' | if $fromhost-ip == ' | ||
+ | # possible aussi de filtrer par bout d'IP | ||
+ | if $fromhost-ip startswith ' | ||
# et c'est tout (on ne traite plus d' | # et c'est tout (on ne traite plus d' | ||
& ~ | & ~ | ||
Line 90: | Line 170: | ||
<code bash> | <code bash> | ||
iptables -A INPUT -p udp -s 192.168.2.1 --dport 514 -j ACCEPT | iptables -A INPUT -p udp -s 192.168.2.1 --dport 514 -j ACCEPT | ||
+ | </ | ||
+ | |||
+ | ====Client distant==== | ||
+ | |||
+ | Pour envoyer les messages vers un serveur distant. | ||
+ | |||
+ | Structure : @[(zNUMBER)]HOST: | ||
+ | |||
+ | Exemple : sur le __client__ rsyslog distant, configurer le filtre suivant : | ||
+ | <code bash> | ||
+ | cat / | ||
+ | # Envoyer ces messages au syslog central | ||
+ | : | ||
</ | </ | ||
Line 112: | Line 205: | ||
Voilà donc où vont être redirigés ces damned messages de log. | Voilà donc où vont être redirigés ces damned messages de log. | ||
- | |||
- | ==== Mode DEBUG ==== | ||
- | |||
- | Pour lancer le démon syslog en mode DEBUG, il faut spécifier l' | ||
- | |||
- | vi / | ||
- | | ||
=====Syntaxe avancée===== | =====Syntaxe avancée===== | ||
Line 175: | Line 261: | ||
* http:// | * http:// | ||
+ | * https:// |
informatique/linux/syslog.1483082494.txt.gz · Last modified: 2016/12/30 07:21 by pteu