Changes

From SME Server
Jump to navigationJump to search
1,932 bytes added ,  21:39, 3 January 2023
no edit summary
Line 1: Line 1: −
{{Languages|WebFiltering}}
+
{{Languages|WebFilter}}
 
+
{{#vardefine:contribname| {{lc: {{#titleparts:  {{BASEPAGENAME}} |1}} }} }} {{#vardefine:smecontribname| smeserver-{{lc: {{#titleparts:  {{BASEPAGENAME}} |1}} }} }} {{#vardefine:lang| {{lc:  {{#titleparts:    {{PAGENAME}} | | -1}}  }} |en }}{{Infobox contribs
 
+
|name={{#var:contribname}}
'''Cette page est actuellement en cours de traduction ...'''
+
|image={{#var:contribname}}.png
 
+
|description_image= {{#var:contribname}} logo
 +
|maintainer=Unnilennium
 +
|url=http://www.squidguard.org/
 +
|licence={{#show: {{PAGENAME}}
 +
|?Rpm licence
 +
}}
 +
|category= filtering
 +
|tags=squid,proxy,cache,filter,http,https
 +
}}The rpm summary indicates: {{#show: {{PAGENAME}}
 +
|?Rpm summary
 +
}}
    
=== Mainteneur ===
 
=== Mainteneur ===
Line 10: Line 20:  
mailto:daniel@firewall-services.com
 
mailto:daniel@firewall-services.com
    +
=== Version ===
 +
{{ #smeversion: smeserver-webfilter }}
 +
{{ #smeversion: squidGuard }}
 +
{{ #smeversion: squidclamav }}
 +
[[Version::contrib9|fws]][[Has SME9::true| ]]
    
=== Description ===
 
=== Description ===
   −
Cette contribs apporte des nouveautés pour le Proxy Squid et fournit une interface de contrôle pour :
+
Cette contribution apporte 3 nouvelles fonctionnalités au proxy squid et fournit une interface pour en contrôler la plupart :
 
  −
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 [http://dsi.ut-capitole.fr/blacklists/ 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===
+
*Filtrage d'URL (avec [http://squidguard.org/ 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 [http://dsi.ut-capitole.fr/blacklists/ 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 [http://squidclamav.darold.net/ 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 ...
   −
* SME Server 8 (non testé et non supporté sur SME 7)
+
Cette contribution 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 scanne 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.
* Vous devez configurer les dépôts [[Epel]] et [[Fws]]
      
=== Captures d'écrans ===
 
=== Captures d'écrans ===
Line 32: Line 44:  
[[File:Webfilter_2.png|webfilter panel]]
 
[[File:Webfilter_2.png|webfilter panel]]
   −
=== Installation 8.x et 9.x===
+
=== Installation===
 
+
<tabs container><tab name="Pour SME 10">
Executez simplement les commandes suivantes pour lancer l'installation :
+
yum install --enablerepo=smecontribs smeserver-webfilter
 +
</tab><tab name="Pour SME 9 ">
 +
Pour installer la contribution, exécutez simplement les commandes suivantes :
 +
yum install smeserver-extrarepositories-fws  smeserver-extrarepositories-epel -y
 +
signal-event yum-modify
 +
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
 +
</tab><tab name="Pour SME 8">
 +
first install [[fws]] and [[epel]] repo
    +
Pour installer la contribution, exécutez simplement les commandes suivantes :
 
  yum --enablerepo=epel --enablerepo=fws install smeserver-webfilter
 
  yum --enablerepo=epel --enablerepo=fws install smeserver-webfilter
 
  signal-event http-proxy-update
 
  signal-event http-proxy-update
 
  expand-template /etc/httpd/conf/httpd.conf
 
  expand-template /etc/httpd/conf/httpd.conf
 
  sv t /service/httpd-e-smith
 
  sv t /service/httpd-e-smith
 +
</tab>
 +
</tabs>
   −
Vous pouvez à présent avoir accès à la nouvelle interface de contrôle dans le Server-Manager.
+
Vous pouvez à présent avoir accès à la nouvelle interface de contrôle dans le gestionnaire du serveur.
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é).
+
Lors de votre premier accès, vous remarquerez que la liste des catégories est vide. Cliquez seulement 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 les URL et le filtrage AV, mais aussi les categories que vous souhaitez bloquer.
+
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. 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.
+
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.
   −
=== Applications de filtrage AV et App Stores ===
+
=== Logithèques et filtrage AV ===
   −
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.
+
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 à certains sites, comme l'appStore pour iOS ou le Google Play pour Android.
Pour regler ce problème, rajouter simplement le Google Play et l'Apple Store dans la liste blanche (white list) :
+
Pour régler ce problème, rajouter simplement ces lignes dans la liste blanche :
    
  clients.google.com
 
  clients.google.com
Line 56: Line 81:  
  *.phobos.apple.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.
+
Une fois dans la liste blanche, ces sites ne seront plus soumis au scan antivirus.
   −
=== Personalisation de la liste des catégories ===
+
=== Personnalisation 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'''.
+
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'''.
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 :
+
Chaque catégorie apparaîtra dans le paneau du gestionnaire du serveur, sauf si elle est listée dans la clé DisabledCategories. Vous pouvez voir les catégories desactivées avec la commande :
    
  db configuration getprop squidguard DisabledCategories
 
  db configuration getprop squidguard DisabledCategories
Line 67: Line 92:  
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. Configuré dans un cron /etc/cron.daily/squidGuard appelant /etc/e-smith/events/actions/squidguard-update-databases.
+
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 :
+
Si vous ne voulez pas des mises à jour automatiques de ces listes, vous pouvez désactiver cette fonctionnalité :
    
  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 supprimé ou modifier par la mise à jour automatique.
+
Vous pouvez ajouter vos propres catégories. Si elles n'existent pas encore, elles ne seront pas supprimées ou modifiées par la mise à jour automatique.
   −
=== Denied page ===
+
=== Page « Accès refusé »===
   −
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.
+
La configuration par défaut redirige les accès refusés sur la page https://sme.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 ne sera pas affiché (remplacé par -) si l'authentification Squid est désactivée (ce qui est le cas par défaut). Si vous activez l'authentification Squid (avec un templates-custom), vous serez en mesure d'afficher le nom d'utilisateur. L'inconvénient est que vous aurez à configurer tous vos navigateurs à utiliser Squid comme serveur mandataire, car l'authentification n'est pas compatible avec le proxy transparent.
   −
If you want to change the blocked page, you can. First, copy the default page to another name:
+
Vous pouvez personnaliser la page d'accès refusé, pour commencer, copiez la page par defaut :
    
  cp -a /usr/share/squidGuard/cgi-bin/blocked.cgi /usr/share/squidGuard/cgi-bin/custom.cgi
 
  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:
+
Maintenant, vous pouvez éditer cette nouvelle page en fonction de vos besoins. Ensuite, il vous faut selectionner cette nouvelle page dans la configuration :
    
  db configuration setprop squidguard RedirectURL \
 
  db configuration setprop squidguard RedirectURL \
Line 88: Line 114:  
  signal-event http-proxy-update
 
  signal-event http-proxy-update
   −
=== Logs MySQL ===
+
=== Journaux MySQL ===
 +
 
 +
La journalisation des accès dans la base MySQL est assurée par un démon indépendant appelé squid-db-logd. Il surveille le journal des accès Squid et Squidguard en temps réel, l'analyse et enregistre les entrées dans la base squid_log.
 +
Dans cette base de données, la table access_log liste tous les accès tandis que la deny_log ne liste que les accès bloqués. Cette fonctionnalité peut nécessiter beaucoup d'espace disque. Sur un serveur à forte charge, vous pouvez facilement atteindre 3 Go/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 journaux. Vous pouvez modifier ce réglage avec la commande suivante (la valeur par defaut est de 365 jours) :
   −
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
 
  db configuration setprop squid-db-logd Retention 180
   −
If you want to completely disable this feature, you can stop this daemon:
+
Si vous souhaitez désactiver complétement cette fonction, vous pouvez stoper ce service :
 +
 
 
  db configuration setprop squid-db-logd status disabled
 
  db configuration setprop squid-db-logd status disabled
 
  sv d /service/squid-db-logd
 
  sv d /service/squid-db-logd
   −
Here are some example of queries you can run:
+
Voici quelques exemple de requêtes :
 +
 
 +
* Obtenez les 30 sites les plus visités :
   −
*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
 
  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
+
* Obtenez les 10 categories les plus bloquées :
 +
 
 
  echo "SELECT category,COUNT(category) AS occurances FROM deny_log GROUP BY category ORDER BY occurances DESC LIMIT 10;" | mysql squid_log
 
  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
+
* Obtenez toutes les pages consultées par le client 192.168.7.50 le 12 Oct 2012 entre 22h00 et 23h00 et exportez le resultat dans /tmp/result.csv
    
  echo "SELECT date_day,date_time,url,username INTO OUTFILE '/tmp/result.csv' FIELDS TERMINATED BY ','
 
  echo "SELECT date_day,date_time,url,username INTO OUTFILE '/tmp/result.csv' FIELDS TERMINATED BY ','
Line 111: Line 142:  
  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
 
  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ésinstallation ===
   −
=== Désintalation ===
+
Pour désinstaller cette contribution, exécutez les commandes suivantes :
 
  −
Pour désinstaler cette contribs, executez les commandes suivantes :
      
  yum remove squidGuard squidclamav
 
  yum remove squidGuard squidclamav
Line 132: Line 162:  
  rm -f /etc/squidclamav.conf
 
  rm -f /etc/squidclamav.conf
   −
=== Sources ===
+
===Bogues===
 
+
Merci de faire parvenir les problèmes à la section SME-Contribs sur [http://bugs.contribs.org/enter_bug.cgi bugzilla]
Vous pouvez trouver la SRPM dans notre dépôt ici : http://repo.firewall-services.com/centos/5/SRPMS/
+
en sélectionnant le composant {{#var:smecontribname}} ou en utilisant {{BugzillaFileBug|product=SME%20Contribs|component={{#var:smecontribname}}|title=ce lien.}}
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 ===
+
Un aperçu des problèmes en cours pour cette contribution figure ci-dessous :{{#bugzilla:columns=id,product,version,status,summary|sort=id|order=desc|component={{#var:smecontribname}} |noresultsmessage=No open bugs found.}}
   −
L'interface de contrôle est traduit en Anglais, Français, Allemand et Italien.
+
= Journal des modifications =
Pour l'instant, cette contrib n'est pas disponible pour la traduction en pootle (parce qu'elle est dans notre propre repo GIT).  
+
Seules les versions publiées dans smecontrib sont listées ici.
   −
Si vous voulez aider à la traduction, traduisez le fichier [https://gitweb.firewall-services.com/?p=smeserver-webfilter;a=blob_plain;f=root/etc/e-smith/locale/en-us/etc/e-smith/web/functions/webfilter /etc/e-smith/locale/en-us/etc/e-smith/web/functions/webfilter] et renvoyez nous directement le fichier à l'adresse '''tech @ firewall-services . com'''
+
{{#smechangelog:{{#var:smecontribname}}}}
   −
[[Category:Contrib]]
+
[[Category:Contrib/fr]]
 +
[[Category:Contrib:webfiltering]]
3,070

edits

Navigation menu