Bind 9/DNSSEC
La mise en œuvre *artisanale* de DNSSEC avec le serveur de nom Bind en version 9 est décrite dans ce tutoriel.
Installation manuelle
L'installation manuelle, mais somme toute assez intellectuelle, se déroule comme suit :
- vérifier l'installation de Bind pour DNSSEC
- Générer les clés ZSK et KSK
- Ajouter ces clés dans le fichier de la zone
- Signer la zone
- Mise en production : modifier la configuration pour prendre en compte le fichier de zone signé
- Recharger la zone
- Clés au registre (via registrar)
- Vérifier le résultat
- Aller plus loin : roulement des clés
1. Bind et DNSSEC
Avant toute chose, prenez pleine conscience de ce qui vous attends : vous allez transformer votre zoli fichier de zone, de ça :
$TTL 2D
@ IN SOA a.izz.se. root.izz.se. (
2011021001 ; Serial
24H ; Refresh
2H ; Retry
1W ; Expire
2D ) ; Negative Cache TTL
@ IN NS a.izz.se.
@ IN NS b.13h.be.
izz.se. IN A 92.243.27.3
www CNAME izz.se.
vers ça (et encore j'en ai enlevé) :
; File written on Thu Feb 10 16:30:17 2011 ; dnssec_signzone version 9.7.0 izz.se. 172800 IN SOA a.izz.se. root.izz.se. ( 2011021001 ; serial 86400 ; refresh (1 day) 7200 ; retry (2 hours) 604800 ; expire (1 week) 172800 ; minimum (2 days) ) 172800 RRSIG SOA 5 2 172800 20110312153017 ( 20110210153017 36450 izz.se. BEnImgzNxLfW40pRoKMvipQpbs0me4EivCZp ... RcFVQQVz1ADX8mAApxecDg7GMT8= ) 172800 NS a.izz.se. 172800 NS b.13h.be. 172800 RRSIG NS 5 2 172800 20110312153017 ( 20110210153017 36450 izz.se. FNTCU4+MNOpNAxiX9N9rWcOAFVLGkn6wqRDr ... 3mjn6ipD+roSsXVM0uqT1ZeaP0g= ) 172800 A 92.243.27.3 172800 RRSIG A 5 2 172800 20110312153017 ( 20110210153017 36450 izz.se. cUBv7nkqG1BkwZhCqG5vVyDnC9lA7OirJP6s ... qDCHegwecZSr3/4ANuTjw50bwM4= ) 172800 NSEC a.izz.se. A NS SOA RRSIG NSEC DNSKEY 172800 RRSIG NSEC 5 2 172800 20110312153017 ( 20110210153017 36450 izz.se. WVrveAUCIQgDWmuy873VZ8FNSOBMpVh/S2zC ... E9kliSTn/ZabdFhFziCtmF6o9pY= ) 172800 DNSKEY 256 3 5 ( AwEAAcUvzMr7r8hmL9mJtPAQX61gI5Ld4XFS ... fDfpvfWhtHEhsSi+ATNDjsi87/M6ZsEx ) ; key id = 36450 172800 DNSKEY 257 3 5 ( AwEAAb4hC8+Cm1EJdskDun6dPwKX3B5IZ+Lg ... ... sUnz ) ; key id = 13612 172800 RRSIG DNSKEY 5 2 172800 20110312153017 ( 20110210153017 13612 izz.se. D3qNICYYTEc7V6nScOQuy/0KuiM6qfG3FVRq ... ... Q0KKtB3lHyr8U9VkO2PdYhysKHhKXqOB500= ) 172800 RRSIG DNSKEY 5 2 172800 20110312153017 ( 20110210153017 36450 izz.se. bX1rLpB5TwCuDGN7lxG9RbG8pTT0R3fkpK5h ... 6arMg2EgTdrIsm/JQi2eXUR8NOs= ) www.izz.se. 172800 IN CNAME izz.se. 172800 RRSIG CNAME 5 3 172800 20110312153017 ( 20110210153017 36450 izz.se. lmV/IO7gdu5zd/jqqw+T7pf21/efzRZhS2vj ... 7qyyHsSwqQFAudDyP4dnI1LjGuo= ) 172800 NSEC izz.se. CNAME RRSIG NSEC 172800 RRSIG NSEC 5 3 172800 20110312153017 ( 20110210153017 36450 izz.se. sHJ+Q5XDPDdqKZTPCFgrM0qG6Bii3UYv0GX/ ... 2wxtJUpxbXeafgLu07VVUDCoPQA= )
Ce format de fichier de zone est expliqué dans la RFC 1035 (Noms de domaines – mise en œuvre et spécification, ++ ou en anglais Domain names - Implementation and specification)
Vérifiez votre version de Bind :
$ named -v BIND 9.8.0 $ sudo -s
Puis si chroot :
# cd /var/named/run-root/etc/bind/
ou en install de base :
# cd /etc/bind/ ou /etc/named/
# vim named.conf
ou
# vim named.conf.options
Dans la section options {...} rajoutez dnssec-enable yes; : options {
directory "/var/cache/bind";
pid-file "/var/run/named/named.pid";
recursion no;
auth-nxdomain no; # conform to RFC1035
// listen-on-v6 { any; };
// version "quedalle";
allow-transfer {"none";};
check-names master warn;
dnssec-enable yes;
};
N'oubliez pas vos outils (dnssec-signzone, drill, faire-le-café, etc) :
$ sudo apt-get install dnssec-tools ldnsutils
2. Les clés pour signer la zone et les enregistrements
Voici les types de clés :
- Zone Signed Key (ZSK) pour signer la zone izz.se. par exemple
- Key Signed Key (KSK) pour signer des enregistrements comme www.izz.se par exemple.
Ces clés n'ont pas de date d'expiration, et peuvent être utilisées ad nauseam. Comme tout jeu de clés publique/privée, la partie privée doit être sauvegardée et gardée secretement.
La Zone Signed Key, ZSK
# mkdir /var/named/run-root/var/named/zsk
# dnssec-keygen -r /dev/urandom -a RSASHA1 -b 1024 -n ZONE izz.se Generating key pair..................++++++ .................++++++ Kizz.se.+005+36450
Avec explicitement :
- -b 1024 : la taille de la clé en bits
- -n ZONE izz.se : à quoi est destinée la clé, ici une zone. Cela peut-être aussi un HOST, un USER ou OTHER.
Et implicitement :
- -a RSASHA1 : l'algorithme de chiffrement de la clé. Les valeurs possibles sont : RSAMD5, RSASHA1, DSA, NSEC3RSASHA1, NSEC3DSA, RSASHA256 ou RSASHA512
- le type de clé : zsk
zsk# ls -1 Kizz.se.+005+36450.key Kizz.se.+005+36450.private
La Key Signed Key, KSK
# mkdir /var/named/run-root/var/named/ksk # dnssec-keygen -r /dev/urandom -a RSASHA1 -b 4096 -n ZONE -f KSK izz.se Generating key pair.........................................................................................................................++ ..............................................................................................................................................................................................................++ Kizz.se.+005+13612 ksk# ls -1 Kizz.se.+005+13612.key Kizz.se.+005+13612.private
Avec explicitement :
- -b 4096 : la taille de la clé en bits
- -f KSK : le type
La CSK
en cours de rédaction, mais si vous avez générer la KSK et ZSK vous avec assez de clés, passez à l'étape suivante : l'ajout dans la zone
La DSK
La DSK est une clé permettant de pénétrer dans tous les Sofitel.
3. Ajout dans la zone
Vous allez voir ça va être la zone dans votre fichier de zone :(
La ZSK :
# cd /var/named/run-root/var/named/zsk # cat /var/named/run-root/var/named/zsk/Kizz.se.*.key >> /var/named/run-root/var/named/primary/db.izz.se
La KSK :
# /var/named/run-root/var/named/ksk # cat /var/named/run-root/var/named/ksk/Kizz.se.*.key >> /var/named/run-root/var/named/primary/db.izz.se
Vérifions :
# cat /var/named/run-root/var/named/primary/db.izz.se
$TTL 2D
@ IN SOA a.izz.se. root.osef.be. (
2010012901 ; Serial
24H ; Refresh
2H ; Retry
1W ; Expire
2D ) ; Negative Cache TTL
@ IN NS a.izz.se.
@ IN NS b.13h.be.
@ IN MX 10 mail.izz.se.
izz.se. IN A 92.243.27.3
www CNAME izz.se.
a IN A 92.243.1.170
; This is a zone-signing key, keyid 36450, for izz.se.
; Created: Thu Feb 10 15:39:46 2011
; Publish: Thu Feb 10 15:39:46 2011
; Activate: Thu Feb 10 15:39:46 2011
izz.se. IN DNSKEY 256 3 5 AwEAAc....6ZsEx
; This is a key-signing key, keyid 13612, for izz.se.
; Created: Thu Feb 10 15:43:27 2011
; Publish: Thu Feb 10 15:43:27 2011
; Activate: Thu Feb 10 15:43:27 2011
izz.se. IN DNSKEY 257 3 5 AwEAAb...........KsUnz
Vous avez remarqué que la KSK est plus grosse (normal -b 4096 à la génération).
On relance le serveur... que Bind pas votre dédié ~~:(
# ps fauxwww | grep bind bind 31337 0.0 2.5 9580 6564 ? Ss 2010 0:07 /usr/local/sbin/named -u bind -t /var/named/run-root -c /etc/bind/named.conf # kill -HUP 31337
ou plus concis :
# kill -HUP `cat /var/run/named/named.pid`
ou en chroot :
# kill -HUP `cat /var/named/run-root/var/run/named/named.pid`
ou encore :
# pidof named
Ou rechargez en douceur la zone sans avoir oublié d'incrémenter le serial.
check yourself before you wreck yourself
tu checkes si les clés sont déclarées Soit en local sur ton primaire :
$ dig DNSKEY izz.se @localhost
Soit ailleurs sur grosternet (ici ns1.ton-primaire.be est le FQDN de ton primaire) :
$ dig DNSKEY izz.se @ns1.ton-primaire.be
;; Truncated, retrying in TCP mode. ; <<>> DiG 9.5.1-P2.1 <<>> DNSKEY izz.se @a.izz.se ;; global options: printcmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 64399 ;; flags: qr aa rd; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 0 ;; WARNING: recursion requested but not available ;; QUESTION SECTION: ;izz.se. IN DNSKEY ;; ANSWER SECTION: izz.se. 172800 IN DNSKEY 257 3 5 AwEAAb......sUnz izz.se. 172800 IN DNSKEY 256 3 5 AwEAAc...ZsEx (je vous ai épargné les clés pour vos beaux yeux). ;; Query time: 27 msec ;; SERVER: 92.243.1.170#53(92.243.1.170) ;; WHEN: Thu Feb 10 16:55:32 2011 ;; MSG SIZE rcvd: 704
Liste des algos utilisés
Pour info, voici la liste des algos utilisés, tu t'endormiras moins con ce soir, ma couille.
| Num. | Description | Mnémonique | Sign. zone | Transaction | Réf. | |
|---|---|---|---|---|---|---|
| 0 | RFC4034 | |||||
| 1 | RSA/MD5 (déprécié) | RSAMD5 | N | O | RFC4034 RFC2537 | |
| 2 | Diffie-Hellman | DH | N | O | RFC2539 | |
| 3 | DSA/SHA1 | DSA | O | O | RFC3755RFC2536 | |
| 4 | Réservé crypto courbes elliptiques | ECC | ||||
| 5 | RSA/SHA-1 | RSASHA1 | O | O | RFC3755RFC3110 | |
| 6 | DSA-NSEC3-SHA1 | DSA-NSEC3-SHA1 | O | O | RFC5155 | |
| 7 | RSASHA1-NSEC3-SHA1 | RSASHA1-NSEC3-SHA1 | O | O | RFC5155 | |
| 8 | RSA/SHA-256 | RSASHA256 | O | * | RFC5702 | |
| 9 | non assigné | |||||
| 10 | RSA/SHA-512 | RSASHA512 | O | * | RFC5702 | |
| 11 | non assigné | |||||
| 12 | GOST R 34.10-2001 | ECC-GOST | O | * | RFC5933 | |
| 13-122 | non assigné | |||||
| 123-251 | Réservé | RFC6014 | ||||
| 252 | Réservé Indirect | INDIRECT | N | N | RFC4034 | |
| 253 | Algos particuliers - nom de domaine | PRIVATEDNS | O | O | RFC3755RFC2535 | |
| 254 | Algos particuliers OID | PRIVATEOID | O | O | RFC3755RFC2535 | |
| 255 | Réservé | RFC4034 |
4. Signer la zone
Il nous faut un endroit pour créer nos fichiers de zone signé :
# mkdir /var/named/run-root/var/named/set
signature de izz.se :
Pour simplifier :
# dnssec-signzone -o lazone.tld -k la_KSK le_fichier_zone_bind la_ZSK
Pour moins-simplifier :
# dnssec-signzone -o lazone.tld -k /var/named/ksk/Klazone.tld.key /var/named/zones/db.lazone.tld /var/named/zsk/Klazone.tld.key
Pour complexifier :
# dnssec-signzone -o izz.se -k /var/named/run-root/var/named/ksk/Kizz.se.*.key /var/named/run-root/var/named/primary/db.izz.se /var/named/run-root/var/named/zsk/Kizz.se.*.key
Verifying the zone using the following algorithms: RSASHA1.
Zone signing complete:
Algorithm: RSASHA1: KSKs: 1 active, 0 stand-by, 0 revoked
ZSKs: 1 active, 0 stand-by, 0 revoked
/var/named/run-root/var/named/primary/db.izz.se.signed
Avec explicitement :
- -o : la zone d'origine
- -k : la KSK
- le fichier de zone comme premier paramètre
- la ZSK comme deuxième paramètre
Et implicitement :
- -e 2592000 : end-time est la date d'expiration de la RRSIG générée. Par défaut c'est 30 jours (2592000 secondes). Si vous n'êtes pas une banque augmentez cette valeur (cf Faut-il remplacer régulièrement les clés DNSSEC ?). Exemple : -e now+15768000 pour 6 mois à partir de maintenant.
Exemple avec bricosoft.com (signé pour 6 mois) :
# dnssec-signzone -o bricosoft.com -e now+15768000 -k /var/named/run-root/var/named/ksk/Kbricosoft.com.+005+28333.key /var/named/run-root/var/named/primary/db.bricosoft.com /var/named/run-root/var/named/zsk/Kbricosoft.com.+005+55365.key
Un fichier avec les enregistrements DS est créée. On va le consulter plus tard pour renseigner la zone parente (.se ici) :
# pwd
/var/named/run-root/var/named/set
# ls -1 dsset-izz.se.
Le fichier de zone signée (c'est la zone qui est signée) :
# cat /var/named/run-root/var/named/primary/db.izz.se.signed; File written on Thu Feb 10 16:30:17 2011
; dnssec_signzone version 9.7.0
izz.se. 172800 IN SOA a.izz.se. root.izz.se. (
2011021001 ; serial
86400 ; refresh (1 day)
7200 ; retry (2 hours)
604800 ; expire (1 week)
172800 ; minimum (2 days)
)
172800 RRSIG SOA 5 2 172800 20110312153017 (
20110210153017 36450 izz.se.
BEnImgzNxLfW40pRoKMvipQpbs0me4EivCZp
...
RcFVQQVz1ADX8mAApxecDg7GMT8= )
172800 NS a.izz.se.
172800 NS b.13h.be.
172800 RRSIG NS 5 2 172800 20110312153017 (
20110210153017 36450 izz.se.
FNTCU4+MNOpNAxiX9N9rWcOAFVLGkn6wqRDr
...
3mjn6ipD+roSsXVM0uqT1ZeaP0g= )
172800 A 92.243.27.3
172800 RRSIG A 5 2 172800 20110312153017 (
20110210153017 36450 izz.se.
cUBv7nkqG1BkwZhCqG5vVyDnC9lA7OirJP6s
...
qDCHegwecZSr3/4ANuTjw50bwM4= )
172800 NSEC a.izz.se. A NS SOA RRSIG NSEC DNSKEY
172800 RRSIG NSEC 5 2 172800 20110312153017 (
20110210153017 36450 izz.se.
WVrveAUCIQgDWmuy873VZ8FNSOBMpVh/S2zC
...
E9kliSTn/ZabdFhFziCtmF6o9pY= )
172800 DNSKEY 256 3 5 (
AwEAAcUvzMr7r8hmL9mJtPAQX61gI5Ld4XFS
...
fDfpvfWhtHEhsSi+ATNDjsi87/M6ZsEx
) ; key id = 36450
172800 DNSKEY 257 3 5 (
AwEAAb4hC8+Cm1EJdskDun6dPwKX3B5IZ+Lg
...
sUnz
) ; key id = 13612
172800 RRSIG DNSKEY 5 2 172800 20110312153017 (
20110210153017 13612 izz.se.
D3qNICYYTEc7V6nScOQuy/0KuiM6qfG3FVRq
...
Q0KKtB3lHyr8U9VkO2PdYhysKHhKXqOB500= )
172800 RRSIG DNSKEY 5 2 172800 20110312153017 (
20110210153017 36450 izz.se.
bX1rLpB5TwCuDGN7lxG9RbG8pTT0R3fkpK5h
...
6arMg2EgTdrIsm/JQi2eXUR8NOs= )
www.izz.se. 172800 IN CNAME izz.se.
172800 RRSIG CNAME 5 3 172800 20110312153017 (
20110210153017 36450 izz.se.
lmV/IO7gdu5zd/jqqw+T7pf21/efzRZhS2vj
...
7qyyHsSwqQFAudDyP4dnI1LjGuo= )
172800 NSEC izz.se. CNAME RRSIG NSEC
172800 RRSIG NSEC 5 3 172800 20110312153017 (
20110210153017 36450 izz.se.
sHJ+Q5XDPDdqKZTPCFgrM0qG6Bii3UYv0GX/
...
2wxtJUpxbXeafgLu07VVUDCoPQA= )
On vérifie l'expiration des enregistrement signés :
$ dig axfr +short @localhost bricosoft.com ... DNSKEY 5 2 172800 20111017005511 20110417115511 55365 bricosoft.com. acTnfKc/7mk0NUQUzmk5OGPPHM9R3KAZgn6N02HeoAZw8m/2IsgNDn9R r68TpSdpKhlMPwOSI5C5uoZp+3573zJkIQsjpefvlPWriXhmrJyd1GQ9 ToYFCRcPWqjuHVR3uKtk50UkZaLgA32k6ihLrSN9zRkKoxVia+ulCVDo BZY=
Signé le 17 avril(2011 04 17), expire le 17 octobre(2011 10 17), RAS ça fait bien 6 mois.
troubleshootings / erreurs
no self signed KSK found
Ah ah, a priori vous avez mal généré votre KSK, avez bien mis le bon flag lors de la génération ? :
-f KSK
Vérifiez le type de clé dans le fichier de zone, ce doit être différent :
$ cat named/primary/zones/db.bricosoft.com |grep "key" ; This is a zone-signing key, keyid 14760, for bricosoft.com. ; This is a key-signing key, keyid 36946, for bricosoft.com.
Ou en creusant :
$ dig +short -t DNSKEY @ns1.mondns.fr bricosoft.com ;; Truncated, retrying in TCP mode. 257 3 5 AwEAAdgOSN3Hb9/ebBiKWFpeO3V254OS8xxy4vmGxYTqL3opqnNMSKhQ 1by3gBBvJ19lK+x6rNLoJ4BX7OOw0iUu/71wcL9wl5k09P2oJxLcJtJD kGNUk/joiBGfhg4h3NLvu00cJX7VpqLIvdoojmq5N54hcGsvsJkf33th trx7LCGYsUi66zE5nC6PsNZhPnrORiYfGegWmjr8D3NooHkWz+wGbV/Bl wBcsap7tz0RjgsAH/AYxTiTpvEqV5i5L6SFq1FNtcRWNDqJABrNB2o9u Q3Y3/ui2sYmNlF1pLvsUi66zE5nC6PsNZhPnrORiYfGegWmjr8DJD4Wo cD8kE/rVsMfgX1Iu2vuhVWlstLXOQPVr20Luu+n89R5tL2g/5sfNayN0 GGfRjUCrBkSnoVr1GYgPYLnfydpzzcHi2wejaZX1mMTOMvnVoPJ623tJ ce8fRVrXgIExDBjAOkA6ykwSnYyPPoxv2aFFZ8Fldg2uKGDRx2mxUqVg Xl/j/cP3TKqRcLQH6k6XuCzzC/4RdhDtFEoRVsfdjzgAlw1mXQ0UPCeG oZR0i2zk2kf7WYi375At1KP94negBKosrE/LFzZzAWcR/bCiAHSdBLPW DMwx9qztlXShpGXDbgvCnO04/cLvZzjCbth+sqTE15bf+6oe0trDeZgk cfqZbgTnh+pDqjon 256 3 5 AwEAAbYLsUi66zE5nC6PsNZhPnrORiYfGegWmjr8Dgu8U0t3A47fgPA14dvGmIUw xw1acVfRUy+U7qcbklFMCCPG9vkfzFryw0/ca7ChJnpWrBHREXelR1Q7 im+7nikhI8ttKatGXn2Ig5jbD2k4Ppbq096R77kbMveGN4kpwXye+8cy 7EeWndhz
Ou alors le fichier n'est pas le bon ou au bon endroit.
5. mise en production
On va modifier named.conf pour qu'il prenne en compte le fichier de zone signé.
# cd /var/named/run-root/etc/bind
# vim primary.conf
# ajout du 2011-02-10 14:00::00Z
zone "izz.se" {
type master;
notify yes;
allow-transfer { 2.2.2.2; };
# file "/var/named/primary/db.izz.se";
file "/var/named/primary/db.izz.se.signed";
};
Ici 2.2.2.2 est l'IP du secondaire.
6. Recharge la zone
On relance le serveur... que Bind pas votre dédié ~~:(
# kill -HUP 31337
Vef :
# dig +short izz.se +dnssec @localhost
92.243.27.3 A 5 2 172800 20110312153017 20110210153017 36450 izz.se. cUB...=
Une zone non signée renverrai :
# dig +short mondns.fr +dnssec @localhost 83.75.92.13
A cette étape, la chaîne de confiance n'est pas encore complète, le maillon zone vers zone parente n'est pas chainé (izz.se vers .se).

$ drill -TD bricosoft.com
Warning: No trusted keys were given. Will not be able to verify authenticity!
;; Domain: .
;; Signature ok but no chain to a trusted key or ds record
[S] . 172800 IN DNSKEY 256 3 8 ;{id = 34525 (zsk), size = 1024b}
. 172800 IN DNSKEY 257 3 8 ;{id = 19036 (ksk), size = 2048b}
Checking if signing key is trusted:
New key: . 172800 IN DNSKEY 256 3 8 AwEAAcaGQEA+...qlFrXDW3tjt ;{id = 34525 (zsk), size = 1024b}
[S] com. 86400 IN DS 30909 8 2 e2d3c916f6deeac73294e8268fb5885044a833fc5459588f4a9184cfc41a5766
;; Domain: com.
;; Signature ok but no chain to a trusted key or ds record
[S] com. 86400 IN DNSKEY 257 3 8 ;{id = 30909 (ksk), size = 2048b}
com. 86400 IN DNSKEY 256 3 8 ;{id = 1793 (zsk), size = 1024b}
com. 86400 IN DNSKEY 256 3 8 ;{id = 36713 (zsk), size = 1024b}
;; No DS for bricosoft.com.;; No ds record for delegation
;; Domain: bricosoft.com.
;; No DNSKEY record found for bricosoft.com.
[U] bricosoft.com. 172800 IN A 92.243.27.3
;;[S] self sig OK; [B] bogus; [T] trusted
7. Clés au registre (via registrar)
Après avoir signé la zone, les choses se compliquent car il faut envoyer la clé publique au registre, pour qu'il ajoute les enregistrement DS à la zone parent.
Si le registre ne fournit pas ce service, vous pouvez utiliser un serveur tiers avec des enregistrements DLV.
Il est rare que le registre fournissent directement une interface ou API pour un registrant mais délègue plutôt(l'ami de Mickey) ça aux registrars.
La liste des TLD + registrars qui fournissent une interface sont sur cette page : DNSSEC#Liste_TLD_:_registrars_qui_gèrent_DNSSEC
# pwd /var/named/run-root/var/named/set set# cat dsset-bricosoft.org. bricosoft.org. IN DS 26542 5 1 4538264EBA2E08A4E36620AA6758F514D35470C5 bricosoft.org. IN DS 26542 5 2 9BBB061327A533A00AF42ADFE858722FF0249826CE18339CBC860904 82995A39
Ici :
- 26542 est le key tag
- 5 est l'algo de chiffrement (RSA)
- 1 ou 2
- le condensat
Pour vérifier :
# dig +short -t DS bricosoft.org 26542 5 1 4538264EBA2E08A4E36620AA6758F514D35470C5 26542 5 2 9BBB061327A533A00AF42ADFE858722FF0249826CE18339CBC860904 82995A39
-
Interface DNSSEC chez le registrar sedirekt.se
-
Interface DNSSEC chez le registrar dyndns.com
8. vérifier tout le buzin
CLI
dig
Toute la chaîne avec dig :
$ dig bricosoft.org +dnssec +trace
; <<>> DiG 9.7.0 <<>> bricosoft.org +dnssec +trace ;; global options: +cmd . 419274 IN NS f.root-servers.net. . 419274 IN NS b.root-servers.net. . 419274 IN NS a.root-servers.net. . 419274 IN NS d.root-servers.net. . 419274 IN NS m.root-servers.net. . 419274 IN NS g.root-servers.net. . 419274 IN NS j.root-servers.net. . 419274 IN NS h.root-servers.net. . 419274 IN NS e.root-servers.net. . 419274 IN NS l.root-servers.net. . 419274 IN NS c.root-servers.net. . 419274 IN NS k.root-servers.net. . 419274 IN NS i.root-servers.net. . 512494 IN RRSIG NS 8 0 518400 20110421000000 20110413230000 34525 . k2QcodPqEyD/IKARcca5kIv/b0AGxWzC4N4sv5xeu0ERV0M7rzYBi4DN dN+85Ttmjh+zONNlWrB9RCt9SDno7v1gNQPW3sSRMxRrutD1YUed1Qum /aCGfy2JXDysuCoyZVk0jalxD3D0hyt+Km4VVIaoZ8YN+Zh6BbsZmvDF qQ4= ;; Received 601 bytes from 217.70.184.225#53(217.70.184.225) in 1 ms org. 172800 IN NS a0.org.afilias-nst.info. org. 172800 IN NS c0.org.afilias-nst.info. org. 172800 IN NS d0.org.afilias-nst.org. org. 172800 IN NS a2.org.afilias-nst.info. org. 172800 IN NS b0.org.afilias-nst.org. org. 172800 IN NS b2.org.afilias-nst.org. org. 86400 IN DS 21366 7 1 E6C1716CFB6BDC84E84CE1AB5510DAC69173B5B2 org. 86400 IN DS 21366 7 2 96EEB2FFD9B00CD4694E78278B5EFDAB0A80446567B69F634DA078F0 D90F01BA org. 86400 IN RRSIG DS 8 1 86400 20110421000000 20110413230000 34525 . OPUla2ovh4Te0/mBvTAvxzXSgo+fV7rTw3F9Bg2VRHSP2vrS3Y7KGtbB jM/7htMs+EeKUu4jRQNN8Rr8lKei4xHgFX1Saur6yG/+e3ewfd5/eUGT b+2GC4Uv9cXLMy4jcLYjv4QAGiFi2CPaWLq02ZanBRGJWSqr93Dflp+X Z5o= ;; Received 687 bytes from 192.228.79.201#53(b.root-servers.net) in 156 ms bricosoft.org. 86400 IN NS a.izz.se. bricosoft.org. 86400 IN NS b.13h.be. bricosoft.org. 86400 IN DS 26542 5 2 9BBB061327A533A00AF42ADFE858722FF0249826CE18339CBC860904 82995A39 bricosoft.org. 86400 IN DS 26542 5 1 4538264EBA2E08A4E36620AA6758F514D35470C5 bricosoft.org. 86400 IN RRSIG DS 7 2 86400 20110428075309 20110414065309 36105 org. H4x8emdDUF6lRI6+xM+P4Ct0GoHbaeI8OsNotM/+DKKQ9Ry2NEKGPBMe zHXF+vs2AlS7xLTO0sfXAzdIQunjxklvQAiDZ6nyaa9I9c/DEM8H/eXP Zmav/sf9vdaehLtu64yayPYpSpTFnlig0x23vf3c2nXwL3qjGiLaG5K2 Kqk= ;; Received 333 bytes from 2001:500:e::1#53(a0.org.afilias-nst.info) in 137 ms bricosoft.org. 172800 IN A 92.243.27.3 bricosoft.org. 172800 IN RRSIG A 5 2 172800 20110514075706 20110414075706 29343 bricosoft.org. Rvh7NVcnHaVOCpPMOQuQSknt2XcMe/mfWDA0DmbRvW+360k+97lNyUSD jXRQ4NTYJIuiM0Z8o/ftiAPyiNSLImbjUlnr6B6yYozROhpPOLOW+4cG rIdpSdjj2vAgHu3nmXpZYoBXSpdCYZ1vPPT4/LlRZl39BRKCy3heLcoT PxM= bricosoft.org. 172800 IN NS b.13h.be. bricosoft.org. 172800 IN NS a.izz.se. bricosoft.org. 172800 IN RRSIG NS 5 2 172800 20110514075706 20110414075706 29343 bricosoft.org. E1rABzp3O46oqUF8rm2bGpYYeeZ9PsgPPgsoUTdsUws8Fje0PDrUj+gq nRRjNMwDV8qG9cZLo7L/flnpq7BilZeMFCFhy74aqZKeu+vXsXeYX1Dm ezqFeIM8zDpjw9TZfcgaKKFnIRIyLNc/xEdKgdFvvtyFfVPO68es36U9 hZI= ;; Received 646 bytes from 92.243.27.3#53(b.13h.be) in 0 ms
drill
Avec symptômes grâce à drill :
$ drill -TD compro.net
Warning: No trusted keys were given. Will not be able to verify authenticity!
;; Domain: .
[B] . 172800 IN DNSKEY 256 3 8 ;{id = 34525 (zsk), size = 0b}
. 172800 IN DNSKEY 257 3 8 ;{id = 19036 (ksk), size = 0b}
[B] net. 86400 IN DS 35886 8 2 7862b27f5f516ebe19680444d4ce5e762981931842c465f00236401d8bd973ee
;; Domain: net.
[B] net. 86400 IN DNSKEY 257 3 8 ;{id = 35886 (ksk), size = 0b}
net. 86400 IN DNSKEY 256 3 8 ;{id = 45230 (zsk), size = 0b}
net. 86400 IN DNSKEY 256 3 8 ;{id = 3980 (zsk), size = 0b}
[B] compro.net. 86400 IN DS 2211 3 1 1234567890123456789012345678901234567890
;; Domain: compro.net.
;; No DNSKEY record found for compro.net.
[U] compro.net. 3600 IN A 173.201.14.242
;;[S] self sig OK; [B] bogus; [T] trusted
Ou encore :
$ drill -TD bricosoft.org
Warning: No trusted keys were given. Will not be able to verify authenticity!
;; Domain: .
[B] . 172800 IN DNSKEY 257 3 8 ;{id = 19036 (ksk), size = 0b}
. 172800 IN DNSKEY 256 3 8 ;{id = 34525 (zsk), size = 0b}
[B] org. 86400 IN DS 21366 7 1 e6c1716cfb6bdc84e84ce1ab5510dac69173b5b2
org. 86400 IN DS 21366 7 2 96eeb2ffd9b00cd4694e78278b5efdab0a80446567b69f634da078f0d90f01ba
;; Domain: org.
;; Signature ok but no chain to a trusted key or ds record
[S] org. 900 IN DNSKEY 256 3 7 ;{id = 54497 (zsk), size = 1024b}
org. 900 IN DNSKEY 256 3 7 ;{id = 36105 (zsk), size = 1024b}
org. 900 IN DNSKEY 257 3 7 ;{id = 21366 (ksk), size = 2048b}
org. 900 IN DNSKEY 257 3 7 ;{id = 9795 (ksk), size = 2048b}
Checking if signing key is trusted:
New key: org. 900 IN DNSKEY 256 3 7 AwEAAaUmggxjofOheNQfWALDtcVKeV4MPIvW023Mrh5B8FgttNfizAelxDyYN8NZvUJFFks9mNDPJPtzOBLXYpPX1R/Gm+jePI6BlFB4ytDrVihhwnI47QmwG7cGNbMrj13cSQL2/8OyZ06wH24ZKXliCbiSeDPzdznr9zZ8dr9BwaHX ;{id = 36105 (zsk), size = 1024b}
[S] bricosoft.org. 86400 IN DS 26542 5 1 4538264eba2e08a4e36620aa6758f514d35470c5
bricosoft.org. 86400 IN DS 26542 5 2 9bbb061327a533a00af42adfe858722ff0249826ce18339cbc86090482995a39
;; Domain: bricosoft.org.
;; Signature ok but no chain to a trusted key or ds record
[S] bricosoft.org. 172800 IN DNSKEY 256 3 5 ;{id = 29343 (zsk), size = 1024b}
bricosoft.org. 172800 IN DNSKEY 257 3 5 ;{id = 26542 (ksk), size = 4096b}
[S] bricosoft.org. 172800 IN A 92.243.27.3
;;[S] self sig OK; [B] bogus; [T] trusted
Avec la clé :
drill -TD bricosoft.org -k Kbricosoft.org.+005+26542.key
;; Domain: .
[B] . 172800 IN DNSKEY 256 3 8 ;{id = 34525 (zsk), size = 0b}
. 172800 IN DNSKEY 257 3 8 ;{id = 19036 (ksk), size = 0b}
[B] org. 86400 IN DS 21366 7 1 e6c1716cfb6bdc84e84ce1ab5510dac69173b5b2
org. 86400 IN DS 21366 7 2 96eeb2ffd9b00cd4694e78278b5efdab0a80446567b69f634da078f0d90f01ba
;; Domain: org.
;; Signature ok but no chain to a trusted key or ds record
[S] org. 900 IN DNSKEY 256 3 7 ;{id = 54497 (zsk), size = 1024b}
org. 900 IN DNSKEY 256 3 7 ;{id = 36105 (zsk), size = 1024b}
org. 900 IN DNSKEY 257 3 7 ;{id = 21366 (ksk), size = 2048b}
org. 900 IN DNSKEY 257 3 7 ;{id = 9795 (ksk), size = 2048b}
Checking if signing key is trusted:
New key: org. 900 IN DNSKEY 256 3 7 AwEAAaUmggxjofOheNQfWALDtcVKeV4MPIvW023Mrh5B8FgttNfizAelxDyYN8NZvUJFFks9mNDPJPtzOBLXYpPX1R/Gm+jePI6BlFB4ytDrVihhwnI47QmwG7cGNbMrj13cSQL2/8OyZ06wH24ZKXliCbiSeDPzdznr9zZ8dr9BwaHX ;{id = 36105 (zsk), size = 1024b}
Trusted key: bricosoft.org. 3600 IN DNSKEY 257 3 5 AwEAAcWxdzYxTpz+IYo6IwIzbOQLkrSeeKFAdHZLtWs/9RU7Kvbf8gu0gIKxF6QqAHuhpV7pN7tPwHxazct4jT1oDDLOKhE3Kixqbi+yq030ykG1AtH76MdTumhu6WdIXcg+Bn+mGQJs5+9krARAwtAbCaI8Xs8dqsB5TZHzL0BqXLgbc3GW9HPFVC2s0YCxyiQJVyQddd7tGOJ7iZHLkWp0eMkZONu6uWfyXAoHGmeTfB/NdlcKqqPVT0ZdBP+1zQxpfbYUIrI4bjpm8t30behLfKXiuOzUY9Hn7Ak3Pjg/u9NAYkgVLf7RdIigK43KeCiMrI/6pJBPHOQisk2GCaPFIgKKb76kFcO9YHAdAGV8bkvS+NjQni4nSzEwvLLOjefgk6SuD7nToMfz3EO1M6zDBnDoanvuSgqD9LVn2IX6qP6nrQpTTJ/wzSZYedmrkxvoWxvlrsK2XryG59JElb8deZv0r8s38eLlQ6XF0043r3tpm/X35CPWg7/FyiYJ/3CVMAuVs5SKqoys7d/p+Aoz8VX/46OJXu0CO8BRx62aaCc4yh8Yid3Jlj8TCbJ79A6BhqNXK4rEdSRJaUwyyimJQavvePCkZH4kR12dozSahT2yMcYsdhw9GnoukLcnJhjYzPyRZ2xz1lQcoqR4/IQkWuH38yh7sGT8TFSJA4puQg8t ;{id = 26542, size = 4096b}
[S] bricosoft.org. 86400 IN DS 26542 5 1 4538264eba2e08a4e36620aa6758f514d35470c5
bricosoft.org. 86400 IN DS 26542 5 2 9bbb061327a533a00af42adfe858722ff0249826ce18339cbc86090482995a39
;; Domain: bricosoft.org.
[T] bricosoft.org. 172800 IN DNSKEY 256 3 5 ;{id = 29343 (zsk), size = 1024b}
bricosoft.org. 172800 IN DNSKEY 257 3 5 ;{id = 26542 (ksk), size = 4096b}
[T] bricosoft.org. 172800 IN A 92.243.27.3
;;[S] self sig OK; [B] bogus; [T] trusted
zonecheck
Avec zonecheck du .fr qui peut donner des conseils(suivant RFC) sur les erreurs :
$ zonecheck -s "" bricosoft.org
ZONE : bricosoft.org
NS <= : a.izz.se [92.243.1.170]
NS : b.13h.be [92.243.27.3]
_____________________
,---------------------.|
~~~~ | avertissement || ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
`---------------------'
a> Les serveurs de nom font tous partie du même AS
| Conseil: ZoneCheck
| Afin d'éviter de perdre la connectivité avec les serveurs DNS
| faisant autorité en cas de problèmes de routage dans le Système
| Autonome, il est conseillé d'héberger les serveurs sur différents
| AS.
`----- -- -- - - -
: Tous les serveurs de noms font partie du même Système Autonome (AS
: numéro 29169), essayez d'en héberger certains sur un autre.
`..... .. .. . . .
=> générique
a> Le "postmaster" ne peut pas être contacté par mél
| Réf: IETF RFC1123 (p.51 5.2.7 RCPT Command: RFC-821 Section 4.1.1)
| A host that supports a receiver-SMTP MUST support the reserved
| mailbox "Postmaster".
`----- -- -- - - -
=> générique
==> SUCCÈS (mais 2 avertissement(s))
Non CLI
Pareil mais concis(voire trop), avec des conseils(souvent les zonechecks des TLDs) et des zigouigouis(dnsviz.net) (attention certains outils ont tendances à cacher vos résultats, pensez à mettre-à-jour) :
- http://dnscheck.iis.se/ par le registre .se
- http://www.zonecheck.fr/zonecheck/fr/ par le registre .fr
- http://dnssec-debugger.verisignlabs.com/izz.se par le registre .net
- http://dnscog.com/ par le registrar dyndns
- http://dnsviz.net/d/izz.se/dnssec/
- Plugin pour Firefox : http://www.dnssec-validator.cz/ par le registre .cz
9. pour aller plus loin : roulement des clés
Dépannage
Avant tout, avez-vous bien mis à jour le serial ?
Liens
Retourner à Bind9.