Ceci est une ancienne révision du document !
TuxGuardian
TuxGuardian est un parefeu (firewall) dit « applicatif », c'est-à-dire qu'il « filtre » les applications demandant un accès réseau (LAN ou Internet). Son rôle peut ainsi être comparé à celui que joue ZoneAlarm sous Windows.
Mais quelle peut bien être sa valeur ajoutée, n'avons-nous pas Iptables ? En fait, Iptables s'apparente plus à un pare-feu matériel : il ne fait « que » filtrer les trames passant sur le réseau sans se préoccuper de l'application générant ces trames. Un logiciel espion (spyware) peut donc se loger dans le système sans que l'on s'en aperçoive.
TuxGuardian se compose de trois éléments :
- un module : tuxg ;
- un daemon : tg-daemon ;
- une interface graphique : tg-frontend.
Pré-requis
Avant tout, il faut installer les paquets suivants :
- build-essential ;
- linux-headers (celui correspondant à votre noyau) ;
- qt3-dev-tools ;
- libqt3-headers ;
- libqt3-mt-dev.
sudo apt-get install build-essential qt3-dev-tools libqt3-headers libqt3-mt-dev linux-headers-`uname -r`
Installation
TuxGuardian n'étant pas présent dans les dépôts, il faut compiler tous les éléments :
- récupérer les sources ici ;
- le compiler par les commandes suivantes :
tar -xf tuxguardian-0.5.tar.gz cd tuxguardian-0.5 sudo make
Utilisation
Le lancement des éléments de TuxGuardian doit être fait uniquement en mode super-utilisateur.
sudo tg-daemon sudo modprobe tuxg sudo tg-frontend
En cas de problèmes lors du chargement du module :
sudo modprobe -r capability sudo modprobe tuxg
Il conviendra également de s'assurer de ce qu'aucun autre module de sécurité ne soit chargé.
Si tout ce passe bien, une icône (un petit bouclier) apparaitra dans la zone système (systray).
Lorsque une application tentera de se connecter sur le réseau, une boite de dialogue vous demandera d'autoriser ou non la connexion
Si la case « Don't ask me again » est cochée, TuxGuardian autorisera toutes les connections ultérieures de l'application.
Lancement automatique
Pour que TuxGuardian se lance au boot de la machine, il faut faire un script qui sera placé dans « /etc/init.d ».
- Créer le fichier :
sudo gedit /etc/init.d/tuxguardian
- Copier le script suivant :
#!/bin/sh -e ################################ # script de lancement de TuxGuardian # ################################ DAEMON="/usr/local/bin/tg-daemon" case $1 in start) echo "Starting TuxGuadian" echo "-------------------" echo "Loading daemon" $DAEMON echo "Loading kernel module" modprobe -r capability modprobe tuxg echo "DONE" ;; stop) echo "Stopping TuxGuardian" echo "--------------------" echo "Unload module" rmmod tuxg echo "Stop Daemon" killall tg-daemon echo "DONE" ;; *) echo "Use start/stop" ;; esac
- Faire en sorte qu'il puisse s'exécuter :
sudo chmod 755 /etc/init.d/tuxguardian
- Faire en sorte qu'il puisse se lancer au bon moment, création des liens symboliques :
sudo update-rc.d tuxguardian defaults
- Lancer l'interface graphique au démarrage de la session.
- Pour GNOME :
Allez dans Système → Préférences → Sessions, puis dans l'onglet « Programmes au démarrage », et ajoutez «gksudo tg-frontend
». - Pour KDE :
Créer un fichier « ~/.kde/Autostart/tuxguardian » et y ajouter :#!bin/sh kdesu tg-frontend
Problèmes connus
Si vous obtenez à la compilation un message d'erreur ressemblant à ceci :
Compiling the module ------------------------------------------------ make[1]: entrant dans le répertoire « /home/tyrann/TuxGuardian/tuxguardian-0.5/module » make -C /lib/modules/2.6.22-14-generic/build/ SUBDIRS=/home/tyrann/TuxGuardian/tuxguardian-0.5/module modules make[2]: entrant dans le répertoire « /usr/src/linux-headers-2.6.22-14-generic » CC [M] /home/tyrann/TuxGuardian/tuxguardian-0.5/module/tg-defs.o Dans le fichier inclus à partir de /home/tyrann/TuxGuardian/tuxguardian-0.5/module/tg-defs.h:31, à partir de /home/tyrann/TuxGuardian/tuxguardian-0.5/module/tg-defs.c:25: /home/tyrann/TuxGuardian/tuxguardian-0.5/module/tg.h:28:26: erreur: linux/config.h : Aucun fichier ou répertoire de ce type make[3]: *** [/home/tyrann/TuxGuardian/tuxguardian-0.5/module/tg-defs.o] Erreur 1 make[2]: *** [_module_/home/tyrann/TuxGuardian/tuxguardian-0.5/module] Erreur 2 make[2]: quittant le répertoire « /usr/src/linux-headers-2.6.22-14-generic » make[1]: *** [all] Erreur 2 make[1]: quittant le répertoire « /home/tyrann/TuxGuardian/tuxguardian-0.5/module » make: *** [all] Erreur 2
La ligne générant l'erreur étant la suivante :
/home/tyrann/TuxGuardian/tuxguardian-0.5/module/tg.h:28:26: erreur: linux/config.h : Aucun fichier ou répertoire de ce type
Voici les manipulations à faire :
sudo gedit module/Makefile
Chercher
ifeq ($(CORRECT_VERSION),yes) all: make -C /lib/modules/$(shell uname -r)/build/ SUBDIRS=$(shell pwd) modules
Remplacer par
feq ($(CORRECT_VERSION),yes) all: make -C /lib/modules/$(shell uname -r)/build/ SUBDIRS=$(shell uname -r| pwd) modules
Exécuter ensuite
sudo mv /usr/src/linux-headers-`uname -r`/include/linux/configfs.h /usr/src/linux-headers-`uname -r`/include/linux/config.h sudo make sudo mv /usr/src/linux-headers-`uname -r`/include/linux/config.h /usr/src/linux-headers-`uname -r`/include/linux/configfs.h
Et voilà, enjoy