====== 🚀 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+.key` (pub) * `Kmondomaine.lan.+008+.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+.key" $INCLUDE "/etc/bind/keys/Kmondomaine.lan.+008+.key" ``` ==== ✍ c. Signer la zone ==== ```bash cd /etc/bind/zones dnssec-signzone -o mondomaine.lan \ -k /etc/bind/keys/Kmondomaine.lan.+008+.key \ db.mondomaine.lan \ /etc/bind/keys/Kmondomaine.lan.+008+.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. [[index|← Retour Ă  l'accueil]]