DansGuardian

From aldeid
Jump to navigation Jump to search

DansGuardian

Description

DansGuardian est un système de filtrage qui s'interface avec Squid ou oops. Squid écoute sur le port 3128 par défaut et DansGuardian sur le port 8080 par défaut. DansGuardian s'intercale entre le navigateur et Squid. Ainsi, les requêtes du navigateur sont transmises à DansGuardian qui les analyse avant de les retransmettre à Squid, qui ira chercher le contenu sur Internet.

A la différence de SquidGuard qui se base sur une liste de sites interdits, à mettre à jour régulièrement, DansGuardian analyse quant à lui le contenu de la page pour déterminer si elle doit être affichée ou bloquée.

Installation

Pré-requis

L'installation préalable de squid (à partir des packages ou des sources) est nécessaire. Par ailleurs, si vous installez dansguardian à partir des sources, vous aurez besoin du paquet pkg-config.

# apt-get install squid3 squid3-common pkg-config
Note
Par défaut, dansguardian utilise le port 8080. Assurez-vous que ce port n'est pas déjà utilisé par une autre application. Si tel est le cas, vous devrez soit modifier le port utilisé par l'autre application, soit adapter le port utilisé par dansguardian dans le fichier de configuration.

Création des fichiers et répertoires

La commande qui suit permet de vérifier que l'utilisateur dansguardian n'existe pas encore.

# id dansguardian
id: dansguardian: usager inexistant.

Si la commande précédente remonte l'existence de l'utilisateur dansguardian, les commandes qui suivent (création du groupe et de l'utilisateur) ne sont pas nécessaires.

# groupadd dansguardian
# useradd -g dansguardian dansguardian

Création du système de fichiers et affectation des droits appropriés

# mkdir /var/log/dansguardian/
# cd /var/log/dansguardian/
# touch access.log
# touch stats
# chown -R dansguardian:dansguardian /var/log/dansguardian/

Installation à partir des sources

Bien qu'il existe une version packagée (apt-get install dansguardian), il est préférable d'installer dansguardian à partir des sources afin d'obtenir la dernière version.

# cd /usr/local/src/
# wget http://dansguardian.org/downloads/2/Stable/dansguardian-2.10.0.2.tar.gz
# tar xzvf dansguardian-2.10.0.2.tar.gz
# cd dansguardian-2.10.0.2/

Les options de compilation les plus utilisées sont :

--enable-clamav
       Assure le support antivirus ClamAV

--enable-fancydm[=yes]
       Assure le support du "fancy download manager"

--enable-trickledm[=no]
       Assure le support du "trickle download manager"

--with-proxyuser=dansguardian
       Nom d'utilisateur pour le proxy

--with-proxygroup=dansguardian
       Nom du groupe pour le proxy

--with-piddir=var/run
       Chemin du répertoire pour le PID

--with-logdir=var/log/dansguardian
       Chemin du répertoire des logs dansguardian

Compilation et installation

# ./configure \
 --enable-clamav \
 --enable-trickledm=yes \
 --with-proxyuser=dansguardian \
 --with-proxygroup=dansguardian 
# make
# make install

Installation de la blacklist

  1. Aller sur le site http://urlblacklist.com/?sec=download
  2. et télécharger le fichier bigblacklist.tar.gz
  3. Le décompresser dans le répertoire /usr/local/etc/dansguardian/lists/blacklists/
Note
Suite à la décompression, tous les répertoires sont contenus dans un répertoire parent "blacklist". Vous devez replacer les répertoires ads, adult, aggressive, etc. à la racine de /usr/local/etc/dansguardian/lists/blacklists/

Désinstallation de DansGuardian

# cd /usr/local/src/dansguardian-2.10.0.2/
# make uninstall
Note
La commande "clear && cd / && find / -name dansguardian" permet une recherche approfondie des éventuels résidus d'installation.

Paramétrage

Modification du fichier de configuration

Modifications de base

Le paramétrage est situé principalement dans le fichier dansguardian.conf

# cd /usr/local/etc/dansguardian/
# cp dansguardian.conf dansguardian.conf.orig
# vim dansguardian.conf

Puis modifiez le fichier comme suit :

---
Remplacez
 language = 'ukenglish'
par
 language = 'french'
---
 Remplacez
  #loglocation = '/usr/local/var/log/dansguardian/access.log'
 par
  loglocation = '/var/log/dansguardian/access.log'
---
Remplacez
 #statlocation = '/usr/local/var/log/dansguardian/stats'
par
 statlocation = '/var/log/dansguardian/stats'
---

Si vous utilisez un niveau de reporting (reporting_level) égal à 1 ou 2, cette variable vous permet de spécifier l'adresse de redirection en cas d'interdiction. Dans le cas où vous laissez le niveau par défaut (niveau 3, recommandé), cette modification n'est pas nécessaire.

Remplacez
 accessdeniedaddress = 'http://YOURSERVER.YOURDOMAIN/cgi-bin/dansguardian.pl'
par
 accessdeniedaddress = 'http://www.aldeid.com/cgi-bin/dansguardian.pl'
---
Remplacez :
 #daemonuser = 'nobody'
 #daemongroup = 'nobody'
par :
 daemonuser = 'dansguardian'
 daemongroup = 'dansguardian'

Modifications avancées

Authentification

INCOMPLETE SECTION OR ARTICLE
This section/article is being written and is therefore not complete.
Thank you for your comprehension.


Rotation des logs

DansGuardian est livré avec un script de rotation des logs. Pour que celui-ci soit exécuté régulièrement, le plus simple est d'ajouter une entrée crontab.

# crontab -e

Puis ajouter l'entrée suivante (déclenchement tous les samedis, à 03:00) :

00 03 * * sat /usr/local/share/dansguardian/scripts/logrotation

Utlilisation

Sur le serveur

Pour lancer DansGuardian :

# dansguardian

Pour stopper dansguardian :

# dansguardian -q

Vérifier que les daemons sont lancés :

# ps aux | grep squid3
# ps aux | grep dansguardian

Redirection IPTABLES

# iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 3128 -j REDIRECT --to-port 8080

Sur le client

Paramétrez les navigateurs pour passer par le proxy (172.16.196.128, port 8080).

Image:dansguardian-002.png