Note: This bug is displayed in read-only format because
the product is no longer active in Red Hat Bugzilla.
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.
The Directory Server *Pass-through* plug-in now supports encrypted connections using the *STARTTLS* command
Previously, the *Pass-through* plug-in in Directory Server did not support encrypted connections if the encryption was started using the *STARTTLS* command. The problem has been fixed, and the *Pass-through* plug-in now supports connections that use the *STARTTLS* command.
Description of problem:
I have configured passthrough plugin to do Starttls:
nsslapd-pluginarg0: ldap://nslcd.parente.local:1389/dc=parente,dc=local 3,5,30
0,3,300,1
I have added plugin debug logs. To have that login, I had to define this in source code and re-build:
#define PASSTHRU_VERBOSE_LOGGING
Then I see clearly:
passthru-plugin - PTA server host: "nslcd.parente.local", port: 1389, secure: 2, maxconnections: 3, maxconcurrency: 5, timeout: 300, ldversion: 3, connlifetime: 300
secure: 2 means starttls:
if (starttls) {
srvr->ptsrvr_secure = 2;
}
bind as:
ldapsearch -D "uid=omc,ou=people,dc=parente,dc=local" -w secret12 -b "dc=parente,dc=local" -s base
But in the access logs, we see clearly:
[23/May/2018:10:07:20.883924603 -0400] conn=1 fd=64 slot=64 connection from 10.10.178.222 to 10.10.178.222
[23/May/2018:10:07:20.884685945 -0400] conn=1 op=0 BIND dn="uid=omc,ou=people,dc=parente,dc=local" method=128 version=3
[23/May/2018:10:07:20.886823710 -0400] conn=1 op=0 RESULT err=0 tag=97 nentries=0 etime=0.0002572394 dn="uid=omc,ou=people,dc=parente,dc=local"
No startls.
Now, in the code, when parsing the url:
/* use secure setting from url if none given */
if (!secure && ludp) {
if (secureurl) {
secure = SLAPI_LDAP_INIT_FLAG_SSL;
} else if (0 /* starttls option - not supported yet in LDAP URLs */) {
secure = SLAPI_LDAP_INIT_FLAG_startTLS;
}
}
So, I wonder if the problem is not that the starttls is not supported in ldap urls but ... in the passthrough plugin we cannot but specify ldapurl
Version-Release number of selected component (if applicable):
389-ds-base-1.3.7.5-21.el7_5
Build Tested: 389-ds-base-1.3.8.4-9.el7.x86_64
Note: Target server is the machine on which SSL is configured and source server is the one on which passthrough plugin is configured.
1) Configure passthrough plugin to do starttls:
dn: cn=Pass Through Authentication,cn=plugins,cn=config
changetype: modify
replace: nsslapd-pluginarg0
nsslapd-pluginarg0: ldap://<hostname>:<ldap_port>/dc=example,dc=com 3,5,300,3,300,1
2) Set nsslapd-pluginEnabled to ON.
3) Restart the source server.
4) Add a user under the suffix "dc=example,dc=com".
5) Add the CA certificate from Target machine to the source.
6) Restart the source server.
Results:
(Acess log of Target Machine)
[07/Aug/2018:19:12:40.815180192 +051800] conn=53 fd=64 slot=64 connection from 10.19.34.94 to 10.65.206.155
[07/Aug/2018:19:12:40.815427962 +051800] conn=53 op=0 EXT oid="1.3.6.1.4.1.1466.20037" name="start_tls_plugin"
[07/Aug/2018:19:12:40.815608583 +051800] conn=53 op=0 RESULT err=0 tag=120 nentries=0 etime=0.0000319538
[07/Aug/2018:19:12:41.335641674 +051800] conn=53 TLS1.2 256-bit AES-GCM
[07/Aug/2018:19:12:42.169458011 +051800] conn=53 op=1 BIND dn="uid=adam,ou=people,dc=example,dc=com" method=128 version=3
[07/Aug/2018:19:12:42.170164748 +051800] conn=53 op=1 RESULT err=0 tag=97 nentries=0 etime=1.0101292500 dn="uid=adam,ou=people,dc=example,dc=com"
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.
For information on the advisory, and where to find the updated
files, follow the link below.
If the solution does not work for you, open a new bug report.
https://access.redhat.com/errata/RHSA-2018:3127
Description of problem: I have configured passthrough plugin to do Starttls: nsslapd-pluginarg0: ldap://nslcd.parente.local:1389/dc=parente,dc=local 3,5,30 0,3,300,1 I have added plugin debug logs. To have that login, I had to define this in source code and re-build: #define PASSTHRU_VERBOSE_LOGGING Then I see clearly: passthru-plugin - PTA server host: "nslcd.parente.local", port: 1389, secure: 2, maxconnections: 3, maxconcurrency: 5, timeout: 300, ldversion: 3, connlifetime: 300 secure: 2 means starttls: if (starttls) { srvr->ptsrvr_secure = 2; } bind as: ldapsearch -D "uid=omc,ou=people,dc=parente,dc=local" -w secret12 -b "dc=parente,dc=local" -s base But in the access logs, we see clearly: [23/May/2018:10:07:20.883924603 -0400] conn=1 fd=64 slot=64 connection from 10.10.178.222 to 10.10.178.222 [23/May/2018:10:07:20.884685945 -0400] conn=1 op=0 BIND dn="uid=omc,ou=people,dc=parente,dc=local" method=128 version=3 [23/May/2018:10:07:20.886823710 -0400] conn=1 op=0 RESULT err=0 tag=97 nentries=0 etime=0.0002572394 dn="uid=omc,ou=people,dc=parente,dc=local" No startls. Now, in the code, when parsing the url: /* use secure setting from url if none given */ if (!secure && ludp) { if (secureurl) { secure = SLAPI_LDAP_INIT_FLAG_SSL; } else if (0 /* starttls option - not supported yet in LDAP URLs */) { secure = SLAPI_LDAP_INIT_FLAG_startTLS; } } So, I wonder if the problem is not that the starttls is not supported in ldap urls but ... in the passthrough plugin we cannot but specify ldapurl Version-Release number of selected component (if applicable): 389-ds-base-1.3.7.5-21.el7_5