Tags:
create new tag
, view all tags

Stage de Jason Secula - IUT Charlemagne - [1/04/19 au 21/06/19]

Important : cette page est réservée au suivi du stage, merci de ne pas la modifier

Informations générales pour les stagiaires

Pour toute information concernant ce stage : contacter Christophe ou Thomas K.

Sujet

Stage (Avril - Juin 2019)

Avril

  • 1,
    • Arrivée
    • Installation du poste de travail
    • Début du maquettage de l'installation LDAP sur des VMs avec Vagrant+Virtualbox
    • Réalisation d'un annuaire LDAP avec utilisateurs et groupes
  • 2,
    • Etude de la réplication des serveurs LDAP
    • Etude de la synchronisation des répertoires homes avec NFS+LDAP
    • Mise en place de l'expiration de compte
  • 3,
    • Mise en place de la restriction de l'accès aux postes clients par groupe
    • Mise en place d'une réplication provider-consumer (Master-Slave) du serveur LDAP
  • 4,
    • Mise en place d'un serveur NFS et de la diffusion des répertoires homes sur les postes avec LDAP+AUTOFS
  • 5,
    • Etude de l'outil de synchronisation LDAP LSC
  • 8,
    • arrivée, journée d'accueil salle de réunion de la Coupole
  • 9,
    • Suite de l'étude de l'outil LSC
    • Synchronisation des utilisateurs d'un annuaire LDAP avec un autre en utilisant LSC
  • 10,

    • Test des conditions de suppression avec LSC

    • Installation d'un serveur LDAP vierge sur la VM obas-ldap-master
    • Snapshot de la VM obas-ldap-master sur vSphere
    • Test de connection au serveur ldap de l'université et de la collecte d'informations
  • 11,

    • Installation du paquet openjdk-8-jdk et de l'outil LSC sur la VM obas-ldap-master

    • Configuration du serveur ldap
    • Création d'un arbre comprenant deux unités d'organisation (people, groups)
    • Configuration de la synchronisation LSC (lsc.xml)
    • Synchronisation des utilisateurs du seveur LDAP de l'université avec le serveur obas-ldap-master en utilisant l'outil LSC
  • 12,

    • Mise en place d'une liste d'objectifs à réaliser concernant l'annuaire LDAP

    • Recherche sur la possibilité de modifier son mot de passe avec PAM
    • Confirmation du besoin de la classe d'objet PosixAccount dans la définition de l'utilisateur pour pouvoir se connecter avec PAM sur un poste UNIX
    • Réflexion sur l'ajout d'un attribut pour empêcher la suppresion des comptes locaux lors de la phase de nettoyage de LSC
    • Etude/Découverte de FusionDirectory (Documentation)
  • 15,

    • Création d'une classe d'objet avec des attributs personnalisés (datasource)

    • Installation dans un environnement de test de l'outil pour créer et gérer les comptes locaux (fusiondirectory)
    • Etude de la différence entre groupsofnames et posixgroups ainsi que les problèmatiques que cela pose
  • 16,
    • Ajout de directives dans le fichier de configuration LSC pour créer des attributs POSIX (uidNumber, gidNumber, homeDirectory, LoginShell) lors du rajout des utilisateurs
    • Ajout d'une tâche LSC pour créer les groupes POSIX correspondant à chaque utilisateur en se basant sur les utilisateurs rajoutés précédemment
    • Renommage des tâches pour avoir le bon ordre (par ordre alphabétique) de lancement
    • Test de la synchronisation
    • Etude de la possibilité de mettre à jour des informations (ex: changement de mot de passe sur un poste client) en passant par un serveur esclave comme relai (voir lien Fonctionnalités avancées de OpenLDAP).
  • 17,

    • Installation de fusiondirectory sur le serveur obas-ldap-master et configuration

    • Ajout du plugin fusiondirectory posix pour la gestion des comptes et groupes POSIX
    • Etude du fonctionnement des ACLs LDAP
  • 18,

    • Tentative de mise en place de sssd pour l'authentification LDAP sur une machine unix au lieu de nscd

  • 23,

    • Mise en place de SSSD réussie après résolution du problème de changement de mot de passe (use_authtok doit être supprimer dans /etc/pam.d/common-password) qui était dû au fait que SSSD essayer d'établir une connexion TLS avec le serveur LDAP qui n'était pas configuré en TLS (rajout temporaire de l'option "ldap_auth_disable_tls_never_use_in_production = true" pour tester le fonctionnement)

    • Ajout du schéma rajoutant les objets sudo et ajout d'entrées sudoers sur le serveur LDAP pour pouvoir configurer à partir de SSSD le sudoers sur les postes, tests en fonction de l'hôte et de l'utilisateur.
  • 24,
    • Ajustement de la configuration de synchronisation LSC (ajout d'une condition modifytimestamp pour la mise à jour des entrées)
    • Recherche sur l'overlay PasswordPolicy pour restreindre le changement de mot de passe
  • 25,
    • Ajout des plugins Sudo, System, PasswordPolicy et LdapManager à FusionDirectory (ajout des schémas qui vont avec)
    • Création de rôles sudo pour l'accès avec sudo sur les différents appareil
    • Test du plugin FusionInventory pour FusionDirectory (fonctionne comme serveur FusionInventory)
    • Configuration d'un client SSSD pour tester l'authentification basé sur les groupes, les hosts (access_provider, ldap_access_order, ldap_access_filter)
    • Remplacement du schema nis par le schema rfc2307bis
    • Ajout du plugin mixedgroups qui permet de mixer les groupes posix et groupofnames
    • Modification de la configuration de synchronisation LSC pour créer des groupes mix (groupofnames et posixgroup) lors de la synchronisation
    • Activation de l'overlay memberof et recréation des groupes
  • 26,

    • Correction du problème de la dashboard après installation du plugin ppolicies (dépendance du plugin mail que j'ai dû rajouter)

    • Test des politiques de mots de passe en appliquant des politiques différentes
    • Rencontre d'un bug concernant des comptes avec deux mots de passe et la politique de mot de passe qui en n'autorise qu'un par utilisateur.
  • 29,

    • Configuration autofs de SSSD (nécessite le paquet autofs-ldap)

    • Test du cache SSSD hors ligne (persistence des enregistrements des utilisateurs qui se sont connectés à la machine, reprise automatique une fois à nouveau en ligne).
  • 30,

    • Rédaction d'une documentation sur SSSD

    • Rédaction d'une documentation d'installation de FusionDirectory
    • Rédaction d'une documentation sur la synchronisation LDAP avec LSC

Mai

  • 2,
    • Suite de la rédaction de la documentation sur SSSD
    • Modification du script LSC suite à la constatation d'une erreur d'attribution des GIDs par la synchronisation (plusieurs GIDs identiques)
    • Réflexion sur les ACLs à mettre en place sur le(s) serveur(s) LDAP
    • Préparation du fichier LDIF pour ajouter la configuration TLS au serveur LDAP en attendant le certificat, la clé privée du certificat et le certificat de l'autorité de certification
  • 3,

    • Configuration de SSSD sur un pc portable avec droits sudo et création d'un répertoire home (PAM)
    • Configuration de la création d'un répertoire home automatique dans un partage NFS monté sur /home sur le poste client avec SSSD
    • Mise à jour de la documentation SSSD pour inclure la création automatique de répertoire home avec PAM
  • 6,

    • Configuration du TLS sur l'annuaire du serveur obas-ldap-master

    • Installation et configuration de l'authentification SSSD sur le serveur obas-ldap-master
    • Modification du fichier de configuration LSC pour utiliser le TLS
    • Nettoyage du serveur obas-ldap-slave qui est un clone de obas-ldap-master
    • Rédaction de la documentation expliquant comment activer le TLS sur openldap
    • Modification de la documentation SSSD pour ajouter la méthode pour créer un mot de passe obfusqué et le rajouter dans le fichier de configuration
    • Tentative de réplication des données (erreur de schémas manquant)
  • 7,
    • Tentative de réplication de toute la configuration pour éviter le problème des schémas manquant (erreur de réplication pour les modules mais réplication des schémas réussie)
  • 9,
    • Réplication manuelle des schémas et des modules avant la réplication des données
    • Ajout d'une directive sur le serveur consumer (esclave) pour permettre la mise à jour des données utilisateurs (ex: mot de passe)
    • Test de la mise à jour de mot de passe en étant connecté directement au consumer et non au provider (changement de mot de passe réussi)
    • Constatation d'un problème de connection lors d'une tentative de connection en ldaps pour la réplication du maitre vers l'esclave (cause possible: TLS non activé sur l'esclave)
    • Rédaction d'une documentation sur la mise en place de la réplication maître-esclave
  • 10,

    • Modification de la documentation SSSD, ajout des commandes utiles de sssd-tools et ajout de l'option pour définir le temps de cache des entrées.

    • Autorisation d'une connection sur le serveur Maître LDAP qu'en ldaps ou ldapi
    • Changement des ACLs pour n'autoriser l'accès en lecture aux données qu'à ceux connectés
  • 13,

    • Problème de synchronisation LSC (pas de mise à jour des entrées)

  • 14,
    • Même problème qu'avant concernant la synchronisation LSC
  • 15,
    • Résolution du problème de synchronisation LSC dû à une erreur dans le mainIdentifier dans le fichier de config
    • Modification de la documentation LSC (ajout d'un exemple de configuration complet à partir de la configuration sur obas-ldap-master)
    • Ajout des ACLs restrictivent sur obas-ldap-slave
    • Constatation de problèmes de droits lors de l'accès aux paramètres réseaux sur un poste avec un environnement de bureau (certains groupes systèmes sont manquant pour donner l'autorisation à l'utilisateur de modifier certains paramètres)
  • 16,

    • Tentative de détection de la cause du bug fusiondirectory lors de la présence des groupes mix (groupofnames+posixgroup)

    • Modification de la documentation SSSD

    • Etude du backup des données et de la configuration du serveur LDAP

  • 17,
    • Modification de la configuration apache du serveur GLPI pour rendre accessible GLPI directement au lieu de passer par l'url http://invobs.astro.unistra.fr/glpi (changement du DocumentRoot sur la racine de glpi) qui est tout de même accessible via cette url (suppression de l'alias et ajout d'un redirect permanent)
    • Configuration de l'authentification LDAP sur l'interface GLPI
    • Test de connection avec les identifiants LDAP
  • 20,
    • Recherche d'un moyen de création de ticket GLPI à partir de mails (collecteurs)
    • Modification de la configuration apache sur le serveur rosendo pour rediriger vers zabbix lorsqu'on va sur la racine (suppression de la réécriture de la conf de grafana et changement du DocumentRoot dans la conf zabbix)
    • Configuration de l'authentification LDAP sur zabbix
    • Détection d'un risque d'indisponibilité de s'authentifiter sur Zabbix si le serveur LDAP est injoignable (authentification LDAP ou interne mais pas les deux). Il est possible d'avoir un utilisateur qui se connecte sans LDAP en cas de problème.
  • 21,

    • Modification de la documentation SSSD (ajustements)

    • Configuration de la création de tickets à partir des mails collectés (glpi collector) et test de la création de ticket par mail
    • Tentative de résolution ou de comprendre le bug du plugin mixedgroup sur FusionDirectory qui arrive lors de la sauvegarde d'un groupe après modification
    • Etude du fonctionnement de la supervision avec Zabbix
    • Modification de la configuration apache sur le serveur obas-ldap-master pour permettre d'accéder directement sur la page fusiondirectory
  • 22,

    • Ajout de SSSD sur le serveur invobs avec une configuration qui n'autorise que les utilisateurs du groupe obas-admins à se connecter

    • Ajout de SSSD sur le serveur rosendo avec une configuration qui n'autorise que les utilisateurs du groupe obas-admins à se connecter

    • Mise à jour de la documentation SSSD pour inclure une commande pour configurer PAM sur CentOS/RedHat

    • Mise à jour de l'exemple de configuration dans la documentation SSSD pour montrer l'utilisation de filtres avec plusieurs groupes
  • 23,

    • Identification de la cause de l'erreur lors de la modification d'un groupe sur FusionDirectory (problème d'incompatibilité entre les plugins sudo et mixedgroups)

    • Test de la sauvegarde à chaud et de la restauration avec les commandes slapcat et slapadd

    • Ajout d'un utilisateur cn=auth,o=annuaire,dc=obas-ldap-master qui n'a que des droits en lecture et qui sera utiliser pour les applications et services afin de retrouver chaque utilisateur (Ajout d'une règle spécifique dans les ACLs)

  • 24,

    • Passage du site fusiondirectory de HTTP à HTTPS et ajout d'une redirection si on accède au site en http vers la version https en modifiant la configuration apache

    • Changement des mots de passes pour les comptes LDAP auth,admin,replicator,fd-admin (générés par keepass)

  • 27,

    • Supervision des serveurs LDAP (Master et Slave) avec Zabbix (rajout d'un template et d'un script légèrement modifié pour que l'agent zabbix puisse recupérer les informations données par le module monitor)

    • Changement du RootDN (obas-ldap-master à obas-ldap, pour éviter la confusion entre le nom de serveur et le DN)
    • Reconfiguration des applications et services avec le nouveau RootDN ainsi que les nouveaux mots de passes pour les comptes
    • Ajustement des ACLs
    • Configuration de l'authentification LDAP sur Zabbix
  • 28,

    • Changement de la configuration SSSD pour le poste astromas1 avec les nouveaux identifiants

    • Tentative de montage de l'ensemble des répertoires home du partage nfs avec autofs et ldap (erreur Too many levels of symbolic links lors du montage sur /home)

    • Montage du répertoire home individuelle avec autofs et ldap lors de la connection de l'utilisateur

    • Suppression du montage automatique du home dans /astromaster/home dans /etc/fstab

    • Utilisation de Ansible avec un playbook pour installer et configurer SSSD sur les postes astromas 1 à 6
  • 29,

    • Paramètrage de GRR pour gérer l'authentification LDAP (installation du paquet php-ldap et configuration sur l'interface)

  • 31,

    • Installation du poste d'un nouveau stagiaire et configuration avec Ansible

    • Création du compte du stagiaire sur l'annuaire avec FusionDirectory
    • Création d'un rôle Ansible "common" pour l'installation de SSSD et de l'agent fusioninventory

    • Création d'un rôle Ansible "supervision" pour l'installation et configuration de l'agent Zabbix

Juin

  • 3,
    • Transformation du fichier de configuration de l'agent Zabbix en template pour l'utilisation dans le rôle "supervision"
  • 4,

  • 5,
    • Changement du niveau de log du serveur ldap pour voir le problème d'authentification du parefeu
    • Recherche d'un moyen d'automatiser avec Ansible la configuration LDAP sur l'iDRAC des serveurs
  • 6,

    • Installation des modules Ansible "Dell EMC OpenManage Ansible Modules" pour pouvoir configuer l'iDRAC

    • Modification des rôles ansibles (zabbix-supervision, common)

  • 7,

  • 11,

    • Modification du role common pour activer via des variables les installations et configurations de l'agent FusionInventory et d'autofs.

    • Ajout de commentaires pour décrire à quoi correspondent les variables définies par défaut et comment les utiliser.

  • 12-21,

    • Travail sur les slides

    • Maquettage HAProxy
  • 24,
    • Mise en place de deux serveurs HAProxy faisant le loadbalancing entre les deux serveurs LDAP slave
    • Création d'un cluster avec Corosync et Pacemaker

Liens


Installation / configuration d'annuaire LDAP

Outils de gestion d'annuaire
Synchronisation / réplication LDAP
Sauvegarde et restauration LDAP Supervision avec Zabbix Configuration des postes clients
ACLs Ansible HA

Versions testables

  • ...

Documentation

Liste des améliorations à envisager

  • ...

Bugs connus

Topic attachments
I Attachment Action Size Date Who Comment
PDFpdf diapo.pdf manage 459.4 K 2019-11-20 - 16:52 AndreSchaaff  
PDFpdf rapport_stage-1.pdf manage 1220.2 K 2019-11-20 - 16:51 AndreSchaaff  
Topic revision: r61 - 2019-11-20 - AndreSchaaff
 
This site is powered by the TWiki collaboration platform Powered by PerlCopyright © 2008-2024 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback