DansGuardian : Différence entre versions

De Wiki NCad
Aller à : navigation, rechercher
(Installation)
(Configuration du fichier dansguardian.conf)
Ligne 127 : Ligne 127 :
 
=== Configuration du fichier dansguardian.conf ===
 
=== Configuration du fichier dansguardian.conf ===
 
<p>Dans un premier temps il faut éditer trois lignes du fichier de configuration. Pour cela ouvrez le fichier '''/etc/dansguardian/dansguardian.conf'''. Dans ce fichier effectuez les modifications suivante :</p>
 
<p>Dans un premier temps il faut éditer trois lignes du fichier de configuration. Pour cela ouvrez le fichier '''/etc/dansguardian/dansguardian.conf'''. Dans ce fichier effectuez les modifications suivante :</p>
1. Repérez la ligne suivante :
+
* Commentez ou supprimez la ligne suivante :
  filterport =
+
  UNCONFIGURED - Please remove this line after configuration
La variable correspond au port que Dansguardian va "écouter". Par défaut renseignez le port 8080, ce qui nous donne :
+
* Vérifiez le port sur lequel doit écouter Dansguardian :
 
  filterport = 8080
 
  filterport = 8080
2. Ensuite repérez la ligne : ''uniquement si vous souhaitez coupler DansGuardian avec Squid. Dans ce cas les requêtes soumises à Dansguardian sont transmissent à Squid.)''
+
* Indiquez le numéro de port du serveur Squid ''uniquement si vous souhaitez coupler DansGuardian avec Squid. Dans ce cas les requêtes soumises à Dansguardian sont transmissent à Squid.)'' :
proxyport =
+
Cette variable correspond au port d'écoute de Squid. Par défaut c'est le port 3128 - ce qui nous donne :
+
 
  proxyport = 3128
 
  proxyport = 3128
3. Enfin recherchez la ligne :
+
* Renseignez la langue dans laquelle doit être écrits les messages d'erreurs/informations
language = english
+
Remplacez '''english''' par '''french''' ainsi la ligne ressemble à  cela :
+
 
  language = french
 
  language = french
  
Une fois le fichier de configuration correctement édité, enregistrez vos modifications puis fermez le fichier. Pour appliquer les modifications ouvrez une fenêtre de terminal puis exécutez la commande suivante :
+
Une fois le fichier de configuration correctement édité, enregistrez les modifications puis fermez le fichier. Pour appliquer les modifications ouvrez une fenêtre de terminal puis exécutez la commande suivante :
{{ Box Console | objet=root@orcade ~# sudo /etc/init.d/dansguardian restart}}
+
 
Une fois DansGuardian redémarré, configurez votre navigateur pour qu'il utilise Dansguardian comme proxy avec comme informations :</p>
+
{{ Box Console | objet=sudo /etc/init.d/dansguardian restart}}
* Adresse du proxy : IP locale de votre serveur
+
* Port : 8080
+
Essayez de naviguer sur des sites au contenu sensible, DansGuardian devrait vous afficher un message d'erreur. A ce stade votre filtre est oppérationnel est peut être utilisé sur votre réseau. Néanmoins vous pouvez personaliser les pages d'erreurs de DansGuardian ou encore affiner le filtrage selon vos besoins.
+
  
 
= Configuration =
 
= Configuration =

Version du 19 mai 2011 à 18:57

ICON Build.png
article en construction

Cette article doit être complétée.

Présentation

DansGuardian est une extension pour Squid. DansGuardian est une extension puissante destinée à filtrer le contenu transitant entre l'Internet et la machine du client. DansGuardian se base sur un système de filtre par mots clés, néanmoins il est possible d'y coupler des listes noires de sites à bloquer.

Historique

DansGuardian est un script écrit en C++ compatible avec la plupart des distributions Linux. Développé principalement par Daniel Barron qui est également le créateur de DanGuardian, la communauté s'est agrandit avec l'adhésion de plusieurs personnes venant soutenir activement le développement du logiciel. Ainsi une première version de DansGuardian (v.0.5.0) dite alpha, c'est-à -dire stabilisée au niveau de la sécurité mais pouvant comporter quelques bogues mineures, est apparue le 14 janvier 2001. Dès lors, des correctifs ont été publiés au quotidient afin de corriger quelques bogues sur la version de base - modifier le code - ajouter de nouvelles fonctionnalités.

Fonctionnalités

DansGuardian peut être utilisé seul ou couplé avec un serveur proxy cache tel que Squid ou encore Oops. Le but de DansGuardian est d'analyser le contenu qui lui est soumis par les stations clientes afin d'en autoriser/refuser l'accès.

Methodes Fichier de configuration / Description
Extension de fichier (.php, .mp3, ...)
  • bannedextensionlist : listes des extensions interdites dans les urls
  • exceptionextensionlist : listes des extensions autorisées dans les urls
Adresse IP du serveur
  • bannediplist : listes noires d'adresses IPs
  • exceptioniplist : listes blanches d'adresses IPs
Mime Type de la page (audio/mpeg)
  • bannedmimetypelist : listes noires des mime types à bloquer
  • exceptionmimetypelist : listes blanches des mimes types autorisés
Expression
  • weightedphraselist : base de données d'expressions avec leur "poids"
Domaine (wiki.ncad.fr)
  • bannedsitelist : listes des noms de domaines interdits
  • exceptionsitelist : listes des noms de domaines autorisés
Url
  • bannedurllist : listes noires d'urls
  • exceptionurllist : listes blanches d'urls
Regexp Url
  • bannedregexpurllist : listes des termes interdits dans les urls
  • exceptionregexpurllist : listes des termes autorisés dans les urls
Regexp En-têtes HTTP client
  • bannedregexpheaderlist : listes des termes interdits dans l'en-tête
  • exceptionregexpheaderlist : listes des termes autorisés dans l'en-tête
Tag ICRA

Oui > Option à activer dans le fichier de configuration du groupe

Virus, Code malicieux

Oui > Option à activer dans le fichier de configuration du groupe

Censure de termes/expressions

Oui

Notification e-mail

Un serveur SMTP est requis.

  • en cas de tentative d'accès à un site non autorisé
  • en cas de tentative d'infection virale ou d'exécution de code malicieux

Nombre d'alerte avant notification configurable dans le fichier de configuration du groupe, Interval de temps entre deux alertes configurable dans le fichier de configuration du groupe.

Download

n/a

Upload

n/a

QoS (Qualité de Service)

n/a

Installation

Pré requis

Configuration logistique

Pour pouvoir installer et utiliser correctement DansGuardian votre serveur doit obligatoirement fonctionné sous Linux, FreeBSD, OpenBSD, NetBSD, Mac OS X, Solaris ou HP-UX.

ICON Light.png
Squid doit être installé et fonctionnel sur votre serveur. Squid et DansGuardian ne doivent pas forcément être sur la même machine pour pouvoir fonctionner.

Configuration de votre réseau

  1. Votre serveur doit être pourvu de deux cartes réseaux:
    • Une carte ou sera connecté votre switch auquel sera relié les postes clients
    • Une carte ou sera connecté le modem / routeur ADSL
    • Une tel configuration nécessite l'installation du paquet dhcp3 pour l'attribution automatique des IPs de vos machines.
  2. Ou votre serveur doit être pourvu d'une carte réseau
    • Configurer votre routeur pour n'autoriser que votre serveur à se connecter sur le net
    • Les autres machines devront passé obligatoirement par votre serveur pour se connecter.
ICON Information.png

Dans le deuxième cas, il faudra désactiver le serveur dhcp de votre routeur et configurer manuellement les adresses IPs de vos stations de travail.

Installation

Depuis un terminal de commande sous Ubuntu saisissez la commande suivante :

ICON Terminal.png

sudo apt-get install dansguardian


ICON Light.png
Pour Ubuntu vous pouvez également effectuer l'installation depuis la Logitech.

L'installation achevée vous trouverez la totalité des fichiers de configuration du script dans le répertoire /etc/dansguardian/. Le répertoire contient l'ensemble des règles de filtrage ainsi que les fichiers de langue et deux fichiers de configuration. La configuration de DansGuardian s'organise ainsi :

  • dansguardian.conf : fichier de configuration du script, ne gère pas le filtrage;
  • dansguardianfX.conf : fichier de configuration du groupe fX ou X est un nombre entier correspondant au numéro du groupe.
ICON Light.png
Par défaut il existe un fichier de configuration de groupe qui est dansguardianf1.conf. C'est le groupe par défaut pour tous les utilisateurs.

Configuration du fichier dansguardian.conf

Dans un premier temps il faut éditer trois lignes du fichier de configuration. Pour cela ouvrez le fichier /etc/dansguardian/dansguardian.conf. Dans ce fichier effectuez les modifications suivante :

  • Commentez ou supprimez la ligne suivante :
UNCONFIGURED - Please remove this line after configuration
  • Vérifiez le port sur lequel doit écouter Dansguardian :
filterport = 8080
  • Indiquez le numéro de port du serveur Squid uniquement si vous souhaitez coupler DansGuardian avec Squid. Dans ce cas les requêtes soumises à Dansguardian sont transmissent à Squid.) :
proxyport = 3128
  • Renseignez la langue dans laquelle doit être écrits les messages d'erreurs/informations
language = french

Une fois le fichier de configuration correctement édité, enregistrez les modifications puis fermez le fichier. Pour appliquer les modifications ouvrez une fenêtre de terminal puis exécutez la commande suivante :

ICON Terminal.png

sudo /etc/init.d/dansguardian restart

Configuration

Bien que, par défaut, la configuration de DansGuardian suffise à filtrer le contenu des pages visitées sur le web, il se peut que vous veniez à modifier cette configuration afin qu'elle s'adapte plus ou moins à vos besoins réelles en terme de filtrage.

Configurer la page d'erreur

Les messages d'erreur de DansGuardian sont établis selon deux modèles, tous d'abord la page d'erreur que vous pourrez trouver dans le dossier /etc/dansguardian/languages/french/.

Ce dossier contient deux fichiers - un fichier texte avec le message d'erreur associé à son code d'erreur respectif et un fichier html correspondant à la page d'erreur qui sera affichée.

Il n'est pas utile de modifier le fichier messages, en revanche vous pouvez modifier le fichier template.html à l'aide d'un éditeur de page web.

Voici un exemple de variables que vous pouvez inclure dans votre fichier :

  • -URL- : Retourne l'url qui est bloquée
  • -REASONGIVEN- : Retourne la raison / motif du blocage - voir dans le fichier messages.
  • -USER- : Retourne le nom de l'utilisateur si la connexion Internet nécessite au préalable des identifiants.
  • -IP- : Retourne l'adresse IP de la machine cliente.
  • -FILTERGROUP- : Retourne le groupe d'utilisateur auquel appartient l'utilisateur.

Méthodes de blocage

DansGuardian est basé sur un filtrage par mots clés. Or ce filtrage ne se limite pas à scanner le contenue d'une page est d'en déceler les termes prohibés. DansGuardian filtre également d'autres éléments, dont en voici une liste détaillée avec le fichier de configuration associé :

Critère Fichier de configuration
Extension des fichiers /etc/dansguardian/bannedextensionlist
Adresse IP de l'hôte /etc/dansguardian/bannediplist
Types MIME /etc/dansguardian/bannedmimetypelist
Expressions /etc/dansguardian/bannedphraselist
Mots contenus dans l'URL - Regexp /etc/dansguardian/bannedregexpurllist
ICON Information.png

Pour le critère expression vous trouverez l'ensemble des expressions et mots répertoriés dans le répertoire /etc/dansguardian/phraseslists/

Blocage par mots clés

Le blocage par mots clés utilisent les bibliothèques d'expression que vous trouverez dans dossier /etc/dansguardian/phraseslists/. Vous pouvez créer vos propre listes - pour cela vous devrez créer un nouveau fichier dans un dossier portant le nom de votre critère de blocage - ceci n'est pas obligatoire maiscela conservera l'organisation général du script - votre fichier devra être organisé comme suit :

< mot à  bloquer >< points >

Le deuxième paramètre doit être une valeur comprise entre 1 et la valeur attribuée au paramètre naughtynesslimit. Ce paramètre peut être modifier dans le fichier de configuration situé dans /etc/dansguardian/dansguardianf1.conf.

Par exemple, nous prenons le cas des termes listés ci-dessous :

< sex > < 50 >
< hard > < 30 >

Si la variable naughtynesslimit à pour valeur 50, la page contenant les termes sex et hard sera bloquée car la somme des points des deux termes fait 80, or 80 > 50. En revanche si notre variable a pour valeur 100, la page ne sera pas bloquée car 80 < 100.

ICON Light.png
Plus la valeur de la variable naughtynesslimit sera élevée et moins le filtrage sera exigeant - à adapter selon l'à¢ge moyen de vos Internautes.

Ajouter des listes noires

Même si la technique de filtrage propre à DansGuardian est basé sur un système de détection de mots clés, il est possible de lui spécifier des listes noires de site ou urls à bloquer. Tout d'abord, nous vous conseillons l'utilisation des listes noires de l'Université des Sciences Sociales de Toulouse que vous pourrez retrouver ici .

ICON boxWarning.png

La liste noire de Toulouse est très restrictive... elle nécessitera certainement une adaptation de votre part selon vos besoins.

Une fois que vous avez téléchargé les listes dont vous avez besoin, ouvrez le fichier /etc/dansguardian/bannedsitelist. Editez ce fichier selon les listes téléchargées, par exemple pour la liste adult décommentez la ligne :

#.Include</etc/dansguardian/blacklists/adult/domains>

Comme ceci :

.Include</etc/dansguardian/blacklists/adult/domains>

Ensuite retournez au dossier /etc/dansguardian/ puis créez le dossier blacklists puis dans ce dossier créez un dossier que vous nommerez adult. Dans ce dossier placez le fichiers contenant les sites bloqués et renommez le fichier par domains. Répétez cette opération pour chaque liste que vous voulez bloquer.

ICON Information.png

Les modifications ne seront effectives qu'après le redémarrage de DansGuardian.

ICON Terminal.png

sudo /etc/init.d/dansguardian restart

Droit à l'essentiel

Que vous soyez pressé - que vous ayez lut l'ensemble de l'article ou que vous réinstallez DansGuardian, voici une synthèse de l'installation :

  1. Installation du paquet DansGuardian
    1. En ligne de commande : sudo apt-get install dansguardian
    2. Via le gestionnaire de paquets synaptic sur Ubuntu
  2. Configurer DansGuardian
    1. On édite le fichier /etc/dansguardian/dansguardian.conf o๠l'on vérifie les renseignement suivant :
      • filterport = 8080
      • proxyport = 3128
      • language = french
    2. On redémarre Dansguardian pour prendre en considération la nouvelle configuration
      • sudo /etc/init.d/dansguardian restart
  3. On test notre filtre en ouvrant la fenêtre navigateur ...
    1. On configure la connexion à un proxy
      • Proxy : l'adresse IP de votre serveur
      • Port : 8080 ou ce que vous avez spécifié dans la variable proxyport
    2. On essaye notre proxy en allant sur un site... qui devrait être forcément bloqué.

Quelques commandes utiles

  • Démarrer DansGuardian
ICON Terminal.png

sudo /etc/init.d/dansguardian start

  • Redémarrer DansGuardian
ICON Terminal.png

sudo /etc/init.d/dansguardian restart

  • Arrêter DansGuardian
ICON Terminal.png

sudo /etc/init.d/dansguardian stop