Chapter 13. Identity Management
The following chapters contain the most notable changes to Identity Management (IdM) between RHEL 9 and RHEL 10.
- DNS over TLS (DoT) in IdM deployments is available as a Technology Preview
Encrypted DNS using DNS over TLS (DoT) is available as a Technology Preview in Identity Management (IdM) deployments in RHEL 10. You can encrypt all DNS queries and responses between DNS clients and IdM DNS servers.
To start using this functionality, install the
ipa-server-encrypted-dnspackage on IdM servers and replicas, and theipa-client-encrypted-dnspackage on IdM clients. Administrators can enable DoT during the installation using the--dns-over-tlsoption.IdM configures Unbound as a local caching resolver and BIND to receive DoT requests. This functionality is available through the command-line interface (CLI) and non-interactive installations of IdM.
The following options were added to installation utilities for IdM servers, replicas, clients, and the integrated DNS service:
-
--dot-forwarderto specify an upstream DoT-enabled DNS server. -
--dns-over-tls-keyand--dns-over-tls-certto configure DoT certificates. -
--dns-policyto set a DNS security policy to either allow fallback to unencrypted DNS or enforce strict DoT usage.
By default, IdM uses the
relaxedDNS policy, which allows fallback to unencrypted DNS. You can enforce encrypted-only communication by using the new--dns-policyoption with theenforcedsetting.You can also enable DoT on an existing IdM deployment by reconfiguring the integrated DNS service using
ipa-dns-installwith the new DoT options.-
- Encrypted DNS with DoT is available in ansible-freeipa installations of IdM as a Technology Preview
You can use Ansible to ensure that all DNS queries and responses between DNS clients and Identity Management (IdM) DNS servers are encrypted. Encrypted DNS using DNS over TLS (DoT) has been available as a Technology Preview in IdM deployments since RHEL 10. In RHEL 10.1, the functionality is available as a Technology Preview in the
freeipa.ansible_freeipacollection.To enable DoT during a deployment of IdM by using
ansible-freeipause the following options:-
ipaserver_dns_over_tlswith thefreeipa.ansible_freeipa.ipaserverrole for a new server. -
ipareplica_dns_over_tlswith thefreeipa.ansible_freeipa.ipareplicarole for a replica. -
dot_forwarderto specify an upstream DoT-enabled DNS server. -
dns_over_tls_keyanddns_over_tls_certto configure DoT certificates.
Additionally, you can set the
dns_policyvariable to enforce DoT-only communication, overriding the default behavior that allows fallback to unencrypted DNS.-
- Compatibility between the
ansible-freeipaRPM and RH AAH collections -
Starting with RHEL 10.1, the
freeipa.ansible_freeipacollection that theansible-freeipaRPM package provides is now compatible with the namespace and name of theredhat.rhel_idmcollection provided by Red Hat Ansible Automation Hub (RH AAH). If you have installed the RPM package, you can now run playbooks that reference the AAH roles and modules. Note that internally, the namespace and names from the RPM package are used. - Support for dynamic DoT updates in SSSD
SSSD now supports performing all dynamic DNS (dyndns) queries using DNS-over-TLS (DoT). You can securely update DNS records when IP addresses change, such as Identity Management (IdM) and Active Directory servers. To enable this functionality, you must install the
nsupdatetool from thebind9.18-utilspackage.You can use the following new options in the
sssd.conffile to enable DoT and configure custom certificates for secure DNS updates:- dyndns_dns_over_tls
- dyndns_tls_ca_cert
- dyndns_tls_cert
- dyndns_tls_key
For more details about these options, see the
sssd-ad(5)andsssd-ad(5)man pages on your system.- IdM-to-IdM migration is fully supported in IdM
-
IdM-to-IdM migration, previously available as a Technology Preview, is fully supported in RHEL 10.1. You can use the
ipa-migratecommand to migrate all IdM-specific data, such as SUDO rules, HBAC, DNA ranges, hosts, services, and more, from one IdM server to another. This can be useful, for example, when moving IdM from a development or staging environment into a production environment. ansible-freeipanow uses the Ansible collection formatIn RHEL 10, the
ansible-freeiparpm installs thefreeipa.ansible_freeipacollection only.To use the new collection, add the
freeipa.ansible_freeipaprefix to the names of roles and modules. Use the fully-qualified names to follow Ansible recommendations. For example, to refer to theipahbacrulemodule, usefreeipa.ansible_freeipa.ipahbacrule.You can simplify the use of modules that are part of the
freeipa.ansible_freeipacollection by applyingmodule_defaults.- HSM is now fully supported in IdM
Hardware Security Modules (HSM) are now fully supported in Identity Management (IdM). You can store your key pairs and certificates for your IdM Cerificate Authority (CA) and Key Recovery Authority (KRA) on an HSM. This adds physical security to the private key material.
IdM relies on the networking features of the HSM to share the keys between machines to create replicas. The HSM provides additional security without visibly affecting most IPA operations. When using low-level tooling the certificates and keys are handled differently but this is seamless for most users.
NoteMigration of an existing CA or KRA to an HSM-based setup is not supported. You need to reinstall the CA or KRA with keys on the HSM.
You need the following:
- A supported HSM
- The HSM Public-Key Cryptography Standard (PKCS) #11 library
- An available slot, token, and the token password
To install a CA or KRA with keys stored on an HSM, you must specify the token name and the path to the PKCS#11 library. For example:
ipa-server-install -r EXAMPLE.TEST -U --setup-dns --allow-zone-overlap --no-forwarders -N --auto-reverse --random-serial-numbers --token-name=HSM-TOKEN --token-library-path=/opt/nfast/toolkits/pkcs11/libcknfast.so --setup-kra
ipa-server-install -r EXAMPLE.TEST -U --setup-dns --allow-zone-overlap --no-forwarders -N --auto-reverse --random-serial-numbers --token-name=HSM-TOKEN --token-library-path=/opt/nfast/toolkits/pkcs11/libcknfast.so --setup-kraCopy to Clipboard Copied! Toggle word wrap Toggle overflow - Automated removal of expired certificates is enabled by default
In RHEL 10, automated removal of expired certificates is now enabled by default in IdM on new replicas. A prerequisite for this is the generation of random serial numbers for certificates using RSNv3, which is now also enabled by default.
As a result, certificates are now created with random serial numbers and are removed automatically when expired, after a default retention period of 30 days after expiry.
- The
pam_consolemodule has been removed -
The
pam_consolemodule has been removed from RHEL 10. Thepam_consolemodule granted file permissions and authentication capabilities to users logged in at the physical console or terminals, and adjusted these privileges based on console login status and user presence. As an alternative topam_console, you can use thesystemd-logindsystem service instead. For configuration details, see thelogind.conf(5)man page. - The
libsss_simpleifpsubpackage has been removed -
The
libsss_simpleifpsubpackage that provided thelibsss_simpleifp.solibrary was deprecated in RHEL 9. Thelibsss_simpleifpsubpackage has been removed in RHEL 10. - The
enumerationfeature has been removed for AD and IdM providers -
Support for the
enumerationfeature, which enabled you to list all users or groups usinggetent passwd/groupfor AD and IdM providers, was deprecated in Red Hat Enterprise Linux (RHEL) 9. Theenumerationfeature has been removed in RHEL 10. - The NIS server emulator has been removed
- RHEL IdM does not provide the NIS functionality anymore.
- The RSA PKINIT method has been removed
-
The private key-based RSA method is no longer supported in the MIT Kerberos. It has been removed for security reasons, especially for its vulnerability to the Marvin attack. As a result, the
-X flag_RSA_PROTOCOLparameter of thekinitcommands has no effect anymore. The Diffie-Hellman key agreement method is used as the default PKINIT mechanism. - The
389-ds-basepackage now creates only LMDB instances Previously, Directory Server created instances with Berkeley Database (BDB). However, the
libdblibrary that implements the BDB version used by389-ds-baseis no longer available in RHEL 10.Starting with RHEL 10, the
389-ds-basepackage uses the Lightning Memory-Mapped Database (LMDB) as the database type by default. This change impacts the following areas:- The migration procedure
- The database configuration parameters
- The database tuning
- Monitoring and log files
LMDB introduces the following configuration parameters that are stored under the new
cn=mdb,cn=config,cn=ldbm database,cn=plugins,cn=configconfiguration entry:nsslapd-mdb-max-sizesets the database maximum size in bytes.ImportantMake sure that
nsslapd-mdb-max-sizeis high enough to store all intended data. However, the parameter size must not be too high to impact the performance because the database file is memory-mapped.-
nsslapd-mdb-max-readerssets the maximum number of read operations that can be opened at the same time. Directory Server autotunes this setting. -
nsslapd-mdb-max-dbssets the maximum number of named database instances that can be included within the memory-mapped database file.
Along with the new LMDB settings, you can still use the
nsslapd-db-home-directorydatabase configuration parameter.The BDB instances are no longer supported in Directory Server. Therefore, migrate all instances to LMDB.
nsslapd-subtree-rename-switchis removed from389-ds-baseBefore this update, you could configure Directory Server to prevent moving entries between sub-trees in a database. Because of the stability issues, this feature is removed. Consequently, the
nsslapd-subtree-rename-switchparameter no longer exists.As a result, you can no longer deactivate moving the entries between sub-trees. As an alternative, you can deactivate moving the entries by creating an access control instruction (ACI).
authselectis now required by PAM and cannot be uninstalledIn RHEL 10,
authselect-libspackage now owns/etc/nsswitch.confand selected PAM configuration, includingsystem-auth,password-auth,smartcard-auth,fingerprint-auth, andpostloginin/etc/pam.d/. Ownership of these files has been transferred toauthselect-libspackage, with/etc/nsswitch.confpreviously owned by theglibcpackage and the PAM configuration files previously owned by thepampackage. Sinceauthselectis required by thepampackage, it cannot be uninstalled.For system upgrades from previous RHEL versions:
-
If an
authselectconfiguration already exists,authselect apply-changesautomatically updates the configuration to the latest version. If there was no previousauthselectconfiguration on your system, no changes are made. -
On systems managed by
authselect, any non-authselect configurations are now forcefully overwritten without a prompt during the nextauthselectcall. The--forceoption is no longer required.
If you require a special configuration, create a custom
authselectprofile. Note that you must manually update custom profiles to keep them up to date with your system.You can opt-out from using
authselect:authselect opt-out
# authselect opt-outCopy to Clipboard Copied! Toggle word wrap Toggle overflow -
If an
- The SSSD files provider has been removed
- The SSSD files provider has been removed from RHEL 10.0. Previously, the SSSD files provider was responsible for smart card authentication and session recording for local users. As a replacement, you can configure the SSSD proxy provider.
Localprofile is the new defaultauthselectprofileDue to the removal of the SSSD files provider in RHEL 10.0, a new
authselectlocalprofile has been introduced to handle local user management without relying on SSSD. Thelocalprofile replaces the previousminimalprofile and becomes the defaultauthselectprofile for new installations instead of thesssdprofile.During upgrades, the
authselectutility automatically migrates existing configurations fromminimaltolocalprofile.Additionally, the
sssdauthselectprofile has been updated to remove thewith-files-domainandwith-files-access-provideroptions and it no longer handles local user accounts directly via these options. If you relied on these options, you must update your SSSD configuration to useproxy providerinstead offiles provider.The
sssdprofile now supports the--with-tlogoption, which enables session recording for users managed by SSSD.- The
dnssec-enable: no;option has been removed -
The
dnssec-enable: no;option in the/etc/named/ipa-options-ext.conffile has been removed in RHEL 10.0. DNS Security Extensions (DNSSEC) are enabled by default and cannot be disabled. Thednssec-validation: no;option still continues to be available. - The
reconnection_retriesoption has been removed -
The
reconnection_retriesoption has been removed from thesssd.conffile in SSSD in RHEL 10.0. Because SSSD switched to a new architecture using internal IPC between SSSD processes and responders no longer connect to the backend, thereconnection_retriesoption is no longer used. - The new SSSD option
ldap_read_rootdseto control RootDSE reads As of RHEL 10.1, SSSD provides a new option,
ldap_read_rootdse, to control how SSSD reads Root Directory Service Entry (RootDSE) from the LDAP server. By default, SSSD attempts to read the RootDSE anonymously before the user authenticates. However, this default behavior might conflict with strict security policies that typically restrict all anonymous binds to the LDAP server.To manage this behavior, you can configure the
ldap_read_rootdseoption toauthenticatedto instruct SSSD to read the RootDSE only after a successful user authentication, or set it toneverto completely prevent SSSD from attempting the read.- Improved smart card authentication for environments with multiple PKCS#11 tokens
In RHEL 10.1, SSSD smart card authentication has been enhanced to handle authentication in environments that have multiple PKCS#11 tokens inserted simultaneously. This improves authentication, especially in STIG compliant environments that require multiple user accounts, each with distinct privileges and often tied to a separate PKI token.
Previously, SSSD might fail to authenticate if the first checked token did not contain a matching certificate, because SSSD did not continue searching for the appropriate certificate on other available tokens. With this update, SSSD scans all inserted PKCS#11 tokens for a matching authentication certificate, so that users can authenticate successfully.
- Adding a RHEL 10 replica in FIPS mode to an IdM deployment with a SHA-1 master key fails
The default Red Hat Enterprise Linux (RHEL) 10 FIPS cryptographic policy, which complies with FIPS 140-3, does not allow the use of the AES HMAC-SHA1 encryption type’s key derivation function.
This constraint prevents adding a RHEL 10 Identity Management (IdM) replica in FIPS mode to an existing IdM environment that uses a SHA-1-based Kerberos master key. While RHEL 9 and RHEL 10 both use AES HMAC-SHA2 by default, an IdM deployment might still use a SHA-1 master key if it was originally initialized on RHEL 8.6 or earlier.
NoteThere is ongoing work to provide a procedure to upgrade an existing IdM Kerberos master key from SHA-1 to SHA-2. This will enable FIPS 140-3 compliance for deployments currently using SHA-1.
- Limited support for FreeRADIUS
In RHEL 10, the following external authentication modules are not supported as part of the FreeRADIUS offering:
- The MySQL, PostgreSQL, SQlite, and unixODBC database connectors
-
The
Perllanguage module - The REST API module
NoteThe PAM authentication module and the other authentication modules in the base package remain available and fully supported.
You can find replacements for the removed modules in community-supported packages, for example in the Fedora project.
In addition, support for the
freeradiuspackage is now limited to the following use cases:-
Using FreeRADIUS as an authentication provider with Identity Management (IdM) as the backend authentication source. FreeRADIUS performs authentication through the
krb5and LDAP authentication packages or through PAM authentication in the main FreeRADIUS package. -
Using FreeRADIUS as a source of truth for authentication in IdM, through the
Python 3authentication package.
In contrast to these removals, Red Hat is enhancing its support for the following external authentication modules with FreeRADIUS:
-
Authentication based on
krb5and LDAP -
Python 3authentication
The focus on these integration options is in close alignment with the strategic direction of Red Hat IdM.