Comme dans le cas du service mandataire, le fichier /etc/squid/squidGuard.conf
est point de départ de
la configuration de l'outil. À la différence de squid, cette configuration dépend
essentiellement de «l'alimentation» en listes noires
d'URLs ou de noms de
domaines.
Même si ce fichier est moins volumineux que celui de la section précédente, on reprend la technique du patch pour illustrer les différences entre le fichier distribué via le paquet et celui exploité dans le contexte courant.
$ diff -uBb /etc/squid3/squidGuard.conf squidGuard.conf.new --- squidGuard.conf.dpkg-dist 2008-11-10 11:17:36.000000000 +0100 +++ squidGuard.conf.new 2008-11-10 11:15:29.000000000 +0100 @@ -3,7 +3,7 @@ # dbhome /var/lib/squidguard/db -logdir /var/log/squid +logdir /var/log/squid3 # # TIME RULES: @@ -46,19 +46,106 @@ # DESTINATION CLASSES: # -dest good { +dest adult { + domainlist adult/domains + expressionlist adult/expressions + urllist adult/urls } -dest local { +dest agressif { + domainlist agressif/domains + expressionlist agressif/expressions + urllist agressif/urls } -#dest adult { -# domainlist adult/domains -# urllist adult/urls -# expressionlist adult/expressions -# redirect http://admin.foo.bar.no/cgi-bin/squidGuard.cgi?clientaddr=%a+clientname=%n+clientident=%i+srcclass=%s+targetclass=%t+url=%u -#} +dest astrology { + domainlist astrology/domains + urllist astrology/urls +} + +dest dangerous_material { + domainlist dangerous_material/domains + urllist dangerous_material/urls +} + +dest drogue { + domainlist drogue/domains + urllist drogue/urls +} + +dest financial { + domainlist financial/domains + urllist financial/urls +} + +dest forums { + domainlist forums/domains + urllist forums/urls +} + +dest gambling { + domainlist gambling/domains + urllist gambling/urls +} + +dest games { + domainlist games/domains + urllist games/urls +} + +dest hacking { + domainlist hacking/domains + urllist hacking/urls +} + +dest malware { + domainlist malware/domains +} +dest marketingware { + domainlist marketingware/domains +} + +dest mixed_adult { + domainlist mixed_adult/domains +} + +dest phishing { + domainlist phishing/domains +} + +dest redirector { + domainlist redirector/domains + expressionlist redirector/expressions + urllist redirector/urls +} + +dest sect { + domainlist sect/domains + urllist sect/urls +} + +dest strict_redirector { + domainlist strict_redirector/domains + expressionlist strict_redirector/expressions + urllist strict_redirector/urls +} + +dest strong_redirector { + domainlist strong_redirector/domains + expressionlist strong_redirector/expressions + urllist strong_redirector/urls +} + +dest warez { + domainlist warez/domains + expressionlist warez/expressions + urllist warez/urls +} + +dest white { + domainlist white/domains +} acl { # admin { @@ -76,8 +163,13 @@ # } default { - pass local none + pass white + pass !adult !agressif !astrology !dangerous_material !drogue + pass !financial !forums !gambling !games !hacking !malware + pass !marketingware !mixed_adult !phishing !redirector !sect + pass !strict_redirector !strong_redirector !warez all + # rewrite dmz -# redirect http://admin.foo.bar.no/cgi-bin/squidGuard.cgi?clientaddr=%a+clientname=%n+clientident=%i+srcclass=%s+targetclass=%t+url=%u + redirect http://www.stri/cgi-bin/squidGuard.cgi?clientaddr=%a+clientname=%n+clientident=%i+srcclass=%s+targetclass=%t+url=%u } }
Bien entendu, la sélection des catégories retenues est totalement arbitraire et le patch de configuration proposé ne prétend pas répondre à tous les besoins. Voici quelques éléments sur la configuration de squidguard en reprenant les mêmes limitations que pour le service mandataire : la documentation de toutes les options de l'outil sort complètement du cadre de ce billet.
- dbhome
-
Définition du répertoire de stockage de la base de données des listes noires. L'utilisation de ce répertoire est détaillée dans Section 6, « La gestion des listes noires ».
- logdir
-
Définition du répertoire de stockage du fichier de journalisation de l'outil. Généralement, on utilise le même répertoire que le service mandataire sachant que les processus des deux services sont exécutés sous la même identité. Ces processus ont donc les mêmes droits sur l'arborescence.
Comme toutes les entrées de liste noire utilisent la même syntaxe, on ne s'intéresse qu'à un exemple : les listes noires warez.
- dest warez
-
Définition d'une catégorie de trafic à bloquer. À l'intérieur de cette catégorie, on peut définir des listes de noms de domaines, d'URLs et d'expressions rationnelles.
- domainlist warez/domains
-
Fichier contenant la liste des noms de domaines de la catégorie à bloquer. Il s'agit d'un fichier texte avec un nom de domaine par ligne.
- expressionlist warez/expressions
-
Fichier texte de définition des expressions rationnelles de filtrage. Généralement, il s'agit de filtrer les accès aux contenus stockés dans les caches des outils de recherche célèbres.
- urllist warez/urls
-
Fichier texte contenant la liste des URLs accessibles à partir de noms de domaines «valides». Il s'agit généralement de sous-répertoires d'hébergement de fournisseurs d'accès Internet.
Une catégorie white pour «liste blanche» a été ajoutée manuellement pour traiter les exceptions ; c'est-à-dire les domaines pour lesquels l'accès est toujours autorisé.
La dernière section concerne l'application des règles de traitement des catégories définies plus haut.
- acl
-
Section d'application des règles de traitement. Il est possible de définir plusieurs sections de ce type et de mettre en place une administration plus fine du service. Dans notre exemple, on ne définit qu'un seul mode de traitement global pour tous les utilisateurs situés dans le périmètre d'interception du service mandataire.
- default
-
Section de définition des traitements par défaut.
- pass
-
Tout le trafic vers les entrées enregistrées dans une catégorie précédée du caractère ! est bloqué. À l'inverse, tout le trafic correspondant à une catégorie listée est autorisé.
Dans l'exemple, on a utilisé plusieurs lignes débutant par l'instruction
pass
pour éviter d'avoir une ligne trop longue. Il faut considérer que les catégories sont examinées séquentiellement pour les lignespass
saisies.La dernière «catégorie» notée
all
correspond à toutes les autres destinations non filtrées. - redirect
-
Instruction de redirection vers une page Web donnée pour les destinations bloquées. Ici, la redirection a lieu vers le service Web interne à l'infrastructure de travaux pratiques. Voir Section 7, « La redirection de page Web pour le trafic bloqué ».