Réplication LDAP

Avec le module Scribe ou le module Horus, il est possible de mettre en place rapidement une réplication d'annuaire LDAP vers un module Seshat.

La réplication utilise le mécanisme syncrepl (LDAP Sync Replication engine).

Syncrepl est plus robuste que son prédécesseur slurpd et permet de mettre en place des architectures beaucoup plus complexes.

La configuration actuelle permet au client (serveur Seshat) de venir recopier les informations de son fournisseur (serveur Scribe ou Horus).

Attention

Il est déconseillé de répliquer des serveurs Scribe et des serveurs Horus sur le même client Seshat.

Pré-requis

Serveur Scribe ou Horus

Pour configurer le fournisseur il faut adapter les informations dans l'interface de configuration du module en mode expert dans l'onglet Openldap.

  • la réplication LDAP du côté fournisseur doit être activée
  • par défaut, les communications LDAP ne sont pas chiffrées. Pour mettre en place une communication chiffrée entre le fournisseur et le client, il faut passer la variable Activer LDAP sur le port SSL à oui ou à uniquement.

Attention

Selon la configuration mise en place le port 389 et/ou le port 636 doivent être ouverts :

  • du serveur Seshat vers le serveur Scribe ou Horus ;
  • si possible dans le sens inverse.

Mise en place

Génération du fichier de configuration

Sur le module Scribe ou Horus, exécuter la commande active_replication.py.

Cette commande permet de générer dans /root/ le fichier de configuration propre au serveur nommé : replication-<numero_etab>.conf.

La commande permet de paramétrer plusieurs éléments :

  • Répliquer également les groupes : si la réponse est laissée à non, seuls les comptes utilisateurs seront répliqués.

    Certains connecteurs EoleSSO disponibles sur le module Seshat nécessitent de répliquer les groupes en plus des utilisateurs ;

  • Ajouter des uid à exclure de la réplication : en répondant oui à cette question, il est possible de saisir une liste de comptes à ne pas répliquer (administrateur locaux, comptes réservés, ...).

    Par défaut seul le compte admin n'est pas répliqué ;

  • Adresse utilisée pour accéder au module depuis le client : adresse IP ou nom de domaine que le client de réplication devra utiliser pour interroger l'annuaire du module. L'adresse proposée par défaut est celle de l'interface eth0 du module mais cette valeur dépend de l'architecture réseau mise en place et notamment de la configuration des pare-feu présents entre le module EOLE et le client de réplication ;

  • Selon la configuration du serveur OpenLDAP du module, le choix du protocole à utiliser pour la réplication peut être proposé. Si à la question Utiliser le protole ldaps (port 636) pour la réplication la réponse est laissée à oui, la réplication utilisera le protocole LDAPS sinon elle utilisera le protocole LDAP.

Mise en place manuelle

Il faut copier le fichier /root/replication-<numero_etab>.conf du fournisseur dans le dossier /etc/ldap/replication du serveur Seshat.

Puis, sur le module Seshat, il faut exécuter la commande gen_replication.py.

Mise en place via Zéphir

Si le serveur fournisseur (Scribe ou Horus) et le serveur Seshat sont enregistrés sur le même serveur Zéphir, celui-ci peut se charger de la mise en place de la configuration sur le serveur Seshat.

La connexion à Zéphir est proposée automatiquement en fin d'exécution du script :

Veuillez saisir votre identifiant Zéphir (rien pour annuler l'envoi) :

Attention

Il est impératif de connaître l'identifiant Zéphir du serveur Seshat pour finaliser la transaction.

Identifiant Zéphir du serveur de réplication (rien pour annuler l'envoi) :

Les configurations de réplication envoyées via Zéphir sont consultables dans l'application web Zéphir en utilisant le lien configurations de réplication LDAP disponible sur la page décrivant l'état du serveur Seshat.

Consultation des configurations de réplications LDAP dans l'application Zéphir
Consultation des configurations de réplications LDAP dans l'application Zéphir
Truc & astuce

Les configurations envoyées via Zéphir sont stockées dans le répertoire /etc/ldap/replication/zephir du serveur Seshat.

Suivi et débogage

Truc & astuce

Pour obtenir des informations concernant la réplication, il faut paramétrer slapd avec le log level 16384.

Cela se traduit par la ligne de commande suivante :

slapd -f /etc/ldap/slapd.conf -u openldap -g openldap -d 16384

Attention, ce mode peut être très verbeux.