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

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

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::NGIdentity Days
 
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 exemplesClément OUDOT
 
[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...Worteks
 
Séminaire LinID LINAGORA - juin 2009
Séminaire LinID LINAGORA - juin 2009Séminaire LinID LINAGORA - juin 2009
Séminaire LinID LINAGORA - juin 2009LINAGORA
 
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)Soisik FROGER
 
WebSSO et gestion des accès
WebSSO et gestion des accèsWebSSO et gestion des accès
WebSSO et gestion des accèsLINAGORA
 
Séminaire LinID/LinPKI septembre 2011
Séminaire LinID/LinPKI septembre 2011Séminaire LinID/LinPKI septembre 2011
Séminaire LinID/LinPKI septembre 2011LINAGORA
 
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 exemplesClément OUDOT
 
Présentation offre LINID
Présentation offre LINIDPrésentation offre LINID
Présentation offre LINIDLINAGORA
 
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 LinIDClément OUDOT
 
Web rtc 2016 - Malik Houni, Jocelyn Caraman et Bich NGUYEN
Web rtc 2016 - Malik Houni, Jocelyn Caraman et Bich NGUYENWeb rtc 2016 - Malik Houni, Jocelyn Caraman et Bich NGUYEN
Web rtc 2016 - Malik Houni, Jocelyn Caraman et Bich NGUYENmalik3rdH
 
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 phpGautier DUMAS
 
Delegation d'authentification
Delegation d'authentificationDelegation d'authentification
Delegation d'authentificationSébastien Brault
 
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...Identity Days
 
Introduction to WebRTC on iOS
Introduction to WebRTC on iOSIntroduction to WebRTC on iOS
Introduction to WebRTC on iOSCocoaHeads France
 
(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)Microsoft Décideurs IT
 
(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)Microsoft Technet France
 
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::NGIdentity Days
 

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)
 
WebSSO et gestion des accès
WebSSO et gestion des accèsWebSSO et gestion des accès
WebSSO et gestion des accès
 
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
 
Web rtc 2016 - Malik Houni, Jocelyn Caraman et Bich NGUYEN
Web rtc 2016 - Malik Houni, Jocelyn Caraman et Bich NGUYENWeb rtc 2016 - Malik Houni, Jocelyn Caraman et Bich NGUYEN
Web rtc 2016 - Malik Houni, Jocelyn Caraman et Bich NGUYEN
 
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
 

Plus de Clément OUDOT

[FOSDEM 2019] LemonLDAP::NG 2.0
[FOSDEM 2019] LemonLDAP::NG 2.0[FOSDEM 2019] LemonLDAP::NG 2.0
[FOSDEM 2019] LemonLDAP::NG 2.0Clément OUDOT
 
[OW2Con 2018] The FusionIAM project
[OW2Con 2018] The FusionIAM project[OW2Con 2018] The FusionIAM project
[OW2Con 2018] The FusionIAM projectClément OUDOT
 
[JDLL 2018] Templer, Git, Bootstrap, PHP : des outils libres pour concevoir l...
[JDLL 2018] Templer, Git, Bootstrap, PHP : des outils libres pour concevoir l...[JDLL 2018] Templer, Git, Bootstrap, PHP : des outils libres pour concevoir l...
[JDLL 2018] Templer, Git, Bootstrap, PHP : des outils libres pour concevoir l...Clément OUDOT
 
[OSSPARIS17] Le guide du connard du logiciel libre
[OSSPARIS17] Le guide du connard du logiciel libre[OSSPARIS17] Le guide du connard du logiciel libre
[OSSPARIS17] Le guide du connard du logiciel libreClément OUDOT
 
[OSSPARIS17] Des logiciels libres pour la gestion des identités !
[OSSPARIS17] Des logiciels libres pour la gestion des identités ![OSSPARIS17] Des logiciels libres pour la gestion des identités !
[OSSPARIS17] Des logiciels libres pour la gestion des identités !Clément OUDOT
 
[RMLL2017] Templer, Git, Bootstrap, PHP : des outils libres pour concevoir le...
[RMLL2017] Templer, Git, Bootstrap, PHP : des outils libres pour concevoir le...[RMLL2017] Templer, Git, Bootstrap, PHP : des outils libres pour concevoir le...
[RMLL2017] Templer, Git, Bootstrap, PHP : des outils libres pour concevoir le...Clément OUDOT
 
[RMLL2017] le guide du connard du logiciel libre
[RMLL2017] le guide du connard du logiciel libre[RMLL2017] le guide du connard du logiciel libre
[RMLL2017] le guide du connard du logiciel libreClément OUDOT
 
[RMLL2017] LDAPCon 2017
[RMLL2017] LDAPCon 2017[RMLL2017] LDAPCon 2017
[RMLL2017] LDAPCon 2017Clément OUDOT
 
[RMLL2017] Des logiciels libres pour la gestion des identités !
[RMLL2017] Des logiciels libres pour la gestion des identités ![RMLL2017] Des logiciels libres pour la gestion des identités !
[RMLL2017] Des logiciels libres pour la gestion des identités !Clément OUDOT
 
[OW2Con 2017] News from LemonLDAP::NG
[OW2Con 2017] News from LemonLDAP::NG[OW2Con 2017] News from LemonLDAP::NG
[OW2Con 2017] News from LemonLDAP::NGClément OUDOT
 
[JDLL 2017] Le Guide du Connard du Logiciel Libre
[JDLL 2017] Le Guide du Connard du Logiciel Libre[JDLL 2017] Le Guide du Connard du Logiciel Libre
[JDLL 2017] Le Guide du Connard du Logiciel LibreClément OUDOT
 
KR2016 The Free Software Bastard Guide
KR2016 The Free Software Bastard GuideKR2016 The Free Software Bastard Guide
KR2016 The Free Software Bastard GuideClément OUDOT
 
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::NGClément OUDOT
 
The guide of Security Jerk
The guide of Security JerkThe guide of Security Jerk
The guide of Security JerkClément OUDOT
 
The wonderful story of Web Authentication and Single-Sign On
The wonderful story of Web Authentication and Single-Sign OnThe wonderful story of Web Authentication and Single-Sign On
The wonderful story of Web Authentication and Single-Sign OnClément OUDOT
 
[JDLL 2016] OpenID Connect et FranceConnect
[JDLL 2016] OpenID Connect et FranceConnect[JDLL 2016] OpenID Connect et FranceConnect
[JDLL 2016] OpenID Connect et FranceConnectClément OUDOT
 
[OSSParis 2015] The OpenID Connect Protocol
[OSSParis 2015] The OpenID Connect Protocol[OSSParis 2015] The OpenID Connect Protocol
[OSSParis 2015] The OpenID Connect ProtocolClément OUDOT
 
[OW2Con 2015] LemonLDAP::NG 2.0 overview
[OW2Con 2015] LemonLDAP::NG 2.0 overview[OW2Con 2015] LemonLDAP::NG 2.0 overview
[OW2Con 2015] LemonLDAP::NG 2.0 overviewClément OUDOT
 
[LDAPCon 2015] The OpenID Connect Protocol
[LDAPCon 2015] The OpenID Connect Protocol[LDAPCon 2015] The OpenID Connect Protocol
[LDAPCon 2015] The OpenID Connect ProtocolClément OUDOT
 
Analyse OpenLDAP logs with ELK
Analyse OpenLDAP logs with ELKAnalyse OpenLDAP logs with ELK
Analyse OpenLDAP logs with ELKClément OUDOT
 

Plus de Clément OUDOT (20)

[FOSDEM 2019] LemonLDAP::NG 2.0
[FOSDEM 2019] LemonLDAP::NG 2.0[FOSDEM 2019] LemonLDAP::NG 2.0
[FOSDEM 2019] LemonLDAP::NG 2.0
 
[OW2Con 2018] The FusionIAM project
[OW2Con 2018] The FusionIAM project[OW2Con 2018] The FusionIAM project
[OW2Con 2018] The FusionIAM project
 
[JDLL 2018] Templer, Git, Bootstrap, PHP : des outils libres pour concevoir l...
[JDLL 2018] Templer, Git, Bootstrap, PHP : des outils libres pour concevoir l...[JDLL 2018] Templer, Git, Bootstrap, PHP : des outils libres pour concevoir l...
[JDLL 2018] Templer, Git, Bootstrap, PHP : des outils libres pour concevoir l...
 
[OSSPARIS17] Le guide du connard du logiciel libre
[OSSPARIS17] Le guide du connard du logiciel libre[OSSPARIS17] Le guide du connard du logiciel libre
[OSSPARIS17] Le guide du connard du logiciel libre
 
[OSSPARIS17] Des logiciels libres pour la gestion des identités !
[OSSPARIS17] Des logiciels libres pour la gestion des identités ![OSSPARIS17] Des logiciels libres pour la gestion des identités !
[OSSPARIS17] Des logiciels libres pour la gestion des identités !
 
[RMLL2017] Templer, Git, Bootstrap, PHP : des outils libres pour concevoir le...
[RMLL2017] Templer, Git, Bootstrap, PHP : des outils libres pour concevoir le...[RMLL2017] Templer, Git, Bootstrap, PHP : des outils libres pour concevoir le...
[RMLL2017] Templer, Git, Bootstrap, PHP : des outils libres pour concevoir le...
 
[RMLL2017] le guide du connard du logiciel libre
[RMLL2017] le guide du connard du logiciel libre[RMLL2017] le guide du connard du logiciel libre
[RMLL2017] le guide du connard du logiciel libre
 
[RMLL2017] LDAPCon 2017
[RMLL2017] LDAPCon 2017[RMLL2017] LDAPCon 2017
[RMLL2017] LDAPCon 2017
 
[RMLL2017] Des logiciels libres pour la gestion des identités !
[RMLL2017] Des logiciels libres pour la gestion des identités ![RMLL2017] Des logiciels libres pour la gestion des identités !
[RMLL2017] Des logiciels libres pour la gestion des identités !
 
[OW2Con 2017] News from LemonLDAP::NG
[OW2Con 2017] News from LemonLDAP::NG[OW2Con 2017] News from LemonLDAP::NG
[OW2Con 2017] News from LemonLDAP::NG
 
[JDLL 2017] Le Guide du Connard du Logiciel Libre
[JDLL 2017] Le Guide du Connard du Logiciel Libre[JDLL 2017] Le Guide du Connard du Logiciel Libre
[JDLL 2017] Le Guide du Connard du Logiciel Libre
 
KR2016 The Free Software Bastard Guide
KR2016 The Free Software Bastard GuideKR2016 The Free Software Bastard Guide
KR2016 The Free Software Bastard Guide
 
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
 
The guide of Security Jerk
The guide of Security JerkThe guide of Security Jerk
The guide of Security Jerk
 
The wonderful story of Web Authentication and Single-Sign On
The wonderful story of Web Authentication and Single-Sign OnThe wonderful story of Web Authentication and Single-Sign On
The wonderful story of Web Authentication and Single-Sign On
 
[JDLL 2016] OpenID Connect et FranceConnect
[JDLL 2016] OpenID Connect et FranceConnect[JDLL 2016] OpenID Connect et FranceConnect
[JDLL 2016] OpenID Connect et FranceConnect
 
[OSSParis 2015] The OpenID Connect Protocol
[OSSParis 2015] The OpenID Connect Protocol[OSSParis 2015] The OpenID Connect Protocol
[OSSParis 2015] The OpenID Connect Protocol
 
[OW2Con 2015] LemonLDAP::NG 2.0 overview
[OW2Con 2015] LemonLDAP::NG 2.0 overview[OW2Con 2015] LemonLDAP::NG 2.0 overview
[OW2Con 2015] LemonLDAP::NG 2.0 overview
 
[LDAPCon 2015] The OpenID Connect Protocol
[LDAPCon 2015] The OpenID Connect Protocol[LDAPCon 2015] The OpenID Connect Protocol
[LDAPCon 2015] The OpenID Connect Protocol
 
Analyse OpenLDAP logs with ELK
Analyse OpenLDAP logs with ELKAnalyse OpenLDAP logs with ELK
Analyse OpenLDAP logs with ELK
 

[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