Découverte d’OpenStack à l’OpenStack Workshop Lyon

La communauté OpenStack FR a organisé le 15 juin 2016 une journée sur Lyon dédié à OpenStack : OpenStack Workshop Lyon (ou OWL pour les intimes).

OpenStack FR

J’ai participé à cet atelier pour découvrir un peu mieux OpenStack et rencontrer les membres influents de sa communauté en France.

La journée est introduite par Adrien Cunin de chez Osones qui présente les différents ateliers de la journée : introduction à OpenStack, déploiement, contribution.

20160615_094813 Pour ma part, bien qu’ayant déjà touché à OpenStack, je choisi l’atelier introduction animé par Christophe Sauthier d’Objectif Libre.

20160615_110128

Après une présentation théorique d’OpenStack et de ses différents composants, nous passons à la pratique en utilisant un compte OVH (qui dispose de sa propre offre OpenStack).

Notre première étape est le démarrage d’une instance basée sur une image fournie par Christophe, image qui n’est autre qu’une installation d’OpenStack : nous voici alors avec un serveur OpenStack maison installé sur une instance OpenStack d’OVH (qui a dit Inception ?).

Grâce à ce serveur, nous pouvons découvrir les outils d’administration d’OpenStack et dans un « tenant » de démonstration créer nos premières instances. Toujours via l’interface d’administration (module horizon) nous paramétrons le réseau, les règles de sécurité, les clés SSH, etc. Nous obtenons rapidement un environnement fonctionnel.

Le reste de la journée est consacré à quelques détails sur les différents modules :

  • neutron pour la partie réseau
  • cinder pour la gestion des volumes
  • swift pour le stockage objet
  • heat pour l’orchestration
  • et bien entendu nova pour le déploiement des instances

Nous apprenons à nous servir de la ligne de commande (et par un hasard fortuit également comment analyser les messages d’erreur d’OpenStack). On conclut cette journée en déployant une instance avec la ligne de commande nova, ce qui nous laisse entrevoir toutes les possibilités d’automatisation de déploiement, mais cela sera pour un prochain atelier.

Un grand merci aux organisateurs et aux sponsors qui ont permis la tenue de cet événement :

sponsorfinal2

OpenID Kinect, un nouveau standard pour améliorer l’adoption du SSO par les utilisateurs

La fondation OpenID continue ses efforts pour démocratiser l’authentification unique (SSO – Single Single On) et après la sortie du protocole OpenID Connect, elle s’associe aujourd’hui à Microsoft pour travailler sur un nouveau standard : OpenID Kinect.

OpenID Kinect

La ludification de la sécurité

C’est un fait reconnu en informatique, la ludification des applications a permis une meilleure adoption de celles-ci par les utilisateurs finaux. Et pourquoi n’en serait-il pas de même avec la sécurité ?

C’est en substance ce que promeut Hilary Jone, directrice du programme « La sécurité est mon amie, il nous faut l’aimer aussi » de la fondation OpenID :

Avec l’adoption de la Kinect de Microsoft, de nouvelles perspectives s’ouvrent à nous et vont enfin permettre de s’affranchir des mots de passe en offrant une réelle alternative, bien plus crédible que la biométrie ou les jetons physiques.

En effet, l’innovation principale du protocole OpenID Kinect est la standardisation d’un mode d’authentification alternatif au classique couple identifiant/mot de passe, encore utilisé par les principaux fournisseurs d’identités OpenID Connect tels que Google par exemple.

Ainsi l’utilisateur, au lieu de saisir son mot de passe, pourra prouver son identité en effectuant une chorégraphie qu’il aura au préalable enregistrée sur son fournisseur d’identité.

Une extension du protocole OpenID Connect

Dans OpenID Connect, qui reposait déjà sur un autre standard (OAuth 2.0), la récupération des données de connexion de l’utilisateur était rendue possible par l’utilisation du mot-clé « openid » dans la liste des étendues (scope) transmises dans la requête authentification :

http://auth.example.com/oauth2/authorize?response_type=code&client_id=lemonldap&scope=openid%20profile%20email%2Fauth.example.com%2Foauth2.pl&redirect_uri=http%3A%2F%3Fopenidconnectcallback%3D1&state=ABCDEFGHIJKLMNOPQRSTUVWXX

Désormais, vous pourrez utiliser en plus le mot-clé « kinect » qui indiquera que vous souhaitez récupérer les données d’authentification générée par la Kinect de l’utilisateur. le mot-clé « kinect » devra être également précisé dans les classes d’authentification (acr_values) afin de forcer le fournisseur d’identité à activer le mode Kinect pour l’authentification.

Comme pour OpenID Connect, les informations spécifiques de la Kinect seront transmises au client OpenID Connect dans un JWT (JSON Web Token).

Un prototype en Perl

Bien que la sortie officielle de ce nouveau standard soit prévue en fin d’année, des premiers prototypes sont en cours, dont un en Perl, utilisant, c’est évident, le framework Dancer.

Une extension pour Samba est également en préparation.

Bientôt en France ?

FranceConnect est aujourd’hui en ligne et permet grâce au protocole OpenID Connect de simplifier l’accès aux services en lignes de l’administration pour les citoyens. On peut par exemple accéder au site Service Public ou consulter son solde de points du permis de conduire en passant par cette nouvelle plate-forme d’authentification.

Mais demain, aura-t-on accès à un FranceKinect? On espère que l’État Français saura s’adapter à ce nouveau protocole et proposera cette facilité dans un nouvelle version de sa plate-forme.

OpenID Kinect Sport

Les perspectives sont ensuite infinies : stage de récupération de points de permis via une simulation de course automobile, démarches administratives dématérialisées dans Les Sims (vous pourrez laisser votre avatar faire la file d’attente à votre place !), ou encore cours de sport depuis chez soi (sans limite de nombre d’inscrits).

Bref, un petit pas de danse pour l’homme, mais un grand pas de danse pour l’humanité.

Sortie de LemonLDAP::NG 1.9

Ce billet a été publié à l’origine sur LinuxFR

LemonLDAP::NG est un logiciel libre d’authentification unique (SSO), contrôle d’accès et fédération d’identités. La version 1.9.0 a été publiée le 2 mars 2016.

LemonLDAP::NG

LemonLDAP::NG est écrit en Perl et publié sous licence GPL. Cette nouvelle version majeure apporte de grands changements au logiciel comme le support OpenID Connect, une nouvelle interface d’administration et la compatibilité Nginx.

Présentation des nouveautés

OpenID Connect

OpenID Connect est un nouveau protocole de SSO porté par la fondation OpenID et basé sur le framework OAuth 2.0. Ce standard est adopté par de nombreux acteurs, comme par exemple Google qui l’utilise pour son authentification en remplacement de OpenID 2.0. L’État Français a lui aussi fait le choix de OpenID Connect pour sa nouvelle plate-forme France Connect.

Il est donc désormais possible d’utiliser LemonLDAP::NG pour s’authentifier sur ces services :

En plus du rôle de client (Relying Party), LemonLDAP::NG a aussi le rôle de serveur (OpenID Provider) ce qui lui permet d’authentifier toute application compatible avec ce protocole.

Interface d’administration

L’interface d’administration, appelée aussi Manager, a été réécrite avec AngularJS afin d’améliorer son ergonomie et son utilisation. Pour les habitués des précédentes versions, sachez que désormais vous n’aurez plus à cliquer sur « Appliquer » à chaque changement de valeur, et que vous pourrez éditer tous les en-têtes ou toutes les règles dans un seul écran.

Manager LemonLDAP::NG

Cette nouvelle interface permet la navigation entre les différentes versions de la configuration, l’import/export de configuration (au format JSON), la duplication d’hôte virtuels.

L’interface propose aussi toujours un explorateur de sessions, avec comme nouveauté la possibilité de parcourir les sessions persistantes (sessions conservées entre chaque connexion d’un utilisateur). Le gestionnaire de notification est aussi présent, au même niveau fonctionnel que dans les précédentes versions.

Support Nginx

Bonne nouvelle pour les réfractaires à Apache, la réécriture du code du Handler (agent assurant la protection des applications) passant par l’implémentation d’une API a permis d’offir un support FastCGI. Un petit serveur FastCGI est désormais livré avec LemonLDAP::NG (paquet lemonldap-ng-fastcgi-server) et permet de contacter le portail, le Manager et le Handler depuis Nginx.

Attributs CAS

Le serveur CAS de LemonLDAP::NG implémentait jusqu’à présent les versions 1.0 et 2.0. Désormais, une partie du protocole CAS 3.0 est pris en charge avec la possibilité de partager des attributs dans les réponses de validation CAS. Cela permet en particulier d’utiliser l’API PHP-CAS et sa fonction getAttributes().

MongoDB

MongoDB est utilisable pour le stockage des configurations et des sessions. Il s’ajoute à la liste des nombreux backends disponibles : Fichiers (JSON), DBI (MySQL, PgSQL, SQLite, …), LDAP, Redis.

Mettre à jour sa version

L’utilisation de fonctionnalités récentes de Perl contraint à restreindre les systèmes sur lesquels cette nouvelle version peut être installée. En particulier CentOS 5 et CentOS 6 ne sont pas utilisables.

D’autres changements techniques importants ont eu lieu et il est préférable d’avoir bien pris connaissances des notes de mise à jour avant de se lancer.

Enfin, nous espérons que cette nouvelle version apportera bonheur et prospérité à votre système d’information. Si vous êtes un utilisateur satisfait, vous pouvez le dire sur OpenHub et également faire partie de nos références.

LemonLDAP::NG : des nouvelles du développement et un appel aux testeurs

LemonLDAP::NGCela fait plusieurs mois que nous l’annonçons : la nouvelle version de LemonLDAP::NG va sortir… Oui mais quelle version — et quand ?

Dans une présentation que j’ai donnée à la conférence OW2 de novembre dernier, je dressais la liste d’un certain nombre de nouveautés prévues pour la version 2.0. Entre-temps, la communauté a choisi de travailler sur une version estampillée 1.9, plutôt que 2.0, et de remettre cette dernière à une date ultérieure.

Réorganisation des priorités

Pourquoi ? Parce que les ambitions sont toujours grandes lorsqu’il s’agit de réaliser une version majeure et il est compliqué d’estimer le temps requis pour la terminer. Et ce d’autant plus qu’il s’agit d’un projet communautaire; bien que soutenu par d’importants partenaires comme Savoir-faire Linux, la Gendarmerie Nationale et le Ministère de l’Intérieur, ce n’est pas un produit d’éditeur bénéficiant d’une équipe dédiée de R&D.

Alors quels choix justifient la sortie d’une version 1.9 au lieu de la 2.0 ? Par rapport aux sujets présentés lors de la conférence OW2, les principales évolutions de la nouvelle version restent les mêmes :

  • Support de OpenID Connect, comme fournisseur de service et comme fournisseur d’identité (1)
  • Réécriture complète du Manager en AngularJS (2)
  • Réarticulation du code du Handler autour d’une API, dont l’objectif est le support de plusieurs conteneurs Web comme Apache et Nginx (3)
  • Échange d’attributs via CAS (4)
  • Sérialisation JSON des données de configuration et de session

Mais tout le travail que nous souhaitions faire sur le passage en PSGI ne pourra pas aboutir sur le portail, qui reste pour l’instant basé sur Perl CGI. Ce chantier nécessite beaucoup d’efforts et nous ne souhaitons pas bloquer la sortie de la nouvelle version à cause de lui. Nous avons d’ailleurs beaucoup d’autres idées à mettre en œuvre pour la version 2.0 (nouvelles fonctionnalités dans le Manager, réécriture du stockage des notifications, etc.) et nous voulons prendre le temps de les réaliser correctement.

Bref, la 1.9, c’est pour quand ?

Selon la feuille de route actuelle, cette nouvelle version devrait sortir d’ici la fin du mois de février. Les principaux développements sont terminés et nous sommes en phase de test. Et c’est là que vous pouvez nous aider ! Nous avons en effet besoin de la communauté pour installer et tester cette nouvelle version. N’hésitez pas à nous contacter pour remonter les problèmes que vous rencontrez. Merci !

Retour sur LDAPCon 2015 et les nouveautés de OpenLDAP 2.5

Le 11 novembre 2015, un groupe de passionnés se retrouvait à Édimbourg en Écosse, pour la 5ème édition de la LDAPCon. Cette conférence internationale bisannuelle sur LDAP, et plus largement sur les questions de gestion des identités, d’authentification et d’habilitation, est l’occasion de rencontrer les acteurs les plus importants du domaine. Développeurs de serveurs d’annuaires et d’outils de gestion, intégrateurs reconnus et utilisateurs avancés ont partagé beaucoup d’informations en deux jours, faisant ainsi le point sur l’activité de la communauté et permettant de s’assurer que celle-ci est bien vivante!

LDAPCon2015

Pour ma part, j’y étais d’abord et avant tout en qualité de membre des communautés LemonLDAP::NG, LDAP Tool Box et LDAP Synchronization Connector. J’ai ainsi eu la chance de donner une conférence sur le protocole OpenID Connect. Je représentais aussi pour la première fois Savoir-faire Linux, l’un des commanditaires de l’événement, dont les badges « I LDAP » ont été très appréciés. 😉

ldapcon_2015_badges

Conférence d’ouverture : LDAP en 2020 ?

L’ouverture des conférences a été faite par David Goodman, une personnalité du domaine puisqu’il a travaillé depuis les années 1990 sur X.500 puis LDAP, au sein d’organisations comme IBM, Nokia ou encore Ericsson.

ldapcon_2015_david_goodmanDavid a rebondi sur la conférence donnée par Ludovic Poitou en 2011 dont le titre provocateur était: « Is LDAP dead? » Deux ans plus tard, nous constatons bien qu’il n’en est rien et David tente d’imaginer ce qu’il en sera en 2020.

Pour cela, il retrace l’historique du protocole en partant de X.500, qu’il a contribué à faire connaître à travers PARADISE (Piloting A ReseArchers’DIrectory Service for Europe), un projet destiné aux opérateurs de télécommunications afin de prouver que ce protocole était viable. Mais confrontés à la complexité de X.500 et à des problématiques d’intégration avec les clients Mac et Windows, les concepteurs de X.500 ont imaginé LDAP, d’abord passerelle vers X.500 puis standard indépendant. Netscape annoncera finalement le support de LDAP en 1996. L’année suivante, LDAPv3 sortait et X.500 était considéré comme mort.

Qu’en est-il donc aujourd’hui? Les grands acteurs (Oracle, IBM, CA, Microsoft, pour ne citer qu’eux) proposent tous des solutions basées sur LDAP. Toutefois la révolution infonuagique semble laisser ce standard de côté. Azure AD, par exemple, n’offre pas d’accès via LDAP. On constate également que les développeurs sont désormais plus friands d’API XML ou JSON que de LDAP natif. Ne parlons pas non plus du succès des bases NoSQL.

Alors quel avenir pour LDAP? Encore considérablement implanté dans l’écosystème actuel, ce standard ne sera sans doute pas oublié dans cinq ans. Mais pour ne pas qu’il rejoigne les technologies obsolètes, il faut qu’il s’adapte aux nouveaux besoins: infonuagique, performance, outils de développement, cohabitation avec d’autres standards (SCIM, par exemple).

Le protocole OpenID Connect

Il était difficile de démarrer cet événement sur LDAP en parlant d’un tout autre protocole, mais le choix de la programmation en fut ainsi. J’ai donc pu présenter rapidement le standard OAuth 2 avant de parler d’OpenID Connect, protocole basé sur OAuth 2 et JOSE, la couche de sécurité de javascript (signature et chiffrement de données JSON).

LDAPCon2015_OpenIDConnectComparé à SAML, OpenID Connect incarne la nouvelle génération: utilisation de REST, gestion d’un mode déconnecté, adaptation aux applications mobiles, etc.

J’ai pu constater que malgré sa jeunesse (il n’a été standardisé qu’en 2014), ce protocole est déjà bien connu et suscite l’intérêt des grands acteurs comme des communautés qui, soit l’ont déjà intégré à leur produit, soit prévoient de le faire au cours des prochains mois. C’est d’ailleurs le cas de LemonLDAP::NG, dont la version 2.0 offrira le support d’OpenID Connect.

Les autres conférences

Les conférences données pendant ces deux jours ont été passionnantes et il serait difficile de toutes les résumer dans cet article. Si cela vous intéresse, les présentations sont disponibles sur le site web de LDAPCon 2015.