Difference between revisions of "WebFilter/fr"
m (ââLogs MySQL) |
|||
(5 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
â | {{Languages| | + | {{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}} | ||
+ | |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 8: | Line 22: | ||
=== Version === | === Version === | ||
{{ #smeversion: smeserver-webfilter }} | {{ #smeversion: smeserver-webfilter }} | ||
+ | {{ #smeversion: squidGuard }} | ||
+ | {{ #smeversion: squidclamav }} | ||
+ | [[Version::contrib9|fws]][[Has SME9::true| ]] | ||
=== Description === | === Description === | ||
â | Cette | + | Cette contribution apporte 3 nouvelles fonctionnalitĂ©s au proxy squid et fournit une interface pour en contrĂŽler la plupart : |
*Filtrage d'URL (avec [http://squidguard.org/ squidGuard]) | *Filtrage d'URL (avec [http://squidguard.org/ squidGuard]) | ||
Line 17: | Line 34: | ||
*Filtrage Antivirus (avec [http://squidclamav.darold.net/ squidclamav]) | *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. | 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 | + | *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 ... | 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 | + | 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. |
â | |||
â | |||
â | |||
â | |||
â | |||
=== Captures d'Ă©crans === | === Captures d'Ă©crans === | ||
Line 32: | Line 44: | ||
[[File:Webfilter_2.png|webfilter panel]] | [[File:Webfilter_2.png|webfilter panel]] | ||
â | === Installation | + | === Installation=== |
â | + | <tabs container><tab name="Pour SME 10"> | |
â | + | 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 | + | 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 | + | 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 le filtrage d'URL et le filtrage AV, ainsi que 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. | ||
Line 56: | Line 81: | ||
*.phobos.apple.com | *.phobos.apple.com | ||
â | Une fois dans la liste blanche, ces sites ne seront plus soumis au scan antivirus | + | Une fois dans la liste blanche, ces sites ne seront plus soumis au scan antivirus. |
â | === | + | === Personnalisation 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'''. | 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 | + | 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 68: | Line 93: | ||
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. | 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. | ||
â | + | 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 | ||
Line 74: | Line 99: | ||
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. | 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. | ||
â | === Page | + | === Page « AccĂšs refusĂ© »=== |
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 ...). | 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 | + | 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. |
â | Vous pouvez personnaliser la page d'accĂšs | + | 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 | ||
Line 89: | Line 114: | ||
signal-event http-proxy-update | signal-event http-proxy-update | ||
â | === | + | === 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. | 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. | ||
Line 117: | 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 === |
â | Pour | + | Pour dĂ©sinstaller cette contribution, exĂ©cutez les commandes suivantes : |
yum remove squidGuard squidclamav | yum remove squidGuard squidclamav | ||
Line 137: | Line 162: | ||
rm -f /etc/squidclamav.conf | rm -f /etc/squidclamav.conf | ||
â | === | + | ===Bogues=== |
+ | Merci de faire parvenir les problĂšmes Ă la section SME-Contribs sur [http://bugs.contribs.org/enter_bug.cgi bugzilla] | ||
+ | en sélectionnant le composant {{#var:smecontribname}} ou en utilisant {{BugzillaFileBug|product=SME%20Contribs|component={{#var:smecontribname}}|title=ce lien.}} | ||
â | + | 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.}} | |
â | |||
â | == | + | = Journal des modifications = |
+ | Seules les versions publiées dans smecontrib sont listées ici. | ||
â | + | {{#smechangelog:{{#var:smecontribname}}}} | |
â | |||
â | |||
â | |||
[[Category:Contrib/fr]] | [[Category:Contrib/fr]] | ||
+ | [[Category:Contrib:webfiltering]] |
Latest revision as of 22:39, 3 January 2023
![]() | |
webfilter logo | |
Maintainer | Unnilennium |
---|---|
Url | http://www.squidguard.org/ |
Category | |
Tags | squid, proxy, cache, filter, http, https |
The rpm summary indicates:
Mainteneur
Daniel B.
Firewall Services
mailto:daniel@firewall-services.com
Version
fws
Description
Cette contribution apporte 3 nouvelles fonctionnalités au proxy squid et fournit une interface pour en contrÎler la plupart :
- 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 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.
Captures d'Ă©crans
Installation
yum install --enablerepo=smecontribs smeserver-webfilter
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
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 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 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 Ă certains sites, comme l'appStore pour iOS ou le Google Play pour Android. Pour rĂ©gler 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 blanche, ces sites ne seront plus soumis au scan antivirus.
Personnalisation 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 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
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. Si vous ne voulez pas des mises à jour automatiques de ces listes, vous pouvez désactiver cette fonctionnalité :
db configuration setprop squidguard AutoUpdate disabled
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.
Page « AccÚs refusé »
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.
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
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 \ 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
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) :
db configuration setprop squid-db-logd Retention 180
Si vous souhaitez désactiver 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 de requĂȘtes :
- 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 bloquées :
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 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 ',' 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Ă©sinstallation
Pour désinstaller cette contribution, exécutez 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
Bogues
Merci de faire parvenir les problÚmes à la section SME-Contribs sur bugzilla en sélectionnant le composant smeserver-webfilter ou en utilisant ce lien.
Un aperçu des problÚmes en cours pour cette contribution figure ci-dessous :
ID | Product | Version | Status | Summary (5 tasks) â |
---|---|---|---|---|
12731 | SME Contribs | 11.0 | CONFIRMED | Install fails - -needs "httpd-filesystem" |
12307 | SME Contribs | 10.0 | UNCONFIRMED | Problem activating url filtering and category filtering smeserver-webfilter |
12065 | SME Contribs | 10.0 | IN_PROGRESS | update to httpd 2.4 syntax and add systemd changes for SME10 [smeserver-webfilter] |
11978 | SME Contribs | 10.0 | IN_PROGRESS | import to SME10 (smeserver-webfilter) |
10199 | SME Contribs | 9.1 | UNCONFIRMED | problemi con WebFiltering |
Journal des modifications
Seules les versions publiées dans smecontrib sont listées ici.