Utiliser Prosody avec une authentification LDAP

Prosody est un serveur XMPP (Jabber) extrêmement simple à mettre en place. En un tour de main, vous avez un serveur XMPP. Par contre, si on veut s'appuyer sur un annuaire LDAP pour l'authentification, c'est plus galère.

Voici ce que j'ai sur mon serveur :

Installation des paquets

apt-get install lua-cyrussasl sasl2-bin

Configuration de saslauthd

Dans /etc/default/saslauthd :

START=yes
MECHANISMS="ldap"

Dans /etc/saslauthd.conf :

ldap_servers: ldap://ldap.example.org
ldap_search_base: ou=users,dc=example,dc=org

Vous pouvez rajouter des éléments d'authentification dans ce fichier, comme ldap_bind_dn et ldap_bind_pw. Voir ce post de blog pour quelques détails en plus.

Dans /etc/sasl2/prosody.conf :

pwcheck_method: saslauthd
mech_list: PLAIN

À partir de là, on peut lancer le dæmon et tester :

service saslauthd start
testsaslauthd -u user -p secret

Configuration de prosody

Dans /etc/prosody/prosody.cfg.lua, ajouter :

authentication = "cyrus"
cyrus_service_name = "prosody"

Pour que l'utilisateur prosody ait accès à la socket de saslauthd, on prendra soin de l'ajouter au groupe sasl :

gpasswd -a prosody sasl

Pour vous assurer que prosody ait accès à saslauthd, faites :

su prosody -s /bin/bash
/usr/sbin/testsaslauthd -u user -p secret

Et un petit coup de restart derrière :

service prosody restart

Enjoy 😉

Logo XMPP sous licence Expat