EventCentral 4.4

Friday, 28 December 2007 00:00
Print
User Rating: / 0
PoorBest 
EventCentral collecte nuitamment les journaux d'évènements des ordinateurs Windows du voisinage réseau. Ces journaux peuvent être lus via une interface web.

Les journaux sont conservés dans une base de données MySQL.

Les ordinateurs à collecter sont découverts automatiquement lors du processus de collecte, selon un filtre que tu peux définir.

Captures d'écran

evt44_domains
evt44_computers
evt44_logs
evt44_events
On peut aussi :

Les liens visités sont marqués, ce qui permet de savoir quels sont les journaux qui ont été traités.

J'en veux

Prérequis serveur

Prérequis client

EventCentral a été testé avec succés sur Firefox 2.x et Internet Explorer 7.

Compatibilité

Windows 2003, Windows 2000, Windows NT, ça c'est sûr. Sans doute XP et Vista, mais bon tant que je ne l'ai pas vu tourner de mes yeux, tu sais ce que c'est.

Donne-moi ça tout de suite

EventCentral est distribué sous licence Gnu General Public License, version 2.

EventCentral44.zip (173 Ko environ) contient tous les fichiers nécessaires à l'application.
Il est également disponible sur SourceForge.net Logo

Historique des versions

Il n'y a pas de programme d'installation, merci de lire attentivement les instructions d'installation ou de mise à jour.


Mise à jour

Dans tous les cas, si tu utilises de la collecte distante, pense à faire la mise à jour également sur les serveurs distants — sauf la mise à jour de la base de données.

Version 3 vers version 4

Désolé, pas de mise à jour entre les versions 3 et 4.

Version 4.0.x vers version 4.1

Remplacer le contenu du répertoire c:\program files\EventCentral4 par le contenu de l'archive (supprimer l'ancien contenu).

Version 4.0.x ou 4.1 vers version 4.2

La structure de la base de données a changé avec la version 4.2. N'aie pas peur : tes données seront conservées. La méthode est la suivante :

Version 4.x vers version 4.3

La structure de la base de données a changé avec la version 4.3. N'aie pas peur : tes données seront conservées. La méthode est la suivante :

Version 4.x vers version 4.3.1

La structure de la base de données a changé avec la version 4.3.1. N'aie pas peur : tes données seront conservées. La méthode est la suivante :

Version 4.3.1 vers version 4.4

Pas de modification du shéma de la base de données.

Installation

Pour plus de facilité, nous appellerons ton serveur ouèbe SERVEUR_CENTRAL plutôt que Catherine, parce que Catherine ça fait pas sérieux.

Installations prérequises

Or donc, sur SERVEUR_CENTRAL, il faut avant toute chose :

Installation d'EventCentral

Décompacte le zip amoureusement concocté par mes soins sur SERVEUR_CENTRAL, dans C:\Program Files\. Cela va créer le répertoire "EventCentral44".

Change si nécessaire à la première ligne de chaque script *.pl le chemin de l'interpréteur Perl. Si tu as fait une installation standard de Active Perl, tu peux laisser #!c:\perl\bin\perl.

Assure-toi ensuite qu'Apache veuille bien exécuter des scripts Perl se trouvant dans le répertoire d'EventCentral. Pour ça, ajoute dans le fichier de configuration d'Apache httpd.conf les lignes suivantes :

Alias /eventcentral/ "C:/Program Files/eventcentral44/html/" 
<Directory "C:/Program Files/eventcentral44/html/">
AddHandler cgi-script .pl
Options Indexes FollowSymLinks -MultiViews +ExecCGI
AllowOverride all
Order allow,deny
Allow from all
</Directory>

Il faut relancer Apache après ces modifications.


Configuration

Ouvre ton navigateur à l'URL http://localhost/eventcentral/admin.pl.

Renseigne les différents paramétres dans la première rubrique (les valeurs par défaut devraient faire l'affaire, à l'exception du mot de passe MySQL qu'il serait bon de changer). Enregistre.

Note : l'utilisateur sous lequel tourne le serveur Apache doit avoir les droits en écriture sur le répertoire C:\Program Files\EventCentral44\html, où s'enregistre la configuration.

Crée la base de données : renseigne dans la deuxième rubrique le mot de passe de root pour MySQL et clique sur "Créer".

Quand tu auras exécuté la récupération des journaux (voir ci-dessous), tu pourras les afficher en ouvrant ton navigateur à l'URL http://localhost/eventcentral/.

Récupération des journaux

Planification

Il te faut créer sur SERVEUR_CENTRAL une tâche planifiée (voir la documentation de Windows, si tu ne sais pas ce que c'est), s'exécutant tous les jours après minuit, à un moment creux pour tes serveurs. Elle lance le programme Perl de collecte, avec les paramétres qui vont bien. Si tu veux connaître les paramétres acceptés, tape dans une fenêtre de commande :

C:
cd "\Program Files\EventCentral44"
perl dumpel.pl

Il est important d'exécuter dumpel.pl depuis le répertoire où il est installé, sinon Perl ne trouvera pas le module EventLog.pm et s'en plaindra comme ça :

Can't locate EventLog.pm in @INC (@INC contains: ./html C:/Perl/site/lib C:/Perl/lib .)
at C:\Program Files\EventCentral44\dumpel.pl ...

Ainsi donc, si tu veux "dumper" les journaux des serveurs du domaine DOMAINE, ta tâche devra lancer :

c:\perl\bin\perl.exe "C:\Program Files\EventCentral44\dumpel.pl" DOMAINE

Elle s'exécutera dans le répertoire C:\Program Files\EventCentral44.

Cette tâche doit s'exécuter sous un compte disposant :

Dans le cas où tu ne dispose pas des droits suffisants pour DOMAINE, tout n'est pas perdu. Tu peux soit utiliser la collecte à distance, soit passer en paramétre en plus du nom de domaine un login et un mot de passe à utiliser pour se connecter aux machines de ce domaine :

c:\perl\bin\perl.exe "C:\Program Files\EventCentral44\dumpel.pl" \
DOMAINE,DOMAINE\utilisateur,mot_de_passe

Enfin, tu peux passer plusieurs domaines en paramétre sous la même forme, séparés par un espace.

c:\perl\bin\perl.exe "C:\Program Files\EventCentral44\dumpel.pl" \
DOMAINE1 DOMAINE2,utilisateur,motdepasse DOMAINE3,utilisateur,motdepasse

Attention ! Depuis qu'il a été repris par Microsoft, PsLogList.exe doit être lancé au moins une première fois à la main. Il affiche alors un contrat de licence, qu'il faut accepter. Par la suite, il peut être utilisé dans un fichier de commandes.

Filtrage des serveurs à prendre en compte

Le programme est prévu pour prendre dans le voisinage réseau toutes les machines dont l'OS est de type serveur (cf la fonction get_serveurs). En Perl, ça s'éructe comme ça :

if (!Win32::NetAdmin::GetServers(undef,$domaine,0x8018,\@machines)) {
warn "Impossible de voir le voisinage reseau de $domaine\n";
} else {
foreach (@machines) { push @resultat, "$_.${domaine}${userPassword}"; };
}

Tu as noté en rouge le code hexa barbare ? C'est la somme de 0x8000 (qui veut dire NT/2000 server), 0x8 (contrôleurs de domaine), et 0x10 (contrôleurs de domaine secondaires). Tous les codes possibles sont listés à la fin du fichier dumpel.pl, à toutes fins utiles.

On peut faire des tris plus subtils, par exemple en listant toutes les machines, et en les filtrant ensuite pour ne garder que celles dont le nom commence par S et ne se termine ni par M ni par I (hé oui, et pourquoi pas ?). Ca donnerait :

if (!Win32::NetAdmin::GetServers(undef,$domaine,0xFFFFFFFF,\@machines)) {
warn "Impossible de voir le voisinage reseau de $domaine\n";
} else {
foreach (@machines) { /^S.*[^MI]$/i && do { push @resultat, "$_.${domaine}${userPassword}"; }};
}

Voilà, tu as compris le principe, tu peux donc développer le filtre que tu veux.


Collecte à distance

Il est possible de collecter les journaux sur une machine, et de les stocker et afficher sur une autre. Cela permet notamment de récupérer les journaux d'un domaine qui n'apparaît pas dans le voisinage réseau de SERVEUR_CENTRAL. Le seul lien nécessaire entre les deux machines est une connexion MySQL.

Dans ce cas, la partie affichage n'est pas sollicitée, le répertoire html peut donc être vidé à l'exception du fichier de configuration config.inc. Mais cette suppression n'est pas indispensable (c'est pas pour le prix de l'espace disque de nos jours, hein ?)

La procédure est la suivante : on suppose EventCentral installé sur SERVEUR_CENTRAL selon la procédure indiquée ci-dessus. On l'installe également sur le serveur distant — appelons-le SERVEUR_DISTANT — mais sans le serveur MySQL et sans le serveur Web Apache. Cela revient à :

Protection de la page d'administration

Tu peux restreindre l'accès à la page d'administration, ou à n'importe quelle page que tu juges sensible, en utilisant la fonctionnalité d'Apache ".htaccess". Pour cela, crée un fichier .htaccess dans le sous-répertoire 'html" de l'installation d'EventCentral. Comme l'explorateur de Windows ne permet pas de créer des fichiers avec seulement une extension, tu devras le faire en ligne de commande :

c:
cd "\program files\eventcentral44"
echo.>.htaccess

Edite ensuite ce fichier, pour qu'il contienne :

<FilesMatch admin.pl>
AuthName "EventCentral"
AuthType Basic
AuthUserFile "c:/program files/eventcentral44/.htpasswd"
require valid-user
</FilesMatch>

Il ne reste plus qu'à créer le fichier contenant le login/mot de passe autorisé à accéder aux pages protégées :

cd ..
c:\program files\Apache Software Foundation\Apache2.2\bin\htpasswd -c .htpasswd <login>
<mot de passe>

Reste à faire

Merci de me soumettre le résultat de vos efforts, afin que la communauté des utilisateurs en profite.

Remerciements

Last Updated on Friday, 06 March 2009 18:34