Big Brother - Linux Magazine No 10 - octobre 99

Surveillance de réseaux avec Big Brother

Big Brother est un logiciel de surveillance de réseau via une interface Web. Il peut prévenir l'administrateur par mail ou via un pager si un problème survient. Il enregistre les statistiques de fonctionnement pour les dernières 24 heures, pour chaque machine et pour chaque service configurés.

Big Brother est développé par Sean MacGuire avec une licence particulière. Le code source est fourni. Il ne peut être vendu. Le logiciel serveur a été testé sur Linux (RedHat et Debian), FreeBSD, Solaris, SCO 3/5, HPUX, HPUX 10, NetBSD, Ultrix, OSF, Irix, SunOS 4.1, UnixWare et AIX. Il existe aussi un client Windows NT pour les plates-formes Intel et Alpha. D'autres personnes ont développé des clients pour Netware, AS/400 et VMS.

Big Brother est développé en C et en Bash (shell) selon le principe du client/serveur. Un logiciel client tourne sur chaque machine à surveiller et envoie les informations recueillies à un logiciel serveur sur une machine qui affiche les données sur une page Web. On peut définir plusieurs serveurs d'affichage. Big Brother utilise, comme il se doit, le port 1984.

Pour ceux qui n'auraient pas lu «1984», le roman de George Orwell, Big Brother est le nom du dictateur d'un régime totalitaire où tout le monde est surveillé et dont la devise est : «BIG BROTHER IS WATCHING YOU» (Big Brother vous regarde).

La version actuelle (août 1999) est la 1.2. On peut définir les services à contrôler pour chaque machine. Tous les services IP définis dans /etc/services sont potentiellement surveillés. Les services UDP ne sont pas supportés. On peut, en autre, scruter les services suivants :

1 Connexion réseau (ping)

2 Web (httpd)

3 Mail (smtp, imap et pop3)

4 FTP

5 Serveur de nom de domaine (DNS)

6 Serveur de news (nntp)

7 Telnet

8 SSH (secure shell)

9 Charge processeur

Espace disque

Les fichiers de configuration

Le fichier de configuration bb/etc/bb-hosts définit les machines à surveiller et la machine serveur.

Ce fichier doit être identique sur le serveur d'affichage et sur le serveur pager s'ils sont hébergés sur des machines différentes.

Le format est identique au fichier /etc/hosts avec des informations supplémentaires pour Big Brother :

ADRESSE_IP HÔTE # DIRECTIVES

Voici un exemple de fichier bb-hosts :

#

# FICHIER DES HÔTES BIG BROTHER

#

192.168.116.1 serveur-affichage.domaine.com # BBNET BBDISPLAY http://bb.domain.com/

192.168.116.2 serveur-pager.domaine..com # BBPAGER ftp smtp pop3

192.168.117.1 client1.domaine.com # ftp smtp dns

192.168.117.2 client2.domaine.com # ftp smtp nntp

0.0.0.0 dhcp.domaine.com #

group-compress <H3><I>Serveurs Web</I></H3>

192.168.117.2 www.domaine1.com # ftp smtp noping

192.168.117.3 www.domaien2.com # ftp smtp

192.168.117.4 www.domaine3.com # ftp smtp

# page modem Modem page

group <H3><I>Modem Banks</I></H3>

dialup modem-bank1 192.168.117.1 16

dialup modem-bank2 192.168.117.17 16

dialup modem-bank3 192.168.117.33 16

# Le résumé est toujours affiché sur la page principale

summary serveur-affichage.domaine.com 192.168.116.1

http://bb.domaine.com/

BBDISPLAY indique un serveur d'affichage.

BBPAGER indique un serveur pager.

BBNET indique que cette machine vérifie les services du réseau IP.

On peut présenter les informations des serveurs Web de plusieurs domaines avec une option group-compress <H3><I>Serveurs Web</I></H3> et celles concernant une banque de modems par page modem Modem page group <H3><I>Modem Banks</I></H3>.

fig.1

L'option summary permet d'obtenir un résumé des informations. Chaque service de chaque machine possède une page dédiée (cf figure 1). Chaque service est aussi doté d'un historique des dernières 24 heures (cf figure 2). On peut demander à Big Brother de vérifier si un service est non fonctionnel. Certains paramètres peuvent être changés dans le fichier bbdef.sh.

fig.2

Pour les nombreuses autres possibilités de configuration, consultez la documentation fournie avec Big Brother, qui est aussi disponible sur le site Web http://maclawran.ca/bb/.

Installation et configuration

1 Récupérez l'archive sur le site de Big Brother :

http://maclawran.ca/~sean/bb-dnld/ ou sur http://bb4.com/.

2 Décompressez l'archive tar.gz dans /usr/local, ce qui crée un réperto`ire bb.

3 Dans le répertoire /bb/doc, lancez le script bbconfig linux, bbconfig redhat ou un autre paramètre suivant votre système d'exploitation.

4 Dans le répertoire src, lancez make, puis make install.

5 Modifiez le fichier de configuration etc/bb-hosts.

6 Créez un lien dans l'espace racine du serveur Web vers le répertoire www : ln -s /usr/local/bb/www /home/httpd/bb.

7 Copiez le fichier web/bb-hist dans le répertoire des scripts CGI : cgi-bin.

8 Modifiez ce script pour rajouter l'adresse Web (http://www.mon-domaine.com/bb/) ou mieux, pour créer un nom de domaine virtuel (http://bb.mon-domaine.com/). Dans ce cas, il faut aussi modifier la config du serveur Web pour rajouter ce domaine virtuel dans /etc/httpd/conf/httpd.conf. Cela permet de sécuriser l'accès à l'interface en changeant le port.

9 Lancez Big Brother : ./runbb.sh

Et voilà !

Sécurité

Il est important que les informations recueillies ne soient accessibles qu'à l'administrateur. On peut restreindre l'accès en définissant un domaine virtuel (http://bb.mon-domaine.com/) dans le fichier de configuration d'Apache httpd.conf et en changeant le port d'accès par une directive Listen IP_adresse:port. Il est aussi conseillé de protéger le répertoire avec un mot de passe grâce à htpasswd. L'exemple ci-dessous utilise le port 3984 pour accéder à bb.mon-domaine.com.

Listen 192.168.116.1:3984

<VirtualHost 192.168.116.1.:3984>

ServerAdmin webmaster@mon-domaine.com

DocumentRoot /home/httpd/bb

ServerName bb.mon-domaine.com

ErrorLog logs/mon-domaine.com-error_log

TransferLog logs/mon-domaine.com-access_log

</VirtualHost>

Rajoutez un fichier .htaccess dans /home/httpd/bb pour restreindre l'accès aux seules personnes autorisées. Vous avez besoin d'inclure les directives suivantes dans access.conf :

AccessFileName .htaccess

<Directory /home/httpd/bb>

AllowOverride All

</Directory>

Le fichier .htaccess contiendra :

AuthName mon-login

AuthUserFile /mon-repertoire/.mon-fichier-mot-de-passe

AuthType Basic

require valid-user

Le programme htpasswd vous permettra de créer un fichier .mon-fichier-mot-de-passe contenant les logins et les mots de passe des personnes autorisées. Ne pas placer le fichier des mots de passe dans l'espace visible du serveur Web.

Il y a aussi un fichier security qui permet de restreindre l'accès à Big Brother en spécifiant l'adresse IP d'une machine ou d'un sous-réseau.

204.101.110.0 # permet à ce sous-réseau de se # connecter à bbd

206.45.34.12 # permet à cette machine de se # connecter à bbd

 

Yann Forget

L'auteur est administrateur système chez Ionix Services, une start-up spécialisée dans les services réseau basés sur Linux et les logiciels libres. http://www.ionix-services.com/

yann.forget@ionix-services.com

 


© Copyright 2000 Diamond Editions/Linux magazine France. - Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.1or any later version published by the Free Software Foundation; A copy of the license is included in the section entitled "GNU Free Documentation License".