Pihole : Sécuriser les DNS sur (Sécuriser DNS)

malekalmorte

Création :

13 novembre 2022

Modification :

Pihole vous permet de choisir des services DNS tels que CloudFlare, OpenDNS, Google DNS, Quad9.
Mais les requêtes DNS ne sont pas chiffrées.
Pour palier à cela, on peut installer DNSCrypt pour effectuer des requêtes DNS over HTTPS (DoH).

DNSCrypt chiffre automatiquement votre trafic DNS et l’envoie aux serveurs DNS qui utilisent également le chiffrement. De cette façon, l’intégralité de la transaction reste chiffrée. Même votre FAI ne pourra pas voir où vous naviguez.

Dans ce tutoriel je vous guide pour mettre en place les DNS sécurisés dans pihole.

Pihole : Sécuriser les DNS sur (Sécuriser DNS)

Comment installer Secure DNS sur Pihole

Dans cette seconde méthode, on télécharge directement les binaires DNSCrypt.

  • On télécharge l’archive par wget :
cd /opt
sudo wget https://github.com/DNSCrypt/dnscrypt-proxy/releases/download/2.1.2/dnscrypt-proxy-linux_i386-2.1.2.tar.gz
La liste des versions est disponible à cette adresse, si vous souhaitez changer d’architecture, par exemple pour un raspberry : https://github.com/DNSCrypt/dnscrypt-proxy/releases/
  • Puis on décompresse le tout à l’aide de la commande tar
  • Ensuite on se rend dans le répertoire dnscrypt-proxy
sudo tar -xvf dnscrypt-proxy-linux_i386-2.1.2.tar.gz
sudo mv linux-i386/ dnscrypt-proxy && cd dnscrypt-proxy
Comment installer et configurer DNSCrypt sur Linux
  • Puis on copie le fichier de configuration exemple et on l’édite :
sudo cp example-dnscrypt-proxy.toml dnscrypt-proxy.toml
sudo vim dnscrypt-proxy.toml
  • Depuis ce dernier, on peut déclarer le service DNS à utiliser à travers l’option server_names

Configurer DNSProxy

Ensuite on peut configurer DNSProxy pour spécifier le service DNS à utiliser.

sudo vim dnscrypt-proxy.toml
  • Sous Paramètres globaux, ajoutez un ou plusieurs serveurs dans server_names
server_names = ['adguard-dns']

Si vous voulez utiliser le service NextDNS.IO avec le chiffrement DNS, c’est assez simple.
Cela vous donne une deuxième couche de filtrage et de protection DNS. Il vous fournit également des analyses et des statistiques intéressantes pour votre réseau.

  • Dans le fichier DNSCrypt dnscrypt-proxy.toml, cherchez la section [static] tout en bas. Ajoutez les lignes suivantes, en utilisant votre chaîne de timbre sdns personnalisée qui se trouve dans le presse-papiers.
[static.'NextDNS-Custom']
stamp = 'sdns://xxxxxxxxxxxxx'
  • En haut du fichier de configuration DNSCrypt, modifiez la ligne server_names pour qu’elle corresponde exactement au nom statique que vous avez utilisé ci-dessus
La liste des services DNS supportés est disponible à cette adresse : Liste des serveurs publics DNSCrypt, DoH
server_names = ['NextDNS-Custom']
  • Sous Liste des adresses locales, changez le numéro de port en quelque chose que vous aimez, au-dessus de 1024. J’utilise 5350 dans cet exemple. Pi-Hole utilisera le port 53 (standard pour le DNS), c’est pourquoi nous devons utiliser un numéro de port personnalisé pour DNSCrypt.
listen_addresses = ['127.0.0.1:5350', '[::1]:5350']
Configurer DNSProxy pour pihole

On peut forcer DNSSEC et désactiver le cache étant donné que pihole a son propre cache DNS.

require_dnssec = true   
require_nofilter = false
cache = false

Facultatif vous pouvez activer Anyonmized DNS est une nouvelle fonctionnalité dans les versions les plus récentes de DNSCrypt. Cela se configure dans l’entrée routes
Pour cela :

  • Faites défiler le texte jusqu’au bas du fichier TOML pour trouver la partie [anonymized_dns]
  • Pour les serveurs ‘via’, consultez la liste des relais ici, et choisissez-en deux qui répondent à vos besoins. J’ai utilisé des serveurs à proximité de ma maison. Vous pouvez vouloir utiliser des serveurs dans un autre pays, ou avoir d’autres exigences uniques
routes = [
    { server_name='adguard-dns', via=['anon-kama', 'anon-cs-fr'] },
 ]
Une liste de relais est disponible à cette adresse : Anonymized DNS relays
Configurer DNSProxy pour pihole
  • Sauvegardez et quittez l’éditeur de textes

Configurer Pihole pour utiliser les DNS Sécurisés

Maintenant que DNSCrypt est configuré et actif, il faut configurer pihole pour utiliser les DNS de ce tutoriel.
Pour cela, on change l’adresse du serveur DNS dans Pihole :

  • Connectez-vous à la console Pi-Hole (http://adresseip_pihole/admin)
  • Allez dans Paramètres, DNS
  • Décochez tous les serveurs DNS en amont et entrez 127.0.0.1#5350 dans Custom 1 (IPv4) et cochez la case
  • Pour IPv6, entrez ::1#5350
Configurer Pihole pour utiliser les DNS Sécurisés
  • Cochez Use DNSSEC
  • Puis cliquez en bas à droite sur le bouton Save
Activer DNSSec sur Pihole

Comment tester la sécurité DNS

Enfin vous pouvez vérifier sur vos hôtes que la résolution DNS de Pihole est bien sécurisé.
Pour cela, suivez ce tutoriel : Comment tester les DNS (fuites DNS, Sécurité DNS).
Par exemple, ci-dessous, on peut voir que Secure DNS et DNSSEC sont bien actifs sur un hôte utilisant les DNS Pihole.

Comment tester si pihole utilise les Secure DNS

A propros de malekalmorte

malekal-site-logo-150

Passionné par l'informatique depuis très jeune, j'aide les internautes sur les forums depuis 2005 pour résoudre leurs tracas informatiques.
Je vous propose par la même occasion ce site avec de nombreux tutoriels pour vous aider aussi à résoudre de manière autonome les problèmes informatiques du quotidien.