Aller au contenu principal

Annexe B. Réponses d'exemple

Annexe B. Réponses d'exemple

Les exemples de cette section présentent des messages de réponse utilisant la zone signée d'exemple de l'annexe A.

B.1. Erreur de nom (Name Error)

Une erreur de nom faisant autorité. Les RR NSEC3 prouvent que le nom n'existe pas et qu'aucun RR de joker n'aurait dû être étendu.

;; En-tête : QR AA DO RCODE=3
;;
;; Question
;; Answer
;; (vide)

;; Authority

3600000 3600 )

40430 example. Hu25UIyNPmvPIVBrldN+9Mlp9Zql39qaUd8i q4ZLlYWfUUbbAS41pG+68z81q1xhkYAcEyHd VI2LmKusbZsT0Q== )

;; RR NSEC3 couvrant le nom « next closer » (c.x.w.example)
;; H(c.x.w.example) = 0va5bpr2ou0vk0lbqeeljri88laipsfh

2t7b4g4vsa5smi47k61mv5bv1a22bojr MX DNSKEY NS SOA NSEC3PARAM RRSIG )

                       20150420235959 20051021000000 40430 example.

OSgWSm26B+cS+dDL8b5QrWr/dEWhtCsKlwKL IBHYH6blRxK9rC0bMJPwQ4mLIuw85H2EY762 BOCXJZMnpuwhpA== )

;; RR NSEC3 correspondant au « closest encloser » (x.w.example)
;; H(x.w.example) = b4um86eghhds6nea196smvmlo4ors995

gjeqe526plbf1g8mklp59enfd789njgi MX RRSIG )

                       20150420235959 20051021000000 40430 example.

ZkPG3M32lmoHM6pa3D6gZFGB/rhL//Bs3Omh 5u4m/CUiwtblEVOaAKKZd7S959OeiX43aLX3 pOv0TSTyiTxIZg== )

;; RR NSEC3 couvrant le joker au « closest encloser » (*.x.w.example)
;; H(*.x.w.example) = 92pqneegtaue7pjatc3l3qnk738c6v5m

b4um86eghhds6nea196smvmlo4ors995 NS DS RRSIG )

                       20150420235959 20051021000000 40430 example.

g6jPUUpduAJKRljUsN8gB4UagAX0NxY9shwQ Aynzo8EUWH+z6hEIBlUTPGj15eZll6VhQqgZ XtAIR3chwgW+SA== )

;; Additional
;; (vide)

La requête a renvoyé trois RR NSEC3 qui prouvent que les données
demandées n'existent pas et qu'aucune expansion de joker ne s'applique.
La réponse négative est authentifiée en vérifiant les RR NSEC3. Les
RRSIG correspondants indiquent que les RR NSEC3 sont signés par une
DNSKEY « example » d'algorithme 7 et de tag de clé 40430. Le résolveur
a besoin du RR DNSKEY correspondant pour authentifier cette réponse.

L'un des noms de propriétaires des RR NSEC3 correspond au « closest
encloser ». L'un des RR NSEC3 prouve qu'il n'existe pas de nom plus
long. L'un des RR NSEC3 prouve qu'il n'existe pas de RRSets joker qui
auraient dû être étendus. Le « closest encloser » peut être trouvé en
appliquant l'algorithme de la section 8.3.

Dans l'exemple ci-dessus, le nom « x.w.example » se hache en
« b4um86eghhds6nea196smvmlo4ors995 ». Cela indique qu'il pourrait
s'agir du « closest encloser ». Pour prouver que « c.x.w.example » et
« *.x.w.example » n'existent pas, ces noms sont hachés respectivement
en « 0va5bpr2ou0vk0lbqeeljri88laipsfh » et
« 92pqneegtaue7pjatc3l3qnk738c6v5m ». Le premier et le dernier RR
NSEC3 prouvent que ces noms de propriétaires hachés n'existent pas.

B.2. Erreur « pas de données » (No Data Error)

Une réponse « pas de données ». Le RR NSEC3 prouve que le nom existe et que le type de RR demandé n'existe pas.

;; En-tête : QR AA DO RCODE=0
;;
;; Question
;; Answer
;; (vide)

;; Authority

3600000 3600 )

40430 example. Hu25UIyNPmvPIVBrldN+9Mlp9Zql39qaUd8i q4ZLlYWfUUbbAS41pG+68z81q1xhkYAcEyHd VI2LmKusbZsT0Q== )

;; Le RR NSEC3 correspond au QNAME et montre que le bit de type MX n'est pas activé.

2vptu5timamqttgl4luu9kg21e0aor3s A RRSIG )

                       20150420235959 20051021000000 40430 example.

OmBvJ1Vgg1hCKMXHFiNeIYHK9XVW0iLDLwJN 4TFoNxZuP03gAXEI634YwOc4YBNITrj413iq NI6mRk/r1dOSUw== )

;; Additional
;; (vide)

La requête a renvoyé un RR NSEC3 qui prouve que le nom demandé existe
(« ns1.example. » se hache en « 2t7b4g4vsa5smi47k61mv5bv1a22bojr »),
mais que le type de RR demandé n'existe pas (le type MX est absent de
la liste des codes de type du RR NSEC3) et n'était pas un CNAME (le
type CNAME est également absent de la liste des codes de type du RR
NSEC3).

B.2.1. Erreur « pas de données », non-terminal vide

Une réponse « pas de données » due à un non-terminal vide. Le RR NSEC3 prouve que le nom existe et que le type de RR demandé n'existe pas.

 ;; En-tête : QR AA DO RCODE=0
;;
;; Question
y.w.example. IN A

;; Answer
;; (vide)

;; Authority
example. SOA ns1.example. bugs.x.w.example. 1 3600 300 (
3600000 3600 )
example. RRSIG SOA 7 1 3600 20150420235959 20051021000000 (
40430 example.
Hu25UIyNPmvPIVBrldN+9Mlp9Zql39qaUd8i
q4ZLlYWfUUbbAS41pG+68z81q1xhkYAcEyHd
VI2LmKusbZsT0Q== )

;; Le RR NSEC3 correspond au QNAME et montre que le bit de type A n'est pas activé.

ji6neoaepv8b5o6k4ev33abha8ht9fgc.example. NSEC3 1 1 12 aabbccdd (
k8udemvp1j2f7eg6jebps17vp3n8i58h )
ji6neoaepv8b5o6k4ev33abha8ht9fgc.example. RRSIG NSEC3 7 2 3600 (
20150420235959 20051021000000 40430 example.
gPkFp1s2QDQ6wQzcg1uSebZ61W33rUBDcTj7
2F3kQ490fEdp7k1BUIfbcZtPbX3YCpE+sIt0
MpzVSKfTwx4uYA== )

;; Additional
;; (vide)

La requête a renvoyé un RR NSEC3 qui prouve que le nom demandé existe
(« y.w.example. » se hache en « ji6neoaepv8b5o6k4ev33abha8ht9fgc »),
mais que le type de RR demandé n'existe pas (le type A est absent du
champ Type Bit Maps du RR NSEC3). Notez qu'à la différence d'une
preuve de non-terminal vide via NSEC, ceci est identique à une erreur
« pas de données ». Cet exemple n'est mentionné que par souci
d'exhaustivité.

B.3. Renvoi vers une zone non signée avec Opt-Out

Les RR NSEC3 prouvent que rien n'a été signé pour cette délégation. Il n'existe aucune preuve de l'existence de la délégation non signée.

   ;; En-tête : QR DO RCODE=0
;;
;; Question
mc.c.example. IN MX

;; Answer
;; (vide)

;; Authority
c.example. NS ns1.c.example.
NS ns2.c.example.

;; RR NSEC3 couvrant le nom « next closer » (c.example)
;; H(c.example) = 4g6p9u5gvfshp30pqecj98b3maqbn1ck

35mthgpgcu1qg68fab165klnsnk3dpvl.example. NSEC3 1 1 12 aabbccdd (
b4um86eghhds6nea196smvmlo4ors995 NS DS RRSIG )
35mthgpgcu1qg68fab165klnsnk3dpvl.example. RRSIG NSEC3 7 2 3600 (
20150420235959 20051021000000 40430 example.
g6jPUUpduAJKRljUsN8gB4UagAX0NxY9shwQ
Aynzo8EUWH+z6hEIBlUTPGj15eZll6VhQqgZ
XtAIR3chwgW+SA== )

;; RR NSEC3 correspondant au « closest encloser » (example)
;; H(example) = 0p9mhaveqvm6t7vbl5lop2u3t2rp3tom

0p9mhaveqvm6t7vbl5lop2u3t2rp3tom.example. NSEC3 1 1 12 aabbccdd (
2t7b4g4vsa5smi47k61mv5bv1a22bojr MX DNSKEY NS
SOA NSEC3PARAM RRSIG )
0p9mhaveqvm6t7vbl5lop2u3t2rp3tom.example. RRSIG NSEC3 7 2 3600 (
20150420235959 20051021000000 40430 example.
OSgWSm26B+cS+dDL8b5QrWr/dEWhtCsKlwKL
IBHYH6blRxK9rC0bMJPwQ4mLIuw85H2EY762
BOCXJZMnpuwhpA== )

;; Additional
ns1.c.example. A 192.0.2.7
ns2.c.example. A 192.0.2.8

La requête a renvoyé un renvoi vers la zone non signée
« c.example. ». La réponse contient le « closest provable encloser »
de « c.example », à savoir « example », puisque le hachage de
« c.example »

(« 4g6p9u5gvfshp30pqecj98b3maqbn1ck ») est couvert par le premier RR NSEC3 et que son bit Opt-Out est activé.

B.4. Expansion de joker

Une requête à laquelle une réponse contenant une expansion de joker a été produite. Le nombre de labels du RRSet RRSIG dans la section answer indique qu'un RRSet joker a été étendu pour produire cette réponse, et le RR NSEC3 prouve qu'aucun nom « next closer » n'existe dans la zone.

   ;; En-tête : QR AA DO RCODE=0
;;
;; Question
a.z.w.example. IN MX

;; Answer
a.z.w.example. MX 1 ai.example.
a.z.w.example. RRSIG MX 7 2 3600 20150420235959 20051021000000 (
40430 example.
CikebjQwGQPwijVcxgcZcSJKtfynugtlBiKb
9FcBTrmOoyQ4InoWVudhCWsh/URX3lc4WRUM
ivEBP6+4KS3ldA== )

;; Authority
example. NS ns1.example.
example. NS ns2.example.
example. RRSIG NS 7 1 3600 20150420235959 20051021000000 (
40430 example.
PVOgtMK1HHeSTau+HwDWC8Ts+6C8qtqd4pQJ
qOtdEVgg+MA+ai4fWDEhu3qHJyLcQ9tbD2vv
CnMXjtz6SyObxA== )

;; RR NSEC3 couvrant le nom « next closer » (z.w.example)
;; H(z.w.example) = qlu7gtfaeh0ek0c05ksfhdpbcgglbe03

q04jkcevqvmu85r014c7dkba38o0ji5r.example. NSEC3 1 1 12 aabbccdd (
r53bq7cc2uvmubfu5ocmm6pers9tk9en A RRSIG )
q04jkcevqvmu85r014c7dkba38o0ji5r.example. RRSIG NSEC3 7 2 3600 (
20150420235959 20051021000000 40430 example.
hV5I89b+4FHJDATp09g4bbN0R1F845CaXpL3
ZxlMKimoPAyqletMlEWwLfFia7sdpSzn+ZlN
NlkxWcLsIlMmUg== )
   ;; Additional
ai.example. A 192.0.2.9
ai.example. RRSIG A 7 2 3600 20150420235959 20051021000000 (
40430 example.
hVe+wKYMlObTRPhX0NL67GxeZfdxqr/QeR6F
tfdAj5+FgYxyzPEjIzvKWy00hWIl6wD3Vws+
rznEn8sQ64UdqA== )
ai.example. AAAA 2001:db8:0:0:0:0:f00:baa9
ai.example. RRSIG AAAA 7 2 3600 20150420235959 20051021000000 (
40430 example.
LcdxKaCB5bGZwPDg+3JJ4O02zoMBrjxqlf6W
uaHQZZfTUpb9Nf2nxFGe2XRPfR5tpJT6GdRG
cHueLuXkMjBArQ== )

La requête a renvoyé une réponse produite à la suite d'une expansion
de joker. La section answer contient un RRSet joker étendu comme il
le serait dans une réponse DNS classique. La valeur 2 du champ
Labels du RRSIG indique que la réponse résulte d'une expansion de
joker, puisque le nom « a.z.w.example » contient 4 labels. Cela
montre également que « w.example » existe ; il n'est donc pas
nécessaire d'avoir un RR NSEC3 correspondant au « closest encloser ».

Le RR NSEC3 prouve qu'aucune correspondance plus proche n'aurait pu
être utilisée pour répondre à cette requête.

B.5. Erreur « pas de données » sur joker

Une réponse « pas de données » pour un nom couvert par un joker. Les RR NSEC3 prouvent que le nom de joker correspondant n'a pas de RR du type demandé et qu'aucune correspondance plus proche n'existe dans la zone.

   ;; En-tête : QR AA DO RCODE=0
;;
;; Question
a.z.w.example. IN AAAA

;; Answer
;; (vide)

;; Authority
example. SOA ns1.example. bugs.x.w.example. 1 3600 300 (
3600000 3600 )
example. RRSIG SOA 7 1 3600 20150420235959 20051021000000 (
40430 example.
Hu25UIyNPmvPIVBrldN+9Mlp9Zql39qaUd8i
q4ZLlYWfUUbbAS41pG+68z81q1xhkYAcEyHd
VI2LmKusbZsT0Q== )
   ;; RR NSEC3 correspondant au « closest encloser » (w.example)
;; H(w.example) = k8udemvp1j2f7eg6jebps17vp3n8i58h

k8udemvp1j2f7eg6jebps17vp3n8i58h.example. NSEC3 1 1 12 aabbccdd (
kohar7mbb8dc2ce8a9qvl8hon4k53uhi )
k8udemvp1j2f7eg6jebps17vp3n8i58h.example. RRSIG NSEC3 7 2 3600 (
20150420235959 20051021000000 40430 example.
FtXGbvF0+wf8iWkyo73enAuVx03klN+pILBK
S6qCcftVtfH4yVzsEZquJ27NHR7ruxJWDNMt
Otx7w9WfcIg62A== )

;; RR NSEC3 couvrant le nom « next closer » (z.w.example)
;; H(z.w.example) = qlu7gtfaeh0ek0c05ksfhdpbcgglbe03

q04jkcevqvmu85r014c7dkba38o0ji5r.example. NSEC3 1 1 12 aabbccdd (
r53bq7cc2uvmubfu5ocmm6pers9tk9en A RRSIG )
q04jkcevqvmu85r014c7dkba38o0ji5r.example. RRSIG NSEC3 7 2 3600 (
20150420235959 20051021000000 40430 example.
hV5I89b+4FHJDATp09g4bbN0R1F845CaXpL3
ZxlMKimoPAyqletMlEWwLfFia7sdpSzn+ZlN
NlkxWcLsIlMmUg== )

;; RR NSEC3 correspondant à un joker au « closest encloser ».
;; H(*.w.example) = r53bq7cc2uvmubfu5ocmm6pers9tk9en

r53bq7cc2uvmubfu5ocmm6pers9tk9en.example. NSEC3 1 1 12 aabbccdd (
t644ebqk9bibcna874givr6joj62mlhv MX RRSIG )
r53bq7cc2uvmubfu5ocmm6pers9tk9en.example. RRSIG NSEC3 7 2 3600 (
20150420235959 20051021000000 40430 example.
aupviViruXs4bDg9rCbezzBMf9h1ZlDvbW/C
ZFKulIGXXLj8B/fsDJarXVDA9bnUoRhEbKp+
HF1FWKW7RIJdtQ== )

;; Additional
;; (vide)

La requête a renvoyé les RR NSEC3 qui prouvent que les données
demandées n'existent pas et qu'aucun RR joker ne s'applique.

B.6. Erreur « pas de données » sur DS dans la zone fille

Une réponse « pas de données » pour une requête QTYPE=DS qui a été envoyée par erreur à un serveur de noms de la zone fille.

;; En-tête : QR AA DO RCODE=0
;;
;; Question
;; Answer
;; (vide)

;; Authority

3600000 3600 )

40430 example. Hu25UIyNPmvPIVBrldN+9Mlp9Zql39qaUd8i q4ZLlYWfUUbbAS41pG+68z81q1xhkYAcEyHd VI2LmKusbZsT0Q== )

;; Le RR NSEC3 correspond au QNAME et montre que le bit de type DS n'est pas activé.

2t7b4g4vsa5smi47k61mv5bv1a22bojr MX DNSKEY NS SOA NSEC3PARAM RRSIG )

                       20150420235959 20051021000000 40430 example.

OSgWSm26B+cS+dDL8b5QrWr/dEWhtCsKlwKL IBHYH6blRxK9rC0bMJPwQ4mLIuw85H2EY762 BOCXJZMnpuwhpA== )

;; Additional
;; (vide)

La requête a renvoyé un RR NSEC3 montrant que la requête a été
répondue par le serveur faisant autorité pour la zone « example ». Le
RR NSEC3 indique la présence d'un RR SOA, montrant qu'il provient de
l'apex de la zone fille, et non du « zone cut » du parent. Les
requêtes pour le RRSet DS d'« example » devraient être envoyées aux
serveurs parents (qui sont, dans ce cas, les serveurs racine).