Mise en place d'un service DNS chiffré et sécurisé
Ce guide vous explique comment installer et sécuriser une instance de DNS privé sur un serveur Debian, accessible via les protocoles chiffrés DoT (DNS-over-TLS) et DoH (DNS-over-HTTPS).
Installation et Configuration d'AdGuard Home
Pour garantir que votre instance DNS démarre automatiquement au boot et tourne en arrière-plan, AdGuard Home s'installe nativement comme un service systemd.
Téléchargement et installation : Utilisez le script automatique officiel pour télécharger et installer le binaire adapté à votre architecture (arm64 pour un RPi 4 par exemple) :
curl -s -S -L https://raw.githubusercontent.com/AdguardTeam/AdGuardHome/master/scripts/install.sh | sh -s -- -v
Gestion du service :
Une fois installé, AdGuard Home est automatiquement enregistré comme service AdGuardHome. Vous pouvez le gérer avec les commandes systemd standards :
# Démarrer le service
sudo systemctl start AdGuardHome
# Activer le lancement automatique au démarrage
sudo systemctl enable AdGuardHome
# Vérifier l'état du service
sudo systemctl status AdGuardHomeInitialisation : Après le premier démarrage, accédez à l'interface web (généralement sur le port 3000 par défaut lors de la première installation) pour effectuer la configuration initiale via l'assistant de configuration.
Après l'installation du logiciel de service DNS sur votre serveur Debian :
Chiffrement : Dans l'interface d'administration, accédez à Paramètres > Paramètres de chiffrement.
Certificats : Utilisez Certbot pour générer des certificats SSL pour votre nom de domaine:
sudo apt install certbot
sudo certbot certonly --standalone -d votre.domaine.fr
Paramétrage : Dans l'interface, indiquez les chemins vers vos fichiers de certificats générés :
fullchain.pempour le certificat.privkey.pempour la clé privée.
Ports : Activez le chiffrement et assurez-vous que les ports 853 (DoT) et 443 (DoH) sont configurés.
Sécurisation du réseau (UFW)
Il est essentiel de restreindre l'accès à votre serveur pour ne laisser passer que le trafic autorisé :
# Autoriser le DNS standard uniquement pour le réseau local
sudo ufw allow from 192.168.1.0/24 to any port 53 proto udp
sudo ufw allow from 192.168.1.0/24 to any port 53 proto tcp
# Autoriser le DNS chiffré (DoT/DoH) pour l'accès externe
sudo ufw allow 853/tcp
sudo ufw allow 443/tcp
# Activer le pare-feu
sudo ufw enableOptimisations système (Exemple pour Raspberry Pi 4)
Si votre serveur tourne sur un environnement de type Raspberry Pi, quelques optimisations permettent d'améliorer la durabilité et la réactivité :
Stockage : Ajoutez l'option noatime dans votre fichier /etc/fstab pour réduire les écritures disque.
Performance CPU : Utilisez cpupower pour forcer le mode performance:Bash
sudo apt install linux-cpupower
sudo cpupower frequency-set -g performance
Consommation : Désactivez les services inutiles (Bluetooth/Wi-Fi) dans le fichier /boot/firmware/config.txt pour libérer des ressources :
dtoverlay=disable-bt
dtoverlay=disable-wifiPoints de vigilance
Renouvellement : N'oubliez pas de mettre en place une tâche automatique pour le renouvellement des certificats SSL (via certbot renew).
Monitoring : Surveillez l'état de votre service DNS via les logs système et les outils de monitoring de votre choix.
Ce tutoriel fournit une base solide pour gérer votre propre infrastructure DNS de manière chiffrée et sécurisée.