Outils pour utilisateurs

Outils du site


debian10:dns_unbound

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
debian10:dns_unbound [2020/05/10 12:41]
jpg [Mise en place du blocage supplémentaire]
debian10:dns_unbound [2020/05/10 17:59] (Version actuelle)
jpg [Blocage des DMP avec Unbound]
Ligne 3: Ligne 3:
 Un dns c'est quoi [[https://​fr.wikipedia.org/​wiki/​Domain_Name_System | DNS. ]] Un dns c'est quoi [[https://​fr.wikipedia.org/​wiki/​Domain_Name_System | DNS. ]]
  
 +La source de la documentation officielle (en anglais) [[https://​nlnetlabs.nl/​documentation/​unbound/​ | est ici.]]
 +
 +Je me suis aussi inspiré d'un tuto de [[https://​static.cinay.xyz/​2018/​04/​unbound-resolveur-DNS.html | Yannick]] sur le sujet.
 ===== Installation ===== ===== Installation =====
   sudo apt update && sudo apt upgrade   sudo apt update && sudo apt upgrade
Ligne 41: Ligne 44:
 ===== Configuration ===== ===== Configuration =====
 Tout ce passe dans le fichier **/​etc/​unbound/​unbound.conf**. \\ Tout ce passe dans le fichier **/​etc/​unbound/​unbound.conf**. \\
-On peut modifier directement ce fichier mais personnellement je préfère créer ​un fichier ​contenant ma config dans **/​etc/​unbound/​unbound.conf.d/​perso.conf**+On peut modifier directement ce fichier mais personnellement je préfère créer ​deux fichiers ​contenant ma config dans **/​etc/​unbound/​unbound.conf.d/​perso.conf** et **/​etc/​unbound/​unbound.conf.d/​default.conf**
  
-Mon fichier ​de configuration amplement ​inspirer ​du web. \\ +Mes fichiers ​de configuration amplement ​inspiré ​du web. \\ 
-[[http://​download.tuxfamily.org/​popaul77/​gulliver77/​perso.conf | le fichier de configuration]] +[[http://​download.tuxfamily.org/​popaul77/​gulliver77/​default.conf | Le fichier de configuration ​du serveur.]]\\ 
- ==== Ma configuration ====+[[http://​download.tuxfamily.org/​popaul77/​gulliver77/​perso.conf | Mon fichier perso.]]
  
 + ===== Ma configuration =====
 +
 +===default.conf===
 +<​code>​
 +server:
 + ​interface:​ 0.0.0.0 ​                         # 0.0.0.0 unbound sur toutes les interfaces
 + ​interface:​ ::0
 + ​access-control:​ 0.0.0.0/0 allow
 + ​access-control:​ ::/0 allow
 + ​root-hints:​ "/​var/​lib/​unbound/​root.hints"​
 + ​verbosity:​ 0                                # 0 messages (erreurs uniquement)
 +
 + ​num-threads:​ 2
 + ​msg-cache-slabs:​ 4
 + ​rrset-cache-slabs:​ 4
 + ​infra-cache-slabs:​ 4
 + ​key-cache-slabs:​ 4
 + ​rrset-cache-size:​ 100m
 + ​msg-cache-size:​ 50m
 + ​outgoing-range:​ 465
 + ​so-rcvbuf:​ 4m
 + ​so-sndbuf:​ 4m
 + port: 53
 + ​do-ip4:​ yes
 + ​do-ip6:​ yes
 + ​do-udp:​ yes
 + ​do-tcp:​ yes
 + ​do-daemonize:​ yes
 + ​hide-identity:​ yes
 + ​hide-version:​ yes
 + ​harden-glue:​ yes
 + ​harden-dnssec-stripped:​ yes
 + ​harden-referral-path:​ yes
 + ​use-caps-for-id:​ yes
 + ​prefetch:​ yes
 +
 +# Blocage des sites de pub et plus
 +include: "/​etc/​unbound/​unbound.conf.d/​adslist"​
 +
 +</​code>​
 +
 +//Il est possible d'​améliorer la configuration du serveur en limitant les requettes au réseau local et plein d'​autre chose  mais j'ai encore quelques tests a faire avant de modifier ma configuration par défaut.//​\\
 +[[https://​nlnetlabs.nl/​documentation/​unbound/​howto-optimise/​ | Optimiser unbound.]]
 +
 +Quelques paramètres a modifier:
 <​code>​ <​code>​
-  #server: + interface: 192.168.1.74 
-port:                   ​53 ​                             #port d'​écoute + interface: ::1 
-do-ip4: ​                ​yes ​                            # + do-ip4: yes 
-do-ip6: ​                ​yes ​                            # + do-ip6: yes 
-do-udp: ​                ​yes ​                            #​protocole autorisé + do-udp: yes 
-do-tcp: ​                ​yes ​                            #​indique de communiquer sur le protocole TCP + do-tcp: yes
-#interface: ​0.0.0.0 +
-access-control: ​        192.168.1.0/24 allow +
-interface: ​             ​192.168.1.113 ​                  #​requi wifi +
-#interface             ​192.168.4.21 ​                   #requi rj45 +
-#interface             ​192.168.3.21 ​                   #requi rj45 +
-#​interface: ​             192.168.2.21 ​                   #requi rj45 +
-interface: ​             127.0.0.                      #? +
-access-control: ​        ​127.0.0.1 ​      ​allow ​          #? +
-access-control: ​        ​192.168.1.0/​24 ​ allow           #​requis rj45 +
-#​access-control: ​        ​192.168.2.0/​24 ​ allow           #​requis rj45 +
-#​access-control: ​        ​192.168.3.0/​24 ​ allow           #​requis rj45 +
-#​access-control: ​        ​192.168.4.0/​24 ​ allow           #​requis rj45 +
-#​access-control: ​        ​192.168.1.0/​24 allow           #​requis wifi (pas en service) +
-private-address: ​       192.168.1.0/​24 ​                 #renforce le coter priver et  protège de la technique des "​Relais DNS" +
-unwanted-reply-threshold:​ 10000000 ​                     #éviter l'​empoisonnement DNS +
-aggressive-nsec: yes +
-harden-algo-downgrade ​no ​                             #l algorithme le plus faible est exclut no +
-hide-identity: ​         ​yes                             # +
-hide-version          ​yes +
-harden-glue:            yes +
-#​ssl-upstream: ​         yes                             # oblige à communiquer sur le protocole TLS.                    :yes:erreur :​debug: ​tcp error for address 8.8.8.8 port 53 +
-#ssl-port             853 +
-prefetch: ​              yes                             # garde en cache les bons résultats +
-prefetch-key: ​          ​yes ​                            # +
-cache-min-ttl: ​         100000 ​                         #durée minimal +
-cache-max-ttl: ​         200000 ​                         #durée max +
-key-cache-size: ​        50m +
-infra-cache-numhosts: ​  ​1000000 ​                        #​nombre de hosts qui peuvent être mis en cache +
-do-ip6: ​                ​no ​                             #désactive les requetes ipv6 +
-tcp-idle-timeout: ​      ​15000 ​                          #​délais avant de signaler un timeout sur la connexion+
    
-harden-below-nxdomain: ​ yes + autoriser mon serveur 
-harden-dnssec-stripped:​ yes                             #DNSSEC pour les zones de confiance + access-control127.0.0.0/8 allow
-val-clean-additional  no                              #toutes les données DNS non sécurisées son effacee +
-do-not-query-localhost:​ yes                             #​permet d'​interroger localhost +
-so-reuseport: ​          ​yes ​                            #​Linux seulement améliore les performance udp +
-#​serve-expired:​ <yes or no> ​                            # tester +
-num-threads:​ 4 +
-key-cache-slabs:​ 8 +
-infra-cache-slabs:​ 8 +
-msg-cache-slabs:​ 8 +
-rrset-cache-slabs:​ 8 +
-key-cache-size: ​        ​100m +
-key-cache-slabs: ​       2m +
-harden-short-bufsize: ​  ​yes ​                            #​contre les très petites tailles de mémoire tampon EDNS. +
-harden-large-queries: ​  ​yes ​                            #​contre les requêtes volumineuses +
-num-queries-per-thread:​ 100 +
-root-hints: "/var/​lib/​unbound/​root.hints" ​              #​chemins des serveurs racine+
    
-val-log-level: ​         2                               #log + autoriser les réseaux locaux 
-verbosity             ​5 ​                              #​plage de a 5 , 5 permet le plus parlant + access-control192.168.1.0/24 allow 
-log-time-ascii        yes                             #​valable sur un autre fichier que syslog + access-control192.168.2.0/​24 allow
-log-queries: ​           yes                             #​affiche une ligne par requête +
-log-replies: ​           yes                             #​affiche une ligne par requête,​(réponse) +
-log-local-actions: ​     yes                             #​affiche les info de la zone local +
-log-servfail: ​          ​yes ​                            #​afficher pourquoi les requêtes renvoient SERVFAIL Ref doc+
    
-logfile: ​               /​var/​log/​unbound.log ​           ​#chemin d'​accès + interdire tout le reste 
-  + access-control0.0.0.0/0 refuse
-private-domain               "​gull-server" ​                # mon domaine local +
-  +
-forward-zone:​ +
- name: "​."​ +
-#​forward-addr:​ 192.168.0.1@53 +
-forward-addr:​ 1.1.1.1@53 +
-forward-addr:​ 1.0.0.1@53 +
-forward-addr:​ 65.2.17.60@53 +
-forward-addr:​ 65.2.17.61@53 +
-forward-addr:​ 66.2.24.158@53 +
-forward-addr:​ 67.2.24.162@53 +
-#​forward-addr:​ 8.8.8.8@53 ##​ dns google+
  
 +        Temps de rétention du cache 
 +        cache-min-ttl:​ 3600
 +       ​ cache-max-ttl:​ 86400
 +       
 +        Nombre de réponses pourries avant que le cache se vide
 +       ​ unwanted-reply-threshold:​ 10000
  
 +</​code>​
  
-server:+===perso.conf=== 
 +<​code>​
  
-include "/​etc/​unbound/​unbound.conf.d/adslist"+# mon serveur virtuel de test 
 +        local-data: "deb-cloudIN A 192.168.1.74"​ 
 +        local-data: "​deb-cloud.popaul77.lan. IN A 192.168.1.74"​ 
 +        local-data: "​popaul77.lan. IN A 192.168.1.74"
  
- mon serveur +le raspberry qui a aussi un dns unbound fonctionnel 
- local-data:​ "gull-server. IN A 192.168.1.113"  +        local-data: "raspberry. IN A 192.168.1.107
- local-data:​ "gull-server.popaul77.lan. IN A 192.168.1.113"  + 
- local-data:​ "popaul77.lan. IN A 192.168.1.113"+# ma machine portable 
 +        ​local-data: "mydell. IN A 192.168.1.60
 +        
 +# Tuxmachine fixe 
 +        ​local-data: "tuxmachine. IN A 192.168.1.50"
  
 </​code>​ </​code>​
- 
 ==== Vérification et redémarrage ==== ==== Vérification et redémarrage ====
-  unbound-checkconf va lire le fichier ​et afficher les erreurs (corriger si nécessaire)+Tester ​le fichier ​de configuration
-  ​+  ​unbound-checkconf 
 +Redemarrer unbound
   systemctl start unbound (démarre le serveur)   systemctl start unbound (démarre le serveur)
   systemctl reload unbound recharge la configuration)   systemctl reload unbound recharge la configuration)
Ligne 241: Ligne 243:
 ===== Blocage des DMP avec Unbound ===== ===== Blocage des DMP avec Unbound =====
  
-**Attention tout ce qui se trouve dans ce paragraphe ne fonctionne pas chez moi et plante le serveur, je cherche ​une solution\\ +NOTE: Cette procédure n'est valide qu'​avec ​une version égale ou supérieure à la version 1.7 de unbound, sur Raspbian ou Debian il faut donc une Buster ​(10pour avoir cette version de Unbound.
-Pour le moment j'ai gardé les fichiers mais en mode inactif ​(renommé sans le .conf)**+
  
- +Pour les curieux il faut faire un tour sur ce site[[https://​framagit.org/​Shaft/​blocage-dmp-unbound | Blocage de DMP avec unbound]] ​où les fichiers nécessaires sont maintenu à jour.
-[[https://​framagit.org/​Shaft/​blocage-dmp-unbound | Blocage de DMP avec unbound]]+
  
 Ce projet regroupe la configuration nécessaire pour Unbound afin de bloquer certaines « Data Management Platforms » (DMP) utilisées par de plus en plus de sites (liberation.fr,​ oui.scnf, lemonde.fr, fnac.com...) et qui échappent – pour l'​instant aux bloqueurs de traqueurs traditionnels (uBlock Origin ou uMatrix par exemple) ou un peu plus sophistiqué. Ce projet regroupe la configuration nécessaire pour Unbound afin de bloquer certaines « Data Management Platforms » (DMP) utilisées par de plus en plus de sites (liberation.fr,​ oui.scnf, lemonde.fr, fnac.com...) et qui échappent – pour l'​instant aux bloqueurs de traqueurs traditionnels (uBlock Origin ou uMatrix par exemple) ou un peu plus sophistiqué.
Ligne 253: Ligne 253:
 ==== Mise en place du blocage supplémentaire ==== ==== Mise en place du blocage supplémentaire ====
 Copier [[http://​download.tuxfamily.org/​popaul77/​gulliver77/​blocked.zone | blocked.zone]] dans /​var/​lib/​unbound/​ \\ Copier [[http://​download.tuxfamily.org/​popaul77/​gulliver77/​blocked.zone | blocked.zone]] dans /​var/​lib/​unbound/​ \\
 +  wget http://​download.tuxfamily.org/​popaul77/​gulliver77/​blocked.zone /​var/​lib/​unbound/​blocked.zone
 +  chown unbound:​unbound /​var/​lib/​unbound/​blocked.zone
 +
 Copier la version Debian de [[http://​download.tuxfamily.org/​popaul77/​gulliver77/​adblock-war.conf | adblock-war.conf]] dans /​etc/​unbound/​unbound.conf.d/​ \\ Copier la version Debian de [[http://​download.tuxfamily.org/​popaul77/​gulliver77/​adblock-war.conf | adblock-war.conf]] dans /​etc/​unbound/​unbound.conf.d/​ \\
 +  wget http://​download.tuxfamily.org/​popaul77/​gulliver77/​adblock-war.conf /​etc/​unbound/​unbound.conf.d/​adblock-war.conf
 +  chown unbound:​unbound /​etc/​unbound/​unbound.conf.d/​adblock-war.conf
 +  ​
 +Tester la nouvelle configuration
 +  unbound-checkconf
  
 Redémarrer Unbound et c'est normalement fonctionnel Redémarrer Unbound et c'est normalement fonctionnel
 +  systemctl restart unbound
 +  systemctl status unbound
  
-Verifier que ça fonctionne ​car chez moi c'est pas le cas (mais je creuse)+Verifier que ça fonctionne
 + 
 +<​code>​ 
 +dig v.oui.sncf 
 +   
 +; <<>>​ DiG 9.11.5-P4-5.1+b1-Debian <<>>​ v.oui.sncf 
 +;; global options: +cmd 
 +;; Got answer: 
 +;; ->>​HEADER<<​- opcode: QUERY, status: NXDOMAIN, id: 5341 
 +;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 1 
 + 
 +;; OPT PSEUDOSECTION:​ 
 +; EDNS: version: 0, flags:; udp: 4096 
 +;; QUESTION SECTION: 
 +;​v.oui.sncf. ​                   IN      A 
 + 
 +;; ANSWER SECTION: 
 +v.oui.sncf. ​            ​3600 ​   IN      CNAME   ​voyages-sncf.eulerian.net. 
 + 
 +;; AUTHORITY SECTION: 
 +eulerian.net. ​          ​10800 ​  ​IN ​     SOA     ​localhost. nobody.invalid. 1 3600 1200 604800 10800 
 + 
 +</​code>  ​
  
-  dig v.oui.sncf+Le domaine eulerian.net est redirigé sur localhost.
  
 ---- ----
debian10/dns_unbound.1589114468.txt.gz · Dernière modification: 2020/05/10 12:41 par jpg