Vous êtes sur la page 1sur 4

Mise en place de Squid avec Squidguard

Introduction:

Dans ce tutoriel nous allons voir comment mettre en place un proxy Squid avec filtrage d'url grce a Squidguard un plugin permettant de filtrer les URL avec de multiples options. Pour cela j'utilise Vmware Player avec une Ubuntu 12,04 install.

Tout d'abord il faut tre en mode root sur la machine pour cela ouvrez un terminal et faite: sudo su Taper votre mot de passe et le prompt devrait se trouver comme ceci: root@votre_machine:~#

Ensuite tlcharger le paquet squid: apt-get install squid3


Une fois install faites un copie de votre squid.conf d'origine ( ceci est le fichier de configuration de Squid) cp /etc/squid3/squid.conf /etc/squid3/squid.conf.bak Ensuite editer le fichier squid.conf, nous allons faire le mnage pour le rendre bien plus lisible tant donn qu'il contient beaucoup de possibilit qui ne nous sont pas utile pour ce tuto: gedit /etc/squid3/squid.conf

Joffrey Vanhaverbeke

Effacer tout ce qu'il y'a dans ce fichier et y mettre ceci


#port utilis par Squid http_port 3128 cache_dir ufs /var/spool/squid3 1024 256 256 # Les journaux de Squid cache_access_log /var/log/squid3/access.log common cache_log /var/log/squid3/cache.log cache_store_log /var/log/squid3/store.log cache_swap_log /var/log/squid3/cache_swap.log emulate_httpd_log on # Configuration minimum recommande acl manager proto cache_object acl localhost src 127.0.0.1/255.255.255.255 acl Safe_ports port 80 # http acl Safe_ports port 21 # ftp acl Safe_ports port 443 563 # https, snews acl Safe_ports port 70 # gopher acl Safe_ports port 210 # wais acl Safe_ports port 1025-65535 # ports non rservs 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 # Dfinition des rseaux, les adresses ip seront mettre en fonction de la #configuration de votre rseau acl mon_reseaueth src 192.168.1.0/255.255.255.0 acl mon_reseauwifi src 192.168.2.0/255.255.255.0 # Dfinition des accs # autorise le groupe mon_reseaueth, mon_reseauwifi prcdemment crs http_access allow mon_reseaueth http_access allow mon_reseauwifi http_access deny all # La redirection sur SquidGuard pour le contrle commenter si vous n'utilisez pas SquidGuard redirect_program /usr/bin/squidGuard -c /etc/squid3/squidGuard.conf redirect_children 5 # On renseigne le nom de machine qui fait serveur visible_hostname votre_machine

Enregister, une fois les modifications effectues, le fichier Squid.conf. Faire un restart de Squid pour que les changements soit pris en compte: /etc/init.d/squid3 restart

Nous avons donc prsent le proxy d'install cependant pour le filtrage nous devons install SquidGuard ( vous devez tre toujours en mode root pour effectuer ce qui suit). apt-get install squidguard

Ensuite on se place donc dans le dossiers /var/lib/squidguard/db/


cd /var/lib/squidguard/db/ On rcupre la blacklist grce a cette commande
wget ftp://ftp.univ-tlse1.fr/pub/reseau/cache/squidguard_contrib/blacklists.tar.gz

Joffrey Vanhaverbeke

On des-archive le fichier et on gnre les bases de listes noires.


tar xzf blacklists.tar.gz chown -R proxy:proxy blacklists ln -s /etc/squid/squidGuard.conf /etc/squid3/squidGuard.conf su proxy squidGuard -d -c /etc/squid3/squidGuard.conf -C all

SquidGuard tant prvu pour fonctionner avec une ancienne version de squid on tabli un lien symbolique du squidguard.conf dans le dossier squid/ avec un squidguard.conf dans le dossier squid3/ grce a la commande ln -s

Une fois tout ceci faites une copie de votre squidguard.conf d'origine. cp /etc/squid/SquidGuard.conf /etc/squid/SquidGuard.conf.bak

Et diter le fichier SquidGuard.conf nous allons faire le mnage pour le rendre bien plus lisible tant donn qu'il contient beaucoup de possibilit qui ne nous sont pas utile pour ce tuto: gedit /etc/squid3/SquidGuard.conf Effacer tout ce qu'il y'a dans ce fichier et y mettre ceci:
# # CONFIG FILE FOR SQUIDGUARD # dbhome /var/lib/squidguard/db/blacklists logdir /var/log/squid3 # # TIME RULES: # Jour de la semaine: # s = sun, m = mon, t =tue, w = wed, h = thu, f = fri, a = sat # Du 24 au 25 dcembre de 21h00 5h00 ok pour tout time JoursSpecifique { date *.12.24 21:00 - 00:00 date *.12.25 00:00 - 05:00 } # on peut par exemple dfinir des horaires de travail avec les jours concerns time workhours { weekly mtwhf 08:30 - 19:00

#on indique ici les diffrents groupes que l'on veut proposer(remplacer les ip #par les paramtres de votre rseau) src admin { ip 192.168.1.235 } src PDG { ip 192.168.1.11 } src workers { ip 192.168.1.0/24 } src all { ip 192.168.2.0/24 } dest adulte { # Sites adultes proscrire urllist adult/urls domainlist adult/domains expressionlist adult/very_restrictive_expression Joffrey Vanhaverbeke

} dest drogues { # Sites drogues proscrire urllist drugs/urls domainlist drugs/domains } dest phishing { # Site de phishing urllist phishing/urls domainlist phishing/domains } dest marchands_de_guerre { # Marchands d'armes urllist marketingware/urls domainlist marketingware/domains } rewrite test { s@fuck@ooops@ir s@blonde@ooops@ir s@Hot@ooops@ir s@sex@ooops@ir s@porns@ooops@ir s@bikini@ooops@ir } acl { admin { pass any } PDG { pass any } workers within workhours { pass !adulte !drogues !phishing !marchands_de_guerre any #redirect http://127.0.0.1/cgi-bin/squidGuard.cgi?clientaddr=%a&clientname=%n&clientident= %i&srcclass=%s&targetclass=%t&url=%u redirect http://debian/interdit.html } all { pass !adulte !drogues !phishing !marchands_de_guerre any #redirect http://127.0.0.1/cgi-bin/squidGuard.cgi?clientaddr=%a&clientname=%n&clientident= %i&srcclass=%s&targetclass=%t&url=%u redirect http://debian/interdit.html } all within JoursSpecifique { pass any #redirect http://127.0.0.1/cgi-bin/squidGuard.cgi?clientaddr=%a&clientname=%n&clientident= %i&srcclass=%s&targetclass=%t&url=%u redirect http://debian/interdit.html } default { pass none #redirect http://127.0.0.1/cgi-bin/squidGuard.cgi?clientaddr=%a&clientname=%n&clientident= %i&srcclass=%s&targetclass=%t&url=%u redirect http://debian/interdit.html } }

Enregister le fichier et relancer Squid3: /etc/init.d/squid3 restart Faites un test avec une machine cliente (la premiere connexion peut tre longue)

Joffrey Vanhaverbeke