SlideShare une entreprise Scribd logo
1  sur  28
Télécharger pour lire hors ligne
Gestion des authentifcations et des
accès avec LemonLDAP::NG 2.0
28 Janvier 2019
Clément OUDOT @clementoudot
Worteks @worteks_com
2
Services
Infrastructures complexes et hétérogènes,
cloud, messagerie, authentifcation, sécurité

Étude, audit et conseil

Expertise technique

Support technique

Formations

R&D
Édition
Portail applicatif et
collaboratif
Plateforme collaborative
mutualisée de
développement
Gestion des identités et
des accès
Partenaires
Worteks (v .t ks)ɔʁ ɛ
Le logiciel LemonLDAP::NG
Fonctionnement du SSO
Portail
d’authentifcation
Application
2. Authentifcation
1. Premier accès
3. Envoi du jeton SSO
Lien de confance
4. Validation du jeton
FLOSSCon 2019 - 28/01/2019 5
Historique
2003
2006
2010
2016
2018
Création du projet
Fork – version NG
Support des protocoles
CAS, SAML et OpenID
Version 1.0
Support du protocole
OpenID Connect
Seconds facteurs (2FA)
Version 2.0
FLOSSCon 2019 - 28/01/2019 6
Principales fonctionnalités
●
Authentifcation unique (WebSSO)
●
Contrôle d'accès
●
Portail d'applications
●
Chaînage et choix des modules d'authentifcation
●
Gestion du mot de passe, création de compte
●
Authentifcation multi-facteurs
●
Protection des applications Web et des API/WebServices
●
Personnalisation graphique
●
Paquets Debian/Ubuntu/RHEL/CentOS
FLOSSCon 2019 - 28/01/2019 7
Logiciel Libre
●
Licence GPL
●
Projet OW2
●
Forge : https://gitlab.ow2.org/lemonldap-ng/lemonldap-ng
●
Site : https://lemonldap-ng.org
●
OW2 Community Award en 2014
●
Composant SSO du projet FusionIAM : https://fusioniam.org/
FLOSSCon 2019 - 28/01/2019 8
Rôle des composants
Confgurations Sessions
Manager Handler
Application
menu
CAS
SAML
OpenID Connect
Self Services
SOAP/REST
server
Session
management
Confgurations Sessions
Notifcations Second factors
Access Control SSOaaS
Web Service
Token
Custom
Portal
Fonctionnement par agent (Handler)
FLOSSCon 2019 - 28/01/2019 10
Application Web
Sessions
Portal
Handler
Web Application
Authentication
Session creation
Session read
SSO cookie
HTTP headers
FLOSSCon 2019 - 28/01/2019 11
API – Service Token
Sessions
Portal
Handler
Web Application
Authentication
Session creation
Session read
SSO cookie
HTTP headers
Token
Handler
Service Token
Web Service Token
HTTP headers
Session read
FLOSSCon 2019 - 28/01/2019 12
Mode DevOps (SSO as a Service)
Sessions
Portal
Handler
Web Application
Authentication
Session creation
Session read
SSO cookie
HTTP headers
rules
.json
Access rules
Exported rules
Les protocoles CAS, SAML et OpenID
Connect
FLOSSCon 2019 - 28/01/2019 14
Principales fonctionnalités
●
Modes "client" et "serveur"
●
Échange d'attributs
●
Gestion des niveaux et des contextes d'authentifcation
●
Génération automatique des clés publiques et privées
●
Contrôle d'accès par services
●
Publication des données de confguration (metadata)
●
Passerelle mutli-protocoles
●
Transfert de la déconnexion
Nouveautés de la version 2.0
16
Seconds facteurs d'authentifcation (2FA)
●
LemonLDAP::NG peut demander un second facteur d'authentifcation après que
la première authentifcation ait été validée :
– TOTP
– U2F
– TOTP ou U2F
– Externe
– REST
– Yubikey
FLOSSCon 2019 - 28/01/2019 17
Backends de confguration
●
Backends déjà existants :
– Fichier JSON
– Base de données
– LDAP
– NoSQL (MongoDB)
– SOAP
●
Nouveaux backends :
– Fichier YAML
– REST
– Local (utilisation du fchier lemonldap-ng.ini uniquement)
FLOSSCon 2019 - 28/01/2019 18
Handler NodeJS
●
Intégration native dans une application Express
●
Règles et en-têtes à écrire en Javascript
●
https://github.com/LemonLDAPNG/node-lemonldap-ng-handler
npm install node-lemonldap-ng-handler
FLOSSCon 2019 - 28/01/2019 19
SSO as a Service
●
L'authentifcation est toujours réalisée par le portail
●
Les contrôles d'accès et la liste des en-têtes est gérée par l'application, dans un
fchier JSON à la racine
●
Cela permet un déploiement rapide d'application en mode "DevOps" : aucune
déclaration n'est nécessaire dans la confguration globale
FLOSSCon 2019 - 28/01/2019 20
Protection des API / WebService
●
Nouveau Handler "Service Token" en rupture de fux entre l'application et le Web
Service
●
Génération d'un jeton par le Handler principal en incluant le temps (time),
l'identifant de session (session_id) et la liste des hôtes virtuels (vhostList)
●
Transmission du jeton par l'application au Web Service
●
Validation du jeton par le Handler "Service Token" et à l'aide de l'identifant de
session, contrôle d'accès et envoi des en-têtes
FLOSSCon 2019 - 28/01/2019 21
Modules d'authentifcations
●
Nouveaux modules :
– PAM
– REST
– Kerberos (GSSAPI)
– CAS (lecture des attributs)
●
Remplacement de Multi par Combination
●
Utilisation possible d'un module Custom
FLOSSCon 2019 - 28/01/2019 22
Interface d'administration
●
Ajout d'un comparateur de confgurations : les diférences entre deux
confgurations sont afchées sous forme d'arbre
●
Module d'administration des seconds facteurs (recherche, révocation)
●
Tri des sessions par date de création et date de modifcation
FLOSSCon 2019 - 28/01/2019 23
RENATER
●
Support de la fédération RENATER via SAML2 :
– Fournisseur de Service
– Fournisseur d'identité
●
Appel de la page de choix du fournisseur (WAYF) via SAML Discovery Protocol
●
Script d'import en masse des metadata publiées par Renater
FLOSSCon 2019 - 28/01/2019 24
Moteur de plugins
●
Le code du portail a été réécrit pour permettre le développement simple de
nouveaux plugins
●
Exemple de plugins fournis par défaut :
– Auto Signin : authentifcation directe pour certaines IP
– Brute Force : protection des attaques par force brute
– Stay Connected : possibilité de garder sa session même après fermeture du navigateur
– Public Pages : création de pages statiques reprenant le thème du portail
●
Écrire son propre plugin :
https://lemonldap-ng.org/documentation/latest/plugincustom
FLOSSCon 2019 - 28/01/2019 25
Autres nouveautés
●
Un utilisateur peut recharger ses droits sans se déconnecter/reconnecter
●
Services REST natifs (confgurations et sessions)
●
Sélection de la langue avant la connexion
●
Nouveau thème graphique basé sur Bootstrap 4
●
Personnalisation du logo (repris dans le thème graphique et les mails envoyés)
●
Choix du système de logs (syslog, Apache, Log4Perl, Sentry...)
Contact
clement.oudot@worteks.com
Pour plus d’informations :
info@worteks.com
@worteks_com
linkedin.com/company/worteks
Co-propulsé avec ❤ par
Trois jours d’ateliers,
conférences, démos,
tables rondes par les
libristes alpins
Dimanche 27 janvier 2019, journée "Libre et grand
public" au Secours Catholique Isère à Grenoble
Lundi 28 janvier 2019, journée "Libre et technologie"
à CGI à Grenoble
Mardi 29 janvier 2019, journée dédiée "Libre et
secteur public" à La Source à Fontaine
Grenoble
Logiciels et données libres
pour une transformation
numérique maîtrisée

Contenu connexe

Tendances

LemonLDAP::NG, un WebSSO libre‎ en Perl !
LemonLDAP::NG, un WebSSO libre‎ en Perl !LemonLDAP::NG, un WebSSO libre‎ en Perl !
LemonLDAP::NG, un WebSSO libre‎ en Perl !
Clément OUDOT
 
LemonLDAP::NG, un WebSSO libre (ConFoo 2011)
LemonLDAP::NG, un WebSSO libre (ConFoo 2011)LemonLDAP::NG, un WebSSO libre (ConFoo 2011)
LemonLDAP::NG, un WebSSO libre (ConFoo 2011)
Clément OUDOT
 

Tendances (11)

LemonLDAP::NG, un WebSSO libre‎ en Perl !
LemonLDAP::NG, un WebSSO libre‎ en Perl !LemonLDAP::NG, un WebSSO libre‎ en Perl !
LemonLDAP::NG, un WebSSO libre‎ en Perl !
 
Présentation LINAGORA - LinShare au @S2LQ
Présentation LINAGORA - LinShare au @S2LQPrésentation LINAGORA - LinShare au @S2LQ
Présentation LINAGORA - LinShare au @S2LQ
 
LinShare : partage de fichiers sécurisé et coffre-fort électronique
LinShare : partage de fichiers sécurisé et coffre-fort électronique LinShare : partage de fichiers sécurisé et coffre-fort électronique
LinShare : partage de fichiers sécurisé et coffre-fort électronique
 
S2LQ - Authentification unique sur le Web avec le logiciel libre LemonLDAP::NG
S2LQ - Authentification unique sur le Web avec le logiciel libre LemonLDAP::NGS2LQ - Authentification unique sur le Web avec le logiciel libre LemonLDAP::NG
S2LQ - Authentification unique sur le Web avec le logiciel libre LemonLDAP::NG
 
LemonLDAP::NG, un WebSSO libre (ConFoo 2011)
LemonLDAP::NG, un WebSSO libre (ConFoo 2011)LemonLDAP::NG, un WebSSO libre (ConFoo 2011)
LemonLDAP::NG, un WebSSO libre (ConFoo 2011)
 
[Identity Days 2020] Politique des mots de passe des annuaires LDAP et outils...
[Identity Days 2020] Politique des mots de passe des annuaires LDAP et outils...[Identity Days 2020] Politique des mots de passe des annuaires LDAP et outils...
[Identity Days 2020] Politique des mots de passe des annuaires LDAP et outils...
 
[Identity Days 2021] W'IDaaS - Identity as a Service
[Identity Days 2021] W'IDaaS - Identity as a Service[Identity Days 2021] W'IDaaS - Identity as a Service
[Identity Days 2021] W'IDaaS - Identity as a Service
 
Human talks paris - OpenID Connect et FranceConnect - Francois Petitit - 7 ju...
Human talks paris - OpenID Connect et FranceConnect - Francois Petitit - 7 ju...Human talks paris - OpenID Connect et FranceConnect - Francois Petitit - 7 ju...
Human talks paris - OpenID Connect et FranceConnect - Francois Petitit - 7 ju...
 
[Open Source Experience 2021] Une infrastructure Cloud et une solution IDaaS ...
[Open Source Experience 2021] Une infrastructure Cloud et une solution IDaaS ...[Open Source Experience 2021] Une infrastructure Cloud et une solution IDaaS ...
[Open Source Experience 2021] Une infrastructure Cloud et une solution IDaaS ...
 
Matinée pour conmrendre consacrée à LinShare.org, application de partage de f...
Matinée pour conmrendre consacrée à LinShare.org, application de partage de f...Matinée pour conmrendre consacrée à LinShare.org, application de partage de f...
Matinée pour conmrendre consacrée à LinShare.org, application de partage de f...
 
Paris Web 2015 - France Connect et OpenId Connect
Paris Web 2015 - France Connect et OpenId ConnectParis Web 2015 - France Connect et OpenId Connect
Paris Web 2015 - France Connect et OpenId Connect
 

Similaire à [FLOSSCON 2019] Gestion des authentifications et des accès avec LemonLDAP::NG 2.0

CAS, OpenID, SAML : concepts, différences et exemples
CAS, OpenID, SAML : concepts, différences et exemplesCAS, OpenID, SAML : concepts, différences et exemples
CAS, OpenID, SAML : concepts, différences et exemples
Clément OUDOT
 
Présentation offre LINID
Présentation offre LINIDPrésentation offre LINID
Présentation offre LINID
LINAGORA
 
Séminaire septembre 2010 - LinID et LinPKI, Les solutions Open Source d'ident...
Séminaire septembre 2010 - LinID et LinPKI, Les solutions Open Source d'ident...Séminaire septembre 2010 - LinID et LinPKI, Les solutions Open Source d'ident...
Séminaire septembre 2010 - LinID et LinPKI, Les solutions Open Source d'ident...
LINAGORA
 
Matinée Pour Comprendre LinID - Présentation des composants LinID
Matinée Pour Comprendre LinID - Présentation des composants LinIDMatinée Pour Comprendre LinID - Présentation des composants LinID
Matinée Pour Comprendre LinID - Présentation des composants LinID
Clément OUDOT
 

Similaire à [FLOSSCON 2019] Gestion des authentifications et des accès avec LemonLDAP::NG 2.0 (20)

SSO et fédération d’identités avec le logiciel libre LemonLDAP::NG
SSO et fédération d’identités avec le logiciel libre LemonLDAP::NGSSO et fédération d’identités avec le logiciel libre LemonLDAP::NG
SSO et fédération d’identités avec le logiciel libre LemonLDAP::NG
 
CAS, OpenID, SAML : concepts, différences et exemples
CAS, OpenID, SAML : concepts, différences et exemplesCAS, OpenID, SAML : concepts, différences et exemples
CAS, OpenID, SAML : concepts, différences et exemples
 
[Identity Days 2019] Maîtrisez les accès à vos applications Web (Cloud et On...
[Identity Days 2019]  Maîtrisez les accès à vos applications Web (Cloud et On...[Identity Days 2019]  Maîtrisez les accès à vos applications Web (Cloud et On...
[Identity Days 2019] Maîtrisez les accès à vos applications Web (Cloud et On...
 
Séminaire LinID LINAGORA - juin 2009
Séminaire LinID LINAGORA - juin 2009Séminaire LinID LINAGORA - juin 2009
Séminaire LinID LINAGORA - juin 2009
 
Sécurisation de jitsi en SAAS (OSXP 2023)
Sécurisation de jitsi en SAAS (OSXP 2023)Sécurisation de jitsi en SAAS (OSXP 2023)
Sécurisation de jitsi en SAAS (OSXP 2023)
 
Séminaire LinID/LinPKI septembre 2011
Séminaire LinID/LinPKI septembre 2011Séminaire LinID/LinPKI septembre 2011
Séminaire LinID/LinPKI septembre 2011
 
CAS, OpenID, Shibboleth, SAML : concepts, différences et exemples
CAS, OpenID, Shibboleth, SAML : concepts, différences et exemplesCAS, OpenID, Shibboleth, SAML : concepts, différences et exemples
CAS, OpenID, Shibboleth, SAML : concepts, différences et exemples
 
12-Factor
12-Factor12-Factor
12-Factor
 
Présentation offre LINID
Présentation offre LINIDPrésentation offre LINID
Présentation offre LINID
 
Séminaire septembre 2010 - LinID et LinPKI, Les solutions Open Source d'ident...
Séminaire septembre 2010 - LinID et LinPKI, Les solutions Open Source d'ident...Séminaire septembre 2010 - LinID et LinPKI, Les solutions Open Source d'ident...
Séminaire septembre 2010 - LinID et LinPKI, Les solutions Open Source d'ident...
 
Matinée Pour Comprendre LinID - Présentation des composants LinID
Matinée Pour Comprendre LinID - Présentation des composants LinIDMatinée Pour Comprendre LinID - Présentation des composants LinID
Matinée Pour Comprendre LinID - Présentation des composants LinID
 
S35 developper en node.js versus php
S35   developper en node.js versus phpS35   developper en node.js versus php
S35 developper en node.js versus php
 
Delegation d'authentification
Delegation d'authentificationDelegation d'authentification
Delegation d'authentification
 
MIM Synchronization Services 2016 -> une solution économique pour créer, modi...
MIM Synchronization Services 2016 -> une solution économique pour créer, modi...MIM Synchronization Services 2016 -> une solution économique pour créer, modi...
MIM Synchronization Services 2016 -> une solution économique pour créer, modi...
 
Introduction to WebRTC on iOS
Introduction to WebRTC on iOSIntroduction to WebRTC on iOS
Introduction to WebRTC on iOS
 
(Azure) Active Directory + BYOD = tranquillité d’esprit, chiche ! (2nde Partie)
(Azure) Active Directory + BYOD = tranquillité d’esprit, chiche ! (2nde Partie)(Azure) Active Directory + BYOD = tranquillité d’esprit, chiche ! (2nde Partie)
(Azure) Active Directory + BYOD = tranquillité d’esprit, chiche ! (2nde Partie)
 
(Azure) Active Directory + BYOD = tranquillité d’esprit, chiche ! (2nde Partie)
(Azure) Active Directory + BYOD = tranquillité d’esprit, chiche ! (2nde Partie)(Azure) Active Directory + BYOD = tranquillité d’esprit, chiche ! (2nde Partie)
(Azure) Active Directory + BYOD = tranquillité d’esprit, chiche ! (2nde Partie)
 
Modes de raccordement SSO et utilisations avancées de LemonLDAP::NG
Modes de raccordement SSO et utilisations avancées de LemonLDAP::NGModes de raccordement SSO et utilisations avancées de LemonLDAP::NG
Modes de raccordement SSO et utilisations avancées de LemonLDAP::NG
 
Lost in serverless AWS Lambda, Google Cloud Function, Azure Function quelle s...
Lost in serverless AWS Lambda, Google Cloud Function, Azure Function quelle s...Lost in serverless AWS Lambda, Google Cloud Function, Azure Function quelle s...
Lost in serverless AWS Lambda, Google Cloud Function, Azure Function quelle s...
 
LinPKI
LinPKILinPKI
LinPKI
 

Plus de Worteks

Plus de Worteks (20)

[Identity Days 2021] Quel avenir pour OpenLDAP ?
[Identity Days 2021] Quel avenir pour OpenLDAP ?[Identity Days 2021] Quel avenir pour OpenLDAP ?
[Identity Days 2021] Quel avenir pour OpenLDAP ?
 
[Pass the SALT 2021] Hosting Identity in the Cloud with free softwares
[Pass the SALT 2021] Hosting Identity in the Cloud with free softwares[Pass the SALT 2021] Hosting Identity in the Cloud with free softwares
[Pass the SALT 2021] Hosting Identity in the Cloud with free softwares
 
[OW2con'21] Hosting Identity in the Cloud with OW2 free softwares
[OW2con'21] Hosting Identity in the Cloud with OW2 free softwares[OW2con'21] Hosting Identity in the Cloud with OW2 free softwares
[OW2con'21] Hosting Identity in the Cloud with OW2 free softwares
 
[OpenDay 2021] Logiciel libre, entreprises et modèles économiques
[OpenDay 2021] Logiciel libre, entreprises et modèles économiques[OpenDay 2021] Logiciel libre, entreprises et modèles économiques
[OpenDay 2021] Logiciel libre, entreprises et modèles économiques
 
[Pass the SALT 2020] Understand password policy in OpenLDAP and discover tool...
[Pass the SALT 2020] Understand password policy in OpenLDAP and discover tool...[Pass the SALT 2020] Understand password policy in OpenLDAP and discover tool...
[Pass the SALT 2020] Understand password policy in OpenLDAP and discover tool...
 
[OW2online 2020] LDAP Synchronization Connector
[OW2online 2020] LDAP Synchronization Connector[OW2online 2020] LDAP Synchronization Connector
[OW2online 2020] LDAP Synchronization Connector
 
[POSS 2019] OVirt and Ceph: Perfect Combination.?
[POSS 2019] OVirt and  Ceph: Perfect Combination.?[POSS 2019] OVirt and  Ceph: Perfect Combination.?
[POSS 2019] OVirt and Ceph: Perfect Combination.?
 
[POSS 2019] MicroServices authentication and authorization with LemonLDAP::NG
[POSS 2019] MicroServices authentication and authorization with LemonLDAP::NG[POSS 2019] MicroServices authentication and authorization with LemonLDAP::NG
[POSS 2019] MicroServices authentication and authorization with LemonLDAP::NG
 
[POSS 2019] TLS for Dummies
[POSS 2019] TLS for Dummies[POSS 2019] TLS for Dummies
[POSS 2019] TLS for Dummies
 
[POSS 2019] Learn AWK in 15 minutes
[POSS 2019] Learn AWK in 15 minutes[POSS 2019] Learn AWK in 15 minutes
[POSS 2019] Learn AWK in 15 minutes
 
[LDAPCon 2019] LemonLDAP::NG 2.0: Mutli-factor authentication, Identity Feder...
[LDAPCon 2019] LemonLDAP::NG 2.0: Mutli-factor authentication, Identity Feder...[LDAPCon 2019] LemonLDAP::NG 2.0: Mutli-factor authentication, Identity Feder...
[LDAPCon 2019] LemonLDAP::NG 2.0: Mutli-factor authentication, Identity Feder...
 
[LDAPCon 2019] The FusionIAM initiative
[LDAPCon 2019] The FusionIAM initiative[LDAPCon 2019] The FusionIAM initiative
[LDAPCon 2019] The FusionIAM initiative
 
[RedHat Forum 2019] REX - COMMENT MONTER UNE OFFRE DE CLOUD EN MARQUE BLANCHE...
[RedHat Forum 2019] REX - COMMENT MONTER UNE OFFRE DE CLOUD EN MARQUE BLANCHE...[RedHat Forum 2019] REX - COMMENT MONTER UNE OFFRE DE CLOUD EN MARQUE BLANCHE...
[RedHat Forum 2019] REX - COMMENT MONTER UNE OFFRE DE CLOUD EN MARQUE BLANCHE...
 
[OW2con19] LemonLDAP::NG success stories
[OW2con19] LemonLDAP::NG success stories[OW2con19] LemonLDAP::NG success stories
[OW2con19] LemonLDAP::NG success stories
 
[BlueMindSummit] Présentation de la solution W'Sweet
[BlueMindSummit] Présentation de la solution W'Sweet[BlueMindSummit] Présentation de la solution W'Sweet
[BlueMindSummit] Présentation de la solution W'Sweet
 
[FOSDEM 2019] LemonLDAP::NG 2.0
[FOSDEM 2019] LemonLDAP::NG 2.0[FOSDEM 2019] LemonLDAP::NG 2.0
[FOSDEM 2019] LemonLDAP::NG 2.0
 
[POSS 2018] WSweet
[POSS 2018] WSweet[POSS 2018] WSweet
[POSS 2018] WSweet
 
[POSS 2018] Comment unifier ses dashboards par Grafana
[POSS 2018] Comment unifier ses dashboards par Grafana[POSS 2018] Comment unifier ses dashboards par Grafana
[POSS 2018] Comment unifier ses dashboards par Grafana
 
[POSS 2018] Passer d'un écosystème baremetal à un univers micro services et d...
[POSS 2018] Passer d'un écosystème baremetal à un univers micro services et d...[POSS 2018] Passer d'un écosystème baremetal à un univers micro services et d...
[POSS 2018] Passer d'un écosystème baremetal à un univers micro services et d...
 
[Pass The SALT 2018] Second factor authentication in LemonLDAP::NG
[Pass The SALT 2018] Second factor authentication in LemonLDAP::NG[Pass The SALT 2018] Second factor authentication in LemonLDAP::NG
[Pass The SALT 2018] Second factor authentication in LemonLDAP::NG
 

[FLOSSCON 2019] Gestion des authentifications et des accès avec LemonLDAP::NG 2.0

  • 1. Gestion des authentifcations et des accès avec LemonLDAP::NG 2.0 28 Janvier 2019 Clément OUDOT @clementoudot Worteks @worteks_com
  • 2. 2 Services Infrastructures complexes et hétérogènes, cloud, messagerie, authentifcation, sécurité  Étude, audit et conseil  Expertise technique  Support technique  Formations  R&D Édition Portail applicatif et collaboratif Plateforme collaborative mutualisée de développement Gestion des identités et des accès Partenaires Worteks (v .t ks)ɔʁ ɛ
  • 4. Fonctionnement du SSO Portail d’authentifcation Application 2. Authentifcation 1. Premier accès 3. Envoi du jeton SSO Lien de confance 4. Validation du jeton
  • 5. FLOSSCon 2019 - 28/01/2019 5 Historique 2003 2006 2010 2016 2018 Création du projet Fork – version NG Support des protocoles CAS, SAML et OpenID Version 1.0 Support du protocole OpenID Connect Seconds facteurs (2FA) Version 2.0
  • 6. FLOSSCon 2019 - 28/01/2019 6 Principales fonctionnalités ● Authentifcation unique (WebSSO) ● Contrôle d'accès ● Portail d'applications ● Chaînage et choix des modules d'authentifcation ● Gestion du mot de passe, création de compte ● Authentifcation multi-facteurs ● Protection des applications Web et des API/WebServices ● Personnalisation graphique ● Paquets Debian/Ubuntu/RHEL/CentOS
  • 7. FLOSSCon 2019 - 28/01/2019 7 Logiciel Libre ● Licence GPL ● Projet OW2 ● Forge : https://gitlab.ow2.org/lemonldap-ng/lemonldap-ng ● Site : https://lemonldap-ng.org ● OW2 Community Award en 2014 ● Composant SSO du projet FusionIAM : https://fusioniam.org/
  • 8. FLOSSCon 2019 - 28/01/2019 8 Rôle des composants Confgurations Sessions Manager Handler Application menu CAS SAML OpenID Connect Self Services SOAP/REST server Session management Confgurations Sessions Notifcations Second factors Access Control SSOaaS Web Service Token Custom Portal
  • 10. FLOSSCon 2019 - 28/01/2019 10 Application Web Sessions Portal Handler Web Application Authentication Session creation Session read SSO cookie HTTP headers
  • 11. FLOSSCon 2019 - 28/01/2019 11 API – Service Token Sessions Portal Handler Web Application Authentication Session creation Session read SSO cookie HTTP headers Token Handler Service Token Web Service Token HTTP headers Session read
  • 12. FLOSSCon 2019 - 28/01/2019 12 Mode DevOps (SSO as a Service) Sessions Portal Handler Web Application Authentication Session creation Session read SSO cookie HTTP headers rules .json Access rules Exported rules
  • 13. Les protocoles CAS, SAML et OpenID Connect
  • 14. FLOSSCon 2019 - 28/01/2019 14 Principales fonctionnalités ● Modes "client" et "serveur" ● Échange d'attributs ● Gestion des niveaux et des contextes d'authentifcation ● Génération automatique des clés publiques et privées ● Contrôle d'accès par services ● Publication des données de confguration (metadata) ● Passerelle mutli-protocoles ● Transfert de la déconnexion
  • 15. Nouveautés de la version 2.0
  • 16. 16 Seconds facteurs d'authentifcation (2FA) ● LemonLDAP::NG peut demander un second facteur d'authentifcation après que la première authentifcation ait été validée : – TOTP – U2F – TOTP ou U2F – Externe – REST – Yubikey
  • 17. FLOSSCon 2019 - 28/01/2019 17 Backends de confguration ● Backends déjà existants : – Fichier JSON – Base de données – LDAP – NoSQL (MongoDB) – SOAP ● Nouveaux backends : – Fichier YAML – REST – Local (utilisation du fchier lemonldap-ng.ini uniquement)
  • 18. FLOSSCon 2019 - 28/01/2019 18 Handler NodeJS ● Intégration native dans une application Express ● Règles et en-têtes à écrire en Javascript ● https://github.com/LemonLDAPNG/node-lemonldap-ng-handler npm install node-lemonldap-ng-handler
  • 19. FLOSSCon 2019 - 28/01/2019 19 SSO as a Service ● L'authentifcation est toujours réalisée par le portail ● Les contrôles d'accès et la liste des en-têtes est gérée par l'application, dans un fchier JSON à la racine ● Cela permet un déploiement rapide d'application en mode "DevOps" : aucune déclaration n'est nécessaire dans la confguration globale
  • 20. FLOSSCon 2019 - 28/01/2019 20 Protection des API / WebService ● Nouveau Handler "Service Token" en rupture de fux entre l'application et le Web Service ● Génération d'un jeton par le Handler principal en incluant le temps (time), l'identifant de session (session_id) et la liste des hôtes virtuels (vhostList) ● Transmission du jeton par l'application au Web Service ● Validation du jeton par le Handler "Service Token" et à l'aide de l'identifant de session, contrôle d'accès et envoi des en-têtes
  • 21. FLOSSCon 2019 - 28/01/2019 21 Modules d'authentifcations ● Nouveaux modules : – PAM – REST – Kerberos (GSSAPI) – CAS (lecture des attributs) ● Remplacement de Multi par Combination ● Utilisation possible d'un module Custom
  • 22. FLOSSCon 2019 - 28/01/2019 22 Interface d'administration ● Ajout d'un comparateur de confgurations : les diférences entre deux confgurations sont afchées sous forme d'arbre ● Module d'administration des seconds facteurs (recherche, révocation) ● Tri des sessions par date de création et date de modifcation
  • 23. FLOSSCon 2019 - 28/01/2019 23 RENATER ● Support de la fédération RENATER via SAML2 : – Fournisseur de Service – Fournisseur d'identité ● Appel de la page de choix du fournisseur (WAYF) via SAML Discovery Protocol ● Script d'import en masse des metadata publiées par Renater
  • 24. FLOSSCon 2019 - 28/01/2019 24 Moteur de plugins ● Le code du portail a été réécrit pour permettre le développement simple de nouveaux plugins ● Exemple de plugins fournis par défaut : – Auto Signin : authentifcation directe pour certaines IP – Brute Force : protection des attaques par force brute – Stay Connected : possibilité de garder sa session même après fermeture du navigateur – Public Pages : création de pages statiques reprenant le thème du portail ● Écrire son propre plugin : https://lemonldap-ng.org/documentation/latest/plugincustom
  • 25. FLOSSCon 2019 - 28/01/2019 25 Autres nouveautés ● Un utilisateur peut recharger ses droits sans se déconnecter/reconnecter ● Services REST natifs (confgurations et sessions) ● Sélection de la langue avant la connexion ● Nouveau thème graphique basé sur Bootstrap 4 ● Personnalisation du logo (repris dans le thème graphique et les mails envoyés) ● Choix du système de logs (syslog, Apache, Log4Perl, Sentry...)
  • 26. Contact clement.oudot@worteks.com Pour plus d’informations : info@worteks.com @worteks_com linkedin.com/company/worteks
  • 27.
  • 28. Co-propulsé avec ❤ par Trois jours d’ateliers, conférences, démos, tables rondes par les libristes alpins Dimanche 27 janvier 2019, journée "Libre et grand public" au Secours Catholique Isère à Grenoble Lundi 28 janvier 2019, journée "Libre et technologie" à CGI à Grenoble Mardi 29 janvier 2019, journée dédiée "Libre et secteur public" à La Source à Fontaine Grenoble Logiciels et données libres pour une transformation numérique maîtrisée