Qu’est-ce que le DNS ?

Le DNS (Domain Name System) est un pilier fondamental d’Internet. Il agit comme un annuaire mondial qui traduit les noms de domaine lisibles par l’humain (comme www.example.com) en adresses IP (comme 192.0.2.1), que les machines utilisent pour communiquer entre elles.

Sans DNS, nous devrions nous souvenir de chaînes d’adresses numériques pour accéder à nos sites favoris… pas très pratique, n’est-ce pas ?

🛠️ Comment configurer un serveur DNS ?

1. Choisir un logiciel DNS

Parmi les plus populaires :

  • BIND9 (Berkeley Internet Name Domain) — très répandu sur les systèmes Unix/Linux.
  • Unbound — léger et sécurisé, idéal pour la récursivité.
  • PowerDNS — performant et avec une API pour gestion avancée.

2. Installer le serveur DNS (exemple avec BIND sur Debian)

sudo apt update
sudo apt install bind9 bind9utils bind9-doc

3. Configurer les zones DNS

Tu devras éditer deux fichiers clés :

  • /etc/bind/named.conf.local – pour déclarer les zones.
  • /etc/bind/db.nomdedomaine.tld – fichier de zone contenant les enregistrements.

Exemple de configuration :

zone "monsite.com" {
    type master;
    file "/etc/bind/db.monsite.com";
};

Et dans db.monsite.com :

$TTL 86400
@   IN  SOA ns1.monsite.com. admin.monsite.com. (
        2025042201 ; Serial
        3600       ; Refresh
        1800       ; Retry
        1209600    ; Expire
        86400 )    ; Minimum TTL
;
@   IN  NS      ns1.monsite.com.
@   IN  A       192.168.1.10
www IN  A       192.168.1.10

4. Redémarrer BIND

sudo systemctl restart bind9
sudo systemctl enable bind9

🔒 Sécuriser son serveur DNS : les bonnes pratiques

Un serveur DNS mal sécurisé peut être une porte d’entrée pour des attaques sérieuses : cache poisoning, amplification DDoS, spoofing, etc. Voici comment le blinder :

1. Limiter les requêtes récursives

Réserve la récursivité à ton réseau local :

allow-recursion { localhost; 192.168.1.0/24; };

2. Désactiver la récursivité publique

Pour un serveur faisant autorité uniquement, désactive :

recursion no;

3. Activer DNSSEC

DNSSEC ajoute une couche de vérification cryptographique aux réponses DNS pour éviter le spoofing.

Dans BIND :

dnssec-enable yes;
dnssec-validation auto;

Pense aussi à signer tes zones DNS avec dnssec-signzone.

4. Filtrage réseau et firewall

  • N’autorise que les ports nécessaires (port UDP 53 en entrée).
  • Bloque les requêtes non sollicitées venant de l’extérieur.

5. Utiliser le chiffrement (DoT/DoH)

Bien que BIND ne supporte pas nativement DoT/DoH, tu peux utiliser un proxy comme Stubby ou dnscrypt-proxy pour sécuriser les requêtes DNS via TLS ou HTTPS.

6. Mise à jour régulière

Les failles DNS sont souvent ciblées. Garde ton logiciel à jour :

sudo apt update && sudo apt upgrade

📌 En résumé



Élément
Objectif
BIND / UnboundServeur DNS principal ou récursif
Zones DNSDéfinissent la correspondance DNS/IP
DNSSECProtège contre les falsifications DNS
FirewallContrôle l’accès au port 53
Requêtes limitéesRéduit le risque d’abus
Mise à jour systèmeCorrige les vulnérabilités

Le DNS est bien plus qu’un simple annuaire : c’est un maillon critique de la sécurité réseau. En le configurant correctement et en appliquant des pratiques de sécurité rigoureuses, tu renforces considérablement ton infrastructure.

By admin

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *