Procédure informatique

Transcription

Procédure informatique
région Rhône-Alpes
CRIPT
INFORMATIQUE
fax : 04.75.71.59.13
ministère de l’agriculture et de la pêche
Procédure informatique
Impression le 29/03/2007
Informations générales
Système
Debian Sarge
d’exploitation
Objet
Références
Installation d’un proxy Squid avec le module de filtrage SquidGuard ou
DansGuardian
http://people.via.ecp.fr/~alexis/formation-linux/formation-linux.html
http://logiciels-libres-cndp.ac-versailles.fr/article.php3?id_article=197
http://www.squid-cache.org/
http://www.howtoforge.com/linux_secure_browsing_squid
http://www.debianhelp.co.uk/squid.htm
http://logiciels-libres-cndp.acversailles.fr/debianinstall/node7.html#SECTION00074000000000000000
http://www.squidguard.org/
http://sarg.sourceforge.net/
http://www.madriver.k12.oh.us/technology/whitepapers/squidedirectory.pdf
http://www.srfdbourgogne.educagri.fr/articlepublic.php3?id_article=139
Validation
Nom
Rédigé par
Signature
Julien Lamure
Vérifié par
Validé par
Historique des versions
Version
Objet de la révision
0
Version initiale
1
Corrections pour la partie concernant Squidguard + lien
pour authentification transparente sur l’Active Directory
d’un serveur Windows 2003 + bug SARG
Procedure_install_squid_squidguard_dansguardian.doc
Date
10/05/2006
29/03/2007
1
région Rhône-Alpes
CRIPT
INFORMATIQUE
fax : 04.75.71.59.13
ministère de l’agriculture et de la pêche
1.
INSTALLATION DU SYSTEME
3
2.
SQUID
3
2.1. INSTALLATION
2.2. CONFIGURATION DE SQUID
2.3. LES MODES DE FONCTIONNEMENT
2.3.1. LE MODE « STANDARD »
2.3.2. LE PROXY TRANSPARENT
2.3.3. LE PROXY AUTHENTIFIE
2.3.4. AUTHENTIFICATION TRANSPARENTE SUR UN DOMAINE WINDOWS 2003
3
4
4
5
5
5
9
3.
9
3.1.
3.2.
4.
LE FILTRAGE
SQUIDGUARD
DANSGUARDIAN
EXPLOITATION DE LOGS AVEC SARG
Procedure_install_squid_squidguard_dansguardian.doc
9
13
18
2
région Rhône-Alpes
CRIPT
INFORMATIQUE
fax : 04.75.71.59.13
ministère de l’agriculture et de la pêche
1. Installation du système
NB : si vous souhaitez réaliser l’authentification transparente des utilisateurs sur
l’Active Directory d’un serveur Windows 2003, rendez vous directement au point
2.3.4.
Au démarrage sur le CD d’installation de Debian, il faut rentrer la commande
« linux26 » pour que l’installation de la distrution se fasse avec le noyau 2.6 et non le
2.4 installé par défaut. Cela permet de moins avoir de problèmes de reconnaissance
matériel.
Ensuite, l’installation de la Debian Sarge doit être réalisée en suivant la procédure
décrite sur la page correspondant au 1er lien de mes références jusqu’au chapitre 13
de la partie I, mis à part ce qui concerne le partitionnement du disque qui doit être
réalisé comme suit :
- entre 5 et 10 Go pour la partition /var en EXT3
- un swap de 2 x RAM si RAM < 1 Go, ou de RAM + 20 % si RAM ≥ 1Go
- le reste du disque pour la partition racine (/) en EXT3
N.B. : pour qu’il n’y ait pas de problème au démarrage de la machine, il vaut mieux
créer la partition racine en premier.
2. Squid
2.1.
Installation
Pour récupérer le paquet Squid, il faut utiliser la commande :
# apt-get install squid
Une fois le paquet téléchargé, Squid va tenter de démarrer mais normalement une
erreur doit se produire et va l’en empêcher. Il faut alors éditer le fichier
/etc/squid/squid.conf :
# vi /etc/squid/squid.conf
et donner une valeur au paramètre visible_hostname :
#
TAG: visible_hostname
#
If you want to present a special hostname in error messages, etc,
#
define this.
#
will be used. If you have multiple caches in a cluster and
#
get errors about IP-forwarding you must set them to have individual
#
names with this setting.
Otherwise, the return value of gethostname()
#
#Default:
# none
visible_hostname proxy
Il est maintenant possible de démarrer Squid :
# /etc/init.d/squid start
Starting proxy server: Creating squid spool directory structure
Procedure_install_squid_squidguard_dansguardian.doc
3
région Rhône-Alpes
CRIPT
INFORMATIQUE
fax : 04.75.71.59.13
ministère de l’agriculture et de la pêche
2006/05/10 12:23:57| Creating Swap Directories
squid.
#
2.2.
Configuration de SQUID
Tout se trouve dans le fichier /etc/squid/squid.conf. La partie principale à modifier
pour autoriser les postes du réseau à passer par le proxy concerne les section ACL
et HTTP_ACCESS.
acl localhost src 127.0.0.1/255.255.255.255
acl our_networks src 10.26.23.0/255.255.255.0
http_access allow our_networks
http_access allow localhost
Grâce à ces quelques lignes, les machines se trouvant sur le réseau 10.26.23.0/24
sont autorisées à passer par le proxy pour naviguer sur Internet.
On peut également modifier la taille allouée au cache de Squid :
cache_dir ufs /var/spool/squid 1500 16 256
Seul le premier chiffre est à modifier, il précise ici une taille de 1,5 Go d’occupation
disque dans /var/spool/squid (le défaut est de 100 Mo). Les deux autres chiffres sont
relatifs à l’arborescence des sous répertoires du cache, les valeurs par défaut
convenant complètement.
Pour que ces modifications soient effectives, il reste encore à redémarrer le démon
Squid :
# /etc/init.d/squid restart
Dans le fichier de configuration de Squid, on peut également modifier le port (3128
par défaut) pour le mettre à sa convenance.
2.3.
Les modes de fonctionnement
Un proxy possède trois modes de fonctionnement : le mode standard, sans
configuration additionnelle particulière, le mode transparent qui est une règle de
firewall redirigeant tous les accès sur un port vers un autre port, rendant superflu de
déclarer le proxy dans les navigateurs mais le rendant ainsi incontournable, et le
mode authentifié qui impose aux utilisateurs de saisir leurs nom et mot de passe pour
utiliser Squid, permettant ainsi de consigner tous les accès dans des journaux. Ces
deux derniers modes sont exclusifs l’un de l’autre : un proxy est soit transparent, soit
authentifié.
Procedure_install_squid_squidguard_dansguardian.doc
4
région Rhône-Alpes
CRIPT
INFORMATIQUE
fax : 04.75.71.59.13
2.3.1.
ministère de l’agriculture et de la pêche
Le mode « standard »
Il suffit de déclarer dans un navigateur que le proxy utilisé se trouve à l’adresse IP de
notre serveur sur le port 3128 et le fichier /var/spool/squid/logs/access.log indiquera
toutes les requêtes traitées.
2.3.2.
Le proxy transparent
C’est une solution confortable puisqu’aucun paramétrage n’est requis sur les stations
clientes. Il suffit de faire en sorte, dans le câblage du réseau, que le routeur qui
redirige vers Squid soit incontournable pour qu’il soit matériellement impossible
d’éviter le proxy et son éventuel filtrage.
La configuration d’un Squid transparent (dans /etc/squid/squid.conf) :
http_port 8080
httpd_accel_host virtual
httpd_accel_port 80
httpd_accel_with_proxy on
httpd_accel_uses_host_header on
Et la configuration du firewall :
# iptables -t nat -A PREROUTING -i eth0 -s ! 192.168.28.2 -p tcp --dport
80 -j DNAT --to 192.168.28.2:8080
# iptables -t nat -A POSTROUTING -o
192.168.28.2 -j SNAT --to 192.168.28.254
eth0
-s
192.168.28.0/24
-d
# iptables -A FORWARD -s 192.168.28.0/24 -d 192.168.28.2 -p tcp --dport
8080 -j ACCEPT
Le réseau local a ici pour adresse 192.168.28.0/24, le Squid tournant sur
192.168.28.2 et le routeur / Firewall ayant l’adresse 192.168.28.254.
2.3.3.
Le proxy authentifié
C’est la solution la plus lourde, qui impose à chaque utilisateur une nouvelle saisie
de son nom et de son mot de passe, déjà saisis à l’ouverture de session, pour
chaque utilisation du proxy, donc d’internet, et à chaque lancement d’un navigateur.
Cette solution est très discutable d’un point de vue juridique car elle consigne toutes
les traces et tous les accès de tout le monde de manière extrêmement précise et
surtout nominale.
Pour bien faire les choses, on branchera Squid sur le serveur d’authentification de
cette manière :
- Pour Active Directory (authentification non transparente : l’utilisateur doit saisir
son identifiant et son mot de passe à chaque ouverture du navigateur) :
Dans /etc/squid/squid.conf, modifier :
acl our_networks src 10.26.23.0/255.255.255.0
En
acl our_networks proxy_auth REQUIRED src 10.26.23.0/255.255.255.0
Procedure_install_squid_squidguard_dansguardian.doc
5
région Rhône-Alpes
CRIPT
INFORMATIQUE
fax : 04.75.71.59.13
ministère de l’agriculture et de la pêche
Repérer les auth_param et ajouter la ligne suivante :
auth_param
basic
program
/usr/lib/squid/ldap_auth
-R
-b
"dc=squale,dc=local" -D "cn=Administrateur,cn=Users,dc=squale,dc=local"
-w "Julesxx" -f sAMAccountName=%s -h 192.168.0.12
Où 192.168.0.12 correspond à l’adresse IP de l’annuaire dont la racine est
« squale.local » qui a pour administrateur « Administrateur.Users.squale.local »
avec « Julesxx » pour mot de passe.
Ajouter également ou « décommenter » :
auth_param basic children 5
auth_param basic realm Monproxyamoi
auth_param basic credentialsttl 5 hours
- Pour Netware :
La première chose à faire est la récupération du paquet stunnel :
# apt-get install stunnel
Cet utilitaire va permettre de réaliser la connexion sécurisée (SSL) avec
l’annuaire LDAP géré par Netware, puisque par défaut les demandes de
connexion circulant « en clair » sont rejetées. Pour créer ce tunnel SSL, il faut
utiliser la commande suivante :
# stunnel –c –r 10.26.23.234:636 –d 389
Où 10.26.23.234 correspond à l’adresse du serveur NetWare. Cette commande
va donc créer un tunnel sécurisé entre le port 636 (LDAPS) du serveur distant et
le port 389 de la machine locale. Toutes les données circulant sur le port 389 du
proxy seront donc transmise en SSL sur le port 636 du serveur LDAP.
Maintenant, on va faire en sorte que cette commande soit exécutée au
démarrage du serveur. Pour y arriver, on va devoir créer un script de démarrage.
Avant cela, on va installer un paquet nous permettant d’utiliser l’utilitaire gawk
dans notre script :
# apt-get install gawk
Ensuite, se déplacer dans le répertoire /etc/init.d, créer un fichier stunnel.sh et le
rendre exécutable :
# cd /etc/inid.d
# touch stunnel.sh
# chmod 755 stunnel.sh
Il ne reste maintenant plus qu’à remplir le fichier stunnel.sh avec le script adéquat
(remplacer la valeur de IPSRVLDAP par l’IP de votre serveur NetWare) :
#!/bin/bash
# description : script de contrôle du tunnel ssh entre le serveur LDAP
#
NetWare et le proxy
Procedure_install_squid_squidguard_dansguardian.doc
6
région Rhône-Alpes
CRIPT
INFORMATIQUE
fax : 04.75.71.59.13
ministère de l’agriculture et de la pêche
PATHSTUNNEL="/usr/sbin/"
IPSRVLDAP="10.26.23.234"
DESCRIPTION="tunnel SSL"
function getpid
{
PID=`netstat -tpan|grep stunnel|gawk 'BEGIN{FS=" +"} {print $7}'|cut -d/
-f1`
}
function stop
{
getpid
if [ -s $PID ] ; then
echo Arrêt du $DESCRIPTION impossible
else
echo Arrêt du $DESCRIPTION
kill -s 2 $PID
sleep 1
fi
status
}
function start
{
getpid
if [ -s $PID ] ; then
echo Démarrage du $DESCRIPTION...
cd $PATHSTUNNEL
./stunnel -c -r $IPSRVLDAP:636 -d 389
sleep 1
else
echo Démarrage du $DESCRIPTION impossible !
fi
status
}
function restart
{
stop
sleep 1
Procedure_install_squid_squidguard_dansguardian.doc
7
région Rhône-Alpes
CRIPT
INFORMATIQUE
fax : 04.75.71.59.13
ministère de l’agriculture et de la pêche
start
}
function status
{
getpid
if [ -s $PID ] ; then
echo Le $DESCRIPTION est arrêté !
else
echo Le $DESCRIPTION fonctionne !
fi
}
case "$1" in
start)
start;;
stop)
stop;;
status)
status;;
restart)
restart;;
*)
echo "usage: $0 {start|stop|restart|status}"
esac
Enfin, pour installer ce script en tant que script de démarrage, il faut utiliser la
commande update-rc.d comme suit :
# update-rc.d stunnel.sh defaults
Maintenant que cette première étape concernant le canal de communication entre
le serveur NetWare et le proxy est terminée, on va pouvoir passer au
paramétrage de Squid.
Dans /etc/squid/squid.conf, remplacer :
acl our_networks src 10.26.23.0/255.255.255.0
Par :
acl our_networks proxy_auth REQUIRED src 192.168.0.0/255.255.255.0
Repérer le bloc concernant la directive auth_param et ajouter la ligne suivante
(les sauts de lignes ne sont présents que pour des raisons de confort de lecture
de ce document, dans le fichier /etc/squid/squid.conf tout doit être sur la même
ligne) :
auth_param basic program /usr/lib/squid/ldap_auth
–b o=CRIPT
Procedure_install_squid_squidguard_dansguardian.doc
8
région Rhône-Alpes
CRIPT
INFORMATIQUE
fax : 04.75.71.59.13
ministère de l’agriculture et de la pêche
–u cn
–s sub
–D cn=browserLDAP,o=CRIPT
–w browser
–f “(&(objetClass=person)(cn=%s))”
–h 127.0.0.1
Où “-b o=CRIPT” correspond à la base pour la recherche des utilisateurs dans la
NDS, « -s sub » indique que l’on doit descendre dans l’arbre, « -D
cn=browserLDAP,o=CRIPT » indique le login à utiliser pour la recherche dans
l’arbre, « –w browser » indique le mot de passe de l’utilisateur , « –f
“(&(objetClass=person)(cn=%s))” » correspond au filtre de recherche et enfin « –h
127.0.0.1 » indique l’adresse du serveur LDAP (on indique cette valeur en raison
du tunnel SSL créé auparavant.
Pour terminer, ajouter également ou « décommenter » :
auth_param basic children 5
auth_param basic realm Monproxyamoi
auth_param basic credentialsttl 5 hours
2.3.4.
Authentification
Windows 2003
transparente
sur
un
Suivre
les
procédures
Flash
disponibles
à
http://www.srfdbourgogne.educagri.fr/articlepublic.php3?id_article=139.
domaine
l’adresse
3. Le filtrage
Nous allons voir dans cette partie 2 solutions de filtrage différentes. Il faut donc
utiliser l’une ou l’autre, suivant le type de filtrage souhaité.
3.1.
SquidGuard
SquidGuard permet de filtrer l’accès à certains sites Web en se basant sur une
blacklist d’URL classées dans différentes catégories. Dans notre cas, nous
utiliserons la blacklist de l’Université de Toulouse qui répertorie énormément de sites
dans différentes catégories, et qui fréquemment mise à jour.
Nous allons d’abord installer le paquet correspondant à SquidGuard :
# apt-get install squidguard
Une question au sujet des listes noires vous sera posée une fois le téléchargement
terminé, repondez par non.
On va également créer un script dont on programmera l’exécution par cron, et qui
permettra de faire la mise à jour des blacklists à intervalle régulier. Nous allons
nommer ce script maj_bl :
Procedure_install_squid_squidguard_dansguardian.doc
9
région Rhône-Alpes
CRIPT
INFORMATIQUE
fax : 04.75.71.59.13
ministère de l’agriculture et de la pêche
#!/bin/sh
# Mise à jour des blacklists de SquidGuard
# Récupération de la blacklist de l’université de Toulouse
# et décompression de l’archive
cd /tmp
wget ftp://ftp.univ-tlse1.fr/pub/reseau/cache/squidguard_contrib/blacklists.tar.gz
tar -zxf blacklists.tar.gz
rm blacklists.tar.gz
# Arrêt de Squid
/etc/init.d/squid stop
# On fait le ménage dans le répertoire des blacklists de Squidguard
rm -R /var/lib/squidguard/db/*
# On déplace la nouvelle blacklist dans le répertoire de Squidguard
mv blacklists/* /var/lib/squidguard/db/
# On change le propriétaire des fichiers de blacklist pour que
# l’utilisateur système correspondant à Squidguard y ait accès
chown -R proxy:proxy /var/lib/squidguard/db
# On compile les fichiers de blacklist
squidGuard -C all
# On change le propriétaire des fichiers de blacklist et de log pour que
# l’utilisateur système correspondant à Squidguard y ait accès
chown -R proxy:proxy /var/lib/squidguard/db
chown -R proxy:proxy /var/log/squid
# On redémarre Squid
/etc/init.d/squid start
Ensuite, il faut rendre ce script exécutable avec la commande :
# chmod 755 maj_bl
Enfin, il faut utiliser cron pour programmer l’exécution de maj_bl.
Pour configurer Squidguard, il faut modifier le fichier /etc/squid/squidGuard.conf. La
définition des catégories à bloquer se gère ainsi (exemple de configuration) :
Procedure_install_squid_squidguard_dansguardian.doc
10
région Rhône-Alpes
CRIPT
INFORMATIQUE
fax : 04.75.71.59.13
ministère de l’agriculture et de la pêche
# CONFIG FILE FOR SQUIDGUARD
#
dbhome /var/lib/squidguard/db
logdir /var/log/squid
# TIME RULES: pour définir des périodes sur lesquelles on veut filtrer
ou non
# abbrev for weekdays:
# s = sun, m = mon, t =tue, w = wed, h = thu, f = fri, a = sat
# Ici on défini une période correspondant aux jours de semaine entre
# 8:00 et 18:30
time workhours {
weekly mtwhf 08:00 - 18:30
}
# SOURCES : ip des postes que l’on filtre
source CDI {
ip
10.26.23.50-10.26.23.60
}
source Eleves {
ip
10.26.23.1-10.26.23.40
}
#
# REWRITE RULES: listes sur lesquelles on filtre
#
# porno
dest bl_adult {
domainlist
adult/domains
urllist
adult/urls
log
adult.log
}
# warez
dest bl_warez {
domainlist
warez/domains
urllist
warez/urls
log
warez.log
Procedure_install_squid_squidguard_dansguardian.doc
11
région Rhône-Alpes
CRIPT
INFORMATIQUE
fax : 04.75.71.59.13
ministère de l’agriculture et de la pêche
}
# gore
dest bl_agressif {
domainlist
agressif/domains
urllist
agressif/urls
log
agressif.log
}
# hacking
dest bl_hacking {
domainlist
hacking/domains
urllist
hacking/urls
log
hacking.log
}
# jeux
dest bl_games {
domainlist
games/domains
urllist
games/urls
log
games.log
}
# ACL : regles de filtrage
# - pour le CDI et les postes eleve : on bloque sur la période que l’on
#
a défini toutes les categories que l’on a identifié plus haut et on
#
redirige vers une page d’erreur
# - pour le reste on laisse tout passer
acl {
CDI within workhours {
pass !bl_adult !bl_warez !bl_agressif !bl_hacking !bl_games all
redirect http://127.0.0.1/cgi-bin/squidGuard.cgi?clientaddr=%a&srcclass=%s&targetclass=%t&url=%u
}
Eleves within workhours {
pass !bl_adult !bl_warez !bl_agressif !bl_hacking !bl_games all
redirect http://127.0.0.1/cgi-bin/squidGuard.cgi?clientaddr=%a&srcclass=%s&targetclass=%t&url=%u
}
default {
pass all
}
}
Procedure_install_squid_squidguard_dansguardian.doc
12
région Rhône-Alpes
CRIPT
INFORMATIQUE
fax : 04.75.71.59.13
ministère de l’agriculture et de la pêche
NB : dans le fichier de configuration précédent, je fais une redirection vers la page
squidGuard.cgi lorsqu’il y a blocage d’un site. Ceci implique donc l’installation d’un
serveur Web (par exemple Apache2) ainsi que la récupération du fichier CGI. Pour
l’installation d’Apache2, il suffit de procéder ainsi :
# apt-get install apache2
Pour ce qui est du fichier CGI, on peut récupérer celui fourni avec l’installation de
Squidguard :
# cp /usr/share/doc/squidguard/examples/squidGuard.cgi.gz /usr/lib/cgi-bin/
# gunzip /usr/lib/cgi-bin/squidGuard.cgi.gz
# chmod 755 /usr/lib/cgi-bin/squidGuard.cgi
Enfin, il faut modifier la configuration de Squid (/etc/squid/squid.conf) pour activer le
filtrage par SquidGuard :
redirect_program /usr/bin/squidGuard –c /etc/squid/squidGuard.conf
redirect_children 15
3.2.
Dansguardian
Dansguardian permet lui aussi de filtrer en se basant sur une liste d’URL, mais il
effectue également un filtage de contenu base sur des expressions régulière.
La première étape est la récupération de Dansguardian :
# apt-get install dansguardian
Maintenant, il faut éditer le fichier /etc/Dansguardian/Dansguardian.conf (ne pas
oublier le « # » devant « UNCONFIGURED »):
#UNCONFIGURED
reportinglevel = 3
language = 'french'
loglevel = 2
logexceptionhits = on
logfileformat = 1
loglocation = '/var/log/dansguardian/access.log'
filterip = 10.26.23.156
filterport = 8080
proxyip = 10.26.23.156
proxyport = 3128
accessdeniedaddress = 'http:// 10.26.23.156/cgi-bin/dansguardian.pl'
nonstandarddelimiter = on
usernameidmethodproxyauth = on
forwardedfor = on
usexforwardedfor = on
Procedure_install_squid_squidguard_dansguardian.doc
13
région Rhône-Alpes
CRIPT
INFORMATIQUE
fax : 04.75.71.59.13
ministère de l’agriculture et de la pêche
Où 10.26.23.156 est l’adresse du proxy.
Comme pour SquidGuard, on va également créer un script dont on programmera
l’exécution par cron, et qui permettra de faire la mise à jour des blacklists à intervalle
régulier. Nous allons nommer ce script maj_bl :
#!/bin/sh
# Mise à jour des blacklists de Dansguardian
/etc/init.d/dansguardian stop
cd /tmp
wget ftp://ftp.univtlse1.fr/pub/reseau/cache/squidguard_contrib/blacklists.tar.gz
tar -zxf blacklists.tar.gz
rm blacklists.tar.gz
rm -R /etc/dansguardian/blacklists
mv blacklists /etc/dansguardian/
/etc/init.d/dansguardian start
Ensuite, il faut rendre ce script exécutable avec la commande :
# chmod 755 maj_bl
Enfin, il faut utiliser cron pour programmer l’exécution de maj_bl.
Fichiers de paramétrages pour le filtrage de contenu :
/etc/dansguardian/bannedphraselist
.Include</etc/dansguardian/phraselists/pornography/banned>
.Include</etc/dansguardian/phraselists/illegaldrugs/banned>
.Include</etc/dansguardian/phraselists/gambling/banned>
/etc/dansguardian/weightedphraselist
.Include</etc/dansguardian/phraselists/chat/weighted>
.Include</etc/dansguardian/phraselists/drugadvocacy/weighted>
.Include</etc/dansguardian/phraselists/dutchbadwords/weighted>
.Include</etc/dansguardian/phraselists/frenchbadwords/weighted>
.Include</etc/dansguardian/phraselists/frenchpornography/weighted>
.Include</etc/dansguardian/phraselists/gambling/weighted>
.Include</etc/dansguardian/phraselists/germanpornography/weighted>
.Include</etc/dansguardian/phraselists/goodphrases/weighted>
.Include</etc/dansguardian/phraselists/gore/weighted>
.Include</etc/dansguardian/phraselists/illegaldrugs/weighted>
.Include</etc/dansguardian/phraselists/intolerance/weighted>
.Include</etc/dansguardian/phraselists/legaldrugs/weighted>
.Include</etc/dansguardian/phraselists/personals/weighted>
.Include</etc/dansguardian/phraselists/pornography/weighted>
Procedure_install_squid_squidguard_dansguardian.doc
14
région Rhône-Alpes
CRIPT
INFORMATIQUE
fax : 04.75.71.59.13
ministère de l’agriculture et de la pêche
.Include</etc/dansguardian/phraselists/violence/weighted>
.Include</etc/dansguardian/phraselists/warezhacking/weighted>
.Include</etc/dansguardian/phraselists/weapons/weighted>
/etc/dansguardian/bannedregexpurllist
(adultsight|adultsite|adultsonly|adultweb|blowjob|bondage|centerfold|cum
shot|cyberlust|cybercore|hardcore|incest|masturbat|obscene|pedophil|pedo
fil|playmate|pornstar|sexdream|showgirl|softcore|striptease)
(^|[\?+=&/_])(big|cyber|hard|huge|mega|small|soft|super|tiny)?(anal|babe|bha
rath|boob|breast|busen|busty|clit|cum|cunt|dick|fetish|fuck|hooter|lez|l
ust|naked|nude|oral|orgy|porn|porno|pupper|pussy|rotten|sex|shit|smutpum
p|teen|tit|topp?les|xxx)s?([-\?+=&/_]|$)
(^|[\?+=&/])(girls|babes)([\?+=&/]|$)
#Use this to block web counters:
#(adlog.php|cnt.cgi|count.cgi|count.dat|count.jsp|count.pl|count.php|cou
nter.cgi|counter.js|counter.pl|countlink.cgi|fpcount.exe|logitpro.cgi|rc
ounter.dll|track.pl|w_counter.js)
#Contributed by [email protected]
Fichiers à modifier pour le filtrage basé sur les catégories d’URL des blacklist
(pour voir les catégories disponibles, regarder dans /etc/dansguardian/blacklists)
/etc/dansguardian/bannedurllist
(commenter le mebers/porn situé en début de fichier)
#Remove the # from the following and edit as needed to use a stock
#squidGuard blacklists collection.
.Include</etc/dansguardian/blacklists/ads/urls>
.Include</etc/dansguardian/blacklists/adult/urls>
.Include</etc/dansguardian/blacklists/aggressive/urls>
.Include</etc/dansguardian/blacklists/agressif/urls>
#.Include</etc/dansguardian/blacklists/cleaning/urls>
#.Include</etc/dansguardian/blacklists/audio-video/urls>
#.Include</etc/dansguardian/blacklists/chat/urls>
#.Include</etc/dansguardian/blacklists/cleaning/urls>
#.Include</etc/dansguardian/blacklists/drugs/urls>
#.Include</etc/dansguardian/blacklists/drogue/urls>
#.Include</etc/dansguardian/blacklists/dangerous_material/urls>
#.Include</etc/dansguardian/blacklists/entertainment/urls>
#.Include</etc/dansguardian/blacklists/frencheducation/urls>
#.Include</etc/dansguardian/blacklists/forums/urls>
#.Include</etc/dansguardian/blacklists/gambling/urls>
#.Include</etc/dansguardian/blacklists/government/urls>
#.Include</etc/dansguardian/blacklists/hacking/urls>
Procedure_install_squid_squidguard_dansguardian.doc
15
région Rhône-Alpes
CRIPT
INFORMATIQUE
fax : 04.75.71.59.13
ministère de l’agriculture et de la pêche
#.Include</etc/dansguardian/blacklists/liste_bu/urls>
#.Include</etc/dansguardian/blacklists/jobsearch/urls>
#.Include</etc/dansguardian/blacklists/kidstimewasting/urls>
#.Include</etc/dansguardian/blacklists/mail/urls>
#.Include</etc/dansguardian/blacklists/news/urls>
.Include</etc/dansguardian/blacklists/porn/urls>
#.Include</etc/dansguardian/blacklists/proxy/urls>
#.Include</etc/dansguardian/blacklists/publicite/urls>
#.Include</etc/dansguardian/blacklists/redirector/urls>
#.Include</etc/dansguardian/blacklists/tricheur/urls>
.Include</etc/dansguardian/blacklists/violence/urls>
#.Include</etc/dansguardian/blacklists/virusinfected/urls>
.Include</etc/dansguardian/blacklists/warez/urls>
#.Include</etc/dansguardian/blacklists/webmail/urls>
# You will need to edit to add and remove categories you want
/etc/dansguardian/bannedsitelist
(commenter badboys.com en début de fichier)
#Remove the # from the following and edit as needed to use a stock
#squidGuard/urlblacklist blacklists collection.
.Include</etc/dansguardian/blacklists/ads/domains>
.Include</etc/dansguardian/blacklists/adult/domains>
.Include</etc/dansguardian/blacklists/aggressive/domains>
.Include</etc/dansguardian/blacklists/agressif/domains>
#.Include</etc/dansguardian/blacklists/artnudes/domains>
#.Include</etc/dansguardian/blacklists/audio-video/domains>
#.Include</etc/dansguardian/blacklists/cleaning/domains>
#.Include</etc/dansguardian/blacklists/dangerous_material/domains>
#.Include</etc/dansguardian/blacklists/beerliquorinfo/domains>
#.Include</etc/dansguardian/blacklists/beerliquorsale/domains>
#.Include</etc/dansguardian/blacklists/chat/domains>
#.Include</etc/dansguardian/blacklists/childcare/domains>
#.Include</etc/dansguardian/blacklists/clothing/domains>
#.Include</etc/dansguardian/blacklists/culinary/domains>
#.Include</etc/dansguardian/blacklists/dialers/domains>
#.Include</etc/dansguardian/blacklists/drugs/domains>
#.Include</etc/dansguardian/blacklists/drogue/domains>
#.Include</etc/dansguardian/blacklists/entertainment/domains>
#.Include</etc/dansguardian/blacklists/forums/domains>
#.Include</etc/dansguardian/blacklists/frencheducation/domains>
#.Include</etc/dansguardian/blacklists/gambling/domains>
Procedure_install_squid_squidguard_dansguardian.doc
16
région Rhône-Alpes
CRIPT
INFORMATIQUE
fax : 04.75.71.59.13
ministère de l’agriculture et de la pêche
#.Include</etc/dansguardian/blacklists/government/domains>
#.Include</etc/dansguardian/blacklists/hacking/domains>
#.Include</etc/dansguardian/blacklists/homerepair/domains>
#.Include</etc/dansguardian/blacklists/hygiene/domains>
#.Include</etc/dansguardian/blacklists/jewelry/domains>
#.Include</etc/dansguardian/blacklists/jobsearch/domains>
#.Include</etc/dansguardian/blacklists/kidstimewasting/domains>
#.Include</etc/dansguardian/blacklists/liste_bu/domains>
#.Include</etc/dansguardian/blacklists/mail/domains>
#.Include</etc/dansguardian/blacklists/news/domains>
#.Include</etc/dansguardian/blacklists/onlineauctions/domains>
#.Include</etc/dansguardian/blacklists/onlinegames/domains>
#.Include</etc/dansguardian/blacklists/onlinepayment/domains>
#.Include</etc/dansguardian/blacklists/personalfinance/domains>
#.Include</etc/dansguardian/blacklists/pets/domains>
#.Include</etc/dansguardian/blacklists/mobile-phone/domains>
#.Include</etc/dansguardian/blacklists/phishing/domains>
.Include</etc/dansguardian/blacklists/porn/domains>
#.Include</etc/dansguardian/blacklists/proxy/domains>
#.Include</etc/dansguardian/blacklists/radio/domains>
#.Include</etc/dansguardian/blacklists/publicite/domains>
#.Include</etc/dansguardian/blacklists/redirector/domains>
#.Include</etc/dansguardian/blacklists/ringtones/domains>
#.Include</etc/dansguardian/blacklists/sportnews/domains>
#.Include</etc/dansguardian/blacklists/sports/domains>
#.Include</etc/dansguardian/blacklists/vacation/domains>
#.Include</etc/dansguardian/blacklists/tricheur/domains>
.Include</etc/dansguardian/blacklists/violence/domains>
#.Include</etc/dansguardian/blacklists/virusinfected/domains>
.Include</etc/dansguardian/blacklists/warez/domains>
#.Include</etc/dansguardian/blacklists/webmail/domains>
# You will need to edit to add and remove categories you want
Pour terminer, on peut redémarrer Dansguardian :
# /etc/init.d/dansguardian restart
N.B. : dans la config proxy des navigateurs, remplacer le port 3128 par 8080.
Procedure_install_squid_squidguard_dansguardian.doc
17
région Rhône-Alpes
CRIPT
INFORMATIQUE
fax : 04.75.71.59.13
ministère de l’agriculture et de la pêche
4. Exploitation de logs avec SARG
SARG est l’acronyme de Squid Analysis Report Generator. Comme son nom
l’indique, il s’agit donc d’un analyseur de log Squid qui permet de générer des
rapports HTML très complets et faciles à comprendre.
Pour l’utiliser encore plus facilement, on va l’installer conjointement à Webmin qui
nous fournira une interface Web pour l’utiliser.
# apt-get install sarg webmin webmin-sarg
Pour avoir accès à Webmin depuis n’importe quel poste du réseau, on va avant toute
chose modifier la valeur de allow le fichier /etc/webmin/miniserv.conf :
allow=10.26.23.0
Où 10.26.23.0 correspond à l’adresse du réseau local. On peut alors redémarrer
Webmin :
# /etc/init.d/webmin restart
Pour se connecter à l’interface de Webmin, on peut alors ouvrir un navigateur Web à
l’adresse https://adresse-ip-du-serveur:10000. Sur la page qui apparaît, il faut se
loguer en utilisant le compte « root » du système. On peut ensuite aller sur l’onglet
« Servers » pour voir que le module SARG est bien présent.
Si l’on clic sur SARG, il est alors demandé de configurer le module :
La configuration doit être réalisée comme suit :
Procedure_install_squid_squidguard_dansguardian.doc
18
région Rhône-Alpes
CRIPT
INFORMATIQUE
fax : 04.75.71.59.13
ministère de l’agriculture et de la pêche
En cliquant sur « Save », on obtient l’écran suivant :
Il est possible de paramétrer SARG pour qu’il génère périodiquement des rapport
grâce au menu « Scheduled Report Generation ». Sur le menu principal de SARG, il
est également possible de générer un rapport immédiatement ou de visualiser les
rapports déjà disponibles (boutons « Generate Report Now » et « View Generated
Report »).
Voici un exemple de rapport généré pour les 19 et 20 avril 2006 :
Si plusieurs rapports avaient été disponibles, alors on aurait eu plusieurs choix dans
la liste précédente. Si l’on clic sur « 19Apr2006-20Apr2006 », alors on obtient l’écran
suivant :
Procedure_install_squid_squidguard_dansguardian.doc
19
région Rhône-Alpes
CRIPT
INFORMATIQUE
fax : 04.75.71.59.13
ministère de l’agriculture et de la pêche
Enfin, si SquidGuard est installé, SARG peut également générer un rapport des
blocages réalisés par le filtre (pour que le lien SquidGuard apparaisse dans le menu
des rapports disponibles, il faut avoir renseigné la valeur de « SquidGuard log file »
dans le menu « Log source and Report destination » du module Webmin, ainsi que la
valeur de « squidguard_conf » dans le fichier /etc/squid/sarg.conf). Dans notre cas,
on obtient l’affichage suivant :
Procedure_install_squid_squidguard_dansguardian.doc
20
région Rhône-Alpes
CRIPT
INFORMATIQUE
fax : 04.75.71.59.13
ministère de l’agriculture et de la pêche
NB : si vous utilisez Squidguard et que vous filtrez sur la catégorie « blog », vous
allez obtenir une erreur lors de la génération du rapport de SARG. En effet, lorsque
SARG analyse le fichier squidguard.conf pour récupérer les noms des fichiers de log
générés, il repère la suite de caractères « log » et considère ce qui suit comme étant
un nom de fichier, or « blog » contient « log » d’où l’erreur que fait remonter SARG
en tentant de générer son rapport. Pour contourner ce bug, il suffit de ne pas faire
mention de « blog » mais par exemple de « bloog » (il faut par conséquent
également renommer le répertoire « blog » contenu dans la blacklist en « bloog »).
Grâce à ce rapport, on peut donc savoir que les postes 10.26.23.128 et 10.26.23.158
ont été bloqués par Squidguard lorsqu’ils ont tenté d’aller sur des sites faisant parti
des catégories Warez et Adult, et à quel heure ces tentatives d’accès ont eu lieu.
Pour avoir un aperçu des accès bloqués lorsqu’on a installé Squid et Dansguardian,
il
faut
modifier
la
valeur
de
« logfileformat »
dans
/etc/dansguardian/dansguardian.conf pour la passer à 3 (« Squid Log File Format »),
relancer DansGuardian avec la commande « /etc/init.d/dansguardian restart », et
mettre la valeur de « Source Squid log file » dans le menu « Log source and Report
destination » du module Webmin à /var/log/dansguardian/access.log.
Procedure_install_squid_squidguard_dansguardian.doc
21

Documents pareils