Chez Ptit Gars

Accueil > Informatique > Poweredge T105 > Serveur syslog-ng

Serveur syslog-ng

mardi 26 août 2008, par Pti Gars

Pour commencer des liens intéressants :
http://www.linux-france.org/prj/ine...
http://doc.ubuntu-fr.org/syslog-ng

Sur le serveur

Le choix de syslog-ng améliore 2 éléments par rapport à syslog : la sécurité et la non discrimination des sources. En effet Syslog-ng permet de ranger les log de chaque équipement dans des fichiers différents.

La première chose à faire bine sur est d’installer syslog-ng, cette action vas remplacer (donc supprimer) le syslog de base :

apt-get install syslog-ng

La configuration s’effectue par l’intermédiaire du fichier :
/etc/syslog-ng/syslog-ng.conf

Pour chaque catégorie de journalisation, on doit composer avec une définition de source, de filtre et de destination. Voici un exemple reprenant le cas du commutateur :

Définition d’une source

   source net {
   # journalisation via eth2 -> commutateur sw1
       udp(ip(192.168.2.1));
       };

Définition d’un filtre

   filter f_sw1 {
       host(192.168.2.2) and level(info,notice,warn,crit,err);
       };

Définition d’une destination

   destination d_net_devices {
       file("/var/log/$HOST.log" owner("root") group("adm") perm(0640));
       };

Utilisation des trois définitions

   log {
       source(net);
       filter(f_sw1);
       destination(d_net_devices);
       };

L’application de cette configuration entraîne la création d’un fichier /var/log/192.168.2.2.log qui reçoit tous les messages du commutateur sw1 qui a l’adresse IP 192.168.2.2.

Pour notre cas, nous allons ajouter une source udp qui permet de se mettre à l’écoute en udp(User_Datagram_Protocol) sur le port 514 par défaut

source s_all {
       # message generated by Syslog-NG
       internal();
       # standard Linux log source (this is the default place for the syslog()
       # function to send logs to)
       unix-stream("/dev/log");
       # messages from the kernel
       file("/proc/kmsg" log_prefix("kernel: "));
       # use the following line if you want to receive remote UDP logging messages
       # (this is equivalent to the "-r" syslogd flag)
       #udp();
};
source s_net {
       udp();
};

Les définitions à ajouter :

#ajout cisco
destination df_cisco { file("/var/log/cisco.log"); };

# ajout cisco
filter f_cisco {host(10.10.10.1); };

Et à la fin du fichier on ajoute les lignes suivantes

# cisco                        -/var/log/cisco.log
log {
       source(s_net);
       filter(f_cisco);
       destination(df_cisco);
};

Ce qui permet à syslog-ng d’envoyer tous les message venant de l’adresse 10.10.10.1 vers le fichier /var/log/cisco.log

Il ne reste plus qu’a redémarrer le serveur :

/etc/init.d/syslog-ng restart

sur le routeur

Voici la config :

logging buffered 4096 notifications
logging source-interface Vlan1
logging 10.10.10.3

nous avons définit la taille du buffer à 4096, le niveau est de log est 5 (notifications). Sur l’interface Vlan1. Et pour finir nous envoyons tous les log sur la machine 10.10.10.3