Outils pour utilisateurs

Outils du site


dnssec

Ceci est une ancienne révision du document !


# 🚀 DNSSEC en interne avec BIND9 (signage + validation)

## 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

* Pour vérifier que ta zone interne est signée :

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

Tu dois voir des enregistrements RRSIG.

* Pour tester la validation DNSSEC :

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

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

✅ Et voilà : tu as ton infra DNS interne signée et validée avec DNSSEC, sans dépendre d’un prestataire externe.

dnssec.1763375294.txt.gz · Dernière modification : de root