RHEL Engineering is moving the tracking of its product development work on RHEL 6 through RHEL 9 to Red Hat Jira (issues.redhat.com). If you're a Red Hat customer, please continue to file support cases via the Red Hat customer portal. If you're not, please head to the "RHEL project" in Red Hat Jira and file new tickets here. Individual Bugzilla bugs in the statuses "NEW", "ASSIGNED", and "POST" are being migrated throughout September 2023. Bugs of Red Hat partners with an assigned Engineering Partner Manager (EPM) are migrated in late September as per pre-agreed dates. Bugs against components "kernel", "kernel-rt", and "kpatch" are only migrated if still in "NEW" or "ASSIGNED". If you cannot log in to RH Jira, please consult article #7032570. That failing, please send an e-mail to the RH Jira admins at rh-issues@redhat.com to troubleshoot your issue as a user management inquiry. The email creates a ServiceNow ticket with Red Hat. Individual Bugzilla bugs that are migrated will be moved to status "CLOSED", resolution "MIGRATED", and set with "MigratedToJIRA" in "Keywords". The link to the successor Jira issue will be found under "Links", have a little "two-footprint" icon next to it, and direct you to the "RHEL project" in Red Hat Jira (issue links are of type "https://issues.redhat.com/browse/RHEL-XXXX", where "X" is a digit). This same link will be available in a blue banner at the top of the page informing you that that bug has been migrated.
Bug 1644227 - RFE: support of StartTLS for LDAP connection in bind-dyndb-ldap
Summary: RFE: support of StartTLS for LDAP connection in bind-dyndb-ldap
Keywords:
Status: CLOSED WONTFIX
Alias: None
Product: Red Hat Enterprise Linux 8
Classification: Red Hat
Component: bind-dyndb-ldap
Version: 8.0
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: rc
: 8.2
Assignee: Alexander Bokovoy
QA Contact: ipa-qe
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2018-10-30 09:34 UTC by German Parente
Modified: 2021-01-27 13:55 UTC (History)
8 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2021-01-27 13:55:07 UTC
Type: Bug
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)

Description German Parente 2018-10-30 09:34:29 UTC
Description of problem:

This is just a request ot support ldaps in the component.


Version-Release number of selected component (if applicable): rhel7.5 version.

Comment 3 Alexander Bokovoy 2018-10-30 09:42:37 UTC
While bind-dyndb-ldap always relies on SASL GSSAPI authentication in FreeIPA setting because it uses LDAPI connection on IPA masters, it makes sense to allow setting up StartTLS for LDAP connection.

There is already a code in FreeIPA to properly configure StartTLS: https://pagure.io/freeipa/blob/master/f/util/ipa_ldap.c#_73

What is also needed on bind-dyndb-ldap side is to allow specifying CA certificate

Comment 7 Alexander Bokovoy 2019-11-12 12:16:54 UTC
We'll work on it upstream and then QE might find time to bring it in RHEL 8.x.

Comment 8 Christian Heimes 2020-03-26 12:04:45 UTC
bind-dyndb-ldap already works with LDAPS (LDAP over TLS) URIs just fine. I have tested LDAPS connection on one of my test servers by replacing

    uri "ldapi://%2fvar%2frun%2fslapd-IPA-EXAMPLE.socket";

with

    uri "ldaps://master.ipa.example";

in /etc/named.conf. named-pkcs11.service restarted without a problem and successfully connected to 389-DS instance on master.ipa.example:636. Since bind-dyndb-ldap is a standard OpenLDAP client, the LDAP connector uses the TLS certificate /etc/ipa/ca.crt as configured in /etc/openldap/ldap.conf.

I propose to not implement StartTLS and rather document how to use bind-dyndb-ldap with LDAPS. To modify settings like CA certificate a customer can point the env var LDAPCONF to a custom LDAP conf with a systemd drop-in file.

Comment 9 Alexander Bokovoy 2020-03-26 12:54:13 UTC
I'd go even further here.

We do not need LDAPS or startTLS here because we use SASL GSSAPI and CyrusSASL will always trigger integrity check and encryption of the resulting connection. Thus, as soon as connection was bound, the trafic is encrypted.

While it really depends on what SASL library is in use and what version of it is in use and what mechanisms are in use, CyrusSASL is what we use in Fedora/RHEL/CentOS and OpenLDAP libraries are built against it.

GSSAPI and GSS-SPNEGO mechanisms implemented in CyrusSASL weren't able to set proper SSF value based on the underlying Kerberos encryption type until this patch landed in 2.1.27: https://github.com/cyrusimap/cyrus-sasl/commit/4b0306dcd76031460246b2dabcb7db766d6b04d8, and it only supports discovering SSF for MIT Kerberos.

Red Hat did backport this to older CyrusSASL versions, so RHEL 6-8 versions have it.

We have to use SASL because we are operating under Kerberos-bound identity that has permissions to modify DNS entries in LDAP.

So I'd rather use this ticket to add an ipa-advise scenario which automatically configures an enrolled IPA client to be a DNS slave against IPA masters. We need to figure out DNSSEC part and create special permissions that cover the required operations to pick up the keys from LDAP.

Comment 14 Petr Vobornik 2021-01-27 13:55:07 UTC
We've reevaluated the ticket again. 

As comments above suggest alternative solutions already should work so it might help. From the ticket description is not clear why this feature is needed. Base on this, we are closing the ticket.

Please reopen with the reasoning why it is needed if there is a a use case where current solution is not sufficient.


Note You need to log in before you can comment on or make changes to this bug.