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