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. En voici le détail…

PREREQUIS

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

Worteks llng cas

Une fois dans le module CAS, vous devez configurer les options de la façon suivante :

Activation: On # Activation du module CAS
Path: ^/cas/ # URL d’appel au module CAS
Use rule: On # Utilisation sans restriction
Options
    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 externe
        mail $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 CAS
    Nom du module des session CAS: Apache::Session::File # Méthode de stockage des sessions CAS
    Options du module des sessions CAS: # Options relatives à la méthode de stockage
    Directory /var/lib/lemonldap-ng/sessions # Emplacement des fichiers de session
    LockDirectory /var/lib/lemonldap-ng/sessions/lock # Emplacement des fichiers de lock
    generateModule 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 Bluemind
        Access rule
            Default rule:
                default accept # Pas de filtrage d’utilisateurs sur ce VirtualHost
        Exported headers: # Pas de headers HTTP spécifiques exportés
        Form replay: # Pas de rejeu de formulaire
        Options:
            Port: # Port spécifique
                Value -1
            HTTPS: On # Activation du HTTPS
            Maintenance mode: Off # Activation du mode maintenance
            Aliases: # 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 :

Bluemind screeshot

  • ou en ligne de commande :
     root@mail:~# vim /etc/bm/bm.ini
     [global]
     ...
     casUrl = https://cas.domain.tld/cas/
     casDomain = domain.tld
    
      Attention. Bien que les deux solutions doivent fonctionner, seule la modification du fichier bm.ini semble être efficace. 
    

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

Pour nous contacter : info@worteks.com

Sources