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 [2018/08/03 06:37] – 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> | ||
| Line 94: | Line 172: | ||
| </ | </ | ||
| - | === Exemples de filtres | + | ====Client distant==== | 
| - | <code bash> | + | Pour envoyer les messages vers un serveur distant. | 
| - | # compare-operation : | + | |
| - | # | + | |
| - | # property-based filter : | + | |
| - | # msg | hostname | programname | etc... | + | |
| - | # cible : | + | |
| - | # | + | |
| - | # | + | Structure | 
| - | # notation abrégée | + | |
| - | # | + | |
| - | :msg, contains, " | + | |
| - | & ~ | + | |
| - | :msg, regex, "^\[ *[0-9]*\.[0-9]*\] iptables" | + | |
| - | & ~ | + | |
| - | # | + | Exemple : sur le __client__ rsyslog distant, configurer le filtre suivant : | 
| - | # notation plus verbeuse (avec un " | + | <code bash> | 
| - | # | + | cat / | 
| - | if $msg regex '^\[ *[0-9]*\.[0-9]*\] iptables' | + | # Envoyer ces messages au syslog central | 
| - | & ~ | + | : | 
| + | </ | ||
| - | # | ||
| - | # utilisation d'un template | ||
| - | # | ||
| - | # création du template " | ||
| - | $template OpenVPN,"/ | ||
| - | # on y tansfè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 | ||
| - | : | ||
| - | </ | ||
| ==== WRT54G(L) ==== | ==== WRT54G(L) ==== | ||
| Line 148: | 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 211: | Line 261: | ||
| * http:// | * http:// | ||
| + | * https:// | ||
informatique/linux/syslog.1533278274.txt.gz · Last modified: 2018/08/03 06:37 by pteu
                
                