Comment obtenir la protection de la confidentialité DNS sur Linux avec DNS sur TLS
Chaque fois que vous naviguez sur le web, votre ordinateur envoie une multitude de requêtes DNS. Malheureusement, ces requêtes ne sont souvent pas sécurisées par défaut, exposant potentiellement vos informations privées à des acteurs malveillants.
Auparavant, nous avons évoqué l'utilisation de DNSCrypt pour sécuriser les requêtes DNS. Bien que ce soit une solution valable, il existe d'autres options, notamment l'envoi de requêtes DNS via TLS (Transport Layer Security).
Option 1 : Stubby
Stubby est un utilitaire simple, compatible avec certaines distributions Linux, qui permet de chiffrer vos requêtes DNS à l'aide de TLS.
Cet outil fonctionne sous Ubuntu, Debian et Arch Linux. Pour l'installer, ouvrez un terminal (Ctrl + Alt + T ou Ctrl + Maj + T) et suivez les instructions ci-dessous en fonction de votre distribution Linux.
Ubuntu
Pour installer Stubby sur Ubuntu, commencez par activer le dépôt "Universe". Utilisez la commande apt-add-repository dans le terminal :
sudo add-apt-repository universe
Mettez ensuite à jour la liste des paquets disponibles en utilisant la commande apt update :
sudo apt update
Une fois la mise à jour effectuée, vous pouvez installer Stubby avec la commande apt install :
sudo apt install stubby
Debian
Sur Debian 10 ("Sid"), Stubby se trouve dans le dépôt "Main". Pour l'installer, utilisez la commande apt-get install dans un terminal :
sudo apt-get install stubby
Arch Linux
Les utilisateurs d'Arch Linux peuvent installer Stubby en activant le dépôt "Community". Éditez le fichier /etc/pacman.conf, décommentez la ligne "Community" et mettez à jour votre système.
Une fois le dépôt activé, installez Stubby avec le gestionnaire de paquets Pacman :
sudo pacman -S stubby
Une fois installé, Stubby est prêt à l'emploi avec des serveurs DNS compatibles TLS. Il n'est pas nécessaire de modifier la configuration par défaut.
Note: Si vous souhaitez personnaliser les serveurs DNS, vous pouvez éditer le fichier /etc/stubby/stubby.yml.
La dernière étape consiste à modifier vos paramètres DNS par défaut pour utiliser l'adresse locale 127.0.0.1.
La procédure de modification des paramètres DNS varie selon l'environnement de bureau. Consultez un guide dédié pour plus d'informations.
Une fois vos paramètres DNS modifiés, votre machine Linux utilisera DNS sur TLS.
Option 2 : Systemd-resolved
Bien que Stubby soit simple à utiliser, il n'est pas compatible avec toutes les distributions Linux. Systemd-resolved, intégré au système d'initialisation Systemd, offre une excellente alternative.
Avant d'utiliser Systemd-resolved pour le DNS sur TLS, il est impératif de désactiver tout autre service de mise en cache DNS que vous pourriez utiliser.
Pour ce faire, ouvrez un terminal (Ctrl + Alt + T ou Ctrl + Maj + T) et utilisez la commande systemctl.
Note: Si vous n'utilisez pas DNS Masq ou NSCD, il est probable que Systemd-resolved soit déjà actif.
Désactivation de DNS Masq :
sudo systemctl stop dnsmasq.service
sudo systemctl disable dnsmasq.service -f
Désactivation de NSCD :
sudo systemctl stop nscd.service -f sudo systemctl disable nscd.service -f
Une fois vos services DNS par défaut désactivés, activez et démarrez Systemd-resolved :
sudo systemctl enable systemd-resolved.service -f sudo systemctl start systemd-resolved.service
Vous pouvez maintenant configurer Systemd-resolved pour utiliser DNS sur TLS. Ouvrez le fichier de configuration dans Nano :
sudo nano -w /etc/systemd/resolved.conf

Dans le fichier resolved.conf, localisez la ligne DNS=.
Après le signe "=", ajoutez l'adresse d'un serveur DNS sécurisé compatible TLS, tel que Cloudflare (1.1.1.1) :
DNS=1.1.1.1
Modifiez ensuite la ligne Domains= pour qu'elle ressemble à ceci :
Domains=~.
Enfin, modifiez la ligne DNSOverTLS= comme suit :
DNSOverTLS=opportuniste
Enregistrez les modifications (Ctrl + O), quittez Nano (Ctrl + X) et redémarrez le service DNS pour activer le DNS sur TLS avec Systemd-resolved :
sudo systemctl restart systemd-resolved