Vous êtes ici : Accueil / Debian GNU/Linux / Serveurs / HTTP / Installer le serveur mandataire de protection parentale DansGuardian sur Debian

Installer le serveur mandataire de protection parentale DansGuardian sur Debian

Par Pierre-Yves Landuré Dernière modification 11/11/2017 09:45

DansGuardian bloque l'accès aux sites pour adultes aux utilisateurs de votre serveur mandataire. Ce logiciel filtre le contenu des sites Internet visités. Il ne se contente pas de vérifier l'URL par rapport à une liste noire. Il permet aussi de contrôler la présence de virus dans les fichiers téléchargés grâce à l'antivirus libre ClamAV.

Ce guide est testé sur:

  • Debian 5.0 Lenny
  • Debian 6.0 Squeeze

Prérequis

Ce guide recommande l'installation du logiciel ClamAV en suivant le guide Installer l'antivirus ClamAV sur Debian.

Installation

Installez les prérequis d'installation:

command apt-get install lsb-release debian-archive-keyring

Récupérez le nom de la distribution:

DEBIAN_VERSION=$(command lsb_release -cs)

Les dépôts "Debian Volatile" contiennent les dernières version des logiciels étant mis à jour fréquemment pour des raisons de sécurité pour les distributions Debian antérieures à Squeeze. Ajoutez les dépôts du logiciel pour la distribution à votre configuration apt, s'ils existent:

if command wget --spider --quiet "http://volatile.debian.org/debian-volatile/dists/${DEBIAN_VERSION}"; then
command echo "# Debian Volatile
deb http://volatile.debian.org/debian-volatile ${DEBIAN_VERSION}/volatile main contrib non-free" \ > '/etc/apt/sources.list.d/debian-volatile.list'
fi

Mettez à jour la liste des paquets disponibles :

command apt-get update

Installez le serveur mandataire:

command apt-get install dansguardian unrar-free

Ignorez les messages d'erreurs ci-dessous:

DansGuardian has not been configured!
Please edit /etc/dansguardian/dansguardian.conf manually then rerun
this script.

DansGuardian doit disposer d'un serveur mandataire pour se connecter à Internet. Par défaut, il s'agit de Squid:

command apt-get install squid3

Il est possible d'utiliser un autre serveur mandataire (par exemple tinyproxy) en modificant la valeur "proxyport" dans le fichier "/etc/dansguardian/dansguardian.conf".

Configuration

Configurez le serveur mandataire pour afficher les messages d'alerte en français:

command sed -i -e "s/^\(language[\t ]*=\).*$/\1 'french'/" \
'/etc/dansguardian/dansguardian.conf'

Diminuez le niveau de journalisation afin de ne conserver que les requêtes ayant posé problème:

command sed -i -e 's/^\(loglevel[\t ]*=\).*$/\1 1/' \
'/etc/dansguardian/dansguardian.conf'

Activez l'extension anti-virus pour vérifier les contenus téléchargés avec ClamAV. Cette option est très consommatrice de resources système:

command sed -i -e 's/^[\t #]*\(contentscanner[\t ]*=.*clamav.*$\)/\1/' \
'/etc/dansguardian/dansguardian.conf'

Activez le serveur mandataire en commentant la ligne "UNCONFIGURED":

command sed -i -e 's/^.*UNCONFIGURED.*$/#\0/' \
'/etc/dansguardian/dansguardian.conf'

Démarrez le serveur:

/etc/init.d/dansguardian start

Utilisation des listes noires SquidGuard

SquidGuard est un logiciel de contrôle parental pour le serveur mandataire Squid. DansGuardian peut utiliser les listes noires de cet outil.

Créez le dossier destiné à contenir les listes noires:

command mkdir --parent /var/lib/squidguard/db
command chown -R proxy:proxy /var/lib/squidguard/db

Ajoutez le script cron mettant à jour quotidiennement la liste noire :

command echo '#!/bin/bash

# Downloading the adult site blacklist update
/usr/bin/wget -q ftp://ftp.univ-tlse1.fr/pub/reseau/cache/squidguard_contrib/adult.tar.gz \
--output-document=/tmp/adult.tar.gz

/bin/tar --directory /var/lib/squidguard/db -xzf /tmp/adult.tar.gz

# SquidGuard must be able to update db files.
/bin/chown -R proxy:proxy /var/lib/squidguard/db

# We update the SquidGuard database with the downloaded data :
if [ -x /usr/bin/squidGuard ]; then
/bin/su proxy -c "/usr/bin/squidGuard -C all > /dev/null 2>&1"
fi' \
> '/etc/cron.daily/update-squidguard-blacklist'
command chmod +x '/etc/cron.daily/update-squidguard-blacklist'

Initialisez la liste noire:

/etc/cron.daily/update-squidguard-blacklist

Intégrez la liste noire à DansGuardian:

command ln -s '/var/lib/squidguard/db/adult/' '/etc/dansguardian/lists/blacklists/'

Configurez DansGuardian pour utiliser cette liste noire :

/bin/sed -i -e 's/[\t #]*\(.*Include.*adult.*\)$/\1/' /etc/dansguardian/lists/bannedsitelist

Redémarrez DansGuardian:

/etc/init.d/dansguardian restart

Utilisation

Pour utiliser le serveur mandataire, configurez le proxy HTTP de votre navigateur Internet avec l'adresse IP de votre serveur avec 8080 pour port de connexion.

Références

Ce livre peut vous aider:

Remerciements