[Tuto] Centraliser des logs Syslog sous Windows
Un ptit tuto pour finir l’année ça vous dit ?! Moi oui, donc on y va ! Ces deux derniers jours, j’ai fais face à une problématique de centralisation de logs Windows. Le standard retenu est « Syslog ». En effet, l’export des log par définition de l’emplacement réseau d’un partage n’est pas considéré comme propre. Le problème a donc été : comment déployer un système de log du monde Unix dans un environnement full Windows ?
Coté serveur…
Le grand problème a été le coté serveur, en effet la plus part des solutions sont payantes et pas forcement efficaces. C’est alors que je me suis souvenu de Cygwin. Cygwin est un petit logiciel qui permet de faire tourner des services Unix sous Windows grâce à une sur-couche. Mon but a donc été de faire tourner Syslog-ng, le meilleur serveur syslog Unix que je connais, sur Windows. Pour y arriver il a fallu :
Installer Cygwin
- Télécharger Cygwin (www.cygwin.com)
- Lancer l’installation et choisir un miroir pour télécharger les paquet nécessaires.
- Choisir les paquet qui me sont utiles, à savoir : Syslog-ng (ouai ouai c’est vrai), vim, cygrunsrv, ssh, cron.
- Continuer l’installation jusqu’au bout.
Configurer syslog-ng
- Lancer Cygwin
- Exécuter /usr/bin/syslog-ng-config et accepter de créé les fichiers de configurations si on vous le demande. Aussi accepter d’exécuter syslog-ng comme un service (voilà l’utilité du paquet cygrunsrv).
- Il faut maintenant configurer syslog-ng. Pour cela il faut éditer /etc/syslog-ng.conf (voilà l’utilité du paquet vim). Si vous trainez sur cette page, vous savez surement comment on fait… je vous donne quand même une configuration ultra minimale, juste histoire de faire tourner le serveur (bah oui ça doit fonctionner…) :
- Lancer l’invite de commande Windows (Win+R puis « cmd ») et lancer le démon syslog-ng : NET START syslog-ng
options { keep_hostname(yes); owner("system"); group("root"); perm(0664); flush_lines(0); }; source reseau { tcp (port(514)); udp (port(514)); }; destination reseau { file ("/var/log/$HOST.log"); }; log { source (reseau); destination (reseau); };
Avec cette configuration, encore une fois ultra simpliste, votre démon syslog-ng écoutera les connexions sur le port 514 (port syslog par défaut) en TCP et UPD. Il mettra ensuite ces log dans /var/log/{HOSTNAME_DE_VOTRE_CLIENT}.log ( soit C:\cygwin\var\log\{HOSTNAME_DE_VOTRE_CLIENT}.log)
Voilà votre serveur syslog-ng tourne !
NB : Pour arrêter le démon syslog-ng, on utilise : NET STOP syslog-ng
Coté client…
Coté client, rien de bien méchant, les agents syslog sont légions. J’ai retenu « Snare » pour cela pour son interface très simple à prendre en main, sa légèreté et son grand niveau de customisation. Donc coté client, il faut :
Installer Snare :
- Télécharger Snare (http://www.intersectalliance.com/projects/SnareWindows/index.html)
- Installer Snare en le configurant pour un contrôle en local et sans mot de passe.
Configurer Snare :
- Cliquer sur « Network Configuration »
- Entrer l‘ip du serveur syslog-ng dans le champ « Destination Snare Server address »
- Entrer le port d’écoute dans le champ « Destination Snare Server address »
- Choisir votre SYSLOG Facility (Local6 par convention)
- Choisir votre SYSLOG Priority (je vous recommande le DYNAMIC, mais c’est à voir au cas par cas) et valider les changements.
- Cliquer pour finir sur le menu « Apply the Latest Audit Configuration » afin d’appliquer les changements.
Et voilà votre client envoie vos logs au serveur ! Je vous recommande bien sûr de personnaliser aussi bien la configuration du serveur que celle du client, afin de ne logger que ce qui vous intéresse et sous la forme qui vous convient le plus.
Voilà donc pour aujourd’hui, je vous souhaite d’avance une bonne année 2010 ! (avec tout le blabla inutile qui va généralement avec).
Version Imprimable de l'article
Télécharger au format PDF
Faire un rétrolien
Récupérer un lien permanent vers cet article
S'aboner aux flux RSS du blog

salut
j’ai suivi le tuto est c’est bon sauf que avez vous une idée comment peut-on intégrer l’interface php du syslog-ng pour voir comment le serveur centralise les logs.
merci