Ce contenu n'est pas disponible dans la langue sélectionnée.
Chapter 19. Using the KDC Proxy in IdM
Some administrators might choose to make the default Kerberos ports inaccessible in their deployment. To allow users, hosts, and services to obtain Kerberos credentials, you can use the HTTPS service as a proxy that communicates with Kerberos via the HTTPS port 443.
In Identity Management (IdM), the Kerberos Key Distribution Center Proxy (KKDCP) provides this functionality.
On an IdM server, KKDCP is enabled by default and available at https://<server.idm.example.com>/KdcProxy. On an IdM client, you must change its Kerberos configuration to access the KKDCP.
19.1. Configuring an IdM client to use KKDCP Copier lienLien copié sur presse-papiers!
Configure Identity Management (IdM) clients to use Kerberos Key Distribution Center Proxy (KKDCP) to access Kerberos services through HTTPS port 443. This enables authentication when standard Kerberos ports are blocked by firewalls or network policies.
Prerequisites
-
You have
rootaccess to the IdM client.
Procedure
-
Open the
/etc/krb5.conffile for editing. In the
[realms]section, enter the URL of the KKDCP for thekdc,admin_server, andkpasswd_serveroptions:[realms] EXAMPLE.COM = { kdc = https://kdc.example.com/KdcProxy admin_server = https://kdc.example.com/KdcProxy kpasswd_server = https://kdc.example.com/KdcProxy default_domain = example.com }For redundancy, you can add the parameters
kdc,admin_server, andkpasswd_servermultiple times to indicate different KKDCP servers.Restart the
sssdservice to make the changes take effect:# systemctl restart sssd
19.2. Verifying that KKDCP is enabled on an IdM server Copier lienLien copié sur presse-papiers!
Verify that the Kerberos Key Distribution Center Proxy (KKDCP) is enabled on an Identity Management (IdM) server to confirm that Kerberos clients can authenticate through the HTTPS proxy rather than connecting directly to the KDC.
On an IdM server, KKDCP is automatically enabled each time the Apache web server starts if the attribute and value pair ipaConfigString=kdcProxyEnabled exists in the directory. When enabled, the symbolic link /etc/httpd/conf.d/ipa-kdc-proxy.conf is created.
You can verify if the KKDCP is enabled on the IdM server, even as an unprivileged user.
Procedure
Check that the symbolic link exists:
$ ls -l /etc/httpd/conf.d/ipa-kdc-proxy.conf lrwxrwxrwx. 1 root root 36 Jun 21 2020 /etc/httpd/conf.d/ipa-kdc-proxy.conf -> /etc/ipa/kdcproxy/ipa-kdc-proxy.confThe output confirms that KKDCP is enabled.
19.3. Disabling KKDCP on an IdM server Copier lienLien copié sur presse-papiers!
Disable the Kerberos Key Distribution Center Proxy (KKDCP) on Identity Management (IdM) servers to switch to direct KDC connectivity.
Prerequisites
-
You have
rootaccess to the IdM server.
Procedure
Remove the
ipaConfigString=kdcProxyEnabledattribute and value pair from the directory:# ipa-ldap-updater /usr/share/ipa/kdcproxy-disable.uldif Update complete The ipa-ldap-updater command was successfulRestart the
httpdservice:# systemctl restart httpd.serviceKKDCP is now disabled on the current IdM server.
Verification
Verify that the symbolic link does not exist:
$ ls -l /etc/httpd/conf.d/ipa-kdc-proxy.conf ls: cannot access '/etc/httpd/conf.d/ipa-kdc-proxy.conf': No such file or directory
19.4. Re-enabling KKDCP on an IdM server Copier lienLien copié sur presse-papiers!
Restore Kerberos Key Distribution Center Proxy (KKDCP) functionality on an Identity Management (IdM) server to enable clients to obtain Kerberos tickets through HTTPS.
Prerequisites
-
You have
rootaccess to the IdM server.
Procedure
Add the
ipaConfigString=kdcProxyEnabledattribute and value pair to the directory:# ipa-ldap-updater /usr/share/ipa/kdcproxy-enable.uldif Update complete The ipa-ldap-updater command was successfulRestart the
httpdservice:# systemctl restart httpd.serviceKKDCP is now enabled on the current IdM server.
Verification
Verify that the symbolic link exists:
$ ls -l /etc/httpd/conf.d/ipa-kdc-proxy.conf lrwxrwxrwx. 1 root root 36 Jun 21 2020 /etc/httpd/conf.d/ipa-kdc-proxy.conf -> /etc/ipa/kdcproxy/ipa-kdc-proxy.conf
19.5. Configuring the KKDCP server for static targets Copier lienLien copié sur presse-papiers!
Configure the Identity Management (IdM) KKDCP server to use TCP when communicating with Active Directory realms. TCP transport improves reliability when connecting to multiple Kerberos servers in AD environments.
Prerequisites
-
You have
rootaccess.
Procedure
Set the
use_dnsparameter in the[global]section of the/etc/ipa/kdcproxy/kdcproxy.conffile to false.[global] use_dns = falsePut the proxied realm information into the
/etc/ipa/kdcproxy/kdcproxy.conffile. For example, for the [AD.EXAMPLE.COM] realm with proxy list the realm configuration parameters as follows:[AD.EXAMPLE.COM] kerberos = kerberos+tcp://1.2.3.4:88 kerberos+tcp://5.6.7.8:88 kpasswd = kpasswd+tcp://1.2.3.4:464 kpasswd+tcp://5.6.7.8:464ImportantThe realm configuration parameters must list multiple servers separated by a space, as opposed to
/etc/krb5.confandkdc.conf, in which certain options may be specified multiple times.Restart Identity Management (IdM) services:
# ipactl restart
19.6. Configuring the KKDCP server for dynamic discovery Copier lienLien copié sur presse-papiers!
Configure the Identity Management (IdM) KKDCP server to automatically discover Active Directory servers using DNS service records. DNS-based discovery simplifies Active Directory integration and improves failover capabilities.
Prerequisites
-
You have
rootaccess.
Procedure
In the
/etc/ipa/kdcproxy/kdcproxy.conffile, the[global]section, set theuse_dnsparameter to true.[global] configs = mit use_dns = trueThe
configsparameter allows you to load other configuration modules. In this case, the configuration is read from the MITlibkrb5library.Optional: In case you do not want to use DNS service records, add explicit AD servers to the
[realms]section of the/etc/krb5.conffile. If the realm with proxy is, for example, AD.EXAMPLE.COM, you add:[realms] AD.EXAMPLE.COM = { kdc = ad-server.ad.example.com kpasswd_server = ad-server.ad.example.com }Restart Identity Management (IdM) services:
# ipactl restart