Utili­ser Prosody avec une authen­ti­fi­ca­tion LDAP

Logo XMPP

Prosody est un serveur XMPP (Jabber) extrê­me­ment simple à mettre en place. En un tour de main, vous avez un serveur XMPP. Par contre, si on veut s’ap­puyer sur un annuaire LDAP pour l’au­then­ti­fi­ca­tion, c’est plus galère.

Voici ce que j’ai sur mon serveur :

Instal­la­tion des paquets

apt-get install lua-cyrussasl sasl2-bin

Confi­gu­ra­tion de saslau­thd

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 rajou­ter des éléments d’au­then­ti­fi­ca­tion 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

Confi­gu­ra­tion de prosody

Dans /etc/prosody/prosody.cfg.lua, ajou­ter :

authentication = "cyrus"
cyrus_service_name = "prosody"

Pour que l’uti­li­sa­teur prosody ait accès à la socket de saslauthd, on pren­dra soin de l’ajou­ter au groupe sasl :

gpasswd -a prosody sasl

Pour vous assu­rer 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