Que nous réserve la LDAPCon 2017 ?

La LDAPCon est une conférence internationale autour de la technologie LDAP et des enjeux de gestion des identités, d’authentification et d’habilitation.

L’événement qui se déroulera cette année à Bruxelles du 19 au 20 octobre, se tient tous les deux ans dans un pays différent :

Savoir-faire Linux, déjà commanditaire en 2015 (consultez notre retour sur cette édition) renouvelle avec plaisir son soutien à cette communauté en étant une nouvelle fois partenaire de l’édition 2017.

2 jours et 19 conférences, un programme riche et rythmé

Le programme de cette édition promet des interventions intéressantes, parmi lesquelles :

  • ReOpenLDAP : Modification d’OpenLDAP pour une utilisation intensive chez un opérateur de télécommunications
  • OpenLDAP pour Samba 4 : Point sur l’intégration d’OpenLDAP dans Samba 4 en lieu et place de l’annuaire natif codé par l’équipe Samba
  • PHP-LDAP : Des nouvelles de l’évolution de l’API LDAP dans PHP, délaissée depuis plusieurs années et que les développements reprennent
  • OpenLDAP : Des nouvelles du projet OpenLDAP par Howard Chu, le développeur principal

Les sujets afférents à LDAP comme la gestion des identités dans le Cloud, les habilitations/autorisations, l’authentification unique ou encore la supervision seront abordés dans les différentes présentations.

Savoir-faire Linux fera le point sur les différents protocoles de SSO (CAS, SAML et OpenID Connect) dans une intervention donnée vendredi après-midi, juste avant la présentation du logiciel FusionDirectory, le logiciel d’administration des données d’un annuaire LDAP, utilisé dans notre infrastructure interne et chez certains de nos clients.

Si cette conférence vous intéresse, vous pouvez réserver vos billets en ligne sur le site de la conférence.

Un nouveau standard de SSO pour les gouverner tous

L’authentification unique (en anglais Single Sign On ou SSO) est aujourd’hui bien implantée dans les systèmes d’information, grâce à une large offre de produits et surtout de nombreux standards comme CAS, SAML ou OpenID Connect, pour ne citer que les plus importants.

Cependant, ce domaine reste difficile d’accès car chaque nouvelle norme demande un temps d’apprentissage non négligeable et l’adaptation des applications. Afin d’éviter que ces technologies finissent dans un cul-de-sac, un nouveau standard unifiant les protocoles actuels a vu le jour : le standard des anneaux !

La fraternité de l’anneau

Ce standard part du principe que tous les protocoles de SSO fonctionnent sur le même modèle : une requête non authentifiée à un fournisseur de servicesls (application) est renvoyée à un fournisseur d’identité (portail) qui authentifie l’utilisateur puis transmet son identité au fournisseur de service dans un jeton.

Le fournisseur de service et le fournisseur d’identité font partie d’un anneau de confiance (ou cercle de confiance) grâce à l’échange préalable de données de configuration (métadonnées).

Le standard des anneaux conserve donc tout simplement ce fonctionnement en simplifiant les échanges (uniquement des requêtes HTTP GET) mais en exigeant une validation des signatures des messages au bit près.

Les deux tours

Le processus d’authentification se joue en deux tours :

  1. Redirection de l’utilisateur via son navigateur entre fournisseur de services et fournisseur d’identité pour récupérer un jeton opaque (canal frontal)
  2. Validation du jeton directement entre les fournisseurs (canal dorsal)

Concrètement, le standard des anneaux va comme OpenID Connect reposer sur OAuth 2.0, à la différence que les jetons d’accès sont rebaptisés « access tolkien » pour les distinguer justement des jetons OAuth 2.0 classiques.

La redirection initiale est inspirée du protocole CAS (notion de service dans l’URL) et la gestion des signatures du protocole SAML (clé publique publiée dans les metadonnées).

Ainsi, ce nouveau standard tire parti du meilleur des protocoles existants en masquant la complexité de leurs implémentations.

Le retour du R.O.I.

Pour les applications devant intégrer le standard des anneaux, le retour sur investissement est immédiat : le nouveau protocole est simple, basé sur des composants existants, robuste et sûr.

En résumé, la gestion de l’identité de l’utilisateur peut se traduire du point de vue des applications vis-à-vis de utilisateurs par « Vous le savez ? Nous le saurons ! ».

Le standard des anneaux, un nouveau protocole sur lequel il faudra compter !

Drupal 8 : de Barcelone à Dublin, une année à fond de train

drupal-8-logo-rgb-72

Lors du DrupalCon de Barcelone en septembre 2015, la communauté Drupal était très déçue de pas avoir réussi à finaliser Drupal 8, pourtant en développement depuis bientôt quatre ans.
Au moment du DrupalCon de Dublin en septembre 2016, Drupal 8 était non seulement disponible depuis plusieurs mois, mais deux nouvelles versions mineures (8.1.0 et 8.2.0) avaient déjà vu le jour.
Cette version est sans aucun doute la plus importante de l’histoire du projet, tant par les nouveautés apportées au logiciel que par les changements appliqués au processus de développement.
De ce fait, on peut se poser la question suivante : comment la communauté Drupal est-elle passée d’un délai de quatre ans entre les versions 7 et 8, à des itérations courtes et des nouveautés fréquentes ?

La mise en place des versions planifiées
Le graphique ci-dessous montre à quel point le temps entre chaque version de Drupal a augmenté de façon considérable.
crop_drupal

Ce délai entre Drupal 7 et 8 a aussi révélé un certain nombre de problèmes.
Puisque cette version était en mode de développement durant quatre ans, les contributeurs avaient l’impression de travailler dans une sorte de bulle, ajoutant de nouvelles fonctionnalités sans jamais savoir si elles répondaient à des besoins réels chez l’utilisateur hypothétique.
La mise en place de versions planifiées est venue remédier à ce dysfonctionnement en prévoyant une nouvelle version tous les six mois.

Cela permet aux développeurs d’ajouter des nouveautés beaucoup plus souvent, de recevoir des commentaires d’utilisateurs réels et d’être ainsi mieux à même de suivre le marché.
La sortie d’une nouvelle version marque aussi la fin du support de la précédente pour inciter les utilisateurs à tenir leur site à jour et pour éviter d’avoir à supporter plusieurs versions.
La gestion sémantique de version
Le passage d’un système de version à deux chiffres (7.x) à un système de version à trois chiffres (8.0.x), appelé gestion sémantique de version, a favorisé la mise en place des versions planifiées et permis de limiter les changements de versions majeures.
Le premier chiffre, la version majeure, n’augmente que lorsque des changements rétro-incompatibles sont nécessaires. Le troisième, la version de correctif, est augmenté chaque fois qu’une mise à jour de sécurité ou qu’un correctif de bogue est appliqué. Finalement, la version mineure représentée par le chiffre du centre, est augmentée toutes les fois que de nouvelles fonctionnalités rétro-compatibles sont ajoutées.
Dans le cas de Drupal 8, c’est cette version mineure qui est incrémentée tous les six mois.

Les modules expérimentaux
En plus des sorties planifiées et des versions sémantiques, Drupal 8 introduit aussi le concept de module expérimental.
Un module expérimental est un module qui aspire à être inclus dans le cœur de Drupal, mais qui n’a pas encore atteint une stabilité acceptable.
Comparativement à un module communautaire, un module expérimental reçoit davantage de visibilité de la part des utilisateurs et des core commiters puisqu’il est inclus dans le cœur de Drupal.
Toutes les modifications apportées à son code sont revues par une personne responsable du projet, garantissant ainsi qu’il ne contient aucune faille de sécurité connue ni aucun risque de perte de données.
Notons aussi que leur utilisation dans un environnement de production est déconseillé et que leur avenir dans le cœur de Drupal n’est pas garanti, car s’ils ne se stabilisent pas dans un délai d’un an, ils seront retirés.

Les nouveautés dans Drupal 8.2.

1) De nouveaux modules expérimentaux
– «Content moderation» qui introduit les états de modération du contenu.
– «DateTime range» qui permet d’ajouter des dates de fin.
– «Place block» qui permet de placer des blocs directement sur une page sans avoir à passer par les pages d’administration, facilitant ainsi la visualisation du rendu.
– «Settings tray» qui introduit un panneau latéral pour éditer la configuration de certaines parties des pages comme, par exemple, les menus.

2) Des améliorations à des fonctionnalités déjà présentes
– Des URL relatives converties en URL absolues lorsque présentées dans un flux RSS.
– Des révisions activées par défaut pour les nouveaux types de contenus.
– Un progrès considérable du côté du support REST, qui permet un plus grand contrôle sur un site Drupal depuis une application externe.

Que peut-on espérer pour Drupal 9 ?

Avec ce nouveau modèle de développement, certains se demandent si Drupal 9 sera vraiment nécessaire dans un futur proche.
Il est vrai que les nouveautés de Drupal 8 vues ici nous permettent d’ajouter des fonctionnalités beaucoup plus facilement et rapidement qu’auparavant, alors pourquoi ne pas continuer ainsi pendant plusieurs années ?
Nous sommes portés à croire que ce sera probablement le cas. Tant qu’il n’y aura pas un excès de couches de rétro-compatibilité qui gagneraient à être retirées ou qu’il n’y a pas de besoin urgent de faire des changements rétro-incompatibles, Drupal 8 continuera d’évoluer au rythme de ses versions mineures.
De plus, étant donné que la sortie d’une nouvelle version mineure implique la fin du support de la précédente, nous pouvons espérer que lorsque Drupal 9 sortira, la transition se fera beaucoup plus efficacement que celle entre Drupal 7 et 8. Et ce pour deux raisons.
Premièrement, puisque le plus important changement sera probablement le retrait des couches de rétro-compatibilité, et que leur dépréciation aura été annoncée progressivement au fil des versions mineures, les modules communautaires auront eu amplement le temps de s’adapter.
Deuxièmement, si des changements rétro-incompatibles sont ajoutés tels que des modifications aux API ou aux structures de données, ils seront certainement moins colossaux que ceux que nous avons vus entre les versions 7 et 8, ce qui présage une mise à jour beaucoup plus aisée.

Sources
Dries Buytaert, Driesnote, DrupalCon Dublin 2016
Gábor Hojtsy, Checking on Drupal 8’s rapid innovation promises, DrupalCon Dublin 2016

Des nouvelles du projet LDAP Tool Box, la boîte à outils pour les annuaires LDAP

Le projet LDAP Tool Box rassemble différents outils pour aider les administrateurs LDAP, que ce soit des paquets OpenLDAP, des scripts de supervision ou encore des applications Web. L’objectif est de simplifier la vie des administrateurs LDAP, car comme l’indique la description du projet :

Même les administrateurs LDAP ont besoin d’aide

Tous les outils proposés sont sous licence libre et disponibles sur GitHub.

Supervision

Des greffons de supervision sont fournis pour Nagios (ou tout autre logiciel compatible) et Cacti. Ils permettent par exemple de vérifier le statut de la réplication OpenLDAP, de collecter les statistiques sur les opérations LDAP ou encore surveiller le taux de remplissage d’une base MDB.

16c97f6538278bee29e8b9de1aac3516-media-593x381

Des configurations sont également disponibles pour la pile logicielle ELK (ElasticSearch, Logstash, Kibana) afin de tracer en temps réel l’utilisation des annuaires OpenLDAP.

openldap-elk-ldap-operations

Paquets OpenLDAP

OpenLDAP est le serveur LDAP le plus répandu, très proche du standard et offrant d’excellentes performances. Il est présent dans la plupart des distributions GNU/Linux mais celles-ci font souvent des choix de compilations non avalisées par les développeurs du projet, l’exemple le plus représentatif étant la bibliothèque SSL/TLS.

Le projet LDAP Tool Box fournit des paquets pour les environnements Debian/Ubuntu et Red Hat/CentOS. Ils sont compilés avec OpenSSL et embarquent les overlays officiels ainsi que certains overlays contribués comme « lastbind » et « smbk5pwd ».

Ils offrent également des modules spécifiques de gestion de la qualité des mots de passe comme check_password et ppm. Un script de gestion du service est installé par défaut, permettant les sauvegardes/restaurations des données et de la configuration.

Interface de gestion du mot de passe

L’application Self Service Password permet de fournir aux utilisateurs une interface simple pour changer son mot de passe, ou le réinitialiser quand celui-ci est perdu (ou expiré). Cette réinitialisation peut se faire :

  • Par un lien envoyé par mail
  • Par un code envoyé par SMS
  • Par la réponse à une question

Cette interface est compatible avec différents annuaires LDAP dont Active Directory et Samba 4.

ssp_1_0_change_password

La version 1.0 de ce logiciel est sortie en octobre 2016 (voir l’article sur LinuxFR).

Interface de consultation des données

L’application White Pages est une interface de consultation des données d’un annuaire LDAP, avec les fonctionnalités suivantes :

  • Recherche rapide : une invite de recherche dans le menu permet de retrouver directement des entrées à partir du nom, du prénom, du mail ou de l’identifiant
  • Recherche avancée : un formulaire liste les différents attributs sur lesquels une recherche peut être faite
  • Trombinoscope : toutes les entrées de l’annuaire sont affichées avec leur photo

Ces fonctions peuvent être activées/désactivées et les attributs cherchés ou affichés sont configurables. L’interface peut donc être utilisée avec n’importe quel annuaire LDAP.

wp_0_1_full_display

La version 0.1 de ce logiciel est sortie en novembre 2016 (voir l’article sur LinuxFR).

Savoir-faire Linux commanditaire Bronze: Mini Compte Rendu du Sommet Drupal Nord

Maxime Turcotte, notre consultant en logiciels libres nous a gentiment réalisé un petit compte-rendu sur ses 4 jours au Drupal Nord qui ont eu lieu le 16 et 19 juin dernier à Montréal.

ClQmc9DUoAAj2TH

On retiendra, selon ses commentaires, que l’évènement aura accueilli environ 300 personnes sur les quatre jours. En grande majorité des visiteurs venus de l’extérieur de Montréal.

Une trentaine de personnes étaient inscrites aux formations du jeudi. Celles qui n’y étaient pas, on profité de ce temps mort pour préparer leurs présentations du lendemain.

On retiendra aussi la conférence donnée par Bart Feenstra et spécialement débarqué des Pays-Bas pour l’occasion. Les échanges auront tourné autour des standards PHP proposés par le groupe de réflexion PHP-FIG.

En plus des 20 autres conférences proposées le samedi, une autre excellente conférence a été donnée par Cathy Theys de Chicago autour des réflexions engagées par la communauté Drupal aussi bien au niveau du marketing, que du recrutement mais encore de la gestion de projet.

À ce propos, les audios sont disponibles ici : http://www.drupalnorth.org/en/session/thoughtfulness-and-drupal

Enfin, le dernier jours s’est terminé sur un sprint lors duquel une trentaine de codeurs expérimentés et débutants étaient présents pour apporter leurs contributions personnelles au coeur de Drupal.

Sans oublier les collations, les pizzas et le ukulele!!!

0e8c49bb-6bc1-4f8e-a9b2-c27e23ee086f_0