Notre partenaire Worteks a publié un article sur l’intégration de BlueMind avec l’outil d’authentification unique web LemonLDAP-NG que nous reproduisons ici. Pour les contacter : info@worteks.com
Nous avons retenu FreeIPA (Identity Manager Software) comme brique centrale de l’infrastructure chargée d’assurer la fonction d’annuaire et d’authentification centralisée. Notre choix s’est ensuite porté sur LemonLDAP-NG en tant que portail d’authentification unique sur lequel nous venons authentifier nos services, dont notre solution de messagerie BlueMind.
Prérequis
Afin d’effectuer les manipulations que nous vous présentons, vous devez disposer d’une instance fonctionnelle de LemonLDAP et de BlueMind avec un backend d’utilisateurs LDAP commun.
Installation de LemonLDAP-NG.
Installation de BlueMind.
Nous verrons l’installation et la configuration de ces produits dans de futurs billets de blog.
Step 1 : LemonLDAP-NG
Dans LemonLDAP, il faut activer et configurer le module CAS ici : General Parameters -> Issuer modules -> CAS
Une fois dans le module CAS, vous devez configurer les options de la façon suivante :
Activation: On
# Activation du module CASPath: ^/cas/
# URL d’appel au module CASUse rule: On
# Utilisation sans restrictionOptions
CAS login:
# Champ de session utilisé pour le login CAS. Par défaut, l’uid.CAS exported attributes:
# Attributs que l’on souhaite transmettre à l’application externemail
$mail
uid
$uid
Politique de contrôle d'accès: None
# Définit le type de contrôle d’accès fait par le service CASNom du module des session CAS: Apache::Session::File
# Méthode de stockage des sessions CASOptions du module des sessions CAS:
# Options relatives à la méthode de stockageDirectory
/var/lib/lemonldap-ng/sessions
# Emplacement des fichiers de sessionLockDirectory
/var/lib/lemonldap-ng/sessions/lock
# Emplacement des fichiers de lockgenerateModule
Lemonldap::NG::Common::Apache::Session::Generate::SHA256
# Module de génération des sessions
Il faut maintenant ajouter un nouveau Virtual Host via Virtual Hosts -> Add virtualhost -> mail.company.tld
en adaptant les options suivantes à votre propre environnement :
mail.company.tld
# URL de votre webmail BluemindAccess rule
Default rule:
default
accept
# Pas de filtrage d’utilisateurs sur ce VirtualHost
Exported headers:
# Pas de headers HTTP spécifiques exportésForm replay:
# Pas de rejeu de formulaireOptions:
Port:
# Port spécifiqueValue
-1
HTTPS: On
# Activation du HTTPSMaintenance mode: Off
# Activation du mode maintenanceAliases:
# URL aliases
Si comme nous, vous souhaitez utiliser LemonLDAP-NG comme portail applicatif, vous pouvez ajouter des applications à l’interface via General Parameters -> Portal -> Menu -> Categories and applications
Pour ajoutez Bluemind, choisissez une categorie, puis configurer l’application comme ci-dessous :
Name: Bluemind
Description: Email Web Client
URI: mail.company.tld
Logo: mailappt.png
Display application: Enabled
Step 2 : Bluemind
Pour pouvoir utiliser l’authentification CAS de Bluemind, il faut installer le plugin adéquat :
- Sous Debian-like :
apt install bm-plugin-hps-cas
- Sous RedHat-like :
yum install bm-plugin-hps-cas
Il faut redémarrer les services de Bluemind pour prendre en compte l’installation du plugin :
bmctl restart
Pour activer l’authentification CAS, vous avez deux options (au choix) :
- via l’interface d’administration, en tant qu’admin0
- ou en ligne de commande
root@mail:~# vim /etc/bm/bm.ini [global] ... casUrl = https://cas.domain.tld/cas/ casDomain = domain.tld
Après ces modifications, il faut relancer le service hps, en charge de l’authentification, de Bluemind :
service bm-hps restart
L’authentification est maintenant déléguée au LemonLDAP. Il n’est donc plus possible d’accéder à l’interface d’authentification de BlueMind.
Pour utiliser l’authentification native de Bluemind (pour l’utilisateur admin0 par exemple), il faut utiliser l’URL suivante :
https://mail.domain.tld/native
Sources :
- L’article sur le blog de Worteks : https://www.worteks.com/blog-post-worteks-lemonldap-bluemind.html
- Protocole CAS : https://fr.wikiliedia.org/wiki/Central_Authentication_Service
- LemonLDAP-NG et CAS : https://lemonldap-ng.org/documentation/latest/idpcas?s[]=cas
- Bluemind et CAS : https://forge.bluemind.net/confluence/display/BM35/Mise+en+place+du+SSO+CAS