I would like to add decision to not allow SHA1 signatures verification were done on openssl component in RHEL9. It was not proposed by bind maintainer and because the crypto library prevents that operation, there is a little bind package made by any vendor can do. Unless they want to support their own SHA1 implementation.

Of course you can configure DEFAULT:SHA1 crypto policy manually, which I believe is the safest option. Sadly, that will also enable SHA1 acceptance in TLS connections, which were primary target anyway. Unfortunately I do not know a way to enable SHA1 for named.service, but disallow it in other programs.

On 12/15/23 13:38, Scott Morizot wrote:
The question I have is why you're posting the issue to this list and what you expect the ISC to do? It could be submitted as a bug to the distribution you're using. Or if you want to change the way algorithms are treated, the dnsops list at the IETF would be an appropriate place to start. (There has been a fair amount of discussion there on algorithms, but I admit I haven't been following it closely and it has mostly been focused on the signing side.)

As far as I know, RFC 8624 from 2019 remains the last published standards track instruction to validators. Here's the table from it.

 The following table lists the implementation recommendations for DNSKEY algorithms [DNSKEY-IANA].

 +--------+--------------------+-----------------+-------------------+
   | Number | Mnemonics          | DNSSEC Signing  | DNSSEC Validation |
 +--------+--------------------+-----------------+-------------------+
   | 1      | RSAMD5             | MUST NOT        | MUST NOT          |
   | 3      | DSA                | MUST NOT        | MUST NOT          |
   | 5      | RSASHA1            | NOT RECOMMENDED | MUST            |
   | 6      | DSA-NSEC3-SHA1     | MUST NOT        | MUST NOT          |
   | 7      | RSASHA1-NSEC3-SHA1 | NOT RECOMMENDED | MUST            |
   | 8      | RSASHA256          | MUST            | MUST            |
   | 10     | RSASHA512          | NOT RECOMMENDED | MUST            |
   | 12     | ECC-GOST           | MUST NOT        | MAY           |
   | 13     | ECDSAP256SHA256    | MUST            | MUST            |
   | 14     | ECDSAP384SHA384    | MAY             | RECOMMENDED       |
   | 15     | ED25519            | RECOMMENDED     | RECOMMENDED       |
   | 16     | ED448              | MAY             | RECOMMENDED       |
 +--------+--------------------+-----------------+-------------------+

Algorithms 5 and 7 are not recommended for signing but remain valid options until they are moved to MUST NOT. And as long as they are valid options, DNSSEC validation has to remain MUST. ISC BIND functions in part as the reference implementation for the DNS standards as published through the IETF. If your distribution removed the libraries for an algorithm (and openssl is a separate project) on which BIND depends for validating those algorithms and it's the only algorithm available I'm not sure what other result BIND can legitimately return.

Yes, there's a statement in the validation portion of RFC 4035 that if the resolver doesn't support any of the algorithms in the delegation, it should treat the zone as unsigned. But that doesn't apply here from what I can tell. The DNSSEC algorithm itself (algorithm 7 in this instance) is supported in the resolver and must be supported for validation to be standards conformant. Support for the hash algorithm used by the supported algorithm has been removed from the operating system.

There is a little we can do. Used crypto backend does not allow SHA1 validation and there is no configuration named can use to request it. Choices any DNSSEC validation service has is:

1) Ignore the problem. Causes SERVFAILs on any SHA1 signed zones unfortunately on RHEL9 and derivatives in default configuration. 2) Do not use system provided crypto libraries. I think named maintainers lack expertise and manpower to properly maintain own set of crypto libraries. I would not recommend that either. 3) Disable SHA1 algorithm to make it equivalent to unsigned. Yes, it violates RFC 8624 this way. But does not cause SERVFAILs, still protects all other zones signed with stronger algorithms. Just small subset becomes unprotected. Either by runtime autodetection or manual configuration. 4) Completely disable DNSSEC validation. I would not recommend this option, this is the worst choice.

I have chosen the choice 3) for RHEL bind package and ISC has taken it as well. I don't think there were any better choice anyway.

I think the future solution might be having separate openssl SHA1 provider, which would be explicitly requested by API in named, but not used for common applications doing TLS connections.


I don't see anywhere that BIND is returning the wrong result. In that situation, it looks like the only option. The ISC has no control over those building distributions nor does it have any control over what NIST, Apple, and others choose to use within the standards to sign their zones.

Yes, it's a problem and the ISC can and likely will weigh in on it in the appropriate places. Since one of their objectives with BIND has always been to be a reference implementation for the standards, they can't really arbitrarily decide not to follow them.

Anyway, those are the main thoughts I had while reading the discussion. I don't speak for anyone but myself so the ISC might have an entirely different take on the issue.

Scott

On Fri, Dec 15, 2023 at 5:47 AM Wolfgang Riedel via bind-users <bind-users@lists.isc.org> wrote:

    Hello Petr,

    The issue is not just BIND local, as you can see on dnsviz.net
    <http://dnsviz.net>.
    The whole chain of trust is broken.

    nist.gov <https://dnsviz.net/d/nist.gov/dnssec/>
    dnsviz.net <https://dnsviz.net/d/nist.gov/dnssec/>
        logo_16x16.png <https://dnsviz.net/d/nist.gov/dnssec/>

    <https://dnsviz.net/d/nist.gov/dnssec/>

    My question is more how you all deal with the fact on current and
    updates systems???


--
Petr Menšík
Software Engineer, RHEL
Red Hat,https://www.redhat.com/
PGP: DFCF908DB7C87E8E529925BC4931CA5B6C9FC5CB
-- 
Visit https://lists.isc.org/mailman/listinfo/bind-users to unsubscribe from 
this list

ISC funds the development of this software with paid support subscriptions. 
Contact us at https://www.isc.org/contact/ for more information.


bind-users mailing list
bind-users@lists.isc.org
https://lists.isc.org/mailman/listinfo/bind-users

Reply via email to