Bloquez les publicités sur tous vos appareils en utilisant pfSense, Squid et SquidGuard
pfSense est un système d'exploitation de routeur/pare-feu open source robuste basé sur FreeBSD. Vous remarquerez l’expression « basé sur l’open source ». En effet, deux versions de pfSense sont désormais disponibles : pfSense CE (édition communautaire), qui est entièrement open source, et pfSense Plus, qui inclut des fonctionnalités propriétaires supplémentaires. Les deux sont gratuits pour les utilisateurs à domicile. Mais pour ce tutoriel, nous allons utiliser l’édition communautaire.
Voir également: Le guide ultime du configurateur Web pfSense
pfSense CE comprend des outils réseau puissants, prêts à l'emploi, qui vous permettent de créer un réseau sécurisé. Mais vous pouvez également installer des packages supplémentaires à partir du référentiel officiel pfSense et rendre votre pare-feu encore plus performant.
Dans cet article, nous allons utiliser deux de ces packages, Squid et SquidGuard. Squid est un proxy Web capable de gérer la mise en cache et le filtrage de contenu, tandis que SquidGuard est un redirecteur d'URL qui s'intègre à Squid. Prenons une minute pour fournir un peu de contexte autour des serveurs proxy, de leur fonctionnement et de leur utilisation.
Qu'est-ce qu'un serveur proxy?
UN Serveur proxy agit comme intermédiaire entre votre appareil, tel qu'un ordinateur portable, une tablette ou un smartphone, et le site Web auquel vous essayez d'accéder. Essentiellement, votre trafic passe d’abord par le serveur proxy avant d’atteindre sa destination finale.
Il existe plusieurs raisons pour lesquelles il est utile d’envoyer votre trafic via un serveur proxy. L'un des avantages est que le serveur proxy peut mettre le contenu en cache, ce qui signifie qu'il enregistrera localement du contenu distant. Cela permet une navigation Internet plus rapide, car une fois le contenu mis en cache, la prochaine fois qu'un client demandera ce contenu, il sera servi localement au lieu d'être à nouveau téléchargé depuis Internet. C’est comme avoir un raccourci vers les sites Web fréquemment visités qui vous fait gagner du temps et accélère votre expérience de navigation.
Une autre raison est le filtrage du contenu. Le filtrage de contenu consiste à restreindre l'accès à des domaines ou à des adresses IP spécifiques. Par exemple, les organisations qui bloquent l’accès aux sites de médias sociaux se livrent au filtrage de contenu.
Le filtrage de contenu vous permet également de bloquer les publicités en ligne. Les publicités sont non seulement ennuyeuses, mais elles portent également atteinte à votre vie privée, utilisent vos données Internet et peuvent même contenir des logiciels malveillants dangereux. Il est tout à fait raisonnable de vouloir les éliminer. Et nous allons vous montrer comment faire exactement cela avec Squid et SquidGuard dans pfSense. Comme mentionné ci-dessus, SquidGuard est un redirecteur d'URL qui s'intègre à Squid. Il permet également un filtrage basé sur des listes, ce qui est essentiel pour que cela soit opérationnel.
Ce guide suppose que pfSense est configuré avec des interfaces WAN et LAN configurées. Nous supposons également que vous pouvez accéder à l'interface graphique.
Installation de Squid
Nous allons commencer par installer le serveur proxy Squid.
- Pour accéder au Directeur chargé d'emballage , cliquez simplement sur Système et puis Emballer Directeur dans les menus supérieurs. Cela vous dirigera vers le Paquets installés onglet du gestionnaire de packages de pfSense.
- Sélectionner Forfaits disponibles . Cela affiche la liste des packages disponibles.
- Faites défiler vers le bas jusqu'à ce que vous trouviez le Calmar paquet et cliquez Installer . Cela fait apparaître le Installateur de paquets fenêtre.
- Cliquez sur Confirmer . L'installation commence.
- Une fois l'installation terminée, le mot Succès doit être affiché au bas de la Installateur de paquets fenêtre. Si tel est le cas, Squid a été installé avec succès.
Configuration du calmar
Maintenant que nous avons installé Squid, il est temps de configurer notre serveur proxy.
- Sélectionner Prestations de service > Serveur proxy Squid dans les menus supérieurs. Cela vous amène au Paramètres du calmar pages . Vous êtes sur le Général onglet par défaut.
Pour bien configurer blocage des publicités avec Squid, nous nous concentrerons uniquement sur les sous-menus nécessaires plutôt que de passer en revue chacun d'entre eux. Gardez à l’esprit que tous les paramètres non mentionnés doivent être conservés à leurs valeurs par défaut.
Cependant, avant de pouvoir commencer le processus de configuration, nous devons accéder à l'onglet Cache local et accepter les paramètres de mise en cache locale par défaut en cliquant sur le bouton Enregistrer en bas de la page. Si vous ignorez cette étape et tentez de configurer le proxy, vous serez invité à accepter les paramètres de cache local par défaut et toutes les modifications que vous avez apportées jusqu'à ce point seront perdues.
Vous pouvez modifier vos paramètres de cache local plus tard si vous le souhaitez. Il te suffit de revenir chez Squid Cache local languette.
Paramètres généraux du calmar
- Assurez-vous que le Cochez pour activer le proxy Squid la boîte est décoché . Nous allons configurer le serveur proxy avant de l'activer.
- Si votre configuration inclut à la fois IPv4 et IPv6, sélectionnez IPv4+IPv6 du Écouter la version IP menu déroulant. Si vous utilisez uniquement IPv4, définissez-le sur IPv4.
- Assurez-vous que votre ET l'interface est sélectionnée dans Interface(s) proxy . Toutes les interfaces supplémentaires que vous ajoutez doivent également être sélectionnées ici si vous souhaitez filtrer le trafic de ces interfaces avec Squid.
- Dans le Sortant Réseau Interface champ, sélectionnez Par défaut (auto) .
Paramètres de proxy transparents
Les serveurs proxy peuvent fonctionner de deux manières : transparente et explicite. Le mode transparent ne nécessite aucune configuration sur vos clients, ce qui signifie que leur trafic sera proxy de manière transparente. Cependant, ce mode n'est capable de transmettre que le trafic HTTP sur le port 80 et non le trafic HTTPS, sauf si le filtrage SSL Man In the Middle est configuré. Nous en discuterons plus bas.
Le mode explicite, en revanche, vous oblige à configurer chacun de vos clients pour demander l'accès au proxy. En mode explicite, tout le trafic TCP est proxy, qu'il soit HTTP ou HTTPS. C'est le mode que nous recommandons pour ce guide car il apporte une solution plus complète. Bien que les deux modes puissent être activés sans aucun problème, le mode transparent a une portée limitée en matière de blocage des publicités en raison de l'utilisation généralisée du HTTPS sur Internet aujourd'hui. Mais le mode transparent reste utile pour la mise en cache.
Filtrage SSL Man In the Middle
Bien qu’il soit possible de proxyer de manière transparente les connexions HTTPS à l’aide de Squid, je ne le recommande pas. Car pour ce faire, vous devez casser le HTTPS. Squid peut remplacer le certificat SSL d'un site Web par le sien. Pour ce faire, il déchiffre la connexion et la rechiffre à l'aide de son propre certificat. Cela vous permettra donc effectivement de filtrer les connexions SSL, mais la validation HTTPS censée se produire dans votre navigateur sera interrompue.
Nous n’activerons pas le filtrage SSL Man In the Middle dans ce didacticiel.
Paramètres de journalisation
- Cochez le Activer Accéder Enregistrement boîte. Cela permet à Squid d'enregistrer votre trafic afin que vous puissiez voir ce qui se passe si vous avez besoin de dépanner quoi que ce soit.
- Cochez le Pages de journal refusées par SquidGuard boîte. Cela rend les journaux de SquidGuard disponibles à partir du Temps réel avec les journaux Squid Proxy. Cela deviendra utile après avoir installé SquidGuard.
Gestion des en-têtes, langue et autres personnalisations
Ces paramètres sont facultatifs, mais ils sont utiles pour limiter la quantité d'informations exposées dans les en-têtes Squid.
- Met le Mode d'en-tête X-Forwarded à désactivé .
- Cochez le Désactiver l'en-tête VIA boîte.
- Cochez le Supprimer la version Squid boîte.
- Cliquez sur Sauvegarder .
Onglet ACL
SquidGuard, une fois installé, effectuera l'essentiel du filtrage. Mais Squid lui-même est néanmoins capable de filtrer le trafic. Ceci est configuré dans le ACL languette.
L'onglet ACL comprend plusieurs cases dans lesquelles nous pouvons définir ce que nous voulons que Squid filtre. Nous examinerons chacun d'eux.
Sous-réseaux autorisés
La case Sous-réseaux autorisés vous permet de fournir des sous-réseaux supplémentaires avec accès au proxy Squid. Ceci est particulièrement utile pour les sous-réseaux présents sur votre système, mais qui ne disposent pas d'une interface dédiée, telle que IPsec, rendant leur sélection impossible sur le serveur. Général languette. Nous n’ajouterons rien ici.
IP illimitées
Vous pouvez saisir des adresses IP dans cette zone, et ces adresses IP contourneront le serveur proxy même si leurs sous-réseaux sont configurés pour utiliser le proxy.
Adresses d'hôtes interdites
Vous pouvez saisir des adresses IP dans cette case et il leur sera interdit d'utiliser le serveur proxy même si leurs sous-réseaux sont autorisés.
Liste blanche
Vous pouvez ajouter des domaines au Liste blanche boîte, les rendant disponibles à tous les hôtes autorisés à utiliser le proxy. Les entrées dans le Liste blanche remplacer n'importe quel Liste noire entrées.
Liste noire
L'ajout de domaines à la liste noire rendra ces domaines inaccessibles à tous les hôtes autorisés à utiliser le proxy.
Bloquer les agents utilisateurs
Ce boitier particulier est particulièrement utile pour empêcher certaines applications d’accéder à Internet. Chaque fois qu'une application envoie une requête sur Internet, la requête inclut un champ appelé agent utilisateur. Ce champ identifie l'application spécifique utilisée. Par exemple, l'agent utilisateur de Google Chrome est simplement « Chrome ».
Les agents utilisateurs ont été initialement développés pour identifier les différents navigateurs Web effectuant des requêtes au serveur, afin que le serveur puisse formater correctement les données pour ce navigateur particulier. Ensuite, les agents utilisateurs ont été généralisés à pratiquement toutes les applications effectuant des requêtes Web.
Bloquer un agent utilisateur dans Squid est simple. Il vous suffit de préfixer la chaîne de l'agent utilisateur avec ' ^ » (sans les guillemets).
Par exemple, en entrant ^Chrome chez Squid Bloquer l'agent utilisateur La boîte empêchera effectivement Google Chrome d'accéder à Internet. Entrer ^Mozilla empêchera Firefox d'accéder à Internet, etc.
Gardez à l’esprit que les agents utilisateurs sont très spécifiques et peuvent ne pas être aussi simples que les exemples répertoriés ci-dessus. Vous devez vous assurer d'avoir exactement l'agent utilisateur que vous souhaitez bloquer pour éviter de bloquer le trafic involontaire.
Bloquer les types MIME (réponse uniquement)
Les extensions MIME ou MultiPurpose Internet Mail sont utilisées pour définir les types de fichiers inclus dans les URL. Les types MIME suivent une structure type/sous-type, où le type est la catégorie générale et le sous-type est le type spécifique. Des exemples rendront cela plus clair.
Si on ajoute audio/mpeg au Bloquer les types MIME, nous bloquerons le téléchargement de fichiers mp3. Devons-nous ajouter image/png au Bloquer les types MIME boîte, nous bloquerions le téléchargement des images png.
Comme les agents utilisateurs, les types MIME sont très spécifiques. Assurez-vous de saisir le type et le sous-type exacts pour que le filtrage fonctionne correctement dans Squid.
Test du calmar
Mettre une entrée sur liste noire
Pour tester notre installation Squid et nous assurer que tout fonctionne correctement avant de passer aux étapes suivantes, nous allons saisir un domaine dans le Liste noire boîte. Si nous configurons les choses correctement, Squid devrait bloquer toute tentative d'accès à ce domaine.
- Du ACL onglet du Paramètres du proxy Squid , liste facebook.com dans le Liste noire case et cliquez Sauvegarder .
- Du Général onglet du Paramètres du proxy Squid , cochez la Activer Calmar Procuration boîte.
- Cliquez sur Sauvegarder .
Nous avons configuré Squid pour bloquerfacebook.com, et activé le serveur proxy.
La prochaine chose que nous devons faire est de configurer notre navigateur Web pour utiliser le serveur proxy, afin que nous puissions voir s'il fonctionne correctement. Si tel est le cas, Squid devrait bloquer l’accès à Facebook.com.
Configurer Firefox pour utiliser Squid
- Lancez Firefox et cliquez sur le Paramètres icône en haut à droite de l’interface utilisateur. Sélectionner Préférences (ou Possibilités sous Windows). Ceci affiche le réglages généraux page.
- Faites défiler vers le bas réglages généraux jusqu'à ce que tu voies Paramètres réseau , puis cliquez sur le Paramètres bouton.
- Sélectionner Configuration manuelle du proxy .
- Dans le Http proxy , saisissez l’adresse IP de votre box pfSense. La valeur par défaut est 192.168.1.1 .
- Entrer 3128 dans le Port champ.
- Vérifier la Utilisez également ce proxy pour FTP et HTTPS boîte.
- Cliquez sur D'ACCORD en bas du menu et quittez le Paramètres page.
Désormais, lorsque j'essaie d'accéder à Facebook.com – que ce soit via HTTP ou HTTPS – j'obtiens l'erreur suivante :
Et c’est exactement ce que je voulais. Squid fonctionne correctement.
Garde-calmar
Notre serveur proxy fonctionne donc et est configuré pour bloquer Facebook, mais si nous bloquions les publicités de cette façon, nous devrions ajouter une quantité massive de domaines à la liste noire de Squid. C'est loin d'être idéal.
Heureusement, nous pouvons installer SquidGuard à partir du référentiel officiel de pfSense. SquidGuard est un package complémentaire qui permet un filtrage basé sur des listes. Avec le filtrage basé sur des listes, tout ce que nous avons à faire est de saisir l'URL d'une liste de domaines sur liste noire, et SquidGuard bloquera automatiquement tous les domaines correspondants.
Maintenant que nous avons configuré un proxy Squid de base, nous pouvons procéder à l'installation et à la configuration de SquidGuard.
Installation de SquidGuard
- Sélectionner Système > Directeur chargé d'emballage dans les menus supérieurs. Comme avant, cela vous amène au I Paquets installés onglet du Directeur chargé d'emballage .
- Sélectionnez le Forfaits disponibles languette. Cela affiche la liste des packages disponibles.
- Faites défiler la page jusqu'à ce que vous trouviez Garde-calmar , et cliquez sur Installer . Vous êtes emmené au Installateur de paquets fenêtre.
- Cliquez sur Confirmer pour commencer l'installation.
- Une fois terminé, Succès doit être affiché au bas de la Installateur de paquets fenêtre. Nous avons installé avec succès SquidGuard.
Configuration de SquidGuard
Maintenant que SquidGuard est installé, nous pouvons le configurer pour le filtrage basé sur des listes.
- Sélectionner Prestations de service > Filtre proxy SquidGuard dans les menus supérieurs. Cela vous amène au Général onglet du Paramètres du filtre proxy SquidGuard .
Comme nous l’avons fait lors de la configuration de Squid, nous allons maintenant configurer SquidGuard section par section. Et nous nous concentrerons uniquement sur les sous-menus nécessaires pour atteindre notre objectif. Tous les paramètres qui ne sont pas spécifiquement mentionnés ne doivent pas être modifiés.
Options générales
- Assurez-vous que le Activer la case n'est pas cochée pour l'instant.
Options de journalisation
- Cochez le Activer le journal de l'interface graphique boîte.
- Cochez le Activer le journal boîte.
- Cochez le Activer la rotation des journaux boîte.
Options diverses
- Cochez le Publicité propre boîte.
Options de la liste noire
- Vérifier la Liste noire boîte.
- Dans le URL de la liste noire Dans le champ , saisissez l'URL de liste noire suivante : https://dsi.ut-capitole.fr/blacklists/download/blacklists_for_pfsense.tar.gz . L'URL renvoie à une liste noire organisée en différentes catégories que SquidGuard téléchargera. Pour chaque catégorie, nous pouvons choisir d'autoriser ou de bloquer le trafic vers les domaines qu'elle inclut. La liste est disponible gratuitement et est maintenue par l'Université de Toulouse en France. Vous êtes libre d’utiliser d’autres listes, mais gardez à l’esprit que beaucoup – sinon la plupart – sont payantes.
- Une fois que vous avez saisi l'URL, cliquez sur Sauvegarder au bas de la page.
Télécharger la liste noire
- Sélectionnez le Liste noire onglet dans le Paramètres du filtre proxy SquidGuard . Ceci affiche le Liste noire Mise à jour page.
- Clique le Télécharger bouton. SquidGuard téléchargera et analysera la liste noire.
- Une fois fait, vous devriez voir Liste noire mise à jour complet dans le Liste noire mise à jour Enregistrer fenêtre.
Configuration du filtrage de liste noire dans SquidGuard
- Toujours du Page Paramètres du filtre proxy SquidGuard, sélectionnez le Liste de contrôle d'accès commune languette.
- Clique le + symbole à droite du Liste des règles cibles en-tête pour afficher le Liste des règles cibles .
- Faites défiler la liste jusqu'à ce que vous trouviez « blk_blacklists_publicite », ce qui signifie publicités en français. Sélectionner Refuser dans le menu déroulant à sa droite.
- Vous pouvez continuer et bloquer toutes les autres catégories que vous souhaitez filtrer.
- Une fois terminé, faites défiler vers le bas de la liste et sélectionnez Permettre dans le menu déroulant à droite de Accès par défaut .
- Cliquez sur Sauvegarder .
- Sélectionnez le Général onglet du Paramètres du filtre proxy SquidGuard encore , et cliquez sur le Activer case, puis cliquez sur Sauvegarder au bas de la page.
- Après avoir enregistré vos modifications, cliquez sur le bouton Appliquer bouton en haut de la page.
Tester la configuration
Nous avons maintenant configuré Squid et intégré SquidGuard pour le filtrage des listes noires. Parce que j'ai déjà configuré mon navigateur pour utiliser le proxy lors de notre test précédent. Si j'accède à une page Web qui affiche des publicités, celles-ci doivent être filtrées.
Avec Squid activé :
Avec Squid désactivé :
Super, ça marche. Mais comme les choses sont configurées maintenant, Squid et SquidGuard filtreront uniquement le trafic de mon navigateur. Mais que se passe-t-il si je souhaite filtrer les publicités à l’échelle du système ? C'est ce que je vais vous montrer maintenant. Nous allons configurer nos appareils pour envoyer tout leur trafic via le serveur proxy. Cela signifie que toutes vos applications bénéficieront du blocage des publicités de Squid. Je vais vous montrer comment configurer cela sur Windows, macOS, Linux, iOS et Android.
Configuration du filtrage de contenu à l'échelle du système sur les appareils clients
Réinitialiser les paramètres du navigateur
Tout d’abord, nous devons annuler les paramètres de proxy manuels que nous avons appliqués à Firefox lors de notre test précédent.
- Accéder au Paramètres réseau dans les préférences de Firefox, et sélectionnez Utiliser les paramètres du proxy système . Cela indique à Firefox d'utiliser les paramètres proxy du système (de votre appareil) comme les siens.
- Cliquez sur D'ACCORD en bas du menu et fermez le Paramètres page.
macOS
- Sélectionner Réseau du Préférences de système application.
- Sélectionnez votre connexion actuelle et cliquez sur Avancé en bas à droite.
- Sélectionnez le Procurations languette.
- Clique le Proxy Web (HTTP) et le Proxy Web sécurisé (HTTPS) des boites.
- Saisissez l'adresse IP de votre box pfSense ainsi que le port proxy, qui est 3128 par défaut. Donc, dans mon cas, j'entre 192.168.1.1 et 3128 .
- Cliquez sur D'ACCORD et Appliquer .
les fenêtres
- Accéder au Paramètres application ( Gagner+Je raccourci clavier).
- Sélectionner Réseau et Internet .
- Sélectionnez le Procuration languette.
- Faites défiler vers le bas pour trouver le Configuration manuelle du proxy section.
- Activer le Utiliser un serveur proxy changer.
- Saisissez l’adresse IP de votre box pfSense et le port proxy – 192.168.1.1 et 3128 dans mon cas.
- Cliquez sur Sauvegarder .
Linux
- Accéder au Paramètres réseau fenêtre et sélectionnez Mandataire réseau .
- Du Méthode menu déroulant, sélectionnez Manuel .
- Saisissez l’adresse IP de votre box pfSense et le port proxy – 192.168.1.1 et 3128 dans mon cas – à côté Http proxy et Proxy HTTPS .
- Quittez le Paramètres réseau fenêtre.
IOS
- Accéder au Paramètres application, sélectionnez Wifi , et appuyez sur le 'je' à côté de votre connexion WiFi.
- Faites défiler la page et sélectionnez Configurer le proxy .
- Choisir Manuel .
- Saisissez l’adresse IP de votre box pfSense et le port proxy – 192.168.1.1 et 3128 dans mon cas – à côté Serveur et Port .
- Quittez le Paramètres application.
Android
- Lancez le Paramètres application et sélectionnez Wifi .
- Appuyez longuement sur le réseau WiFi actuel.
- Choisir Modifier le réseau .
- Élargir la Options avancées .
- Du Procuration menu déroulant, sélectionnez Manuel .
- Saisissez l’adresse IP de votre box pfSense et le port proxy – 192.168.1.1 et 3128 dans mon cas – sous Nom d'hôte du proxy et Port proxy .
- Cliquez sur Sauvegarder .
Vous avez peut-être remarqué que ces paramètres ne s'appliquent qu'au WiFi. Pour utiliser le proxy avec des données mobiles sur iOS ou Android, vous devrez installer un profil de gestion des appareils mobiles (MDM), ce qui dépasse le cadre de ce didacticiel.
Conclure
Vous avez maintenant configuré avec succès un serveur proxy avec filtrage par liste noire, qui bloquera les publicités ennuyeuses (et odieuses) sur tous vos appareils. Non seulement cela améliorera votre confidentialité et votre sécurité en empêchant les publicités de voler vos données, mais cela réduira également votre consommation de bande passante. Vous bénéficierez également de temps de chargement plus rapides pour les pages Web, car les publicités ne seront pas téléchargées et parce que Squid met en cache le contenu fréquemment demandé pour vous, éliminant ainsi le besoin de revenir sur Internet pour le récupérer.
Soyez prudent.
En rapport: