Difference between revisions of "WebFilter/fr"
Line 58: | Line 58: | ||
=== Personalisation de la liste des catégories === | === Personalisation de la liste des catégories === | ||
− | + | Les listes des catégoies sont de simples fichiers texte stockés dans /var/squidGuard/blacklists. Chaque catégorie étant un dossier contenant un fichier '''domains''' et un '''urls'''. | |
− | + | Chaque catégorie apparaîtra dans le panel du server-manager, sauf si elle est listée dans la clé DisabledCategories. Vous pouvez voir les categories desactivées avec la commande : | |
db configuration getprop squidguard DisabledCategories | db configuration getprop squidguard DisabledCategories | ||
Line 65: | Line 65: | ||
Cela vous permet de cacher certaines catégories inutiles. | Cela vous permet de cacher certaines catégories inutiles. | ||
− | La configuration par defaut met à jour toutes les catégories chaque nuit. | + | La configuration par defaut met à jour toutes les catégories chaque nuit. Cette mise à jour est lancée par la tâche cron /etc/cron.daily/squidGuard qui appelle le script /etc/e-smith/events/actions/squidguard-update-databases. |
Pour desactiver cette mise à jour automatique : | Pour desactiver cette mise à jour automatique : | ||
db configuration setprop squidguard AutoUpdate disabled | db configuration setprop squidguard AutoUpdate disabled | ||
− | Vous pouvez ajouter vos propres categories. Si elles n'existes pas encore, elles ne seront pas | + | Vous pouvez ajouter vos propres categories. Si elles n'existes pas encore, elles ne seront pas supprimées ou modifiées par la mise à jour automatique. |
=== Page "Accès interdit" === | === Page "Accès interdit" === |
Revision as of 10:57, 13 August 2014
Mainteneur
Daniel B.
Firewall Services
mailto:daniel@firewall-services.com
Description
Cette contribs apporte 3 nouvelles fonctionnalités au proxy squid et fournit une interface pour en contrôler la plus part:
- Filtrage d'URL (avec squidGuard)
De nombreuses catégories de noms de domaine et d'URL mises à jour chaque nuit depuis le site de l'Université de Toulouse (vous pouvez obtenir plus d'informations sur ces listes ici), en français). Il suffit de choisir les catégories que vous souhaitez bloquer. Vous pouvez également configurer une liste d'adresses IP qui ne seront pas soumises au filtrage, une liste noire locale et liste blanche.
- Filtrage Antivirus (avec squidclamav)
Lorsque cette fonction est activée, tout le trafic web sera analysé avant d'être envoyé au client.
- Log des requêtes dans une base de données MySQL.
Toutes les requêtes passant par Squid sont journalisées dans une base de données, ce qui rend l'analyse plus facile. Il n'y a pas d'interface pour consulter ces journaux, 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. Elle est vraiment facile à configurer, mais également moins puissante. Dansguardian filtre le contenu (il scan le contenu des pages pour déterminer si elle doit être bloquée ou non), alors que squidGuard ne regarde que l'URL par exemple
Pré-requis
- SME Server 8 ou 9 (non testé et non supporté sur SME 7)
- Vous devez configurer les dépôts Epel et Fws
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 Enregistrer 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ées).
A présent, vous devriez être en mesure d'activer le filtrage d'URL et le filtrage AV, ainsi que 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 dépassé. Ceci est normal, car les bases de données Squidguard doivent être compilées. Cependant, après cette première manipulation, vos prochaines configurations devraient être beaucoup plus rapides.
Logithèques et filtrage AV
Quand le filtrage AV est activé, le moteur de l'antivirus remplace le UserAgent du client par le sien, ce qui peut empêcher l'accès à certainees sites, comme l'appStore pour iOS ou le Google Play pour Android. Pour regler ce problème, rajouter simplement ces lignes dans la liste blanche:
clients.google.com android.clients.google.com *.phobos.apple.com
Une fois dans la liste blanches, ces sites ne seront plus soumis an scan antivirus
Personalisation de la liste des catégories
Les listes des catégoies sont de simples fichiers texte stockés dans /var/squidGuard/blacklists. Chaque catégorie étant un dossier contenant un fichier domains et un urls. Chaque catégorie apparaîtra dans le panel du server-manager, sauf si elle est listée dans la clé DisabledCategories. 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. Cette mise à jour est lancée par la tâche cron /etc/cron.daily/squidGuard qui appelle le script /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ées ou modifiées par la mise à jour automatique.
Page "Accès interdit"
La configuration par défaut redirige les accès refusé sur la page https://hostname.domain.tld/squidGuard/cgi-bin/blocked.cgi avec des paramètres variés (Adresse IP, Nom d'utilisateur, Groupe, Categorie, etc ...). Le nom d'utilisateur peut-être masquer si l'authentification Squid est désactivé. Si vous activez l'authentification Squid (avec modèles personnalisés), vous serez en mesure d'afficher le nom d'utilisateur. L'inconvénient est que vous aurez à configurer tous vos navigateurs à utiliser Squid comme proxy mandataire, car l'authentification n'est pas compatible avec le proxy transparent.
Vous pouvez personnaliser la page d'accès interdit, pour commencer, copiez la page par defaut :
cp -a /usr/share/squidGuard/cgi-bin/blocked.cgi /usr/share/squidGuard/cgi-bin/custom.cgi
Maintenant, vous pouvez editer cette nouvelle page en fonction de vos besoins. Ensuite, il vous faut selectionner cette nouvelle page dans la configuration :
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
Le requêtage des logs MYSQL est assurée par un démon indépendant appelé squid-db-logd. Il surveille le journal des accès Squid et Squidguard deny log en temps réel, l'analyse et met tout dans le squid_log. Dans cette base de données, la table access_log liste tout les accès tandi que le deny_log ne list que les accès interdit. Cette fonction peut avoir besoin de beaucoup d'espace disque. Sur un serveur occupé, vous pouvez facilement atteindre 3 GB/mois seulement pour la base de données (et plus pour les dumps quand vous sauvegardez votre serveur). Pour limiter l'espace nécessaire, une tâche cron permet de supprimer les entrées les plus anciennes. La configuration par défaut conserve un an de logs (soit environ 40 GB de logs). Vous pouvez modifier ce réglage avec cette commande (la valeur par defaut est de 365 jours) :
db configuration setprop squid-db-logd Retention 180
Si vous souhaitez desactiver complétement cette fonction, vous pouvez stoper ce service :
db configuration setprop squid-db-logd status disabled
sv d /service/squid-db-logd
Voici quelques exemple d'execution :
- Obtenez les 30 sites les plus visités :
echo "SELECT DOMAIN,COUNT(DOMAIN) AS occurances FROM access_log GROUP BY DOMAIN ORDER BY occurances DESC LIMIT 30;" | mysql squid_log
- Obtenez les 10 categories les plus blockés :
echo "SELECT category,COUNT(category) AS occurances FROM deny_log GROUP BY category ORDER BY occurances DESC LIMIT 10;" | mysql squid_log
- Obtenez toutes les pages demandés par le client 192.168.7.50 le 12 Oct 2012 entre 22h00 et 23h00 et exporté le resultat dans /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