Installer le serveur mandataire de protection parentale DansGuardian sur Debian
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
- Merci aux développeurs de DansGuardian.
- Merci aux contributeurs du projet Debian Volatile.
- Merci à Coagul pour l'article Contrôle parental avec DansGuardian et TinyProxy.