Bug 2103327
Summary: | Generate AES SHA-2 HMAC keys on deployed IPA instances in FIPS mode | ||
---|---|---|---|
Product: | Red Hat Enterprise Linux 9 | Reporter: | Abhijit Roy <abroy> |
Component: | krb5 | Assignee: | Julien Rische <jrische> |
Status: | CLOSED MIGRATED | QA Contact: | Michal Polovka <mpolovka> |
Severity: | high | Docs Contact: | Filip Hanzelka <fhanzelk> |
Priority: | unspecified | ||
Version: | 9.0 | CC: | abokovoy, afarley, apeddire, asosedki, cilmar, dchen, ekeck, fhanzelk, frenaud, jrische, kemyers, kurathod, mralph, pkulkarn, rcritten, tmihinto, tscherf, vmishra, vvanhaft |
Target Milestone: | rc | Keywords: | MigratedToJIRA, Triaged |
Target Release: | --- | Flags: | jrische:
needinfo-
pm-rhel: mirror+ |
Hardware: | All | ||
OS: | Linux | ||
Whiteboard: | |||
Fixed In Version: | Doc Type: | Known Issue | |
Doc Text: |
.Adding a RHEL 9 replica in FIPS mode to an IdM deployment in FIPS mode that was initialized with RHEL 8.6 or earlier fails
The default RHEL 9 FIPS cryptographic policy aiming to comply with FIPS 140-3 does not allow the use of the AES HMAC-SHA1 encryption types' key derivation function as defined by RFC3961, section 5.1.
This constraint is a blocker when adding a RHEL 9 Identity Management (IdM) replica in FIPS mode to a RHEL 8 IdM environment in FIPS mode in which the first server was installed on a RHEL 8.6 system or earlier. This is because there are no common encryption types between RHEL 9 and the previous RHEL versions, which commonly use the AES HMAC-SHA1 encryption types but do not use the AES HMAC-SHA2 encryption types.
You can view the encryption type of your IdM master key by entering the following command on the server:
[subs="quotes"]
----
# kadmin.local getprinc K/M | grep -E '^Key:'
----
For more information, see the link:https://access.redhat.com/solutions/7003853[AD Domain Users unable to login in to the FIPS-compliant environment] KCS solution.
|
Story Points: | --- |
Clone Of: | Environment: | ||
Last Closed: | 2023-09-18 19:54:01 UTC | Type: | Bug |
Regression: | --- | Mount Type: | --- |
Documentation: | --- | CRM: | |
Verified Versions: | Category: | --- | |
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
Cloudforms Team: | --- | Target Upstream Version: | |
Embargoed: |
Description
Abhijit Roy
2022-07-02 08:50:29 UTC
Hi @abroy I was not able to reproduce the issue. I configured a RHEL 9 server in FIPS mode, then ran ipa-server-install, then configured a client machine in FIPS mode, and ran ipa-client-install. Both machines were installed with RHEL 9 and ipa 4.9.8-7.el9_0. The client installation succeeds with admin or a user member of the admins group. Can you provide the server sos report as well as the client sos report, or link to a customer case? In the linked case, the customer has a RHEL 8.6 server, and that is a completely different setup. This should have been mentioned in the BZ description. With this specific config, the issue can be reproduced: 1. install a 8.6 server in FIPS mode 2. install a 9.0 client in FIPS mode The installation fails when the client tries to obtain a kerberos TGT with the principal provided to ipa-client-install --principal XXX: In krb5kdc.log on the master: Jul 07 04:58:20 master.testrelm.test krb5kdc[6251](info): AS_REQ (2 etypes {aes256-cts-hmac-sha384-192(20), aes128-cts-hmac-sha256-128(19)}) 10.0.192.183: BAD_ENCRYPTION_TYPE: admin for krbtgt/TESTRELM.TEST, KDC has no support for encryption type On the master: [root@master ~]# cat /etc/krb5.conf.d/crypto-policies [libdefaults] permitted_enctypes = aes256-cts-hmac-sha1-96 aes256-cts-hmac-sha384-192 aes128-cts-hmac-sha1-96 aes128-cts-hmac-sha256-128 On the client: # cat /etc/krb5.conf.d/crypto-policies [libdefaults] permitted_enctypes = aes256-cts-hmac-sha384-192 aes128-cts-hmac-sha256-128 Moving the issue to krb5 component for further analysis. A FIPS-enabled RHEL9 client will fail to authenticate against any RHEL8 IPA server (FIPS or non-FIPS) because none of the encryption types supported by IPA on RHEL8 are allowed on RHEL9 in FIPS mode, which aims to comply with FIPS 140-3, a newer and more strict version of the standard (more information in bug 2039684). Fixing this issue is not trivial, because it requires to update user passwords and to add new keys to all services and import these new keys to service keytabs. We are planning to provide batch script to automate this process as much as possible. The encrypt type aes256-cts-hmac-sha1-96 was used. It is the default for RHEL 8 because: 1. HMAC-SHA1 is approved in CMVP 2. AES SHA-1 HMAC encryption types remain essential for interoperability with Active Directory because they are the "best" ones MIT Kerberos has in common with AD [2]. However, FIPS mode in RHEL 9 does not contain HMAC-SHA1-96 ~~~ mac = AEAD HMAC-SHA2-256 HMAC-SHA2-384 HMAC-SHA2-512 group = SECP256R1 SECP384R1 SECP521R1 \ FFDHE-2048 FFDHE-3072 FFDHE-4096 FFDHE-6144 FFDHE-8192 ~~~ Also Bug 2006843 - Disable SHA-1 in FIPS policy That's why it failed. The workaround will be using FIPS:AD-SUPPORT because ~~~ ... # This subpolicy is provided for enabling aes256-cts-hmac-sha1-96, # the strongest Kerberos encryption type interoperable with Active Directory. cipher@kerberos = AES-256-CBC+ mac@kerberos = HMAC-SHA1+ ~~~ 1. https://csrc.nist.gov/publications/detail/sp/800-140c/rev-1/final 2. https://learn.microsoft.com/en-us/openspecs/windows_protocols/ms-kile/b3fa11e2-a878-4734-a9e2-2d77a5a06108 Issue migration from Bugzilla to Jira is in process at this time. This will be the last message in Jira copied from the Bugzilla bug. This BZ has been automatically migrated to the issues.redhat.com Red Hat Issue Tracker. All future work related to this report will be managed there. Due to differences in account names between systems, some fields were not replicated. Be sure to add yourself to Jira issue's "Watchers" field to continue receiving updates and add others to the "Need Info From" field to continue requesting information. To find the migrated issue, look in the "Links" section for a direct link to the new issue location. The issue key will have an icon of 2 footprints next to it, and begin with "RHEL-" followed by an integer. You can also find this issue by visiting https://issues.redhat.com/issues/?jql= and searching the "Bugzilla Bug" field for this BZ's number, e.g. a search like: "Bugzilla Bug" = 1234567 In the event you have trouble locating or viewing this issue, you can file an issue by sending mail to rh-issues. You can also visit https://access.redhat.com/articles/7032570 for general account information. |