Demande d'aide sur Squid3/SquiGuard

Bonjour,

Je viens ici car j’avais posté un très gros post pour exposer mon problème sur mon serveur VPS avec squid/squidguard.

Du coup je redévelope mon soucis ici :

En gros nous sommes plusieurs médiathèques et nous souhaitons utiliser un serveur VPS pour filtrer tous nos batiments. squidguard filtre bien les sites de la liste de toulouse, mais par contre le code qui force google à passer en mode safesearch n’a pas l’air de marcher, il montre toujours des photos XXX dans google image. Pourtant, avant d’avoir ce VPS, j’avais fait le test sur un serveur physique local (sur Virtualbox), et le filtrage marchait très bien, je pense avoir fait la même chose pour installer, mais ça ne veut pas marcher…

Du coup je vais vous exposer toutes les étapes effectuées afin d’avoir la meilleure aide possible, j’espère qu’il y a une solution car cette solution est peu chère pour nous et c’était vraiment une solution pratique aussi.

===========

Ce que je veux faire :
Mon projet à terme est de mettre en place un serveur VPS avec Debian 8 et Squid/SquidGuard qui permet de filtrer des ordinateurs de plusieurs médiathèques. Car actuellement, j’ai juste OpenDNS, des addons Chrome qui permettent cela mais je n’ai vraiment pas de visu sur ce que tout le monde fait, donc je ne peux pas vraiment savoir si quelqu’un désactive tout simplement un addon chrome (car il ne faut pas de password pour ça).

De plus, il me faut des enregistrements logs pour la gendarmerie en cas de problème (c’est la loi).

Voici les tutos sur lesquels je me suis appuyé :

La configuration à terme

  • Un serveur VPS sous OVH

  • Une médiathèque A

  • Une médiathèque B

  • Une médiathèque C

  • Liste de sites via l’académie de toulouse

  • Forcing du safesearch dans les moteurs de recherche (histoire de ne montrer aucune image).

  • Logs (avec un moyen de les lire facilement ?)

toute cette configuration fonctionnait en local lorsque j’avais fait des tests sur un Debian 8 sous VirtualBOX (avec des ip locales du coup)

Voici donc ma procédure lorsque j’ai eu accès au VPS :

Mise à jour de la distrib :

apt-get update && apt-get upgrade -y

Installer Squid et SquidGuard :

apt-get install -y squid3 squidguard

Sauvegarde du fichier squid.conf

Générer une configuration plus légère en supprimant les nombreuses (mais utiles) lignes de commentaire :

Ensuite je me connecte au VPS via WinSCP et je récupère le fichier squid.conf.
Voici comment il se présente :

acl SSL_ports port 443 acl Safe_ports port 80 # http acl Safe_ports port 21 # ftp acl Safe_ports port 443 # https acl Safe_ports port 70 # gopher acl Safe_ports port 210 # wais acl Safe_ports port 1025-65535 # unregistered ports acl Safe_ports port 280 # http-mgmt acl Safe_ports port 488 # gss-http acl Safe_ports port 591 # filemaker acl Safe_ports port 777 # multiling http acl CONNECT method CONNECT http_access deny !Safe_ports http_access deny CONNECT !SSL_ports http_access allow localhost manager http_access deny manager http_access allow localhost http_access deny all http_port 3128 coredump_dir /var/spool/squid3 refresh_pattern ^ftp: 1440 20% 10080 refresh_pattern ^gopher: 1440 0% 1440 refresh_pattern -i (/cgi-bin/|\?) 0 0% 0 refresh_pattern . 0 20% 4320

Je rajoute un nom acl et son adresse ip (l’ip publique de la médiathèque) :

Et l’autorisation qu’on lui donne :

Masquer l’utilisation du proxy sur Internet :

Du coup voici comment le fichier se présente :

acl SSL_ports port 443 acl Safe_ports port 80 # http acl Safe_ports port 21 # ftp acl Safe_ports port 443 # https acl Safe_ports port 70 # gopher acl Safe_ports port 210 # wais acl Safe_ports port 1025-65535 # unregistered ports acl Safe_ports port 280 # http-mgmt acl Safe_ports port 488 # gss-http acl Safe_ports port 591 # filemaker acl Safe_ports port 777 # multiling http acl CONNECT method CONNECT acl med1 src xx.xx.xx.x http_access deny !Safe_ports http_access deny CONNECT !SSL_ports http_access allow localhost manager http_access deny manager http_access allow localhost http_access allow med1 http_access deny all http_port 3128 coredump_dir /var/spool/squid3 refresh_pattern ^ftp: 1440 20% 10080 refresh_pattern ^gopher: 1440 0% 1440 refresh_pattern -i (/cgi-bin/|\?) 0 0% 0 refresh_pattern . 0 20% 4320 forwarded_for off

Et je renvoie le fichier squid.conf sur le VPS.

Je reboot squid3 :

Du coup je peux tester de suite si cela marche en mettant l’ip du vps dans les options internet (proxy) d’un pc de med1 eoopzprizepirzpirzoprizop.fr (par exemple) dans chrome, et j’ai donc squid qui se montre.
Jusque là, tout va bien ça fonctionne.

Maintenant on va regarder du côté de squidguard pour les règles de filtrage.

Je télécharge la liste de toulouse et je décompresse :

wget http://dsi.ut-capitole.fr/blacklists/download/blacklists.tar.gz tar -zxvf blacklists.tar.gz

Je copie tout dans la base de squidguard et je change les droits pour que squidguard (ou squid?) puisse y accéder :

mv blacklists /var/lib/squidguard/db/ chown -R proxy:proxy /var/lib/squidguard/db/

Changer la configuration de SquidGuard dans le fichier /etc/squidguard/squidGuard.conf
Dans l’exemple ci-dessous, tous les accès listés à des sites pornographiques seront bloqués pour tous les utilisateurs, on peut voir aussi que j’ai créer un groupe med1 avec l’ip de la mediatheque1, qui est bloquée aussi en porn. Je prépare le terrain pour pouvoir rajouter ensuite med2 med3 (au cas où si des régles de filtrages seraient différentes plus tard)
Mais aussi, je met en place le forcing safesearch dans les moteurs de recherche :

[code]dbhome /var/lib/squidguard/db
logdir /var/log/squidguard

src med1 {
ip xx.xx.xx.xx
}
dest porn {
domainlist blacklists/porn/domains
urllist blacklists/porn/urls
log pornaccesses
}

rew safesearch {
s@(google…/search?.q=.)@ &safe=active@i
s@(google…
/images.q=.)@ &safe=active@i
s@(google…/groups.q=.)@ &safe=active@i
s@(google…
/news.q=.)@ &safe=active@i
s@(yandex…/yandsearch?.text=.)@ &fyandex=1@i
s@(search.yahoo…
/search.p=.)@ &vm=r&v=1@i
s@(search.live…/.q=.)@ &adlt=strict@i
s@(search.msn…
/.q=.)@ &adlt=strict@i
s@(.bing…*/.q=.)@ &adlt=strict@i
log block.log
}

acl {
med1 {
pass !porn all
redirect http://localhost/block.html
}
default {
pass !porn all
redirect http://localhost/block.html
}
}[/code]

Intégrer les blacklists dans SquidGuard

squidGuard -C all chown -R proxy:proxy /var/lib/squidguard/db/

Ajouter la ligne suivante à la fin du fichier de configuration de Squid /etc/squid3/squid.conf (pour charger squidguard à chaque lancement de squid)

tester la configuration de SquidGuard et Squid et générer les répertoires de cache :

service squid3 stop squid3 -z

la il me dit :

root@*****!~# kid1| Set Current directory to /var/spool/squid3 kid1| Creating missing swap directories kid1| No cache_dir stores are configured
à ce moment là je ne sais pas si c’est normal (je ne suis pas trop balèse en linux)

Je redémarre squid :

Un petit :

chmod -R 770 /var/lib/squidguard/db/* chown -R proxy:proxy /var/log/squid3 /var/lib/squidguard /var/log/squidguard

je teste, le site youporn est bien bloqué (mais le message d’erreur n’est pas clair, il faut que je voit comment afficher autre chose.
Mais le gros problème, c’est que dans google image, les images porn sont affichées.
Comme ci mon code (à partir de “rew safesearch” dans squidguard.conf) ne fonctionnait pas
Pourtant, quand j’avais testé avec mon serveur local, ça fonctionnait, ça virait tous les termes dans les résultats google, et toutes les images google

Quelqu’un aurait une idée du pourquoi ?

J’ai tenté de formater le VPS et tout recommencer, ça fait le même problème (même en suivant d’autres tuto)

Merci de poster vos posts dans le bon forum, conformément à la FAQ.
Je déplace dans le forum “Support”.


désolé et merci ^^

Bonjour,

J’ai toujours le soucis et je ne trouve aucun moyen de faire fonctionner ce code safesearch,
J’ai tenté plusieurs moyens de rédiger les codes sur squid.conf et squidguard.conf et ça fait toujours le même problème :s