Replication with SSLCLIENTAUTH: server sent no certificate
by Eugen Lamers
I'm trying to setup a replication with a certificate based authentication between supplier and consumer. The certificates in the certdb at /etc/dirsrv/slapd-XXX contain the very same CA with which the respective server certificates in the certdbs have been signed. The certificates all have the 'u' flag, and the CA has the C and T flag.
The replication (on the supplier) has been setup such that TLS and certificate based authentication is used, see extract from the replication agreement object:
objectclass: nsds5ReplicationAgreement
nsds5replicahost: <consumer-hostname>
nsds5replicaport: 389
nsds5replicatransportinfo: TLS
nsds5replicabindmethod: SSLCLIENTAUTH
Trying to initialize the consumer raises this error in the error-log of the supplier (the host sending the starttls connection request):
Replication bind with EXTERNAL auth failed: LDAP error 48 (Inappropriate authentication) (missing client certificate)
The certificate that the server should have sent can, however, be used with the ldap commandline tools as ldapsearch. In this case a wireshark trace clearly shows that the client sends the certificate during the TLS handshake, while in the above case it doesn't.
The TLS handshake defines that the client has to send an "empty certificate" if it does not have a certificate that has been issued by a CA offered by the server during the handshake. I can't see a reason for the client to think the condition isn't met. The certificate with which the server (supplier) is setup is the only one available.
Is it possible that the server does not know which certificate it has to use for authentication with the consumer server? And if so, how do I make the server know?
The 389-ds in use is the version 1.4.1.6~git0.5ac5a8aad. The problem was the same with 1.4.0.3.
Thanks,
Eugen
2 years, 7 months
ERR - slapi_ldap_bind - Could not send bind request for id [(anon)] authentication mechanism [EXTERNAL]: error -1 (Can't contact LDAP server), system error 0 (no error), network error 0
by Graham Leggett
Hi all,
We have a long standing 389ds master LDAP server that was found to be unable to contact it’s slaves. Most specifically, the slaves show nothing in their logs about any kind of connection, while the master is logging this:
[12/Nov/2019:21:39:47.212715697 +0000] - ERR - slapi_ldap_bind - Could not send bind request for id [(anon)] authentication mechanism [EXTERNAL]: error -1 (Can't contact LDAP server), system error 0 (no error), network error 0 (Unknown error, host “ldap01:636”)
Key is "system error 0 (no error)”, which leaves us stumped. The error is obviously “success”.
Has anyone seen this kind of thing before?
This is 389ds running on CentOS7 as follows:
389-ds-base-1.3.9.1-10.el7.x86_64
Regards,
Graham
—
2 years, 10 months
Problem browsing LDAP with Outlook
by Chris Bryant
When configuring Microsoft Outlook (not Outlook Express) to access an LDAP directory, there is an option to 'Enable Browsing (requires server support)'. If this option is chosen and the directory server supports it, then you should be able to open the LDAP address book and page up and down through the results. I have been unable to get this working properly with 389 DS.
When I try to browse from Outlook against the 389 DS directory, I am able to see the first page of results perfectly. However, if I move to the next page, only the first object returned will have any attributes included, and all of the rest of the objects in the page will have no attributes. I have a test perl script that duplicates this functionality as well.
I can get this to work properly with an older version of Netscape Directory Server, and I can get it working with OpenDS. Since 389 DS advertises support for the controls that are required for this to work, just like the other two servers, then I would expect it to work there also.
Has anyone out there gotten this to work with 389 DS? If so, can you share if there was anything special that you needed to do to get this to work? I'm trying to determine if this is a bug in the server, or if I'm just missing something in the configuration.
Thanks,
Chris
USA.NET
You Run Your Business. We'll Run Your Email.
This message is for the sole use of the intended recipient(s) and may contain confidential and/or privileged information of USA.NET, Inc. Any unauthorized review, use, copying, disclosure, or distribution is prohibited. If you are not the intended recipient, please immediately contact the sender by reply email and delete all copies of the original message.
3 years, 1 month
MemberOf group restrictions to a client system (server and client running CentOS 7)
by Janet Houser
Hi,
I'm new to 389-ds and last week downloaded and installed the software.
I have a running instance of the server, and I've added TLS/SSL. I've configured a CentOS 7 client to be able to query
the server using TLS/SSL, and all appears working.
I've created users and groups on the 389-ds server successfully. For each user and group, I've enabled posix attributes and my client
can see the unix users and groups using the "getent password" or "getent group" commands.
Now, here's where I'm getting tripped up..........
I need to limit which users have access to which systems. I've been trying to do this via memberOf group limitations.
I found the following online resource (https://thornelabs.net/2013/01/28/aix-restrict-server-login-via-ldap-grou...)
which is close enough to CentOS that the initial commands worked.
I enabled the MemberOf plugin and changed the attributes per the link, and restarted the system.
I created a test group (that I didn't enable a posix GID) and tried to add a single user via:
Right click on group -- > click Properties --> then Members --> click Add --> Search for user --> click Add.
When I try to go this route (which worked before enabling the memberOf plugin) it worked. Now it seems I get the error:
"Cannot save to directory server.
netscape.ldap.LDAPException: error resiult(65): Object class violation"
And the messages file throws the error (/var/log/dirsrv/slapd-<instancename>/errors:
"Entry "uid=test,ou=People,dc=int,dc=com" -- attribute "memberOf" not allowed
[17/Feb/2016:11:22:58 -0700] memberof-plugin - memberof_postop_modify: failed to add dn (cn=testgroup,ou=Groups,dc=int,dc=com) to target. Error (65)"
So it seems my server isn't quite using the memberOf plugin properly, but I'm not sure what else to enable. I'll have to solve this issue before
I even try to filter login access via groups on my client system.
I should mention that if I go under the advanced tab for one of the groups I created, I can add the the attribute "uniquemember", but I'm not sure what I
should set the "value" to be.
I've tried creating new users to see if I could set their "uniquemember" attributes, but no luck. It seems that I don't have the ability to set this attribute
on individual users, only groups.
This might not be the right road to head down when trying to restrict access to servers via groups, so I'm open to any suggestions.
Any suggestions would be appreciated.
3 years, 1 month
Limitations with large numbers of ACIs?
by Winstanley, Anthony
Hello,
We've got a large 389ds installation and have run into issues with ACIs not always behaving as expected. Where an ACI working on one node is not doing anything at all on a replicated node. Sometimes reducing the number of ACIs fixes the issue. Sometimes restarting a node fixes it. I have not found anything in an error log that has given me any pointers as to what the problem(s) might be.
So my questions:
Are there config attributes that control the working of ACIs? What are they and how should they be used?
Are there any limitations for the number and size of ACIs per 389ds instance or database?
Is there any best practices for troubleshooting ACI issues (like where some work on one server but not another)? Am I missing a log file somewhere?
Is there any documentation to consult specific to ACI operation? (Beyond syntax...) Source code even?
Thanks,
Anthony Winstanley
The University of British Columbia
3 years, 1 month
Re: syncronizing users to 389ds from Azure AD
by William Brown
Well, those queries are probably going to a JSON/REST API of some kind, which is probably related to the links I sent you. So I think getting a library that can query that API would be step one so that we don't need to use PS as a requirement.
You could probably look at the source of those PS utils to understand the queries they are making if they are opensource (I know MS has been really good about opening up tools like this recently).
Hope that helps,
> On 20 Jul 2020, at 14:57, Jonathan Aquilina <jaquilina(a)eagleeyet.net> wrote:
>
> Hi guys,
>
> Where would you recommend I start with this. I know for sure that Azure AD queries can be done with powershell but would 389 project want to add another dependency and that being on powershell as I far as I know it has been made available for Linux.
>
> Regards,
> Jonathan
>
> -----Original Message-----
> From: William Brown <wbrown(a)suse.de>
> Sent: Monday, 20 July 2020 01:10
> To: Mark Reynolds <mreynolds(a)redhat.com>
> Cc: 389-users(a)lists.fedoraproject.org
> Subject: [389-users] Re: syncronizing users to 389ds from Azure AD
>
>
>
>> On 20 Jul 2020, at 00:33, Mark Reynolds <mreynolds(a)redhat.com> wrote:
>>
>>
>> On 7/10/20 12:54 AM, William Brown wrote:
>>>> On 10 Jul 2020, at 14:26, Jonathan Aquilina <jaquilina(a)eagleeyet.net> wrote:
>>>>
>>>> Hi Will,
>>>> I actually just confirmed that you can create a console .net core app, as well as an asp.net core web app that you can use the .net core with or fully fledged .net framework. My question is now this 389ds is a web app or a console app?
>>> 389ds would be a console application for this context.
>>>
>>>> Also how would one integrate this into 389ds as well as cockpit. Does 389 have an irc channel on a network somewhere?
>>> We have an irc on freenode, but the team is really spread out over the world.
>>>
>>> Cockpit would likely come as a result of working with our lib389 tools.
>>>
>>> For now, my advice is probably to focus on the CLI proof of concept
>>> first, and we can think about cockpit later (Mark may have thoughts
>>> on this) :)
>>
>> Our current cockpit plugin strictly uses the lib389 CLI tools (dsconf,
>> dsctl, etc). Once the CLI tools can handle the configuration and
>> management it should not be hard to add it the UI. I can help you
>> once you get to that stage, but it sounds like you have a lot of work
>> to do first before we should start worrying about the UI :-)
>
> 100% agree with Mark here. Again, stay in touch Jonathan, if we can help, advise or give any reviews, let us know!
>
>>
>> Mark
>>
>>>
>>>
>>>> Regards,
>>>> Jonathan
>>>> From: Jonathan Aquilina <jaquilina(a)eagleeyet.net>
>>>> Sent: 10 July 2020 06:23
>>>> To: General discussion list for the 389 Directory server project.
>>>> <389-users(a)lists.fedoraproject.org>
>>>> Subject: [389-users] Re: syncronizing users to 389ds from Azure AD
>>>> Thanks for the words of encouragement Will 😊
>>> No problems, we are here to help, and it's exciting to hear you want to be involved!
>>>
>>> —
>>> Sincerely,
>>>
>>> William Brown
>>>
>>> Senior Software Engineer, 389 Directory Server SUSE Labs
>>> _______________________________________________
>>> 389-users mailing list -- 389-users(a)lists.fedoraproject.org To
>>> unsubscribe send an email to 389-users-leave(a)lists.fedoraproject.org
>>> Fedora Code of Conduct:
>>> https://docs.fedoraproject.org/en-US/project/code-of-conduct/
>>> List Guidelines:
>>> https://fedoraproject.org/wiki/Mailing_list_guidelines
>>> List Archives:
>>> https://lists.fedoraproject.org/archives/list/389-users@lists.fedorap
>>> roject.org
>>
>> --
>>
>> 389 Directory Server Development Team
>
> —
> Sincerely,
>
> William Brown
>
> Senior Software Engineer, 389 Directory Server SUSE Labs _______________________________________________
> 389-users mailing list -- 389-users(a)lists.fedoraproject.org To unsubscribe send an email to 389-users-leave(a)lists.fedoraproject.org
> Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/
> List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
> List Archives: https://lists.fedoraproject.org/archives/list/389-users@lists.fedoraproje...
> _______________________________________________
> 389-users mailing list -- 389-users(a)lists.fedoraproject.org
> To unsubscribe send an email to 389-users-leave(a)lists.fedoraproject.org
> Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/
> List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
> List Archives: https://lists.fedoraproject.org/archives/list/389-users@lists.fedoraproje...
—
Sincerely,
William Brown
Senior Software Engineer, 389 Directory Server
SUSE Labs
3 years, 2 months
Re: syncronizing users to 389ds from Azure AD
by William Brown
> On 10 Jul 2020, at 14:26, Jonathan Aquilina <jaquilina(a)eagleeyet.net> wrote:
>
> Hi Will,
>
> I actually just confirmed that you can create a console .net core app, as well as an asp.net core web app that you can use the .net core with or fully fledged .net framework. My question is now this 389ds is a web app or a console app?
389ds would be a console application for this context.
>
> Also how would one integrate this into 389ds as well as cockpit. Does 389 have an irc channel on a network somewhere?
We have an irc on freenode, but the team is really spread out over the world.
Cockpit would likely come as a result of working with our lib389 tools.
For now, my advice is probably to focus on the CLI proof of concept first, and we can think about cockpit later (Mark may have thoughts on this) :)
>
> Regards,
> Jonathan
>
> From: Jonathan Aquilina <jaquilina(a)eagleeyet.net>
> Sent: 10 July 2020 06:23
> To: General discussion list for the 389 Directory server project. <389-users(a)lists.fedoraproject.org>
> Subject: [389-users] Re: syncronizing users to 389ds from Azure AD
>
> Thanks for the words of encouragement Will 😊
No problems, we are here to help, and it's exciting to hear you want to be involved!
—
Sincerely,
William Brown
Senior Software Engineer, 389 Directory Server
SUSE Labs
3 years, 2 months
ldap_bind: Invalid credentials (49)
by Dwijadas Dey
Hi
I am trying to search ldap user using the following command but with invalid credentials error:
# ldapsearch -x -h ldaps://idm.example.net -p 636 -b "dc=example,dc=net" -D "uid=ldapbind,cn=users,cn=account,dc=example,dc=net" uid=ambariadmin1 -W
Enter LDAP Password:
ldap_bind: Invalid credentials (49)
I have double checked the password but the error still persists.
Before that, i have added a ldap bind user with the following procedure
[root@example ~]# cat ldapbind.ldif
dn: uid=ldapbind,cn=users,cn=accounts,dc=example,dc=net
changetype: add
objectclass: account
objectclass: simplesecurityobject
uid: ambaribind
userPassword: secret123
passwordExpirationTime: 20380119031407Z
nsIdleTimeout: 0
[root@example ~]# ldapmodify -h example.net -p 389 -x -D "cn=Directory Manager" -w 'secret123' -f ldapbind.ldif
adding new entry "uid=ldapbind,cn=users,cn=accounts,dc=example,dc=net"
[root@example ~]# ipa user-show ambaribind --raw --all
dn: uid=ldapbind,cn=users,cn=accounts,dc=example,dc=net
uid: ldapbind
nsaccountlock: FALSE
has_password: TRUE
has_keytab: FALSE
objectClass: account
objectClass: simplesecurityobject
objectClass: top
Without bind user, i can search the user
[root@example ~]# ldapsearch -x -h idm.infodetics.net -p 389 -b "cn=ambari,dc=example,dc=net" uid=ambariadmin1
Can any one plz guide me where is the issue ?
Regards
3 years, 2 months
Re: syncronizing users to 389ds from Azure AD
by William Brown
> On 10 Jul 2020, at 15:02, Jonathan Aquilina <jaquilina(a)eagleeyet.net> wrote:
>
> Hi Will,
>
> Below you mention console app, I am kind of thinking long term here. Wouldn’t it make more sense to create a library specifically for Azure ad that has all the necessary functionality in it and then integrate that into 389.
>
> For the POC Im thinking create the library and then use a console app to call the various functions from it to test that they are working.
Look, you know this better than I do! I trust your judgement here, and even if it's the right or wrong design choice, we learn through that experience.
>
> I have hopped on the irc channel my name on there is eagles0513875
I'm not on the irc sorry :( today's actually a day off for me!
>
> Regards,
> Jonathan
>
> -----Original Message-----
> From: William Brown <wbrown(a)suse.de>
> Sent: 10 July 2020 06:54
> To: 389-users(a)lists.fedoraproject.org
> Subject: [389-users] Re: syncronizing users to 389ds from Azure AD
>
>
>> On 10 Jul 2020, at 14:26, Jonathan Aquilina <jaquilina(a)eagleeyet.net> wrote:
>>
>> Hi Will,
>>
>> I actually just confirmed that you can create a console .net core app, as well as an asp.net core web app that you can use the .net core with or fully fledged .net framework. My question is now this 389ds is a web app or a console app?
>
> 389ds would be a console application for this context.
>
>>
>> Also how would one integrate this into 389ds as well as cockpit. Does 389 have an irc channel on a network somewhere?
>
> We have an irc on freenode, but the team is really spread out over the world.
>
> Cockpit would likely come as a result of working with our lib389 tools.
>
> For now, my advice is probably to focus on the CLI proof of concept first, and we can think about cockpit later (Mark may have thoughts on this) :)
>
>
>
>>
>> Regards,
>> Jonathan
>>
>> From: Jonathan Aquilina <jaquilina(a)eagleeyet.net>
>> Sent: 10 July 2020 06:23
>> To: General discussion list for the 389 Directory server project.
>> <389-users(a)lists.fedoraproject.org>
>> Subject: [389-users] Re: syncronizing users to 389ds from Azure AD
>>
>> Thanks for the words of encouragement Will 😊
>
> No problems, we are here to help, and it's exciting to hear you want to be involved!
>
> —
> Sincerely,
>
> William Brown
>
> Senior Software Engineer, 389 Directory Server SUSE Labs _______________________________________________
> 389-users mailing list -- 389-users(a)lists.fedoraproject.org To unsubscribe send an email to 389-users-leave(a)lists.fedoraproject.org
> Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/
> List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
> List Archives: https://lists.fedoraproject.org/archives/list/389-users@lists.fedoraproje...
> _______________________________________________
> 389-users mailing list -- 389-users(a)lists.fedoraproject.org
> To unsubscribe send an email to 389-users-leave(a)lists.fedoraproject.org
> Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/
> List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
> List Archives: https://lists.fedoraproject.org/archives/list/389-users@lists.fedoraproje...
—
Sincerely,
William Brown
Senior Software Engineer, 389 Directory Server
SUSE Labs
3 years, 2 months