Outils pour utilisateurs

Outils du site


netadmin:filtrage-web-squidguard

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
netadmin:filtrage-web-squidguard [2024/07/07 10:17] yoannnetadmin:filtrage-web-squidguard [2025/11/19 23:13] (Version actuelle) yoann
Ligne 3: Ligne 3:
 ====== Filtrage du web avec SquidGuard ====== ====== Filtrage du web avec SquidGuard ======
  
-Squidguard est un plugin de filtrage d'URL à associer au programme squid. Il faut installer et paramétrer le proxy squid en premier lieu. La procédure est détaillé dans le wiki [[netadmin:proxy:squid:installer-squid3]].+:TODO_DOCUPDATE:
  
 +Squidguard est un plugin de filtrage d'URL à associer au programme Squid. Il faut installer et paramétrer le proxy Squid en premier lieu. La procédure est détaillé dans le wiki [[netadmin:proxy:squid:installer-squid3]].
  
-===== Filtrage =====+Dans cette note, SquidGuard est installé sur une Debian 12 (bookworm).
  
-Le module squidguard permet de filtrer l’accès au contenu web.+ 
 +===== Installation =====
  
 <code bash> <code bash>
-$ sudo apt-get install squidguard+apt install -y squidguard{,-doc} 
 + 
 + 
 +/usr/bin/squidGuard -v 
 +SquidGuard: 1.6.0 Berkeley DB 5.3.28: (September  9, 2013)
 </code> </code>
  
-A l'installation le fichier de configuration consulte le dossier /var/lib/squidguard/db 
  
-Modifier la configuration de squid pour qu'il utilise squidguard:+===== Configuration ===== 
 + 
 + 
 +==== Configuration Squid ==== 
 + 
 +Modifier le fichier de configuration de Squid ''/etc/squid/squid.conf'' pour qu'il utilise SquidGuard: 
 <file> <file>
 url_rewrite_program /usr/bin/squidGuard -c /etc/squidguard/squidGuard.conf url_rewrite_program /usr/bin/squidGuard -c /etc/squidguard/squidGuard.conf
Ligne 22: Ligne 33:
 </file> </file>
  
-Modifier le fichier de configuration **/etc/squidguard/squidGuard.conf**.+Valider la syntaxe après modification :
  
-Indiquer le répertoire conteneur des listes: +<code bash> 
-<file>+squid -k parse 
 +</code> 
 + 
 + 
 +==== Configuration SquidGuard ==== 
 + 
 + 
 +C'est dans le fichier de configuration **/etc/squidguard/squidGuard.conf** qu'on va déclarer : 
 +  * les plages horaires (''time'') ; 
 +  * les **sources** (''src'') : des adresse IP d’hôtes, de réseaux ou des utilisateurs (si Squid fonctionne en demandant aux utilisateurs de s’authentifier). Désigne les clients du service ; 
 +  * les **listes** (''dest'' regroupe les domaines, URL et mots clé. 
 + 
 + 
 +Via les ACLs va pouvoir utiliser les précédentes déclarations pour contrôler l'accès aux différentes listes.
  
-</file> 
  
-Déclarer les sources+Syntaxe de déclaration d'une plage horaire :
 <file> <file>
 +time workhours {
 +  weekly mtwhf 08:00 - 16:30
 +  date *-*-01  08:00 - 16:30
 +}
 </file> </file>
  
-Déclarer les destinations+Un exemple de déclaration de source
 <file> <file>
 +src admin {
 +  ip      1.2.3.4  1.2.3.5
 +  user    root foo bar
 +  within    workhours
 +}
 +</file>
  
 +Un exemple de liste
 +<file>
 +dest adult {
 + domainlist  BL/adult/domains
 + urllist   BL/adult/urls
 + expressionlist  BL/adult/expressions
 + redirect http://admin.foo.bar.de/cgi-bin/blocked.cgi clientaddr=%a&clientname=%n&clientuser=%i&clientgroup=%s&targetgroup=%t&url=%u
 + log adult-access.log
 + 
 +}
 </file> </file>
  
Ligne 53: Ligne 96:
 ^ %t | target group: la destination évaluée or "unknown". | ^ %t | target group: la destination évaluée or "unknown". |
 ^ %u | URL    |  ^ %u | URL    | 
 +
 +
 +===== Redirection =====
 +
 +<code bash>
 +# Installation du serveur web
 +apt install -y apache2
 +
 +# activer les support des scripts CGI
 +a2enmod cgi
 +systemctl restart apache2.service
 +</code>
 +
 +On utilise le script CGI fournit en exemple :
 +
 +<code bash>
 +mkdir -p /srv/proxy/cgi
 +cp /usr/share/doc/squidguard/examples/squidGuard-simple.cgi /srv/proxy/cgi
 +chmod a+x /srv/proxy/cgi/squidGuard-simple.cgi
 +</code>
 +
 +Exemple de message de redirection :
 +
 +La ressource demandée n'est pas accessible depuis ce réseau car elle est associée à une catégorie non appropriée.
 +
 +
 +Après modification du fichier de configuration de SquidGuard, recharger la configuration du service Squid et vérifier les logs
 +
 +<code bash>
 +systemctl reload squid.service
 +
 +tail /var/log/squidguard/squidGuard.log
 +</code>
 +
 +
 +===== Mise à jour des listes =====
 +
 +On peut mettre à jour les fichiers .db à l'aide de fichiers .diff
 +
 +On déclanche le processus de mises à jour des fichiers .db via l'arugment **''-u''** :
 +
 +<code bash>
 +# L'option -b affiche la barre de progression
 +squidguard -u -b
 +</code>
  
  
Ligne 88: Ligne 176:
 application/x-ns-proxy-autoconfig .pac; application/x-ns-proxy-autoconfig .pac;
 </code> </code>
 +
  
  
Ligne 101: Ligne 190:
   * https://dsi.ut-capitole.fr/documentations/cache/squidguard.html   * https://dsi.ut-capitole.fr/documentations/cache/squidguard.html
   * https://memo-linux.com/installer-un-proxy-squid-et-un-filtrage-avec-squidguard-sous-debian/   * https://memo-linux.com/installer-un-proxy-squid-et-un-filtrage-avec-squidguard-sous-debian/
 +  * [[https://wiki.ncad.fr/index.php?title=SquidGuard|Filtrage web avec SquidGuard (ncad.fr)]]
 +  * https://httpd.apache.org/docs/current/fr/howto/cgi.html
netadmin/filtrage-web-squidguard.1720347443.txt.gz · Dernière modification : 2024/07/07 10:17 de yoann