On 2/26/24 13:41, Al Whaley wrote:
As far as I have been able to determine through some fairly extensive reading, a feature I depend on has fallen out of favor with the BIND developers, and is being removed. DNSSEC in 9.18 has two automatic actions where the original code had just one, and the second cannot be disabled.
I am referring to the deprecated feature:

|auto-dnssec maintain;|

||Originally (under the above command) RR records for DNSSEC were maintained by bind, but the ZSK and KSK keys were maintained by me. This command is being discarded.  I understand that bind "sort of" supports this feature in 9.18 by allowing the DNSSEC policy statement to declare unlimited lifetime, but after careful reading of the documentation and reading a number of complaints, it turns out that bind may under various circumstances decide that it is appropriate not to use existing keys and decide that it knows best, and then it makes new ones.  This potential instability of course would be disastrous, and completely unnecessary.

I have never experienced this, in either BIND 9.16 or BIND 9.18 (including the latter with KASP set to not rotate any keys). Can you elaborate as to where in the documentation and/or what complaints you have seen where correctly configured KASPs in 9.18.24+ decide to roll keys? I'd certainly like to know if that's the case, for reasons described below.

I am sure there are the usual people that will assure me I don't or shouldn't want to do what I am doing, but I am experienced and have good reasons.  Yes I know that I can have bind update the DS records, but for good reason I definitely do not want to do that.  I need some syntax that assures my use of existing KSK and ZSK keys and prevents bind from changing them.

Actually, I do exactly what you're doing in several circumstances. I use the deprecated `dnssec-keymgr` on a few different systems, including a signing service that I run, in order to maintain keys. (As is probably the case with you, there's already some tooling built around generating, rotating, backing up, etc. of keys that I have not yet integrated with the newer KASP regime.) I *do* plan to refactor these different services to use KASP, but I still need to do some more testing/QA/etc. On my personal domains (including the ironically-named one I am sending this from), I have mostly switched to 100% KASP. KSKs properly don't rotate, and ZSKs do only if I request.

I wonder if the bind developers are open to allowing a command in the new policy statement structure that blocks this 'feature' of automatically updating ZSK and KSK?  If there is such a thing already, I will be delighted to hear that I had missed seeing it.

I believe the following KASP will do what you want it to do:

dnssec-policy pkcs11 {
        keys {
                zsk lifetime unlimited algorithm 13;
                ksk lifetime unlimited algorithm 13;
    };
        signatures-refresh P26D;
        signatures-validity P30D;
        signatures-validity-dnskey P30D;
};

This policy has been running for about 6 months and BIND has never seen fit to roll any keys, ZSK or KSK. (You can safely ignore the sig validity/refresh stuff; I add that for other reasons.)


A lot of pain and suffering in this world comes from people being sure they have a 'better idea' and everybody needs to do whatever.  This feels a bit like that.  A command that gives choice and real certainty would be great.

That's certainly true in a lot of cases. We hear stories all of the time (and sometimes experience them) about how well-intentioned software developers try to reduce code complexity and end up inadvertently generating work for users and admins. Some of that's inevitable as we keep up with evolving software and best-practices. (It also provides some level of job security :-D.)

But in this case, I think the BIND developers did a good job ensuring there was a way to create policies that integrate well with key-management regimes external to BIND.

michael
--
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