NetBSD-Users archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: trouble resolving protonmail.ch, dnssec, seems netbsd-specific maybe



I was able to reproduce maybe the problem. I think the version of named 
is bad (it is unsupported).  I believe you got it to work because dnssec 
validation was disabled. (When enabled the queries did not work.)

> My config file starts out (now that I changed auto to yes):
> 
> options {
>         directory "/etc/namedb";
>         dnssec-enable yes;
>         dnssec-validation yes;
>         managed-keys-directory "keys";
>         bindkeys-file "bind.keys";
>         allow-recursion { acl_recursive_query; };
> };

dnssec-validation yes should be using the "bind.keys"

> and dnssec-validation used to be auto.  With dnssec-validation yes, I
> think bindkeys-file is ignored.

That is reversed. It is using bindkeys-file.  Have a look at 
/usr/share/doc/reference/ref8/bind9/arm/Bv9ARM.ch06.html  (or see my 
extended edited version of it :)

> keys/managed-keys.bind has something that looks current

That is used because your bind.keys is using managed-keys.

Let's verify your named is doing validation:

dig @127.0.0.1 +dnssec . | egrep "flags:|RRSIG"

You should see the "ad" flag.

dig @127.0.0.1 +dnssec www.netbsd.org

You should also see the "ad" flag.

But protonmail.ch does have problems which I see using BIND 9.10.5 on 
NetBSD 8.1 using "dnssec-validation auto;"

Mar 20 01:32:11 morden named[292]: validating protonmail.ch/DNSKEY: no 
valid signature found (DS)

Mar 20 01:32:11 morden named[292]: no valid RRSIG resolving 
'protonmail.ch/DNSKEY/IN': 3.127.12.149#53

Mar 20 01:32:12 morden named[292]: validating protonmail.ch/DNSKEY: no 
valid signature found (DS)

Mar 20 01:32:12 morden named[292]: no valid RRSIG resolving 
'protonmail.ch/DNSKEY/IN': 18.194.37.70#53

Mar 20 01:32:12 morden named[292]: validating protonmail.ch/DNSKEY: no 
valid signature found (DS)

Mar 20 01:32:12 morden named[292]: no valid RRSIG resolving 
'protonmail.ch/DNSKEY/IN': 185.70.40.19#53

So it tried all three of their nameservers above.

Mar 20 01:32:12 morden named[292]: broken trust chain resolving 
'protonmail.ch/A/IN': 185.70.40.19#53

Mar 20 01:32:12 morden named[292]: query client=0x7f18b31d0800 
thread=0x7f18b598f000 (protonmail.ch/A): query_find: unexpected error 
after resuming: broken trust chain

I bumped up some debugging

20-Mar-2020 02:04:20.361 validating protonmail.ch/DNSKEY: no DNSKEY 
matching DS
20-Mar-2020 02:04:20.361 validating protonmail.ch/DNSKEY: no valid 
signature found (DS)

I also looked at v9_10 lib/dns/validator.c  code around this.
 
$ dig +multiline +dnssec @a.nic.ch. protonmail.ch 

protonmail.ch.          3600 IN DS 27196 8 4 (
E422EE237DE2FE29190F1BDDC0C0E2469679411F329A
AB2A7BD8DE43575C1C6FAB6B9FFC521996E526F4B5D5
                                13798D9E )

keyid is 27196

$ dig +multiline +dnssec @ns1.protonmail.ch protonmail.ch -t DNSKEY

...
                                ) ; ZSK; alg = RSASHA256 ; key id = 6753

...
                                ) ; KSK; alg = RSASHA256 ; key id = 27196

So there is one for the same keyid.
I didn't try to use any custom tool to test the DS hash and signatures 
themselves.
But using other and newer nameservers validated it fine.

I also use "dnssec-validation yes;" instead of auto. bind.keys in the 
NetBSD 8.1 I looked at is out of date. It won't work for DNSSEC. It 
falls back to use no DNSSEC.

My recommendation is use newer named.
(I have had similar problems before related to not being built with 
correct algorithms support but that resulted in different messages.)




Home | Main Index | Thread Index | Old Index