Project

General

Profile

Mise en œuvre d'Eole-AD

Objectif du projet

Pouvoir intégrer un module Scribe dans un domaine Active Directory.
Le paquet (optionnel) eole-ad disponible pour Scribe-2.3 permet de faciliter la mise en production de la fonctionnalité "Eole-AD".

Configuration du serveur AD

Rôles et services

Installer un serveur Active Directory avec les rôles suivants :

  • serveur DNS
  • Services de domaine Active Directory
  • Services de certificats Active Directory

La commande dcpromo permet de lancer l'assistant adéquat.

Pour activer le services de certificats sur un serveur 2003, aller dans "Panneau de configuration"->"Ajout/Suppression de programmes"->"Ajouter/Supprimer des composants Windows" puis cocher :
  • "Serveur d'applications"->IIS
  • "Services de certificats"

Conteneur hébergeant les comptes Scribe

Les comptes Scribe sont répliqués par défaut dans le conteneur Active Directory CN=Users.
La variable "ad_container" permet de personnaliser le conteneur hébergeant les comptes Scribe (ex : OU=Scribe).
En cas de personnalisation du conteneur, ne pas oublier de créer ce dernier dans Active Directroy avant d'instancier le serveur Scribe.

Exemple de configuration du serveur AD :

  • Nom de l'hôte : srv2k3r2
  • Suffixe DNS principal : domaine.lan
  • Adresse IP : 192.168.0.73

Configuration du module Scribe

Installation du module

maj 29/07/2015
  • installer la dernière version du module Scribe en version 2.3
  • mettre les paquets à jour en version candidate : Maj-Auto -C
  • installer le paquet eole-ad : apt-eole install eole-ad

Exemple de configuration :

Dans l'interface de configuration du module, les paramètres spécifiques à eole-AD sont les suivants :

  • onglet Général
    • Nom de domaine privé du reseau local : domaine.lan
    • ne pas renseigner l'Adresse IP du serveur DNS
    • Nom du domaine Samba (ex: mondomaine) : domaine
  • onglet Services
    • Activer l'intégration à un domaine Active Directory : oui
  • onglet Active directory
    • Nom du serveur Active Directory : srv2k3r2
    • Nom du domaine Active Directory : domaine.lan (cliquer sur [ Def ])
    • Adresse IP du serveur Active Directory : 192.168.0.73
    • Compte administrateur du domaine AD : Administrateur

Instanciation

Instancier le module à l'aide de la commande : instance zephir.eol

Au cours de l'instance, vous seront demandés :
  • le mot de passe de l'utilisateur admin (du Scribe) : il sera ré-initialisé par la suite
  • le mot de passe de l'administrateur Ad : il est requis pour la jonction au domaine kerberos et la réplication de l'annuaire Scribe vers AD

A la fin de l'instanciation, la commande diagnose ne doit pas signaler d'erreur, en particulier sur les tests suivants :

*** Serveur de fichiers
.           Partage (SMB/TCP) => Ok
.           Partage (NMB/UDP) => Ok
.             Ticket kerberos => Ok
.         Synchronisation LSC => Ok
.            DNS 192.168.0.73 => Ok

et :

*** Controle-Vnc
.                Controle-Vnc => Ok
.          Controle-Vnc (Web) => Ok

Finalisation

Ré-initialiser le mot de passe de l'utilisateur admin à l'aide de la commande changepasswordeole.pl.
Le mot de passe doit respecter la politique de sécurité du serveur AD (au minimum 8 caractères de long et 3 classes de caractères distinctes).

root@scribe:~# changepasswordeole.pl admin "eole21;;" 
Password changed

Remarques

Si on relance une instance ou un reconfigure, on obtient le message suivant :

ATTENTION : plusieurs sambaDomainName détectés !
Des dysfonctionnements sont possibles sur ce serveur

La présence des deux entrées "sambaDomainName" ne semble pas entraîner d'effet de bord mais ce serait un sujet à creuser.

Gestion des postes clients

Pré-requis

Sur le serveur Active Directory, ajouter l'utilisateur admin au groupe des Administrateurs du domaine (Admins du domaine).

Préparation du poste

Les stations peuvent être intégrées au domaine ("domaine") avec le compte admin et/ou le compte Administrateur de l'Active Directory.
En se connectant ensuite avec l'utilisateur admin (U:\ doit pointer vers le Scribe), il devient possible d'installer le client Scribe.
Une fois le client Scribe installé, les utilisateurs du domaine voient leurs montages Scribe et les règles définies dans les modèles ESU sont appliquées.

Gestion des utilisateurs

L'importation, la gestion des utilisateurs, des groupes et des mots de passe au travers de l'interface EAD est totalement fonctionnelle.

Points non résolus

Modification du mot de passe depuis le client (ctrl-alt-suppr)

La modification du mot de passe depuis le poste client n'est pas gérée (le mot de passe est modifié uniquement dans Active Directory).

L'implémentation de la solution "passwordhk" proposée dans le démonstrateur avait été écartée dans un premier temps mais c'est bien ce type de solution qu'il faudrait mettre en place.

La sécurité de la solution proposée pourrait être améliorée en utilisant le protocole ldaps (variable Scribe : "Activer LDAP sur le port SSL ( ldap_ssl )").

Le mot de passe de l'administrateur LDAP du Scribe est modifié à chaque reconfigure. Il faudrait soit le fixer, soit ajouter un compte dédié à la gestion des mots de passe (ou, par exemple, ajouter un droit d'écriture sur l'attribut "userPassword" à l'utilisateur spécial "reader").

Modification forcée du mot de passe à la 1ère connexion

Cette option a été conservée dans les interface mais elle est actuellement neutralisée en mode AD du fait du problème précédent (modification du mot de passe depuis le client non supportée).

Modification du mot de passe depuis des applications externes

L'EAD et les clients Windows mis à part, il existe peu de possibilité de modifier son/les mots de passe sur le module Scribe :
  • SquirrelMail : plugin dédié non compatible avec la solution Eole-AD, aucune évolution envisageable (logiciel abandonné au profit de RoundCube)
  • Plugin Password dans Posh : plugin dédié non compatible avec la solution Eole-AD
  • EOP : fonctionnalité non implémentée sur EOLE 2.3

Politique de sécurité des mots de passe

La politique par défaut des serveurs AD (8 caractères et 3 classes distinctes minimum pour les mots de passe) a été reportée sur le module Scribe.

Il reste des endroits (création d'utilisateur en ligne de commande, ...) où la validité du mot de passe n'est pas vérifiée.
Si un mot de passe trop faible est fourni, sa synchronisation sur l'annuaire AD échouera. Le message d'erreur actuel est le suivant :

Unable to modify unicodePwd for CN=user11,CN=Users,DC=domaine,DC=lan (0000052D: SvcErr: DSID-031A0FC0, problem 5003 (WILL_NOT_PERFORM), data 0
)

Suppression des comptes dans Active Directory

Les comptes supprimées sur le module Scribe ne sont automatiquement supprimés de l'annuaire Active Directory que par une synchronisation lsc manuelle.

D'où la décision de la lancer la synchronisation manuelle toutes les nuits (#7878).

NB : le compte utilisateur non encore supprimé de l'annuaire Active Directory est bien désinscrit de tout ses groupes (sauf "Utilisateurs du domaine"), son accès au réseau s'en retrouve très limité.

Dysfonctionnements possibles au niveau de la réplication d'annuaire

Je n'ai pas de certitudes mais j'ai l'impression qu'il arrive que la réplication (service lsc) s'arrête de temps à autre...
Cela est surtout problématique lorsque l'on veut créer un nouvel utilisateur car si celui-ci n'est pas répliqué dans AD dans les 20 secondes, son mot de passe ne sera pas synchronisé dans AD (Le script changepasswordeole.pl échoue avec le message "User <login> not found").

Piste de travail : utiliser une version plus récente du logiciel lsc (version actuelle, packagée par EOLE : 2.0.2 - dernière version : 2.1.3).

Portage du projet sur une version supérieure d'EOLE

Le projet a été implémenté uniquement sur la version 2.3 du module Scribe.

Une partie non négligeable des modifications n'a pas été portée dans les versions supérieures d'EOLE (2.4.1 notamment).

La configuration de Samba (projet eole-fichier) est à revoir totalement.