nsec3_auth.feature 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159
  1. Feature: NSEC3 Authoritative service
  2. This feature tests NSEC3 as defined in RFC5155, using the example
  3. zone from appendix A and testing the example responses from appendix B.
  4. Additional tests can be added as well.
  5. # Response section data is taken directly from RFC5155
  6. # It has been modified slightly; it has been 'flattened' (i.e. converted
  7. # to 1-line RRs with TTL and class data), and whitespace has been added
  8. # in the places where dig adds them too.
  9. # Any other changes from the specific example data are added as inline
  10. # comments.
  11. Scenario: B.1. Name Error
  12. Given I have bind10 running with configuration nsec3/nsec3_auth.config
  13. A dnssec query for a.c.x.w.example. should have rcode NXDOMAIN
  14. The last query response should have flags qr aa rd
  15. The last query response should have edns_flags do
  16. The last query response should have ancount 0
  17. The last query response should have nscount 8
  18. The last query response should have adcount 1
  19. The authority section of the last query response should be
  20. """
  21. example. 3600 IN SOA ns1.example. bugs.x.w.example. 1 3600 300 3600000 3600
  22. example. 3600 IN RRSIG SOA 7 1 3600 20150420235959 20051021000000 40430 example. Hu25UIyNPmvPIVBrldN+9Mlp9Zql39qaUd8iq4ZLlYWfUUbbAS41pG+6 8z81q1xhkYAcEyHdVI2LmKusbZsT0Q==
  23. 0p9mhaveqvm6t7vbl5lop2u3t2rp3tom.example. 3600 IN NSEC3 1 1 12 aabbccdd 2t7b4g4vsa5smi47k61mv5bv1a22bojr NS SOA MX RRSIG DNSKEY NSEC3PARAM
  24. 0p9mhaveqvm6t7vbl5lop2u3t2rp3tom.example. 3600 IN RRSIG NSEC3 7 2 3600 20150420235959 20051021000000 40430 example. OSgWSm26B+cS+dDL8b5QrWr/dEWhtCsKlwKLIBHYH6blRxK9rC0bMJPw Q4mLIuw85H2EY762BOCXJZMnpuwhpA==
  25. b4um86eghhds6nea196smvmlo4ors995.example. 3600 IN NSEC3 1 1 12 aabbccdd gjeqe526plbf1g8mklp59enfd789njgi MX RRSIG
  26. b4um86eghhds6nea196smvmlo4ors995.example. 3600 IN RRSIG NSEC3 7 2 3600 20150420235959 20051021000000 40430 example. ZkPG3M32lmoHM6pa3D6gZFGB/rhL//Bs3Omh5u4m/CUiwtblEVOaAKKZ d7S959OeiX43aLX3pOv0TSTyiTxIZg==
  27. 35mthgpgcu1qg68fab165klnsnk3dpvl.example. 3600 IN NSEC3 1 1 12 aabbccdd b4um86eghhds6nea196smvmlo4ors995 NS DS RRSIG
  28. 35mthgpgcu1qg68fab165klnsnk3dpvl.example. 3600 IN RRSIG NSEC3 7 2 3600 20150420235959 20051021000000 40430 example. g6jPUUpduAJKRljUsN8gB4UagAX0NxY9shwQAynzo8EUWH+z6hEIBlUT PGj15eZll6VhQqgZXtAIR3chwgW+SA==
  29. """
  30. Scenario: B.2. No Data Error
  31. Given I have bind10 running with configuration nsec3/nsec3_auth.config
  32. A dnssec query for ns1.example. type MX should have rcode NOERROR
  33. The last query response should have flags qr aa rd
  34. The last query response should have edns_flags do
  35. The last query response should have ancount 0
  36. The last query response should have nscount 4
  37. The last query response should have adcount 1
  38. The authority section of the last query response should be
  39. """
  40. example. 3600 IN SOA ns1.example. bugs.x.w.example. 1 3600 300 3600000 3600
  41. example. 3600 IN RRSIG SOA 7 1 3600 20150420235959 20051021000000 40430 example. Hu25UIyNPmvPIVBrldN+9Mlp9Zql39qaUd8iq4ZLlYWfUUbbAS41pG+6 8z81q1xhkYAcEyHdVI2LmKusbZsT0Q==
  42. 2t7b4g4vsa5smi47k61mv5bv1a22bojr.example. 3600 IN NSEC3 1 1 12 aabbccdd 2vptu5timamqttgl4luu9kg21e0aor3s A RRSIG
  43. 2t7b4g4vsa5smi47k61mv5bv1a22bojr.example. 3600 IN RRSIG NSEC3 7 2 3600 20150420235959 20051021000000 40430 example. OmBvJ1Vgg1hCKMXHFiNeIYHK9XVW0iLDLwJN4TFoNxZuP03gAXEI634Y wOc4YBNITrj413iqNI6mRk/r1dOSUw==
  44. """
  45. Scenario: B2.1. No Data Error, Empty Non-Terminal
  46. Given I have bind10 running with configuration nsec3/nsec3_auth.config
  47. A dnssec query for y.w.example. should have rcode NOERROR
  48. The last query response should have flags qr aa rd
  49. The last query response should have edns_flags do
  50. The last query response should have ancount 0
  51. The last query response should have nscount 4
  52. The last query response should have adcount 1
  53. The authority section of the last query response should be
  54. """
  55. example. 3600 IN SOA ns1.example. bugs.x.w.example. 1 3600 300 3600000 3600
  56. example. 3600 IN RRSIG SOA 7 1 3600 20150420235959 20051021000000 40430 example. Hu25UIyNPmvPIVBrldN+9Mlp9Zql39qaUd8iq4ZLlYWfUUbbAS41pG+6 8z81q1xhkYAcEyHdVI2LmKusbZsT0Q==
  57. ji6neoaepv8b5o6k4ev33abha8ht9fgc.example. 3600 IN NSEC3 1 1 12 aabbccdd k8udemvp1j2f7eg6jebps17vp3n8i58h
  58. ji6neoaepv8b5o6k4ev33abha8ht9fgc.example. 3600 IN RRSIG NSEC3 7 2 3600 20150420235959 20051021000000 40430 example. gPkFp1s2QDQ6wQzcg1uSebZ61W33rUBDcTj72F3kQ490fEdp7k1BUIfb cZtPbX3YCpE+sIt0MpzVSKfTwx4uYA==
  59. """
  60. Scenario: B.3. Referral to an Opt-Out Unsigned Zone
  61. Given I have bind10 running with configuration nsec3/nsec3_auth.config
  62. A dnssec query for mc.c.example. type MX should have rcode NOERROR
  63. The last query response should have flags qr rd
  64. The last query response should have edns_flags do
  65. The last query response should have ancount 0
  66. The last query response should have nscount 6
  67. The last query response should have adcount 3
  68. The authority section of the last query response should be
  69. """
  70. c.example. 3600 IN NS ns1.c.example.
  71. c.example. 3600 IN NS ns2.c.example.
  72. 35mthgpgcu1qg68fab165klnsnk3dpvl.example. 3600 IN NSEC3 1 1 12 aabbccdd b4um86eghhds6nea196smvmlo4ors995 NS DS RRSIG
  73. 35mthgpgcu1qg68fab165klnsnk3dpvl.example. 3600 IN RRSIG NSEC3 7 2 3600 20150420235959 20051021000000 40430 example. g6jPUUpduAJKRljUsN8gB4UagAX0NxY9shwQAynzo8EUWH+z6hEIBlUT PGj15eZll6VhQqgZXtAIR3chwgW+SA==
  74. 0p9mhaveqvm6t7vbl5lop2u3t2rp3tom.example. 3600 IN NSEC3 1 1 12 aabbccdd 2t7b4g4vsa5smi47k61mv5bv1a22bojr NS SOA MX RRSIG DNSKEY NSEC3PARAM
  75. 0p9mhaveqvm6t7vbl5lop2u3t2rp3tom.example. 3600 IN RRSIG NSEC3 7 2 3600 20150420235959 20051021000000 40430 example. OSgWSm26B+cS+dDL8b5QrWr/dEWhtCsKlwKLIBHYH6blRxK9rC0bMJPw Q4mLIuw85H2EY762BOCXJZMnpuwhpA==
  76. """
  77. The additional section of the last query response should be
  78. """
  79. ns1.c.example. 3600 IN A 192.0.2.7
  80. ns2.c.example. 3600 IN A 192.0.2.8
  81. """
  82. Scenario: B.4. Wildcard Expansion
  83. Given I have bind10 running with configuration nsec3/nsec3_auth.config
  84. A dnssec query for a.z.w.example. type MX should have rcode NOERROR
  85. The last query response should have flags qr aa rd
  86. The last query response should have edns_flags do
  87. # BUG: NO RRSIG IN WILDCARD RESPONSE!!! (see ticket #1701)
  88. #The last query response should have ancount 2
  89. The last query response should have nscount 5
  90. The last query response should have adcount 9
  91. # BUG: NO RRSIG IN WILDCARD RESPONSE!!! (see ticket #1701)
  92. #The answer section of the last query response should be
  93. #"""
  94. #a.z.w.example. 3600 IN MX 1 ai.example.
  95. #a.z.w.example. 3600 IN RRSIG MX 7 2 3600 20150420235959 20051021000000 40430 example. CikebjQwGQPwijVcxgcZcSJKtfynugtlBiKb9FcBTrmOoyQ4InoWVudh CWsh/URX3lc4WRUMivEBP6+4KS3ldA==
  96. #"""
  97. The authority section of the last query response should be
  98. """
  99. example. 3600 IN NS ns1.example.
  100. example. 3600 IN NS ns2.example.
  101. example. 3600 IN RRSIG NS 7 1 3600 20150420235959 20051021000000 40430 example. PVOgtMK1HHeSTau+HwDWC8Ts+6C8qtqd4pQJqOtdEVgg+MA+ai4fWDEh u3qHJyLcQ9tbD2vvCnMXjtz6SyObxA==
  102. q04jkcevqvmu85r014c7dkba38o0ji5r.example. 3600 IN NSEC3 1 1 12 aabbccdd r53bq7cc2uvmubfu5ocmm6pers9tk9en A RRSIG
  103. q04jkcevqvmu85r014c7dkba38o0ji5r.example. 3600 IN RRSIG NSEC3 7 2 3600 20150420235959 20051021000000 40430 example. hV5I89b+4FHJDATp09g4bbN0R1F845CaXpL3ZxlMKimoPAyqletMlEWw LfFia7sdpSzn+ZlNNlkxWcLsIlMmUg==
  104. """
  105. # This is slightly different from the example in RFC5155; there are
  106. # more RRs in the additional section.
  107. The additional section of the last query response should be
  108. """
  109. ai.example. 3600 IN A 192.0.2.9
  110. ai.example. 3600 IN AAAA 2001:db8::f00:baa9
  111. ns1.example. 3600 IN A 192.0.2.1
  112. ns2.example. 3600 IN A 192.0.2.2
  113. ai.example. 3600 IN RRSIG A 7 2 3600 20150420235959 20051021000000 40430 example. hVe+wKYMlObTRPhX0NL67GxeZfdxqr/QeR6FtfdAj5+FgYxyzPEjIzvK Wy00hWIl6wD3Vws+rznEn8sQ64UdqA==
  114. ai.example. 3600 IN RRSIG AAAA 7 2 3600 20150420235959 20051021000000 40430 example. LcdxKaCB5bGZwPDg+3JJ4O02zoMBrjxqlf6WuaHQZZfTUpb9Nf2nxFGe 2XRPfR5tpJT6GdRGcHueLuXkMjBArQ==
  115. ns1.example. 3600 IN RRSIG A 7 2 3600 20150420235959 20051021000000 40430 example. bu6kx73n6XEunoVGuRfAgY7EF/AJqHy7hj0jkiqJjB0dOrx3wuz9SaBe GfqWIdn/uta3SavN4FRvZR9SCFHF5Q==
  116. ns2.example. 3600 IN RRSIG A 7 2 3600 20150420235959 20051021000000 40430 example. ktQ3TqE0CfRfki0Rb/Ip5BM0VnxelbuejCC4zpLbFKA/7eD7UNAwxMgx JPtbdST+syjYSJaj4IHfeX6n8vfoGA==
  117. """
  118. Scenario: B.5. Wildcard No Data Error
  119. Given I have bind10 running with configuration nsec3/nsec3_auth.config
  120. A dnssec query for a.z.w.example. type AAAA should have rcode NOERROR
  121. The last query response should have flags qr aa rd
  122. The last query response should have edns_flags do
  123. The last query response should have ancount 0
  124. The last query response should have nscount 8
  125. The last query response should have adcount 1
  126. The authority section of the last query response should be
  127. """
  128. example. 3600 IN SOA ns1.example. bugs.x.w.example. 1 3600 300 3600000 3600
  129. example. 3600 IN RRSIG SOA 7 1 3600 20150420235959 20051021000000 40430 example. Hu25UIyNPmvPIVBrldN+9Mlp9Zql39qaUd8iq4ZLlYWfUUbbAS41pG+6 8z81q1xhkYAcEyHdVI2LmKusbZsT0Q==
  130. k8udemvp1j2f7eg6jebps17vp3n8i58h.example. 3600 IN NSEC3 1 1 12 aabbccdd kohar7mbb8dc2ce8a9qvl8hon4k53uhi
  131. k8udemvp1j2f7eg6jebps17vp3n8i58h.example. 3600 IN RRSIG NSEC3 7 2 3600 20150420235959 20051021000000 40430 example. FtXGbvF0+wf8iWkyo73enAuVx03klN+pILBKS6qCcftVtfH4yVzsEZqu J27NHR7ruxJWDNMtOtx7w9WfcIg62A==
  132. q04jkcevqvmu85r014c7dkba38o0ji5r.example. 3600 IN NSEC3 1 1 12 aabbccdd r53bq7cc2uvmubfu5ocmm6pers9tk9en A RRSIG
  133. q04jkcevqvmu85r014c7dkba38o0ji5r.example. 3600 IN RRSIG NSEC3 7 2 3600 20150420235959 20051021000000 40430 example. hV5I89b+4FHJDATp09g4bbN0R1F845CaXpL3ZxlMKimoPAyqletMlEWw LfFia7sdpSzn+ZlNNlkxWcLsIlMmUg==
  134. r53bq7cc2uvmubfu5ocmm6pers9tk9en.example. 3600 IN NSEC3 1 1 12 aabbccdd t644ebqk9bibcna874givr6joj62mlhv MX RRSIG
  135. r53bq7cc2uvmubfu5ocmm6pers9tk9en.example. 3600 IN RRSIG NSEC3 7 2 3600 20150420235959 20051021000000 40430 example. aupviViruXs4bDg9rCbezzBMf9h1ZlDvbW/CZFKulIGXXLj8B/fsDJar XVDA9bnUoRhEbKp+HF1FWKW7RIJdtQ==
  136. """
  137. Scenario: B.6. DS Child Zone No Data Error
  138. Given I have bind10 running with configuration nsec3/nsec3_auth.config
  139. A dnssec query for example. type DS should have rcode NOERROR
  140. The last query response should have flags qr aa rd
  141. The last query response should have edns_flags do
  142. The last query response should have ancount 0
  143. The last query response should have nscount 4
  144. The last query response should have adcount 1
  145. The authority section of the last query response should be
  146. """
  147. example. 3600 IN SOA ns1.example. bugs.x.w.example. 1 3600 300 3600000 3600
  148. example. 3600 IN RRSIG SOA 7 1 3600 20150420235959 20051021000000 40430 example. Hu25UIyNPmvPIVBrldN+9Mlp9Zql39qaUd8iq4ZLlYWfUUbbAS41pG+6 8z81q1xhkYAcEyHdVI2LmKusbZsT0Q==
  149. 0p9mhaveqvm6t7vbl5lop2u3t2rp3tom.example. 3600 IN NSEC3 1 1 12 aabbccdd 2t7b4g4vsa5smi47k61mv5bv1a22bojr NS SOA MX RRSIG DNSKEY NSEC3PARAM
  150. 0p9mhaveqvm6t7vbl5lop2u3t2rp3tom.example. 3600 IN RRSIG NSEC3 7 2 3600 20150420235959 20051021000000 40430 example. OSgWSm26B+cS+dDL8b5QrWr/dEWhtCsKlwKLIBHYH6blRxK9rC0bMJPw Q4mLIuw85H2EY762BOCXJZMnpuwhpA==
  151. """