Enable LDAP support on ejabberd #123
Notifications
Due Date
No due date set.
Depends on
Reference: kosmos/chef#123
Loading…
x
Reference in New Issue
Block a user
No description provided.
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Follow-up to #122
Refs #107
I think it's already time to add a feature to akkounts to change your LDAP password without having to use the command-line
Steps
Interesting, we should be able to let users change their LDAP password with their XMPP client if we want to: https://docs.ejabberd.im/admin/configuration/#ldap
greg referenced this issue2020-01-29 17:28:51 +00:00
raucao referenced this issue2020-01-29 17:37:59 +00:00
raucao referenced this issue2020-01-30 16:18:10 +00:00
I have prepared the 5apps XMPP migration to LDAP.
The data will look like this. A filtered role,
cn=xmpp_role,ou=5apps.com,cn=users,dc=kosmos,dc=org
is used to filter accounts that have the xmpp attribute enabled.The ldap user has ACIs to search and filter on selected attributes and to change passwords, only on 5apps users
The ejabberd config file will look like this. Users can change their own password using their XMPP client
I have tested this in a VM, including changing my LDAP password using Adium. Let me know if you have questions or feedback
LGTM. Then again, I don't know enough about LDAP to have a good opinion on these things.
Just FYI: the tasks in the PR description are not up to date. Some have been done already, and they're missing the LDAP+SASL research for example.
The LDAP implementation in ejabberd doesn't support SASL authentication. From the docs:
If I understand correctly, the implication is that the user does not send a salted & hashed password to ejabberd, so the ejabberd process has access to a user's password and sends it over to the LDAP server to authenticate. This is considered
PLAIN
auth, even when both the XMPP c2s connection and the LDAP connect using TLSI found an RFC, "Lightweight Directory Access Protocol (LDAP) Schema for Storing Salted Challenge Response Authentication Mechanism (SCRAM) Secrets" on the xmmp.org wiki.
Prosody uses Cyrus SASL to enable SASL against multiple sources, including LDAP. This page links to an old tutorial that's offline right now but I could find it on archive.org
OK, so then we need to document exactly what you just commented on the wiki and have a section for Conversations users to explain how to accept the downgrade for now.
I have added a task to create a new page that documents the SASL downgrade on Conversations for existing users. I think it should include a screenshot for it to be clear. The best way I can think of to do that is to create a test kosmos.org user, and then enable both psql and ldap temporarily (with only that user created in LDAP)
The Conversations issue contains a screenshot of it, no?
It doesn't
I was able to find it easily from just a user's description in that issue (maybe copy that to the page?), so uploading a screenshot after we've done the normal switch should be enough.
I have created a page to document the SASL downgrade: https://wiki.kosmos.org/Services:XMPP:SASL_downgrade
We can add a screenshot to it right after the switch
I prepared this email, any feedback? I put it on a Pad so it's easy to edit https://cryptpad.fr/code/#/2/code/edit/uBJev+Y8s1El0zX-ElnleEfQ/
I made some small edits. Should be good to go.
Regarding the steps/checklist: I think the emails should be sent out before the switch, and they should contain the date and time for when their password stops working, no?
Yes, I have updated the steps. I will change the email in the pad and will announce the switch date and time as soon as it's set
I have added the date and time of the switch to the email, as well as created a second email template for users that already had a Wiki account: https://cryptpad.fr/code/#/2/code/edit/uBJev+Y8s1El0zX-ElnleEfQ/
I will pair with @galfert on the switch, we have set the date to Thursday at 13:00 GMT
I have sent the emails with a unique generated temporary password and instructions for users without a wiki account, and with instructions for users with a a wiki account
Paired with @galfert to perform the migration, closing this one