Fenrir Posté(e) le 9 mars 2017 Partager Posté(e) le 9 mars 2017 (modifié) Préambule L'objectif de ce mini tutoriel est de vous aider à mettre en place un système de filtrage de contenu très léger (ne consommant presque pas de ressources, en tout cas nettement moins qu'un proxy). Pour cela on va mettre en place un DNS menteur avec dnsmasq afin de bloquer une partie des contenus indésirables (malwares, spywares et autres joyeusetés comme les publicités agressives ou encore les sites adultes). Dit autrement, ça fait à peu près la même chose qu'un bloqueur de publicité à quelques différences près : vous n'avez rien à installer sur vos équipements donc ça fonctionnera pour tous vos équipements (TV incluse) mais ça ne fonctionnera pas aussi bien qu'un plugin dans le navigateur ou qu'un proxy (qui peuvent modifier le contenu des pages ou filtrer les URL, pas uniquement des domaines) et ça ne vous laissera pas faire d'exception (autoriser temporairement un site par exemple ne sera pas possible, c'est tout ou rien) Avant d'aller plus loin, merci de lire ces quelques points : faire un filtrage DNS n'est pas une pratique louable : lorsqu’un état le fait les gens manifestent et ils ont raison il s'agit même d'une pratique dangereuse dans certains cas : si vous ne faites pas attention aux listes de filtrage, un pirate pourra vous rediriger où il veut ça peut également créer des problèmes pour vos équipements : si par exemple vous filtrez le domaine de mise à jour de votre ordinateur ou d'un logiciel (par exemple, votre antivirus ou encore votre navigateur), ce dernier ne pourra peut être pas se mettre à jour beaucoup de sites vivent des revenus publicitaires : bloquer ces contenus peut être préjudiciable pour la survie de ces sites (certains abusent des publicités, mais ce n'est pas la majorité) nb : c'est le principe de fonctionnement des serveurs d'OpenDNS, ils passent leur vie à vous mentir afin de filtrer une partie d'Internet (et de temps en temps ils vous affichent des pages qui ne sont pas celles que vous avez demandés ...) Alors pourquoi est-ce tout de même un système à envisager ? Si le filtrage se limite à votre domicile, dans un usage strictement privé et éclairé, c'est votre choix, vous le faites en connaissances de causes. Je ne vais pas détailler les étapes, il y en a très peu, mais si vous avez des questions, les commentaires sont là pour ça. Comme je souhaites éviter les dérives, je considère que vous avez l'autorité nécessaire pour mettre de type de filtrage en place. En conséquence, voici la méthode permettant de contourner ce filtrage si jamais vous en êtes la victime, elle est très simple : configurez un autre serveurs DNS sur vos postes (par exemple ceux de FDN) ###################################################################################### Notes de lecture /volume1/test/dnsmasq : le nom d'un partage/dossier à adapter en fonction de votre organisation ad_list_url1 : pour l'exemple j'ai pris la première liste que j'ai trouvé sur le net, à vous d'adapter pour y mettre des listes pertinentes (vous pouvez prendre celles de squidguard par exemple) ad_list_url2 : une autre liste d'exemple (celle de @PiwiLAbruti), par contre attention, sa taille peut fortement ralentir la résolution DNS et donc votre surf (au moins le temps que le cache se remplisse) ###################################################################################### Configuration Commencez par créer un dossier quelque part sur votre NAS, dans un partage accessible à vous seul, par exemple : /test/dnsmasq Créez ensuite le fichier suivant en UTF-8 avec sauts des lignes Unix : /test/dnsmasq/dnsmasq.update : #!/bin/bash # dnsmasqconfdir='/volume1/test/dnsmasq' server1='80.67.169.12' server2='80.67.169.40' pixelserv_ip='0.0.0.0' ad_list_url1='http://pgl.yoyo.org/adservers/serverlist.php?hostformat=dnsmasq&showintro=0&mimetype=plaintext' ad_list_url2='http://winhelp2002.mvps.org/hosts.txt' #ad_list_url3='http://une autre liste de domaines à filtrer' #... #ad_list_file1='/volume1/test/liste.txt' dnsmasq_listen='127.0.0.53' dnsmasq_port='53' ################################ ad_file="$dnsmasqconfdir/dnsmasq.d/dnsmasq.adlist.conf" temp_ad_file="/tmp/dnsmasq.adlist.conf.tmp" mkdir -p $dnsmasqconfdir/dnsmasq.d cat <<EOT > $dnsmasqconfdir/dnsmasq.conf # cache-size=5000 server=$server1 server=$server2 neg-ttl=300 #dnssec #check anchor on https://data.iana.org/root-anchors/root-anchors.xml #trust-anchor=.,19036,8,2,49AAC11D7B6F6446702E54A1607371607A1A41855200FD2CE1CDDE32F24E8FB5 #dnssec-check-unsigned no-resolv EOT /bin/curl -s $ad_list_url1 | sed "s/127\.0\.0\.1/$pixelserv_ip/" > $temp_ad_file /bin/curl -s $ad_list_url2 | tr -d '\r' | grep -v '#' | awk '{print "address=/"$2"/127.0.0.1"}' | sed "s/127\.0\.0\.1/$pixelserv_ip/" >> $temp_ad_file #/bin/curl -s $ad_list_url3 | sed "s/127\.0\.0\.1/$pixelserv_ip/" >> ad_list_file1 #... #ad_list_file1 >> ad_list_file1 #... if [ -f "$temp_ad_file" ] then sort -uf $temp_ad_file > $ad_file #sed -i -e '/www\.favoritesite\.com/d' $ad_file else echo "Error building the ad list, please try again." exit 1 fi /bin/kill `/bin/pidof dnsmasq` /bin/dnsmasq --listen-address=$dnsmasq_listen --port=$dnsmasq_port --bind-interfaces --conf-file=$dnsmasqconfdir/dnsmasq.conf --conf-dir=$dnsmasqconfdir/dnsmasq.d exit 0 nb : vous devez adapter le script à votre configuration Enfin, dans le planificateur de tâches de DSM, créez une nouvelle tâche de type script en root : sh /volume1/test/dnsmasq/dnsmasq.update ###################################################################################### Mise en place La dernière étape consiste à configurez vos machines pour utiliser votre NAS comme serveur DNS. Je vous passe le suspens, Synology ne vous permet pas de faire les choses normalement, tel que le serveur DNS et les normes le permettent ! Il faut donc changer 1 paramètre dans le script (en pratique c'est déjà fait) : dnsmasq_listen=127.0.0.53 Puis modifier l'adresse du premier Redirecteur de cette capture : Sauf qu'il faut aller le faire directement dans le fichier de configuration : /volume1/@appstore/DNSServer/etc/synodns.conf forwarders=127.0.0.53;80.67.169.40 Enfin on relance le paquet DNSServer : synoservice --restart pkgctl-DNSServer nb : il ne faudra plus modifier cet écran avec l'interface graphique car votre NAS ne vous laissera pas enregistrer une telle configuration Modifié le 27 août 2017 par Fenrir ajout dnssec en commentaire (non géré par la version de synology) et liste de piwi 1 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Einsteinium Posté(e) le 10 mars 2017 Partager Posté(e) le 10 mars 2017 Pgl yoyo est un bon point concernant les sites grands publics, mais pas pour d'autres... Que donne le résultat d'une page filtrée par cette méthode ? 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
PiwiLAbruti Posté(e) le 10 mars 2017 Partager Posté(e) le 10 mars 2017 Rien que pour nuire volontairement aux revenus publicitaires de certains sociétés, ça vaut le coup. Sinon j'utilise une autre source pour bloquer les publicités, je l'enrichis manuellement lorsque je trouve de la publicité sur un site. Tout ça mériterait un .spk pour démocratiser la dépollution du contenu visuel sur la navigation web. Je vais voir s'il y a moyen d'agréger plusieurs listes dans une seule et de fournir une URL unique regroupant plusieurs sources. En tout cas le trio Serveur DNS (local) + dnsmasq (filtrage) + FDN (public) me paraît plutôt séduisant. Juste une question concernant les adresses d'écoute : Est-ce que l'adresse d'écoute du Serveur DNS (que je suppose être 0.0.0.0:53) peut poser souci car elle recouvre celle de dnsmasq (127.0.0.53:53) ? C'est-à-dire qu'en interrogeant 127.0.0.53:53, le paquet Serveur DNS s'interrogerait lui-même récursivement (0.0.0.0:53) au lieu d'interroger 127.0.0.53:53 ? 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Fenrir Posté(e) le 10 mars 2017 Auteur Partager Posté(e) le 10 mars 2017 (modifié) Pour l'aspect de la page, c'est très variable. Si c'est un script ou un truc du genre, on ne voit rien, si c'est une image direct (pas appelée par un script), parfois un a un cadre blanc à la place de l'image et pour les frames/iframes, on a la page d'erreur du navigateur (mais juste dans la frame) ou rien. Mais perso je ne l'utilise pas pour les pubs (enfin pas principalement), c'est plus un filtrage pour les malware &co et les contenu indésirables (facebook, linkedin ...) Pour la fusion de différentes sources, ce n'est pas un souci si elles sont correctement formatés, un petit coup de sed + concaténation + sort -u ça devrait le faire. Modifié le 10 mars 2017 par Fenrir 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Einsteinium Posté(e) le 10 mars 2017 Partager Posté(e) le 10 mars 2017 Ok je vais resté sur le proxy alors, et cela m'évitera encore des changements 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Fenrir Posté(e) le 10 mars 2017 Auteur Partager Posté(e) le 10 mars 2017 (modifié) Tu peux combiner les deux sans souci, voir les 3 (avec un plugin navigateur). Un des gros avantages du filtrage DNS (en plus de fonctionner pour tous les appareils), c'est la raison pour laquelle les contenus ne sont pas affichés : ils ne sont tout simplement même plus demandés => 0 octet de bande passante Donc même ton proxy en profiterait. De plus, comme c'est du DNS, c'est léger, ça fonctionne donc à distance sans avoir un gros Upload. Sinon voici un exemple de rendu : Avec filtrage : https://tmpfiles.fenrir.fr/www.nas-forum.com/forum/topic/55709-tuto-filtrage-dns/avec.png Sans filtrage : https://tmpfiles.fenrir.fr/www.nas-forum.com/forum/topic/55709-tuto-filtrage-dns/sans.png Sans filtrage mais avec ublock : https://tmpfiles.fenrir.fr/www.nas-forum.com/forum/topic/55709-tuto-filtrage-dns/ublock.png Perso je ne trouve pas ça gênant. edit : pour les cadres blancs, c'est facile de les supprimer, il suffit d'avoir un serveur zeropixel (un serveur web qui renvoi toujours une image de zero pixel, quelque soit la requête). Modifié le 10 mars 2017 par Fenrir 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Einsteinium Posté(e) le 10 mars 2017 Partager Posté(e) le 10 mars 2017 Ok merci pour le retour 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
unPixel Posté(e) le 4 août 2017 Partager Posté(e) le 4 août 2017 (modifié) Bonjour Fenrir, Merci pour ton petit tuto. Je vais essayer de le mettre en place en lieu et place de Pi-Hole qui lui est sur mon NAS afin de tout rassembler sur mon routeur. 1. Cependant, je ne vois pas comment je dois créer ce fichier en UTF-8 avec sauts des lignes Unix. Quand je cherche sur internet, ça me renvoi vers des utilisateurs Linux mais je n'ai pas de pc sous Linux ou alors pour des développeurs en PHP. 2. Si je créer un dossier à partir de WinSCP ça fonctionnerait aussi ? Je demande ça car je ne veux pas (sauf si j'ai pas le choix) installer File Station sur mon routeur. Merci par avance pour ton aide. Modifié le 4 août 2017 par InfoYANN 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Fenrir Posté(e) le 4 août 2017 Auteur Partager Posté(e) le 4 août 2017 (modifié) notepad++ oui mais attention aux droits, tu peux aussi créer le dossier via les partages réseau nb : pi-hole va plus loin, ce tuto utilise la même technique, c'est une "base de travail" que vous pouvez étoffer Modifié le 4 août 2017 par Fenrir 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
unPixel Posté(e) le 4 août 2017 Partager Posté(e) le 4 août 2017 J'ai bien Notepad ++ mais à part la conversion vers UTF-8, je n'ai pas d'option pour vérifier les sauts de ligne Unix. Pour le partage réseau, là je suis euhhh perdu. Petite rectification par contre. Il n'y a pas de File Station à proprement parler sur le routeur. Mais il y a de base la possibilité d'y mettre un dossier partagé si comme moi, il y a un élément de stockage de branché. Ce qui est mon cas pour les journaux qui se stockent sur une clé USB. Je vais donc passé par ce moyen. Il faut juste que je me connecte à WinSCP car je ne pense pas que ce soit Volume1 dans l'arborescence. Tu parles aussi de "192.168.0.2 : à remplacer par l'adresse IP privée de votre nas" Cependant, nulle part dans la suite de ton tuto on ne voit cette adresse locale. C'est en faite l'adresse 127.0.0.53 qu'il faut modifier stp ? 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Fenrir Posté(e) le 4 août 2017 Auteur Partager Posté(e) le 4 août 2017 à l’instant, InfoYANN a dit : je n'ai pas d'option pour vérifier les sauts de ligne Unix. Tu as mal cherché : Edition->Convertir les sauts de ligne il y a 1 minute, InfoYANN a dit : sur le routeur attention, je n'ai testé que sur des NAS, il y a surement des différences sur le RT il y a 3 minutes, InfoYANN a dit : Tu parles aussi de "192.168.0.2 : à remplacer par l'adresse IP privée de votre nas" Cette remarque n'a pas d'importance, ignore la (et non, aucun rapport avec 127.0.0.53) => je supprime la remarque 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
unPixel Posté(e) le 4 août 2017 Partager Posté(e) le 4 août 2017 Ok merci pour ces précisions. Effectivement, je n'avais pas vu cette option. C'est maintenant converti mais ça n'a rien changé. Comme quoi, ton texte de base devait être déjà en forme ;) Pour le dossier, pas possible de faire comme je le souhaitais... En faite, je me suis rendu dans WinSCP en root et le dossier partagé se trouve dans ce style d'arborescence : /volumeUSB1/usbshare1-1/@sharebin/dnsmasq Je vais donc essayer en créant moi même le dossier via WinSCP : /volumeUSB1/usbshare1-1/dnsmasq J'ai bien un volume1 mais je ne pense pas que ça puisse passer car la mémoire doit être faible puisque c'est la mémoire intégrée du routeur par Synology. 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
unPixel Posté(e) le 4 août 2017 Partager Posté(e) le 4 août 2017 Bon et bien gros retour en arrière, je me vois obligé de désinstaller mon Serveur DNS du routeur et l'installer sur le NAS car Synology n'a pas fini le software du routeur. On a pas la possibilité de créer des tâches, pas de Proxy serveur etc... Il y a certaines choses que je trouve vraiment pas mal dans leur RSM pour routeur mais d'autres qui sont moyennes voir manquantes. Nouvelle suggestion à faire à Synology. 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Fenrir Posté(e) le 4 août 2017 Auteur Partager Posté(e) le 4 août 2017 Pour ton souci initial, tu peux configurer le DNS de ton routeur pour utiliser un DNS sur nas (pi-hole par exemple) pour résoudre ce qui n'est pas la zone. 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
unPixel Posté(e) le 4 août 2017 Partager Posté(e) le 4 août 2017 Bah en gros, voilà ce que je pensais faire : NAS : - Installer DNS Serveur et reprendre la configuration de mon routeur. - Installer VPN Serveur comme ton tuto - Supprimer Pi-hole - Installer dnsmasq qui n'a pas besoin de docker pour fonctionner... - Voir installer un Proxy Serveur Routeur : - désinstaller Serveur DNS - Dans les options du routeur, mettre comme DNS mon serveur DNS avec l'adresse locale du NAS. Tu penses que c'est bon ça comme orientation Fenrir stp ? 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Fenrir Posté(e) le 4 août 2017 Auteur Partager Posté(e) le 4 août 2017 C'est une orientation possible (ni bonne ni mauvaise), ici c'est plus un choix qu'un besoin. 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
unPixel Posté(e) le 4 août 2017 Partager Posté(e) le 4 août 2017 Tu te souviens m'avoir expliqué qu'il fallait que je laisse mon routeur gérer les ip fixes de mes appareils en les attribuant directement dans ce dernier ? Dans ce cas, je procède comment puisqu'il faut que j'indique le serveur DNS à tous mes appareils ? Forcément, je dois aussi attribuer une ip fixe. Je sais que sous Windows par exemple, on ne peut que régler le DNS. Mais sur une Box Android TV part exemple, je n'ai pas ce choix et je dois tout modifier (ip fixe, dns, gateway etc...) 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Fenrir Posté(e) le 4 août 2017 Auteur Partager Posté(e) le 4 août 2017 Il n'y a pas de lien entre le fait d'utiliser des ip fixées par le dhcp ou les options dns envoyées aux clients. Il ne faut pas, ou le moins possible, fixer manuellement une adresse IP sur un périphérique, il est presque toujours préférable de laisser le client en DHCP. Si tu souhaites que tes clients aient toujours la même adresse, réserve leur une adresse dans la configuration du serveur DHCP. =>rien à configurer sur les clients =>il faut bien régler le serveur DHCP pour qu'il donne les bonnes adresses DNS aux clients (peu importe que ces clients aient une adresse réservée ou non) =>si demain tu décides de changer de serveur DNS, tu n'auras qu'à modifier la conf du DHCP, sans devoir repasser à la main sur chacun des clients (au pire il faudra les rebooter pour qu'ils refassent un demande au DHCP, mais généralement il suffira d'attendre l'expiration des baux). 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
unPixel Posté(e) le 4 août 2017 Partager Posté(e) le 4 août 2017 Donc en gros, une fois que j'aurai mit ça en place (ce que j'ai écrit plus haut), j'indique au routeur le serveur DNS de mon NAS avec l'IP locale et lui se chargera de dire à mes appareils connectés de passer par ce serveur DNS et pas celui de Free (mon FAI) par exemple. C'est bien ça ? 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Fenrir Posté(e) le 4 août 2017 Auteur Partager Posté(e) le 4 août 2017 La formulation est maladroite, du coup je ne sais pas si tu as bien compris ou non. Il faut indiquer au "logiciel qui fait serveur DHCP" de donner configurer les bons DNS sur les clients. Généralement le serveur DHCP est installé sur le routeur (c'est ton cas) mais il pourrait tout aussi bien être sur une autre machine (ton nas par exemple). Le routeur lui même peut utiliser les mêmes serveurs DNS ou non, ça ne devrait pas avoir d'impact pour les clients. Citation Configurer des services DHCP En tant que serveur DHCP (Dynamic Host Configuration Protocol), le Synology Router peut attribuer des adresses IP dynamiques à des clients DHCP (par ex., des périphériques réseau) sur votre réseau local. Pour rechercher une liste de clients DHCP et leur configuration réseau (par ex., des adresses MAC et IP), accédez à Centre réseau > Réseau local > Clients DHCP. Pour réserver des adresses IP attribuées à des clients, accédez à Centre réseau > Réseau local > Réservation DHCP. (page 21 de la doc) 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
unPixel Posté(e) le 4 août 2017 Partager Posté(e) le 4 août 2017 Oui oui, on s'était bien compris donc. Je dois indiquer à mon routeur les serveurs DNS par défaut et ce dernier ensuite se chargera de propager l'information via DHCP aux appareils sur le réseau pour qu'il sache vers quel serveur DNS se tourner. Ex: Serveur DNS préféré: 192.168.1.70 (NAS ou se trouve DNS Serveur) Serveur DNS de remplacement : 80.67.169.12 (FDN) Et si je comprend bien. Si un jour, il y a un soucis avec le DNS 1 (NAS éteint par exemple), alors le DNS 2 dit "de remplacement" prendra le relais le temps de retrouver le serveur DNS 1. 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Fenrir Posté(e) le 4 août 2017 Auteur Partager Posté(e) le 4 août 2017 il y a 3 minutes, InfoYANN a dit : Oui oui, on s'était bien compris donc. ou pas (ta formulation est encore ambiguë) il y a 3 minutes, InfoYANN a dit : Je dois indiquer à dans la partie serveur DHCP de mon routeur les serveurs DNS par défaut à donner aux clients et ce dernier ensuite ... Dans Centre réseau > Réseau local Pas dans Centre réseau > Internet 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
unPixel Posté(e) le 4 août 2017 Partager Posté(e) le 4 août 2017 Ahhhhh. Effectivement. Mais dans ce cas, à quoi sert l'option dans Internet si on ne les rentre pas ici ? Donc voilà comment j'ai réglé. On est d'accord cette fois ? 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Fenrir Posté(e) le 4 août 2017 Auteur Partager Posté(e) le 4 août 2017 (modifié) il y a 18 minutes, InfoYANN a dit : Mais dans ce cas, à quoi sert l'option dans Internet si on ne les rentre pas ici ? Elle sert au routeur lui même (pour trouver l'adresse des serveurs de mise à jour par exemple). il y a 18 minutes, InfoYANN a dit : Donc voilà comment j'ai réglé. On est d'accord cette fois ? Trop long à expliquer, donc fais moi confiance : Première capture : Serveur DNS préféré : un de ceux de FDN Serveur DNS de remplacement : un de ceux de FREE Seconde capture : DNS principal : l'ip du nas DNS secondaire : l'ip du routeur (même si tu n'installes pas le rôle serveur DNS sur le routeur) désactive l'upnp dans l'onglet Réservation DHCP, réserve l'ip du nas (même s'il est en ip fixe) Modifié le 4 août 2017 par Fenrir 1 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
unPixel Posté(e) le 4 août 2017 Partager Posté(e) le 4 août 2017 (modifié) Ok pour te faire confiance. Et je comprend ce que tu me fais faire. Sur la première capture, il n'y a rien à part en automatique le DNS de Free. Normal... Je vais donc remedier à cela comme tu le dis ci-dessus. Sur la capture secondaire : pareil. Pour l'ip sur NAS, c'était déjà fait quand tu étais avec moi via TeamViewer ;) C'est justement là que tu m'avais expliquer qu'il fallait que je laisse tout en auto sur mes appareils et que je laisse le routeur gérer tous ces appareils en leur attribuant une ip fixe ce que j'ai fait pour certains appareils. Les autres comme les smartphones peuvent rester en automatique et changer d'ip, c'est pas grave. Merci beaucoup pour ton aide. Je tente tout ça tout à l'heure. Modifié le 4 août 2017 par InfoYANN 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Messages recommandés
Rejoindre la conversation
Vous pouvez publier maintenant et vous inscrire plus tard. Si vous avez un compte, connectez-vous maintenant pour publier avec votre compte.