Ldfa Posté(e) le 30 décembre 2019 Partager Posté(e) le 30 décembre 2019 Cet article est avant tout un mémo pour mes besoins sur comment installer et mettre en place un proxy Squid et un contrôl parental avec SquidGuard sur un serveur dédié distant sous Debian. Le fait de mettre en place un proxy sur un serveur dédié distant a pour bénéfice de outre passer les bridages/censures, que peut mettre en place un FAI (exemple youtube et free). De plus, ici l’idée est d’essayer d’éviter au mieux, que des enfants surfant sur la toile tombent sur du contenus non recommandés. Evidemment, aucune protection ne peut égaler l’accompagnement d’un parent sur les risques, qu’on peut rencontrer en navigant sur le web. Pour ajouter une couche de filtrage, j’ai mon propre serveur DNS local configuré sur les serveurs DNS d’OpenDNS. Pour le filtrage, j’aurais pû choisir DansGuardian car il est beaucoup plus performant lors de l’analyse des requettes mais il prend beacoup de ressources matériels. Un petit conparatif entre SquidGuard et DansGuardian: + DansGuardian : vrai filtrage de contenu sur toute la page et sur l’URL. + SquidGuard : facile a mettre en place et plutot leger en utilisation cpu/RAM. - DansGuardian : demande énormément de ressource cpu/RAM. - SquidGuard : filtrage par domaines. nb : Toutes les commandes dans le tuto sont éxécutées en tant que root. Installer Squid3 Mettre à jour la distribution Debian : apt-get update && apt-get upgrade Installation du proxy Squid3 : apt-get install squid3 Configuration de squid3 : Sauvegarde du fichier de configuration par défaut : cp /etc/squid3/squid.conf /etc/squid3/squid.back Edition du fichier de configuration pour ajouter les modifications : nano /etc/squid3/squid.conf Autorisation des/ou du réseau à se connecter au serveur proxy : acl memolinux src A.B.C.D/32 W.X.Y.Z http_access allow memolinux Masquer notre adresse IP dans le header HTTP (X-Forwarded-For: unknown) forwarded_for off Log d’erreur en français : error_directory /usr/share/squid3/errors/French Rejet de tous les ports différents de ceux déclarés dans les acls http_access allow !Safe_ports Empêcher les personnes extérieures au réseau de passer par le proxy : http_access deny all Emplacement des fichiers de logs cache_access_log /var/log/squid/access.log cache_log /var/log/squid/cache.log cache_store_log /var/log/squid/store.log Intégration du module de SquidGuard redirect_program /usr/bin/squidGuard -c /etc/squid3/squidGuard.conf url_rewrite_program /usr/bin/squidGuard -c /etc/squid3/squidGuard.conf redirect_children 10 Modification du port d’écoute et ajout du mode proxy « transparent » : http_port 3128 transparent Installer SquidGuard apt-get install squidguard Configurer SquidGuard Téléchargement de la blacklist : wget http://dsi.ut-capitole.fr/blacklists/download/blacklists.tar.gz Extraction du fichier : tar -xzf blacklists.tar.gz Copie du dossier Blacklist dans le répertoire de squid3 : cp -R blacklists/* /var/lib/squidguard/db/ Faire une copie du fichier de configuration de SquidGuard : mv /etc/squidguard/squidGuard.conf /etc/squidguard/squidGuard.back Modificationde SquidGuard : nano etc/squidguard/squidGuard.conf # # CONFIG FILE FOR SQUIDGUARD # dbhome /var/lib/squidguard/db logdir /var/log/squid3 # les règles de filtrage dest adult { domainlist adult/domains urllist adult/urls expressionlist adult/very_restrictive_expression } dest publicite { domainlist publicite/domains urllist publicite/urls } dest porn { domainlist porn/domains urllist porn/urls expressionlist porn/very_restrictive_expression } dest violence { domainlist violence/domains urllist violence/urls } dest aggressive { domainlist aggressive/domains urllist aggressive/urls } dest agressif { domainlist agressif/domains urllist agressif/urls } ###Forcer la réécriture de https vers http pour les moteurs de recherche et pouvoir analyser les mots rew safesearch { s@(google..*/search?.*q=.*)@ &safe=active@i s@(google..*/images.*q=.*)@ &safe=active@i s@(google..*/groups.*q=.*)@ &safe=active@i s@(google..*/news.*q=.*)@ &safe=active@i s@(yandex..*/yandsearch?.*text=.*)@ &fyandex=1@i s@(search.yahoo..*/search.*p=.*)@ &vm=r&v=1@i s@(search.live..*/.*q=.*)@ &adlt=strict@i s@(search.msn..*/.*q=.*)@ &adlt=strict@i s@(.bing..*/.*q=.*)@ &adlt=strict@i log block.log } #La règle avec les interdictions: !porn !adult !publicite !violence !agressif !aggressive acl { default { pass !porn !adult !publicite !violence !agressif !aggressive all redirect http://google.fr ##tout ce qui est inderdit est rediriger vers google } } Création d’un lien symbolique du fichier de configuration squidGuard.conf dans /etc/squid3/ : ln -s /etc/squidguard/squidGuard.conf /etc/squid3/ Application des droits : chown -R proxy:proxy /etc/squid3 /var/log/squid3 /var/spool/squid3 /usr/lib/squid3 /usr/sbin/squid3 /var/lib/squidguard Génération de la base de données : squidGuard -C all Vérification de la configuration de Squid3 : squid3 -z Lancer Squid3 : service squid3 start Vérifier que tout est ok : /var/log/squid3/squidGuard.log Ajout de mot interdit : nano /var/lib/squidguard/db/adult/very_restrictive_expression Et ajouter des mots entre pipes « | » Regénérer la base après modifications : squidGuard -C all Et pour finir, paramétrer le navigateur internet pour utiliser le proxy Squid : Créer un script : nano updateblacklist #!/bin/bash cd /tmp wget http://dsi.ut-capitole.fr/blacklists/download/blacklists.tar.gz tar -xzf blacklists.tar.gz cp -R blacklists/* /var/lib/squidguard/db/ rm -Rf blacklists* squidGuard -C all service squid3 restart Rendre le script éxécutable : chmod +x updateblacklist Ajouter le script dans cron.weekly : mv updateblacklist /etc/cron.weekly Avec un peu d’effort pour la mise en place, on peut être débarrassé de certains contenus sur la toile MAIS ce n’est pas 100% fiable. Je pense, qu’il faut tout de même expliquer aux enfants, qu’ils peuvent tomber sur du « mauvais » contenus et dans ce cas prévenir un adulte ou tout simplement fermer la page en question. Afficher l’article complet Lien vers le commentaire Partager sur d’autres sites More sharing options...
Messages recommandés
Archivé
Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.