[Pdns-users] PDNS Authoritative DNSSEC Question

Chris lists at shthead.com
Fri Feb 7 11:22:56 UTC 2014


Hi list,

I am playing around with DNSSEC and I seem to have created a strange 
problem for myself.

I am using PDNS 3.3-1 on Debian with the generic SQL backend and a MySQL 
database. The schema I was using previously didn't match the recommended 
one in the documentation, the 'type' column didn't allow NULL values. 
This zone in question has SRV records which appear to have an issue with 
this, other zones I have signed look fine.

To reproduce this I added another domain to test and here are the steps 
that I did.

1. Signed the zone:

# pdnssec --config-dir=/etc/powerdns --config-name=internal secure-zone 
r-9.net
Securing zone with rsasha256 algorithm with default key size
Zone r-9.net secured
Adding NSEC ordering information
Error: GSQLBackend unable to insert empty non-terminal rr _tcp.r-9.net 
in domain_id 3436: Failed to execute mysql_query, perhaps connection 
died? Err=1: Column 'type' cannot be null

The signing errored due to the 'type' column not allowing NULL. I 
updated the schema to allow this.

2. I disabled dnssec on the domain and enabled it again:

# pdnssec --config-dir=/etc/powerdns --config-name=internal 
disable-dnssec r-9.net
# pdnssec --config-dir=/etc/powerdns --config-name=internal secure-zone 
r-9.net
Securing zone with rsasha256 algorithm with default key size
Zone r-9.net secured
Adding NSEC ordering information

3. I set nsec3 narrow:

# pdnssec --config-dir=/etc/powerdns --config-name=internal set-nsec3 
r-9.net '1 1 10 ffee' narrow
NSEC3 (opt-out) set, please rectify-zone if your backend needs it

4. I now retrieve the DS records:

# /usr/bin/pdnssec --config-dir=/etc/powerdns --config-name=internal 
show-zone r-9.net
Zone is not presigned
Zone has NARROW hashed NSEC3 semantics, configuration: 1 1 10 ffee
keys:
ID = 33 (KSK), tag = 61424, algo = 8, bits = 2048       Active: 1 ( 
RSASHA256 )
KSK DNSKEY = r-9.net IN DNSKEY 257 3 8 
AwEAAartZfyxV2RFO5inETzWoxRoMmD3fmVF6H9bQvVXrWtSzDrfcr/z/33L3qFEDjOyx4JSzjJDmqVAkxg2IJOu97E6/QqbXgEVuAsHIzwJ54jesVzGS8zY4oIwAIfDNtDJxSXOF8lHoqZy+rSy/ljjvXc7p65e5LF01bJeaBvo8UcxBcjb+RLryCwtN2dR1NQePZyk2U3H7hOl/TzLjj18WvG/WHGk3DHrbxDWjHMDtlx/XrqP/uYjmbtaRb8X2wk891JjM2KenFKcbOCMj2Pt1/zULBG+oKCBUmCf4/fSd8KToaLlJDcdQII39IsUAr5er0FAfD3Ck/Hoyzjmysk/wu8= 
; ( RSASHA256 )
DS = r-9.net IN DS 61424 8 1 57b2f6345c9e6701ccc87a48e5648f305d2ced66 ; 
( SHA1 digest )
DS = r-9.net IN DS 61424 8 2 
10136d9b41dc5f1448c7d7433061417446640fd60d194693b84c9e3feea73cfd ; ( 
SHA256 digest )
DS = r-9.net IN DS 61424 8 3 
255737aaf8cdfd5f267769f06e4d00b33a273e88e57ea2268d761d898f8f418e ; ( 
GOST R 34.11-94 digest )
DS = r-9.net IN DS 61424 8 4 
7b2493b0a9f917533a015b4fb28791f4d2f57725ff31caef36daeb85b638a5618e2a37767c3ed1798c4810ab3ac18794 
; ( SHA-384 digest )
ID = 35 (ZSK), tag = 9334, algo = 8, bits = 1024        Active: 1 ( 
RSASHA256 )

 From what I can see the DS records should have a key tag of 61424.

5. I check using the verisign labs DNSSEC debugger to see if it passes, 
http://dnssec-debugger.verisignlabs.com/r-9.net.

I get a couple of errors and warnings, mainly: The DS RRset was not 
signed by any keys in the chain-of-trust

Using the same process as above on another domain with no SRV records 
results in no errors.

-------------------------

I checked on the registry (Verisign GRS) to make sure there are no extra 
DS records set, the relevant info from running an EPP 'InfoDomain' looks 
fine to me:

       <SecDnsExtFields>
         <keyTag>61424</keyTag>
         <alg>8</alg>
         <digestType>2</digestType>
<digest>10136D9B41DC5F1448C7D7433061417446640FD60D194693B84C9E3FEEA73CFD</digest>
         <flags>0</flags>
         <protocol>0</protocol>
         <keyAlg>0</keyAlg>
         <pubKey/>
         <maxSigLife>0</maxSigLife>
         <urgent>false</urgent>
         <removeAll>false</removeAll>
         <removeRecord>false</removeRecord>
         <chgRecord>false</chgRecord>
       </SecDnsExtFields>
       <SecDnsExtFields>
         <keyTag>61424</keyTag>
         <alg>8</alg>
         <digestType>3</digestType>
<digest>255737AAF8CDFD5F267769F06E4D00B33A273E88E57EA2268D761D898F8F418E</digest>
         <flags>0</flags>
         <protocol>0</protocol>
         <keyAlg>0</keyAlg>
         <pubKey/>
         <maxSigLife>0</maxSigLife>
         <urgent>false</urgent>
         <removeAll>false</removeAll>
         <removeRecord>false</removeRecord>
         <chgRecord>false</chgRecord>
       </SecDnsExtFields>
       <SecDnsExtFields>
         <keyTag>61424</keyTag>
         <alg>8</alg>
         <digestType>4</digestType>
<digest>7B2493B0A9F917533A015B4FB28791F4D2F57725FF31CAEF36DAEB85B638A5618E2A37767C3ED1798C4810AB3AC18794</digest>
         <flags>0</flags>
         <protocol>0</protocol>
         <keyAlg>0</keyAlg>
         <pubKey/>
         <maxSigLife>0</maxSigLife>
         <urgent>false</urgent>
         <removeAll>false</removeAll>
         <removeRecord>false</removeRecord>
         <chgRecord>false</chgRecord>
       </SecDnsExtFields>
       <SecDnsExtFields>
         <keyTag>61424</keyTag>
         <alg>8</alg>
         <digestType>1</digestType>
<digest>57B2F6345C9E6701CCC87A48E5648F305D2CED66</digest>
         <flags>0</flags>
         <protocol>0</protocol>
         <keyAlg>0</keyAlg>
         <pubKey/>
         <maxSigLife>0</maxSigLife>
         <urgent>false</urgent>
         <removeAll>false</removeAll>
         <removeRecord>false</removeRecord>
         <chgRecord>false</chgRecord>
       </SecDnsExtFields>

Has anyone run into this issue before? I suspect I am doing something 
wrong but I am not sure what...

Thanks





More information about the Pdns-users mailing list