PDA

Voir la version complète : Asterisk et authentification LDAP ?



ygini
30/06/2012, 09h59
Bonjour tout le monde,

Étant donné que c'est mon premier message ici, je vais commencer par me présenter.

Je m'appelle Yoann Gini, consultant et formateur Apple en France, je travail sur tout ce qui est intégration OS X / OS X Server et iOS en entreprise. Je fais également du dev iOS / OS X et des formations sur le sujet.

Ma venue ici ne concerne pas le Mac, mais un projet de serveur perso, une sorte de state of the art des technos d'aujourd'hui. J'ai donc choisi Asterisk pour le service SIP (et SIP only, pas de liaison au RTC pour le moment).

Dans un but d'intégration complète des services, toute la gestion des identités et de l'authentification se fait par un couple LDAP / Kerberos avec une couche de SASL au milieu.

J'ai donc un LDAP avec un utilisateur fonctionnel, capable de se connecter en ssh sur le serveur, capable de récupérer un ticket Kerberos, bref, un utilisateur.

J'ai configuré res_ldap et le reste des fichiers de conf pour se servir des informations fournies dynamiquement par mon LDAP et ça marche presque.

Si dans mon ldap_res je me sert de "secret = AstAccountSecret" comme réglage d'authentification, je n'ai aucun problème, mon utilisateur LDAP peut se connecter.

Si par contre, j'utilise "md5secret = AstAccountRealmedPassword" avec, dans le LDAP, le résultat de la commande "echo "name:realm:pass" | md5" (où name est la valeur associé au champ name de la config sip de ldap_res et realm la valeur placée dans sip.conf) alors là plus rien ne passe. Les logs Asterisk me donnent un Wrong password.

Ma question est donc, que suis-je censé placer dans mon hash md5 pour que cela marche ? J'utilise X-Lite comme softphone et le serveur Asterisk 10.5.1 est hébergé sur un FreeBSD 9.0

Une question subsidiaire également, est-il possible de configurer Asterisk pour utiliser de l'authentification par bind LDAP et non via un simple champ de la base ? (J'entends par là qu'Asterisk tente de s'authentifier en tant que l'utilisateur auprès du LDAP)

Ce genre de config très courante lorsqu'on travaille avec du LDAP permet d'éviter de stocker dans la base d'identification des données d'authentification. En l'occurrence mon LDAP n'est pas censé contenir des données d'authentification, c'est le Kerberos qui le contient et le LDAP, lors d'un bind, utilise SASL pour faire valider le mot de passe au Kerberos.

Même si je sais bien que l'on peut protéger des champs LDAP via ACL, c'est plus que recommander de séparer les deux bases.

ygini
30/06/2012, 10h10
Question subsidiaire :

Est-ce que res_ldap supporte des valeurs statiques et des combinaisons de champ pour le mapping Asterisk / LDAP ?

J'aimerais par exemple que l'account type soit fixé à friend sans aller lire une valeur LDAP qui sera toujours la même.

J'aimerais aussi que le fullcontact soit construit dynamiquement avec la valeur statique sip: et le contenu du champ mail du LDAP par exemple.