New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
auth, rec: RSA-SHA1 broken on EL9 #12890
Comments
|
I guess pdns could also init openssl with an explicit policy, or at least openssl.cnf? |
|
I did search for a way to configure openssl (either programmatically or via i'ts .cnf file), but did not find it |
|
I think the steps ahead are:
|
it is my understanding that it's not possible to influence or even query the policy from our end |
|
A step 4. could be: a smart way to adapt. That would involve a test to see if the algos work and then disable the algos if not. That way the default RHEL9 config would “work” (go Insecure) and if the sysadmin enables a policy we adapt and start validating. |
I have just learned that this is what BIND9 does (outside of RHELs automatic configuration). |
|
for auth, Otto suggests teaching |
|
Should Recursor use EDE? Code 1, "Unsupported DNSKEY Algorithm", perhaps? |
I would not have been be surprised if that would work automatically if we modify the return value of But alas, I was wrong, DNSSEC related EDE is only added to an answer if it is Bogus, not when going Insecure |
|
#12891 is the first step for documenting the problem for existing users. It points at this issue, because it is actively developing. Eventually we should update the docs once more to explain what we actually did to make it easy to deal with this issue. |
I believe that would be the best approach and would save us a lot of bug reports on both sides (Fedora/Red Hat) and PowerDNS. |
Short description
Red Hat has decided that RSASHA1 validation (and signing?) is, by default, forbidden in EL9, even for DNSSEC.
This breaks auth if a user has algo 5/7 keys:
This breaks recursor -
icann.org, which currently is signed with algo 7, is declared BOGUS.Workaround
Running
update-crypto-policies --set DEFAULT:SHA1(and restarting affected daemons) makes the problem go away.LEGACYalso works, but likely allows more things that users may not want. (you may need todnf install crypto-policies-scripts)Handling in other software
For BIND,
update-crypto-policiesgenerates a snippet (included fromnamed.conf) that explicitly disables the affected algorithms, which changes the outcome from Bogus to Insecure.Unbound handles the failure case explicitly: NLnetLabs/unbound@6cfcf21
cznic libdnssec (gnutls, not openssl): https://gitlab.nic.cz/knot/knot-dns/-/commit/b0c6f0709aeab#3b7edfb68fbd436c6b46dcbb2c7a8c0cc6d5fd92_264_266
Fixing this
Some proposals:
configurable DNSSEC policy
if we add support for a feature like
disable-algorithms=5,7to Recursor, users at least have a quick workaround to go insecure for such keys without changing the systemwide policy. Configuration of that feature could maybe be integrated into the systemwide policy like RHEL has done for BIND.detect the situation/handle the error
Either during validation handle the specific error (like Unbound does), or do a check at startup and then automatically disable the algorithms.
document it
We could also decide to just document that everything will be broken until the user updates the systemwide policy so OpenSSL allows RSA-SHA1 validation.
The text was updated successfully, but these errors were encountered: