Hello folks,

On [RFC4035 3.1.3.  Including NSEC RRs in a 
Response](https://datatracker.ietf.org/doc/html/rfc4035#section-3.1.3), it 
describes four different cases when NSEC records should be included in a 
response:
1. No Data
2. Name Error
3. Wildcard Answer
4. Wildcard No Data.

I am trying to find real world examples to help me better understand the cases 
above, I found some examples for case 1 and case 2: 

1. No Data
```
dig www.ietf.org.cdn.cloudflare.net. MX +dnssec +cdflag +tcp

;; QUESTION SECTION:
;www.ietf.org.cdn.cloudflare.net. IN    MX

;; AUTHORITY SECTION:
www.ietf.org.cdn.cloudflare.net. 757 IN RRSIG   NSEC 13 6 3600 20211023001635 
20211020221635 34505 cloudflare.net. 
CivIamjPTC4Q9u8Qo6UpBh7x3f94ZMEZ7oxAU0ZEkzcnhMaJ8jEOQv+N 
e3md2JQEKTD01OKa0EGwdRTMb453ww==
www.ietf.org.cdn.cloudflare.net. 757 IN NSEC    
\000.www.ietf.org.cdn.cloudflare.net. A HINFO TXT AAAA LOC SRV NAPTR CERT SSHFP 
RRSIG NSEC TLSA SMIMEA HIP OPENPGPKEY TYPE64 TYPE65 SPF URI CAA
cloudflare.net.         757     IN      SOA     ns1.cloudflare.net. 
dns.cloudflare.com. 1634858195 10000 2400 604800 3600
cloudflare.net.         757     IN      RRSIG   SOA 13 2 3600 20211023001635 
20211020221635 34505 cloudflare.net. 
26pedBEBsFVlmfTuhLGYHOsu0Zzdv5yEqHRCliAF3iOG5GUXb6oTX99+ 
GtVJ8YcWYShwXdJzuMD7hkDvCVgD+Q==
```
The returned NSEC record shows that `www.ietf.org.cdn.cloudflare.net.` exist, 
but NSEC record does not cover MX type, therefore, there is no data for the MX 
record.

2. Name Error
```
dig wwwwwwww.ietf.org. AAAA +dnssec +cdflag +tcp

;; QUESTION SECTION:
;wwwwwwww.ietf.org.             IN      AAAA

;; AUTHORITY SECTION:
ietf.org.               770     IN      SOA     ns0.amsl.com. glen.amsl.com. 
1200000537 1800 1800 604800 1800
ietf.org.               770     IN      RRSIG   SOA 5 2 1800 20221019014909 
20211019005139 40452 ietf.org. 
GUaWdfXoPWOjb+/1w5Dtn8VoeemBYXdDIQui365JuuIBkEC4YKFLb+m+ 
u8YJ+cbnTzDb768HkTX8AbWaupZVR2FLn2r06hf6YruVi5jRjzExYLQ6 
22Rn8TCvNpNRBZ7fyEcBd9m3aacGr+2iBXgYL9QRXag0tSAAW5oxjI8H 
CcQLLylwGKDvQv2sNIQLxZlkYFXa+swBOuFQdT8MmymOKjV1d+p3s+S0 
1HdUb7JAR2vTK/UVib5zfyXGiQcpD6F3XOQNVTY2dgc2ywAqoudANVmz 
Rm9rql12MALn2hu5HwrfC0djzXxo6Ry8I0KLmRtAsDoz4ie95Oh1Bnt4 qUhJLA==
ietf.org.               770     IN      RRSIG   NSEC 5 2 1800 20221019015032 
20211019005139 40452 ietf.org. 
PiCNEGBSBbC/ALNR5ebDwk1wQGMH/l6MtV5ZAGYl9M1wf43NrqHapDlU 
AP2E07FsPIyo9PcWui67PidLgVA4e0rRJbyHK2B92tEeprZbxSOCeIFi 
NWiLl1oCZt+IQCCnFlzJkbwk2MWOVRYxUdQfmWk0QZZZtRr1c/i4VwPU 
MAVqCORkGpc6W6LLiTITLphe7X0NHb7e41n8J06tPh1a6GmRYRJCy41c 
F26Bf6GcEJBpNTvlNuirimbhvjL4Ax+FHBe5MA/Tjp4K1AeUIA0ibBVI 
20o14zUqSsph67/Snz9fdpJ/dsvP9QwTNLTKR6Jxofi/ArWEBEheXsm+ pkZTRA==
ietf.org.               770     IN      NSEC    _dmarc.ietf.org. A NS SOA MX 
TXT AAAA RRSIG NSEC DNSKEY SPF
wwwtest.ietf.org.       770     IN      RRSIG   NSEC 5 3 1800 20221019015021 
20211019005139 40452 ietf.org. 
regwKawm6O9BAaHVyBICHjPlGiwDWoXO8OaqH4zJOOgAglrAMXajbEmx 
XHJsbq3DVEVGkU8NSQJxmGYjklyKzmMbIBpt7+RaXKT7WIGd/zRjSlnI 
gWSztB6gWTMQq98vQKeFgrt5X8a10p6C36gtJh5sGFq8FpiAvKoKuGO8 
tyWKxux7pEQhlhTySr7ipRe8qmGDpy4H+8bkGqvJ7UJ0f3A366bZyD2Q 
XLdTG4DUrNWt8wKK0FiL2851PegU8FdQb0IXOlBHNF6qXiKCIhBLbK4W 
3O3UYKsNLhYPBYuWNGZQ2mlEsfgUC9ddBU1trmMEObm3E+1tR/jemSYA uF+S7Q==
wwwtest.ietf.org.       770     IN      NSEC    xml2rfc.ietf.org. CNAME RRSIG 
NSEC
```
The returned NSEC records show that both `wwwwwwww.ietf.org.` and `*.ietf.org.` 
do not exist, therefore it is a name error.

---

However, it is very hard to find examples for case 3 and case 4:
3. Wildcard Answer
4. Wildcard No Data.

It requires the zone to be configured with the wildcard record, and the zone is 
signed with DNSSEC. One example I can find but not what I want is:
```
dig "*.cloudflare.com." NSEC +dnssec +cdflag +tcp
```

The response is
```
;; QUESTION SECTION:
;*.cloudflare.com.              IN      NSEC

;; ANSWER SECTION:
*.cloudflare.com.       300     IN      NSEC    \000.*.cloudflare.com. RRSIG 
NSEC
*.cloudflare.com.       300     IN      RRSIG   NSEC 13 2 300 20211023002134 
20211020222134 34505 cloudflare.com. 
D06CbZi5aXMm55fhhqbQNKqGmE0euonIGE8hcVFvIbdqIbZ2d6JnkeWN 
k76JTLMphqS1KOGVIkI58xoChnxrMQ==
```

Which seems like a wildcard response. However, when I send query for some name 
I think that would match the wildcard, a non-wildcard response is sent back:

```
dig "IThinkItShouldNeverExist.cloudflare.com." NSEC +dnssec +cdflag +tcp

; <<>> DiG 9.10.6 <<>> IThinkItShouldNeverExist.cloudflare.com. NSEC +dnssec 
+cdflag +tcp
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 19174
;; flags: qr rd ra cd; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags: do; udp: 1232
;; QUESTION SECTION:
;IThinkItShouldNeverExist.cloudflare.com. IN NSEC

;; ANSWER SECTION:
IThinkItShouldNeverExist.cloudflare.com. 300 IN NSEC 
\000.ithinkitshouldneverexist.cloudflare.com. RRSIG NSEC
IThinkItShouldNeverExist.cloudflare.com. 300 IN RRSIG NSEC 13 3 300 
20211023002429 20211020222429 34505 cloudflare.com. 
FbjDF2mF4pQrGJTDS/Ylo3ObhmrQUN7Jw601m/hz2A9nO4ZzOXfTR5ue 
G1CKy37Q9NuX7zBm8qyCnQbntO/q6w==

;; Query time: 4 msec
```

Note that the `labels` field of RRSIG is 3 instead of 2 for the wildcard 
answer, which means this record is created by using online signing, I guess? 
Therefore it is not what I expect to see.

---

Could you give me some real world examples that contain DNSSEC Secure `Wildcard 
Answer` or `Wildcard No Data` as described by [RFC4035 3.1.3.  Including NSEC 
RRs in a Response](https://datatracker.ietf.org/doc/html/rfc4035#section-3.1.3)?

Thanks.

--
Joey Deng



_______________________________________________
DNSOP mailing list
DNSOP@ietf.org
https://www.ietf.org/mailman/listinfo/dnsop

Reply via email to