Outils pour utilisateurs

Outils du site


dnssec

🚀 DNSSEC en interne avec BIND9

Cette fiche explique comment signer et valider une zone DNS interne avec BIND9, sans dépendre d’un prestataire externe.

1️⃣ Activer DNSSEC côté serveur maître

On va signer ta zone locale.

🔐 a. Générer les clés

Dans `/etc/bind/keys/` :

```bash mkdir -p /etc/bind/keys cd /etc/bind/keys

# Générer KSK dnssec-keygen -a RSASHA256 -b 2048 -f KSK mondomaine.lan

# Générer ZSK dnssec-keygen -a RSASHA256 -b 1024 mondomaine.lan ```

Tu obtiens 4 fichiers :

  • `Kmondomaine.lan.+008+<id>.key` (pub)
  • `Kmondomaine.lan.+008+<id>.private` (privé)

📄 b. Ajouter les clés dans la zone

Dans `/etc/bind/zones/db.mondomaine.lan` :

```dns $TTL 3600 @ IN SOA ns1.mondomaine.lan. admin.mondomaine.lan. (

      2025092201 ; Serial
      3600       ; Refresh
      1800       ; Retry
      1209600    ; Expire
      3600 )     ; Negative Cache TTL
  IN NS ns1.mondomaine.lan.

ns1 IN A 192.168.1.10

; — Clés DNSSEC — $INCLUDE “/etc/bind/keys/Kmondomaine.lan.+008+<id_KSK>.key” $INCLUDE “/etc/bind/keys/Kmondomaine.lan.+008+<id_ZSK>.key” ```

✍️ c. Signer la zone

```bash cd /etc/bind/zones dnssec-signzone -o mondomaine.lan \

  1. k /etc/bind/keys/Kmondomaine.lan.+008+<id_KSK>.key \

db.mondomaine.lan \

  /etc/bind/keys/Kmondomaine.lan.+008+<id_ZSK>.key

```

👉 Ça génère `db.mondomaine.lan.signed`

📦 d. Charger la zone signée dans BIND

Dans `/etc/bind/named.conf.local` :

```conf zone “mondomaine.lan” {

  type master;
  file "/etc/bind/zones/db.mondomaine.lan.signed";
  auto-dnssec maintain;
  inline-signing yes;

}; ```

Redémarre BIND :

```bash systemctl restart bind9 ```

2️⃣ Activer la validation DNSSEC

Ton serveur DNS peut aussi vérifier les signatures des domaines externes.

Édite `/etc/bind/named.conf.options` :

```conf options {

  directory "/var/cache/bind";
  dnssec-validation auto;
  auth-nxdomain no;
  listen-on { any; };
  listen-on-v6 { any; };

}; ```

Recharge :

```bash systemctl reload bind9 ```

3️⃣ Tester

* Vérifier que ta zone interne est signée :

```bash dig +dnssec @127.0.0.1 mondomaine.lan ```

Tu dois voir des enregistrements RRSIG.

* Tester la validation DNSSEC :

```bash dig @127.0.0.1 www.dnssec-failed.org ```

👉 Si la validation marche, la requête échouera volontairement (domaine cassé exprès).

✅ Résultat

Tu as maintenant une infra DNS interne signée et validée avec DNSSEC, sans dépendance externe.

← Retour à l'accueil

dnssec.txt · Dernière modification : de root