Академический Документы
Профессиональный Документы
Культура Документы
SOMMAIRE
INTRODUCTION SYSLOG-NG
Prsentation (possibilits, tlchargement, install) Principes gnraux Configuration serveur Configuration client Installation & configuration Utilisation
CONCLUSION
SOMMAIRE
INTRODUCTION SYSLOG-NG
Prsentation (possibilits, tlchargement, install) Principes gnraux Configuration serveur Configuration client Installation & configuration Utilisation
CONCLUSIONS
INTRODUCTION
POURQUOI TRACER ?
POURQUOI CENTRALISER ?
INTRODUCTION
CONTEXTE JURIDIQUE
Aot 2004 -> Publication de la LCEN Octobre 2004 -> Publication par le CNRS de la dcision fixant un cadre rglementaire, Fvrier 2005 -> courrier adress aux Directeurs d'Unit explicitant le dispositif.
https://intranet.cnrs.fr/extranet/cnrs/fsd/documents/Po_gest_traces.pdf
INTRODUCTION
CONTEXTE JURIDIQUE
Texte dcrivant le cadre rglementaire relatif l'utilisation et la conservation des "fichiers de journalisation" en fonction du type de service audit (postes de travail, serveurs HTTP, serveurs SMTP, quipements rseaux, applications spcifiques ...) Entre autres choses dfinit une dure de conservation maximale d'1 an.
INTRODUCTION
CONTEXTE TECHNIQUE
Situation existante :
Plusieurs serveurs Plusieurs services =>beaucoup de fichiers de logs Rationalisation lvation du niveau de scurit Simplification de la tche de l'administrateur Rpondre plus facilement une requte judiciaire ...
INTRODUCTION
Problmatique locale au COM
Plusieurs serveurs (Samba/LDAP, HTTP, DNS, DHCP, SSH, FTP ...) 2 sites distants/600 utilisateurs Syslog-ng car possibilit de trier avec plus de finesse les diffrents logs reus sur un serveur
Solution retenue :
SOMMAIRE
INTRODUCTION SYSLOG-NG
Prsentation (possibilits, tlchargement, installation) Principes gnraux Configuration serveur Configuration client Installation & configuration Utilisation
PHP-SYSLOG-NG
CONCLUSION
SYSLOG-NG : Prsentation
Gestionnaire de journaux systmes de nouvelle gnration (ng = new generation), capable (entre autres) :
de filtrer les messages en utilisant les expressions rgulires d'envoyer/recevoir les logs sur le rseau via UDP ou TCP Compatible IPV6
SYSLOG-NG : Disponibilit
Sur la plupart des distributions sous forme de paquet (Debian, Red Hat, Mandriva ...) En tlchargement (format tar.gz) sur SOURCEFORGE (http://sourceforge.net/projects/syslog-ng/) ou chez BALABIT
(http://www.balabit.com/downloads/files/syslog-ng/sources/stable/)
SYSLOG-NG : Installation
Debian : apt-get install syslog-ng Red Hat : yum install syslog-ng ... Sources : ./configure, make, make install pour la version tar.gz
SOMMAIRE
INTRODUCTION SYSLOG-NG
Prsentation (possibilits, tlchargement, install) Principes gnraux Configuration serveur Configuration client Installation & configuration Utilisation
PHP-SYSLOG-NG
CONCLUSION
source -> Dfinition de la provenance des messages de logs reus par syslog-ng. destination -> O et comment le message de log est-il envoy (local ou distant) ? filter -> les messages ne seront envoys vers la destination dfinie que s'ils "matchent" les rgles de filtrage dfinies. log -> dfinit le traitement de chaque message de log reu, en fonction des items source, destination et filter.
priorit (level) : none, debug, info, notice, warning, error, crit, alert, emerg type (facilities) : authpriv, cron, daemon, kern, local0 -> local7, lpr, mail, news, syslog, user, uucp, ftp,mark
1er champ : type d'objet (source, destination, filter, log) 2me champ : identifiant de l'objet (s_source1, d_network, f_filterdemo1, ...) 3me champ : liste de paramtres propres chaque type d'objet.
propres au type d'objet source et destination permettant de spcifier des canaux de communication pour envoyer et recevoir des logs :
source : internal(), unix-stream(), udp(), tcp(), udp6(), tcp6() ... destination : file(), unix-stream(), tcp(), udp(), tcp6(), fifo(), pipe(), program() ...
Exemple d'utilisation des drivers permettant de rcuprer les logs de 3 sources diffrentes :
sources_demo{ internal(); #logsdukernellocal unixstream("/dev/log");#logsdesservices locaux udp(ip(10.1.2.3)port(514));#logsprovenance durseau }; destinationd_tcp{...};
propres au type filter, s'appliquent aux messages de logs reus. Elles sont construites partir de :
fonctions pr-dfinies : host(regexp), match(regexp), program(regexp), facility, level(emerg, alert, err ...), ... parenthses des oprateurs boolens : and, or, not
propres l'objet log, permettent de modifier le fonctionnement type d'criture des logs :
final : ne pas envoyer le message une autre destination flow-control : arrter de lire le message provenant de cette source si la destination ne peut pas les accepter ...
( = les logs provenant de la source "s_demo" et envoys vers la destination "d_tcp" sont ignors si la machine dfinie dans "d_tcp" ne rpond plus)
fonctions internes de syslog-ng qui peuvent tre utilises pour construire des noms de fichiers de destination de logs.
SOMMAIRE
INTRODUCTION SYSLOG-NG
Prsentation (possibilits, tlchargement, install) Principes gnraux Configuration serveur Configuration client Installation & configuration Utilisation
PHP-SYSLOG-NG
CONCLUSION
Syslog-ng a un certain nombre d'options permettant de dfinir le comportement vis vis du DNS, des droits et des permissions sur les fichiers et rpertoires cres ...
Pour tout savoir :
man syslog-ng.conf
Principales options :
use_dns -> demande la rsolution des noms DNS pour les machines qui envoient leurs logs, owner(...), group(...), perm(...), dir_perm(...) -> fixe la proprit et les permissions sur les fichiers et rpertoires cres, sync(...) -> permet de spcifier une taille du buffer pour diminuer l'activit du disque, ...
Aprs les options, commence la configuration des objets globaux de syslog-ng avec la dfinition des sources
-> Dfinit la provenance des logs reus par syslog-ng
les destinations permettent de dfinir les fichiers ou les cibles rseaux vers lesquelles on veut crire les logs reus. Pour cela, on dispose de drivers :
file() -> permet d'crire dans un fichier, program() -> permet d'appeler un programme externe (usr/bin/mysql ....), tcp(),udp() -> on envoie les logs vers une destination rseau en TCP ou en UDP, tcp6(),udp6() -> la mme chose mais IPV6.
destination d_mysql {
HOST : donne le nom de la machine source YEAR, MONTH, DAY : donnent les informations de date STAMP : timestamp format PRIORITY : niveau de gravit du message, FACILITY : Facilit du message PROGRAM : le nom du programme qui envoie le message PID : le PID du programme qui envoie le message ...
On peut maintenant construire les directives log. Chaque message est susceptible d'tre trait par toutes les directives log prsente dans le fichier :
log{ source(s_all);#messagesprovenantdecettesource, filter(f_auth);#sicorrespondentcefiltre, destination(d_auth);#sontenvoysverscettedest }; log{ source(s_all);#messagesprovenantdecettesource, filter(f_messages);#sicorrespondentcefiltre, destination(df_messages);#sontenvoysverscette dest };
Dans cet exemple on logge 2 fois le mme message de log vers 2 destinations diffrentes.
log{ source(s_network);#logsprovenantdurseau, destination(d_archivage);#sontenvoysverscette destination }; log{ source(s_network);#logsprovenantdurseau, destination(d_mysql);#sontcritsverscettebase MySQL
};
SOMMAIRE
INTRODUCTION SYSLOG-NG
Prsentation (possibilits, tlchargement, install) principes gnraux Configuration serveur Configuration client Installation & configuration Utilisation
PHP-SYSLOG-NG
CONCLUSION
On peut envoyer les logs vers une machine distante et continuer tracer dans des fichiers locaux.
Syslog-ng :
1)Dfinir les sources
source s_local { unix-stream("/dev/log"); };
Observateur d'vnements -> Pas prvu par dfaut Snare (Open Source) d'Interselect Alliance -> Redirection vers Syslog ou Syslog-ng
Clients NT/2000/XP/2003 Spcification du serveur et du port via l'interface web d'administration sur port 6161
PHP-SYSLOG-NG
SOMMAIRE
INTRODUCTION SYSLOG-NG
Prsentation (possibilits, tlchargement, install) principes gnraux Configuration serveur Configuration client Installation & configuration Utilisation
PHP-SYSLOG-NG
CONCLUSION
PHP-SYSLOG-NG
GNRALITS
TLCHARGEMENT
PHP-SYSLOG-NG
PREREQUIS
php5 php5-cli (fournit l'interprteur /usr/bin/php5) php5-gd (module de manipulation des images) php5-mysql (module de connexion avec MySQL)
PERL
PHP-SYSLOG-NG
PREREQUIS
PHP-SYSLOG-NG : Installation
Le fichier tar.gz tlcharg est dcompresser et dcompacter dans le rpertoire contenant les documents du site web (/var/www par exemple). Pas de paquetage Red Hat ou Debian ce jour Configurer Apache pour :
ou
PHP-SYSLOG-NG : Installation
Un fichier plac dans $INSTALL/scripts/logrotate.d est copier dans /etc/logrotate.d/phpsyslog-ng/ (rotation des fichiers de logs des oprations de php-syslog-ng dans le rpertoire /var/log/php-syslogng)
PHP-SYSLOG-NG : Installation
le fichier $INSTALL/scripts/crontab contient des lignes rajouter dans la crontab de root pour maintenir jour la base MySQL cree.
PHP-SYSLOG-NG : Configuration
Crer une base de donnes "syslog" avec les comptes utilisateurs adquats paramtrer le site (mot de passe admin, adresse ...)
PHP-SYSLOG-NG : Configuration
source s_network {udp()}; ... destination d_mysql { program("/usr/bin/mysql -usyslogadmin -psyslogadmin syslog" template("INSERT INTO logs (host, facility, priority, level, tag, datetime, program, msg) VALUES ( '$HOST', $FACILITY, '$PRIORITY', '$LEVEL', '$TAG', '$YEAR-MONTH-$DAY' $HOUR:$MIN:$SEC', '$PROGRAM', '$MSG');\n") template-escape(yes)); } log {source(s_network); destination(d_archivage); };#Ces 2 destinations, log {source(s_network); destination(d_mysql); }; #sont utilises pour les messages de log provenant du rseau.
CONCLUSION
Avantages :
Compatibilit avec le syslog classique Plus grande souplesse de configuration notion de filtre permet de trier plus en dtail ses messages de logs Avec PHP-Syslog-ng, peuvent tre trs utile pour l'analyse d'incidents posteriori Prise en mains Attention ne pas trop "clater" les traces
Inconvnients