Difference between revisions of "WebFilter/fr"
Line 61: | Line 61: | ||
La liste des catégoies sont de simple fichier texte stocké dans /var/squidGuard/blacklists. Chaque catégories étant un dossier contenant chacun un fichier '''domains''' et '''urls'''. | La liste des catégoies sont de simple fichier texte stocké dans /var/squidGuard/blacklists. Chaque catégories étant un dossier contenant chacun un fichier '''domains''' et '''urls'''. | ||
− | Chacuns de ces | + | Chacuns de ces dossiers peuvent être desactivés dans le Server-Manager, sauf si ils sont listé dans DisabledCategories prop. Vous pouvez voir les categories desactivées avec la commande : |
db configuration getprop squidguard DisabledCategories | db configuration getprop squidguard DisabledCategories | ||
Line 75: | Line 75: | ||
=== Denied page === | === Denied page === | ||
+ | |||
+ | With the default configuration, denied requests are redirected to https://hostname.domain.tld/squidGuard/cgi-bin/blocked.cgi with various parameters (like IP address, username, client group, category etc...). Username will be empty (only -), this is because squid authentication is disabled. If you enable squid authentication (with custom templates), you'll be able to log username. The downside is that you'll have to configure all your browsers to use squid as proxy, because authentication is not compatible with transparent proxying. | ||
+ | |||
+ | If you want to change the blocked page, you can. First, copy the default page to another name: | ||
+ | |||
+ | cp -a /usr/share/squidGuard/cgi-bin/blocked.cgi /usr/share/squidGuard/cgi-bin/custom.cgi | ||
+ | |||
+ | Now, you can edit this new file to your need. Then, just select it as the default blocked page: | ||
+ | |||
+ | db configuration setprop squidguard RedirectURL \ | ||
+ | http://hostname.systemname.com/squidGuard/cgi-bin/custom.cgi?clientaddr=%a&clientname=%n&clientuser=%i&clientgroup=%s&targetgroup=%t&url=%u | ||
+ | signal-event http-proxy-update | ||
=== Logs MySQL === | === Logs MySQL === | ||
+ | |||
+ | MySQL loging of clients requests is handled by a independent daemon called squid-db-logd. It monitors squid access log and squidGuard deny log in real time, parse it and put everything in the database called squid_log. In this database, the table access_log list all the access while the deny_log only list denied pages. This feature may need a lot of disk space. On a busy server, you can easily reach 3GB / month only for the database (and more for the dump when you backup your server). To limit the needed space, a cron job remove the oldest entries. The default config keeps one year of log. You can change this setting with (value is in day and default is 365) | ||
+ | db configuration setprop squid-db-logd Retention 180 | ||
+ | |||
+ | If you want to completely disable this feature, you can stop this daemon: | ||
+ | db configuration setprop squid-db-logd status disabled | ||
+ | sv d /service/squid-db-logd | ||
+ | |||
+ | Here are some example of queries you can run: | ||
+ | |||
+ | *Get the top 30 most visited domains | ||
+ | echo "SELECT DOMAIN,COUNT(DOMAIN) AS occurances FROM access_log GROUP BY DOMAIN ORDER BY occurances DESC LIMIT 30;" | mysql squid_log | ||
+ | |||
+ | *Get the top 10 most used blocked categories | ||
+ | echo "SELECT category,COUNT(category) AS occurances FROM deny_log GROUP BY category ORDER BY occurances DESC LIMIT 10;" | mysql squid_log | ||
+ | |||
+ | *get all the pages requested by the client 192.168.7.50 on Oct 12 2012 between 10pm and 11 pm, and export the result in /tmp/result.csv | ||
+ | |||
+ | echo "SELECT date_day,date_time,url,username INTO OUTFILE '/tmp/result.csv' FIELDS TERMINATED BY ',' | ||
+ | OPTIONALLY ENCLOSED BY '"' ESCAPED BY '\\' LINES TERMINATED BY '\n' | ||
+ | FROM access_log WHERE client_ip='192.168.7.50' AND date_day='2012-10-08' AND date_time>'22:00:00' AND date_time<'23:00:00';" mysql squid_log | ||
Revision as of 09:28, 13 August 2014
Cette page est actuellement en cours de traduction ...
Mainteneur
Daniel B.
Firewall Services
mailto:daniel@firewall-services.com
Description
Cette contribs apporte des nouveautés pour le Proxy Squid et fournit une interface de contrôle pour :
De nombreuses catégories de noms de domaine et URL mis à jour chaque nuits par l'Université de Toulouse (vous pouvez obtenir plus d'informations sur ces listes ici), en français). Ensuite, il suffit de choisir les catégories que vous souhaitez bloquer. Vous pouvez accéder à une liste d'adresses IP qui ne sera pas filtré, une liste noire locale et liste blanche. Scan anti-virus (squidclamav). Lorsqu'il est activé, tout le trafic web sera analysé avant d'être envoyé au client. Log toutes les requêtes dans une base de données MySQL. Toute requêtes passant par Squid est logué dans une base de données, ce qui rend plus facile à analyser ses journaux. Il n'y a pas front-end pour cela, mais vous pouvez utiliser votre client MYSQL préféré pour voir quels domaines sont les plus visités, l'utilisateur qui utilise toute votre bande passante, etc ...
Cette contrib peut remplacer Dansguardian si vous avez des besoins simples en terme de filtrage. Il est vraiment facile à configurer, mais il est aussi moins puissant.
Pré-requis
Captures d'écrans
Installation 8.x et 9.x
Executez simplement les commandes suivantes pour lancer l'installation :
yum --enablerepo=epel --enablerepo=fws install smeserver-webfilter signal-event http-proxy-update expand-template /etc/httpd/conf/httpd.conf sv t /service/httpd-e-smith
Vous pouvez à présent avoir accès à la nouvelle interface de contrôle dans le Server-Manager. Lors de votre premier accès, vous remarquerez que la liste des catégories est vide. Cliquez juste sur le bouton de sauvegarde en bas de la page, attendez quelques minutes et recommencez (la liste est vide car les categories n'ont pas encore été téléchargé).
A présent, vous devriez être en mesure d'activer les URL et le filtrage AV, mais aussi les categories que vous souhaitez bloquer. La première configuration peut prendre plusieurs minutes, il est possible que vous obteniez par conséquent une erreur de délais d'attente. Ceci est normal, car les bases de données Squidguard doivent être compilés. Cependant, après cette manipulation, vos prochaines configurations devraient être beaucoup plus rapides.
Applications de filtrage AV et App Stores
Quand le filtrage AV est activé, cela pose beaucoup de problème pour les possésseurs de smartphone car les App Stores sont bloqués. Pour regler ce problème, rajouter simplement le Google Play et l'Apple Store dans la liste blanche (white list) :
clients.google.com android.clients.google.com *.phobos.apple.com
Ces App Store ne seront plus bloqués par le filtrage AV et les smartphones ne devraient plus rencontrer de problème.
Personalisation de la liste des catégories
La liste des catégoies sont de simple fichier texte stocké dans /var/squidGuard/blacklists. Chaque catégories étant un dossier contenant chacun un fichier domains et urls. Chacuns de ces dossiers peuvent être desactivés dans le Server-Manager, sauf si ils sont listé dans DisabledCategories prop. Vous pouvez voir les categories desactivées avec la commande :
db configuration getprop squidguard DisabledCategories
Cela vous permet de cacher certaines catégories inutiles.
La configuration par defaut met à jour toutes les catégories chaque nuit. Configuré dans un cron /etc/cron.daily/squidGuard appelant /etc/e-smith/events/actions/squidguard-update-databases. Pour desactiver cette mise à jour automatique :
db configuration setprop squidguard AutoUpdate disabled
Vous pouvez ajouter vos propres categories. Si elles n'existes pas encore, elles ne seront pas supprimé ou modifier par la mise à jour automatique.
Denied page
With the default configuration, denied requests are redirected to https://hostname.domain.tld/squidGuard/cgi-bin/blocked.cgi with various parameters (like IP address, username, client group, category etc...). Username will be empty (only -), this is because squid authentication is disabled. If you enable squid authentication (with custom templates), you'll be able to log username. The downside is that you'll have to configure all your browsers to use squid as proxy, because authentication is not compatible with transparent proxying.
If you want to change the blocked page, you can. First, copy the default page to another name:
cp -a /usr/share/squidGuard/cgi-bin/blocked.cgi /usr/share/squidGuard/cgi-bin/custom.cgi
Now, you can edit this new file to your need. Then, just select it as the default blocked page:
db configuration setprop squidguard RedirectURL \ http://hostname.systemname.com/squidGuard/cgi-bin/custom.cgi?clientaddr=%a&clientname=%n&clientuser=%i&clientgroup=%s&targetgroup=%t&url=%u signal-event http-proxy-update
Logs MySQL
MySQL loging of clients requests is handled by a independent daemon called squid-db-logd. It monitors squid access log and squidGuard deny log in real time, parse it and put everything in the database called squid_log. In this database, the table access_log list all the access while the deny_log only list denied pages. This feature may need a lot of disk space. On a busy server, you can easily reach 3GB / month only for the database (and more for the dump when you backup your server). To limit the needed space, a cron job remove the oldest entries. The default config keeps one year of log. You can change this setting with (value is in day and default is 365)
db configuration setprop squid-db-logd Retention 180
If you want to completely disable this feature, you can stop this daemon:
db configuration setprop squid-db-logd status disabled sv d /service/squid-db-logd
Here are some example of queries you can run:
- Get the top 30 most visited domains
echo "SELECT DOMAIN,COUNT(DOMAIN) AS occurances FROM access_log GROUP BY DOMAIN ORDER BY occurances DESC LIMIT 30;" | mysql squid_log
- Get the top 10 most used blocked categories
echo "SELECT category,COUNT(category) AS occurances FROM deny_log GROUP BY category ORDER BY occurances DESC LIMIT 10;" | mysql squid_log
- get all the pages requested by the client 192.168.7.50 on Oct 12 2012 between 10pm and 11 pm, and export the result in /tmp/result.csv
echo "SELECT date_day,date_time,url,username INTO OUTFILE '/tmp/result.csv' FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' ESCAPED BY '\\' LINES TERMINATED BY '\n' FROM access_log WHERE client_ip='192.168.7.50' AND date_day='2012-10-08' AND date_time>'22:00:00' AND date_time<'23:00:00';" mysql squid_log
Désintalation
Pour désinstaler cette contribs, executez les commandes suivantes :
yum remove squidGuard squidclamav expand-template /etc/squid/squid.conf squid -k reconfigure expand-template /etc/httpd/conf/httpd.conf sv t /service/httpd-e-smith
Et pour supprimer toutes traces :
rm -rf /var/log/squid-db-logd rm -rf /var/log/squidGuard rm -f /home/e-smith/db/mysql/squid_log.dump echo "drop database squid_log;" | mysql rm -rf /var/squidGuard rm -f /etc/squid/squidGuard.conf rm -f /etc/squidclamav.conf
Sources
Vous pouvez trouver la SRPM dans notre dépôt ici : http://repo.firewall-services.com/centos/5/SRPMS/ Vous pouvez aussi consulter les sources et cloner la contrib sur notre dépôt GIT ici : https://gitweb.firewall-services.com/?p=smeserver-webfilter;a=summary
Traduction
L'interface de contrôle est traduit en Anglais, Français, Allemand et Italien. Pour l'instant, cette contrib n'est pas disponible pour la traduction en pootle (parce qu'elle est dans notre propre repo GIT).
Si vous voulez aider à la traduction, traduisez le fichier /etc/e-smith/locale/en-us/etc/e-smith/web/functions/webfilter et renvoyez nous directement le fichier à l'adresse tech @ firewall-services . com