Un serveur proxy avec squid / squidguard / clamav

Un serveur proxy est un serveur mandataire qui joue le rôle d’intermédiaire dans les échanges pour accéder à internet.
Il permet à l’administrateur de surveiller et restreindre les échanges entre un réseau local et internet. Il permet aussi d’optimiser la bande passante utilisé par les utilisateurs par la biais de la mise en cache

Pour ce tutoriel nous allons utiliser :
Squid : Le serveur proxy
Squidguard : Filtrage URL avec utilisation de blacklists
Clamav : Antivirus

J’ai réalisé cette installation sur Debian 7, je vous conseille d’utiliser les mêmes dépôts que moi

[sh]nano /etc/apt/sources.list[/sh]

[sh]
deb http://http.debian.net/debian wheezy main
deb-src http://http.debian.net/debian wheezy main

deb http://http.debian.net/debian wheezy-updates main
deb-src http://http.debian.net/debian wheezy-updates main

deb http://security.debian.org/ wheezy/updates main
deb-src http://security.debian.org/ wheezy/updates main
deb http://backports.debian.org/debian-backports squeeze-backports main
[/sh]

[sh]
apt-get update
apt-get upgrade
[/sh]

Etape 1 : Installation et configuration de squid

Pour installer notre serveur proxy un simple apt suffit :

[sh]apt-get install squid3[/sh]

[sh] vi /etc/squid3/squid.conf[/sh]

[sh]
acl manager proto cache_object
acl localhost src 127.0.0.1/32 ::1
acl to_localhost dst 127.0.0.0/8 0.0.0.0/32 ::1
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 LocalNet src 192.168.1.0/24

http_access deny manager
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
http_access allow localhost
http_access allow LocalNet

http_access deny all
http_port 3128
hierarchy_stoplist cgi-bin ?
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

cache_mem 1500 MB
cache_dir ufs /var/cache/squid/ 5000 16 256
minimum_object_size 3 KB
maximum_object_size 8 MB
cache_store_log /var/log/squid3/store.log

connect_timeout 30 seconds
request_timeout 30 seconds
persistent_request_timeout 30 seconds

read_timeout 2 minutes
ipcache_size 10240
fqdncache_size 10240
positive_dns_ttl 8 hours
negative_ttl 4 minutes

half_closed_clients off
server_persistent_connections off
client_persistent_connections on

client_lifetime 1 minutes
max_filedescriptors 4096
[/sh]

On redémarre maintenant squid pour prendre en compte la configuration :

[sh]/etc/init.d/squid3 restart[/sh]

Si vous obtenez cette erreur au redémarrage de squid c’est parce que le dossier contenant le cache n’est pas créé.

Starting Squid HTTP Proxy 3.x: squid3/etc/init.d/squid3: 72: cd: can’t cd to /var/cache/squid/
. ok

On crée le dossier et on redémarre squid :
[sh]mkdir /var/cache/squid/
chown proxy:proxy /var/cache/squid/
squid3 -z
/etc/init.d/squid3 restart[/sh]

On peut voir que le proxy est bien lancé avec la commande suivante :

[sh]netstat -antp | grep squid[/sh]

Voici les informations nécessaires à la configuration du proxy sous votre navigateur :

proxy192.168.0.30 : Correspond à l’adresse ip de votre proxy à modifier en fonction de votre configuration

3128 : Correspond au port sur lequel squid écoute

Essayez d’ouvrir un site web si vous avez cette erreur :

squidvous devez modifier la ligne acl LocalNet src 192.168.1.0/24 dans le fichier /etc/squid3/squid.conf en remplaçant 192.168.1.0/24 par le réseau de votre client.

Cela va autoriser le poste qui est sur votre réseau à se connecter au proxy.

Je vais maintenant prendre le temps de détailler les différentes directives du fichier de configuration de squid :

Pour rappel cette ACL suivi de sa réglè permet aux utilisateurs du réseau 192.168.1.0/24 de se connecter au proxy:

[sh]
acl LocalNet src 192.168.1.0/24
http_access allow LocalNet[/sh]

 

Etape 2 : Installation de SquidGuard

SquidGuard est un plugin qui va nous permettre de gérer les blacklists pour notre proxy, il vient se greffer sur squid.

[sh]apt-get install squidguard[/sh]

On modifie le fichier squid.conf pour charger la configuration de squidguard au lancement

[sh]vi /etc/squid3/squid.conf[/sh]

rajouter les deux lignes suivantes à la fin du fichier :

[sh]
url_rewrite_program /usr/bin/squidGuard -c /etc/squidguard/squidGuard.conf
url_rewrite_children 5
[/sh]

On configure basiquement squidguard pour nous autoriser à nous connecter.

[sh]vi /etc/squidguard/squidGuard.conf[/sh]

[sh]dbhome /var/lib/squidguard/db/blacklists
logdir /var/log/squid3/

src admin {
ip 192.168.0.10
}

acl {
admin {
pass  any
}               }[/sh]

On va maintenant rajouter la page qui s’affichera dans le navigateur lorsqu’un site sera bloqué.

Remplacez 192.168.0.10 par l’ip de votre poste client

[sh]cp /etc/squidguard/squidGuard.cgi /usr/lib/cgi-bin/squidGuard.cgi
chmod 777 /usr/lib/cgi-bin/squidGuard.cgi[/sh]

On relance squid pour prendre en compte la nouvelle configuration

[sh]/etc/init.d/squid3 restart[/sh]

Etape 3 : Installation de l’antivirus

On va maintenant coupler un antivirus avec squid, il aura pour but d’analyser les données transmises en http, identifier les menaces et les bloquer en amont des utilisateurs.

[sh]apt-get install clamav[/sh]

on lance l’update de la base de signature de virus

[sh]freshclam[/sh]

[sh]apt-get install clamav-daemon[/sh]

[sh]apt-get install gcc make curl libcurl4-gnutls-dev c-icap libicapapi-dev [/sh]

On récupére l’installation du plugin squidclamav

[sh]wget https://www.ophyde.com/wp-content/uploads/2014/02/squidclamav-6.10.tar.gz [/sh]

et on le compile :

[sh]tar zxvf squidclamav-6.10.tar.gz
cd squidclamav-6.10
./configure –with-c-icap
make
make install[/sh]

On modifie le fichier de configuration icap pour qu’il démarre automatiquement

[sh]vi /etc/default/c-icap[/sh]
[sh]START=yes[/sh]

Ajoutez la ligne suivante dans le fichier c-icap.conf :

[sh]vi /etc/c-icap/c-icap.conf[/sh]
[sh]Service squidclamav squidclamav.so[/sh]

Rajoutez les lignes suivantes dans la configuration de squid pour qu’il prenne en compte le module que nous venons de rajouter

[sh]vi /etc/squid3/squid.conf[/sh]
[sh]icap_enable on
icap_send_client_ip on
icap_send_client_username on
icap_client_username_header X-Authenticated-User
icap_service service_req reqmod_precache bypass=1 icap://127.0.0.1:1344/squidclamav
adaptation_access service_req allow all
icap_service service_resp respmod_precache bypass=1 icap://127.0.0.1:1344/squidclamav
adaptation_access service_resp allow all[/sh]

On va maintenant rajouter la page qui s’affichera dans le navigateur lorsqu’un virus sera détecté.

[sh] vi /etc/squidclamav.conf[/sh]

Modifier la ligne suivante :

[sh]# When a virus is found then redirect the user to this URL
redirect http://localhost/cgi-bin/clwarn.cgi.fr_FR[/sh]

Modifier localhost par l’ip de votre serveur.

Nous allons installer la cgi en français dans le répertoire /usr/lib/cgi-bin/

[sh]mv /usr/local/libexec/squidclamav/clwarn.cgi.fr_FR /usr/lib/cgi-bin/clwarn.cgi.fr_FR
chmod 755 /usr/lib/cgi-bin/clwarn.cgi.fr_FR
[/sh]

On redémarre les services pour la prise en compte de la configuration :

[sh]/etc/init.d/squid3 restart
/etc/init.d/c-icap restart
/etc/init.d/clamav-daemon restart[/sh]

Pour tester le bon fonctionnement de l’antivirus rendez-vous sur le site suivant : http://securite-informatique.info/virus/eicar/
et essayer de télécharger un des fichiers nommés Eicar qui contient une signature inoffensive permettant de tester le bon fonctionnement des antivirus, vous devriez voir cette page apparaitre dans votre navigateur

squidclamav

Par défaut l’antivirus scan tout ce qui transite par le proxy vous pouvez affiner la configuration de squidclamav en modifiant le fichier /etc/squidclamav.conf.

Etape 4 : Configuration des blacklists de SquidGuard

Nous allons maintenant configurer SquidGuard pour qu’il utilise les blacklists et bloque les sites que nous souhaitons en fonction de l’ip de l’utilisateur.

L’administrateur défini par l’ip 192.168.0.10 ne subira pas de restriction.
Les utilisateurs définis par la plage ip 192.168.1.0/24 n’auront pas accès au site web défini dans la configuration de SquidGuard par nos blacklists.
Je vous mets à dispositions mon fichier de configuration de SquidGuard, les principales blacklists y sont utilisées.

Modifiez le fichier de configuration de squidGuard et copiez la configuration ci-dessous en tachant de modifier les IPs en fonction de vos plans d’adressages

[sh]
dbhome /var/lib/squidguard/db/blacklists
logdir /var/log/squid3/

#
# TIME RULES:
# abbrev for weekdays:
# s = sun, m = mon, t =tue, w = wed, h = thu, f = fri, a = sat
# Du 24 au 25 démbre de 21h00 àh00 ok pour tout
time SpecialsDays {
date *.12.24 21:00 – 00:00
date *.12.25 00:00 – 05:00
date *.08.31 00:00 – 23:59
}

time workhours {
weekly mtwhf 08:00 – 19:00
}

src admin {
ip 192.168.0.30
}

src workers {
ip 192.168.1.0/24
}

dest adult {
urllist adult/urls
domainlist adult/domains
expressionlist adult/very_restrictive_expression
logfile /var/log/squid3/adult.log
}

dest cooking {
domainlist cooking/domains
logfile /var/log/squid3/cooking.log
}

dest hacking {
urllist hacking/urls
domainlist hacking/domains
expressionlist hacking/usage
logfile /var/log/squid3/hacking.log
}

dest sect {
urllist sect/urls
domainlist sect/domains
expressionlist sect/usage
logfile /var/log/squid3/sect.log
}
dest manga {
urllist manga/urls
domainlist manga/domains
expressionlist manga/usage
logfile /var/log/squid3/manga.log
}

dest educational_games {
domainlist educational_games/domains
logfile /var/log/squid3/educational_games.log
}

dest aggressive {
urllist aggressive/urls
domainlist aggressive/domains
logfile /var/log/squid3/aggressive.log
}

dest arjel {
domainlist arjel/domains
logfile /var/log/squid3/arjel.log
}

dest astrology {
urllist astrology/urls
domainlist astrology/domains
expressionlist astrology/usage
logfile /var/log/squid3/astrology.log
}

dest ads {
urllist ads/urls
domainlist ads/domains
logfile /var/log/squid3/ads.log
}

dest audio-video {
urllist audio-video/urls
domainlist audio-video/domains
logfile /var/log/squid3/audio-video.log
}

dest cleaning {
urllist cleaning/urls
domainlist cleaning/domains
}

dest social_networks {
urllist social_networks/urls
domainlist social_networks/domains
logfile /var/log/squid3/social_networks.log
}

dest filehosting {
urllist filehosting/urls
domainlist filehosting/domains
logfile /var/log/squid3/filehosting.log
}
dest porn {
urllist porn/urls
domainlist porn/domains
logfile /var/log/squid3/porn.log
}
dest drugs {
urllist drugs/urls
domainlist drugs/domains
logfile /var/log/squid3/drugs.log
}

dest phishing {
urllist phishing/urls
domainlist phishing/domains
logfile /var/log/squid3/phishing.log
}

dest marchands_de_guerre {
urllist marketingware/urls
domainlist marketingware/domains
logfile /var/log/squid3/marchands_de_guerre.log
}

dest malware {
urllist malware/urls
domainlist malware/domains
logfile /var/log/squid3/malware.log
}

dest violence {
urllist violence/urls
domainlist violence/domains
# expressionlist violence/usage
logfile /var/log/squid3/violence.log
}

dest dangerous_material {
urllist dangerous_material/urls
domainlist dangerous_material/domains
expressionlist dangerous_material/usage
logfile /var/log/squid3/dangerous_material.log
}

dest financial {
urllist financial/urls
domainlist financial/domains
expressionlist financial/usage
logfile /var/log/squid3/financial.log
}

dest redirector {
urllist redirector/urls
domainlist redirector/domains
#expressionlist redirector/usage
logfile /var/log/squid3/redirector.log
}
dest warez {
urllist warez/urls
domainlist warez/domains
#expressionlist warez/usage
logfile /var/log/squid3/warez.log
}

dest jobsearch {
domainlist jobsearch/domains
#expressionlist jobsearch/usage
logfile /var/log/squid3/jobsearch.log
}
dest marketingware {
urllist marketingware/urls
domainlist marketingware/domains
#expressionlist marketingware/usage
logfile /var/log/squid3/marketingware.log
}

dest proxy {
urllist proxy/urls
domainlist proxy/domains
#expressionlist proxy/usage
logfile /var/log/squid3/proxy.log
}

dest remote-control {
urllist remote-control/urls
domainlist remote-control/domains
#expressionlist remote-control/usage
logfile /var/log/squid3/remote-control.log
}

dest strict_redirector {
urllist strict_redirector/urls
domainlist strict_redirector/domains
#expressionlist strict_redirector/usage
logfile /var/log/squid3/strict_redirector.log
}

dest celebrity {
urllist celebrity/urls
domainlist celebrity/domains
logfile /var/log/squid3/celebrity.log
#expressionlist celebrity/usage
}

dest dating {
urllist dating/urls
domainlist dating/domains
logfile /var/log/squid3/dating.log
#expressionlist dating/usage
}
dest lingerie {
urllist lingerie/urls
domainlist lingerie/domains
logfile /var/log/squid3/lingerie.log
#expressionlist lingerie/usage
}
dest mixed_adult {
urllist mixed_adult/urls
domainlist mixed_adult/domains
#expressionlist mixed_adult/usage
logfile /var/log/squid3/mixed_adult.log
}

dest publicite {
urllist publicite/urls
domainlist publicite/domains
#expressionlist publicite/usage
logfile /var/log/squid3/publicite.log
}

dest strong_redirector {
urllist strong_redirector/urls
domainlist strong_redirector/domains
#expressionlist strong_redirector/usage
logfile /var/log/squid3/strong_redirector.log
}

dest chat {
urllist chat/urls
domainlist chat/domains
logfile /var/log/squid3/chat.log
# expressionlist chat/usage
}
dest agressif {
urllist agressif/urls
domainlist agressif/domains
expressionlist agressif/usage
logfile /var/log/squid3/agressif.log
}

dest drogue {
urllist drogue/urls
domainlist drogue/domains
expressionlist drogue/usage
logfile /var/log/squid3/drogue.log
}

dest gambling {
urllist gambling/urls
domainlist gambling/domains
#expressionlist gambling/usage
logfile /var/log/squid3/gambling.log
}
dest liste_bu {
urllist liste_bu/urls
domainlist liste_bu/domains
expressionlist liste_bu/usage
}
dest mobile-phone {
urllist mobile-phone/urls
domainlist mobile-phone/domains
#expressionlist mobile-phone/usage
logfile /var/log/squid3/mobile-phone.log
}
dest radio {
urllist radio/urls
domainlist radio/domains
#expressionlist radio/usage
logfile /var/log/squid3/radio.log
}

dest sexual_education {
urllist sexual_education/urls
domainlist sexual_education/domains
logfile /var/log/squid3/sexual_education.log
#expressionlist sexual_education/usage
}

dest translation {
urllist translation/urls
domainlist translation/domains
logfile /var/log/squid3/translation.log
}

dest child {
urllist child/urls
domainlist child/domains
#expressionlist child/usage
logfile /var/log/squid3/child.log
}

dest games {
urllist games/urls
domainlist games/domains
logfile /var/log/squid3/games.log
#expressionlist games/usage
}

dest shopping {
urllist shopping/urls
domainlist shopping/domains
logfile /var/log/squid3/shopping.log
# expressionlist shopping/usage
}

dest tricheur {
urllist tricheur/urls
domainlist tricheur/domains
logfile /var/log/squid3/tricheur.log
}

dest reaffected {
urllist reaffected/urls
domainlist reaffected/domains
logfile /var/log/squid3/reaffected.log
}

acl {
admin {
pass any
redirect http://127.0.0.1/cgi-bin/squidGuard.cgi?clientaddr=%a&clientname=%n&clientident=%i&srcclass=%s&targetclass=%t&url=%u
}

workers within workhours {
pass !shopping !tricheur !ads !audio-video !educational_games !malware !porn !reaffected !social_networks !violence !adult !cooking !filehosting !hacking !manga !redirector !warez !aggressive !dangerous_material !financial !jobsearch !marketingware !proxy !remote-control !strict_redirector !agressif !celebrity !dating !lingerie !mixed_adult !publicite !sect !strong_redirector !arjel !chat !drogue !gambling !mobile-phone !radio !sexual_education !astrology !child !drugs !games !phishing any
redirect http://127.0.0.1/cgi-bin/squidGuard.cgi?clientaddr=%a&clientname=%n&clientident=%i&srcclass=%s&targetclass=%t&url=%u
}
else {
pass !ads !educational_games !malware !porn !reaffected !violence !adult !cooking !filehosting !hacking !manga !redirector !warez !aggressive !dangerous_material !financial !marketingware !proxy !remote-control !strict_redirector !agressif !celebrity !dating !lingerie !mixed_adult !publicite !sect !strong_redirector !arjel !chat !drogue !gambling !mobile-phone !sexual_education !astrology !child !drugs !phishing any
redirect http://127.0.0.1/cgi-bin/squidGuard.cgi?clientaddr=%a&clientname=%n&clientident=%i&srcclass=%s&targetclass=%t&url=%u
}

default {
pass none
redirect http://127.0.0.1/cgi-bin/squidGuard.cgi?clientaddr=%a&srcclass=%s&targetclass=%t&url=%u
}
}

[/sh]

Détails du fichier de configuration squidGuard.conf
Ici on défini la localisation des blacklists et des logs :

[sh]dbhome /var/lib/squidguard/db/blacklists
logdir /var/log/squid3/[/sh]

Ici on défini nos groupes d’utilisateurs :

[sh]src admin {
ip 192.168.0.30
}

src workers {
ip 192.168.1.0/24
}[/sh]

On peut aussi définir des périodes comme ceci :

[sh]time workhours {
weekly mtwhf 08:00 – 19:00
}

time weekend {
weekly as 00:00 – 23:59[/sh]

On déclare nos blacklists dans la configuration de squid :

[sh]dest games {
urllist games/urls
domainlist games/domains
logfile /var/log/squid3/games.log
#expressionlist games/usage
}[/sh]

On ajoute les acl pour les règles de filtrages de contenu entre la balise: acl { } :

[sh]acl {
workers within workhours {
pass !games !violence any
redirect http://127.0.0.1/cgi-bin/squidGuard.cgi?clientaddr=%a&clientname=%n&clientident=%i&srcclass=%s&targetclass=%t&url=%u
}
else {
pass !violence any
redirect http://127.0.0.1/cgi-bin/squidGuard.cgi?clientaddr=%a&clientname=%n&clientident=%i&srcclass=%s&targetclass=%t&url=%u
}
}[/sh]

Dans l’exemple ci-dessus :
Pendant les heures de travail (workhours) pour le réseau 192.168.1.0/24 (workers) on bloque les jeux (!games) et la violence (!violence) et on laisse passer le reste (any).

En dehors des heures de travail (else) on laisse tout passer (any) pour le réseau (192.168.1.0/24) hormis ce qui touche à la violence.

Nous allons utiliser les blacklists fournies par l’université de Toulouse.
Nous allons les télécharger dans le répertoire de squidguard dédié aux blacklists

[sh]cd /var/lib/squidguard/db
wget -q http://dsi.ut-capitole.fr/blacklists/download/blacklists.tar.gz
tar zxvf blacklists.tar.gz
chown proxy:proxy -R /var/lib/squidguard/db/blacklists [/sh]

Nous redémarrons squid3 pour qu’il prenne en compte la nouvelle configuration de squidguard et nous créons une base de données des blacklists défini dans squidGuard.conf ce qui aura pour effet d’améliorer les temps d’accès .

[sh]/etc/init.d/squid3 restart
squidGuard -C all -d[/sh]

Vous pouvez suivre le bon déroulement des opérations grâce au fichier de log de squidGuard :
[sh] tail -f /var/log/squid3/squidGuard.log [/sh]

[sh]2014-02-17 08:52:04 [14599] INFO: create new dbfile /var/lib/squidguard/db/blacklists/shopping/urls.db
2014-02-17 08:52:04 [14599] init domainlist /var/lib/squidguard/db/blacklists/shopping/domains
2014-02-17 08:52:04 [14599] INFO: create new dbfile /var/lib/squidguard/db/blacklists/shopping/domains.db
2014-02-17 08:52:04 [14599] init urllist /var/lib/squidguard/db/blacklists/tricheur/urls
2014-02-17 08:52:04 [14599] INFO: create new dbfile /var/lib/squidguard/db/blacklists/tricheur/urls.db
2014-02-17 08:52:04 [14599] init domainlist /var/lib/squidguard/db/blacklists/tricheur/domains
2014-02-17 08:52:04 [14599] INFO: create new dbfile /var/lib/squidguard/db/blacklists/tricheur/domains.db
2014-02-17 08:52:04 [14599] INFO: squidGuard 1.5 started (1392623501.021)
2014-02-17 08:52:04 [14599] INFO: db update done[/sh]

Voici ce que vous obtiendrez lorsque vous accéderez à un site inclus dans une blacklist :

squidguard_block

 

Dans l’optique d’automatiser la mise à jour des blacklists voici un script que j’ai découvert ici :

[sh]#!/bin/bash -x
cd /var/lib/squidguard/db
if [ -f blacklists.tar.gz ]
then
rm -f blacklists.tar.gz
fi
wget -q http://dsi.ut-capitole.fr/blacklists/download/blacklists.tar.gz
tar zxvf blacklists.tar.gz
/usr/bin/squidGuard -C all -d
chown proxy:proxy * -R
service squid3 reload[/sh]

Créez le fichier blacklist.sh et copiez le code ci-dessus.

[sh]touch /home/user/blacklist.sh
chmod 755 /home/user/blacklist.sh[/sh]

On va maintenant ajouter une entrée au crontab pour automatiser le fonctionnement du script.

[sh]crontab -e [/sh]

et ajoutez l’entrée suivante :

[sh]00 6 * * 1 /home/user/blacklist.sh[/sh]

On redémarre cron pour la prise en compte de l’opération:

[sh]/etc/init.d/cron restart[/sh]

Les blacklists se mettrons à jour tous les lundi à 6 heures du matin.

Etape 5 : Détails des fichiers de log

 

Plusieurs sites mon aidé à réaliser ce tutoriel, les voici :

http://irp.nain-t.net/doku.php/220squid:020_squid
http://www.server-world.info/en/note?os=Debian_7.0&p=clamav
http://www.server-world.info/en/note?os=Debian_7.0&p=squid&f=2
http://www.dsfc.net/logiciel-libre/squid/squid-script-mise-a-jour-blacklist-squidguard/

16 réflexions sur « Un serveur proxy avec squid / squidguard / clamav »

  1. Bonjour à toi.
    J’ai suivi ton tuto et il fonctionne bien cependant j’ai quelques soucis.
    J’ai rajouté des acl pour la pornographie. Jusqu’à la tout va bien. Je bloque bien les sites pornographiques ainsi que les jeux.
    J’ai voulu poussé l’expérience plus loin et j’ai rajouté des acl pour la drogue, le phishing et la violence. J’ai tout déclaré de la même façon, tout devrait fonctionner et la … Hic ! Marche pas ! Pourtant j’ai bien tapé la commande :

    /etc/init.d/squid3 restart
    squidGuard -C all -d

    Mais rien n’y fait … Alors j’ai fouiné un peu dans les fichiers et il se trouve que dans /var/lib/squidguard/db/blacklists/porn il y a un fichier usage ( pas que là, dans tous) qui contient 3 lignes :
    black
    porn
    adult

    Alors je me suis demandé pourquoi il y avait ces lignes. Je me suis empressé de regarder dans le répertoire /games et il y a ce même fichier mais sans les 2 dernieres lignes. C’est a dire :

    black

    Je ne comprends absolument pas pourquoi ça fonctionne avec porn, adult et games et pas avec drugs par exemple. Peux-tu m’éclairer ?

    Merci à toi.
    Bonnes fêtes
    Cordialement

    1. Salut,

      As-tu fais attention au fait que mon fichier de configuration utilisé l’heure et le jour de la semaine pour bloquer certaines catégories et pas d’autres ?
      C’est expliqué dans l’étape 4 :-)

      Ophyde

    1. Ce que je ne comprend pas c’est que dans ton fichier de configuration, je ne vois nul par la configuration des catégories drogue, phishing et violence ?!
      Peux tu me fournir les logs de SquidGuard ?

      Ophyde

  2. C’est bon, problème resolu.
    Le problème venait du fait que lors de la commande squidGuard -c all -d, je créais les fichiers domains.db et urls.db. Il fallait simplement réattribuer les droits d’accès a l’utilisateur “pi”.
    Merci encore !

  3. En tout cas bravo pour ton tuto, je vais bientot le tester car il m’interesse
    Je souhaite installer un squid en debian 7 avec clamav en plus
    Que du bonheur.
    Continue .

  4. Salut ,

    la commande “Service squidclamav squidclamav.so” me retourne l’erreur suivante: “squidclamav: unrecognized service”.

    pouvez vous me dire ou ça bloque ?

  5. Salut, je vois que tu as l’air plutôt bien maîtriser Squid et Squidguard.

    Je me permets donc de te poser une question, j’aimerais faire en sorte que la configuration de Squid/SquidGuard bloque tout accès à Internet et n’autorise qu’UN seul site (ou plus à voir dans le temps).

    J’ai parcouru pas mal de forum et tutoriels sans jamais trouver ma réponse, si tu en avais une, ce serait parfait !

    Merci,

    1. Problème résolu !

      Le filtrage entre les versions 58 et 24 sont fonctionnels, dans le fichier de configuration suivant, la version 58 a un total accès sur Internet, puis la version 24 est quant-à elle restreinte à la whitelist.

      [CODE]http_port 3128
      acl LocalNet src 192.168.200.0/24
      acl version58 browser Firefox\/58
      http_access allow LocalNet version58
      acl version24 browser Firefox\/24
      acl whitelist dstdomain “/etc/squid/whitelist.txt”
      http_access deny LocalNet !whitelist version24[/CODE]

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.