SlideShare une entreprise Scribd logo
1  sur  29
Télécharger pour lire hors ligne
– 5e édition –
24 octobre 2023 – Paris
– SSO as a Service –
Comment mettre en œuvre
une architecture SSO DevOps avec
LemonLDAP::NG
24 octobre 2023 – Paris
Christophe Maudoux
Identity Days 2023
Christophe Maudoux
Ingénieur réseaux & systèmes
Doctorant en cybersécurité
MCF associé au Cnam Paris
Mainteneur LemonLDAP::NG
Architecte & Administrateur
plateformes SSO à l’ANFSI
christophe-maudoux-iam
I. WebSSO & LemonLDAP::NG
II. Modes de raccordement
III. Plateformes SSO pour les FSI
IV. SSO as a Service
24 octobre 2023 – Paris
Christophe Maudoux
Identity Days 2023
WebSSO & LemonLDAP::NG
Principes de base
24 octobre 2023 – Paris
Christophe Maudoux
Identity Days 2023
LL::NG 
SSO as a Service
24 octobre 2023 –
Paris
christophe.maudoux
ANFSI
WebSSO  LL : :NG
Solution AAA
Cinématique SSO
Équipe développement
Cycle développement
Modes de
raccordement
Plateformes SSO pour
les FSI
SSO as a Service
LemonLDAP::NG 1
Authentification unique AAA
Solution complète AAA :
Authentication Vérification d’identité (̸= identification)
Authorization Contrôle d’accès (règles)
Accounting Traces  journaux d’activité (imputabilité des actions)
1. LemonLDAP : :NG - Web SSO and Access Management Free Software. url :
https://lemonldap-ng.org/.
5 / 29
Identity Days 2023
LL::NG 
SSO as a Service
24 octobre 2023 –
Paris
christophe.maudoux
ANFSI
WebSSO  LL : :NG
Solution AAA
Cinématique SSO
Équipe développement
Cycle développement
Modes de
raccordement
Plateformes SSO pour
les FSI
SSO as a Service
LemonLDAP::NG
Cinématique SSO
1. Utilisateur NON authentifié essaye d’accéder à une ressource protégée
2. Redirigé par LemonLDAP::NG vers le Portail unique d’authentification
→ Authentification
3. Portail fournit un jeton SSO (cookie) puis redirige utilisateur vers la ressource
initialement demandée :
→ Authentifié (dispose d’un cookie SSO)
→ Vérification des règles d’accès
6 / 29
Identity Days 2023
LL::NG 
SSO as a Service
24 octobre 2023 –
Paris
christophe.maudoux
ANFSI
WebSSO  LL : :NG
Solution AAA
Cinématique SSO
Équipe développement
Cycle développement
Modes de
raccordement
Plateformes SSO pour
les FSI
SSO as a Service
LemonLDAP::NG 2
Équipe de développement
Xavier Guimard (Yadd)
Christophe Maudoux




















Clément Oudot (KPT)
Maxime Besson
David Coutadeur
2. X. Guimard et al. “LemonLDAP : :NG”. In : (déc. 2010). url :
https://hal.inria.fr/hal-03776592.
7 / 29
Identity Days 2023
LL::NG 
SSO as a Service
24 octobre 2023 –
Paris
christophe.maudoux
ANFSI
WebSSO  LL : :NG
Solution AAA
Cinématique SSO
Équipe développement
Cycle développement
Modes de
raccordement
Plateformes SSO pour
les FSI
SSO as a Service
LemonLDAP::NG
Cycle de développement 3 (le p’tit vélo LemonLDAP::NG. . .)
Cycle interne de validation / Cycle communautaire d’intégration continue
3. GitLab OW2 LemonLDAP : :NG. url : https://gitlab.ow2.org/lemonldap-ng.
8 / 29
Identity Days 2023
Modes de raccordement
Architectures SSO
24 octobre 2023 – Paris
Christophe Maudoux
Identity Days 2023
LL::NG 
SSO as a Service
24 octobre 2023 –
Paris
christophe.maudoux
ANFSI
WebSSO  LL : :NG
Modes de
raccordement
Fédération des Identités
SAMLv2
OIDC
Mandataire inverse 
Agent
Plateformes SSO pour
les FSI
SSO as a Service
Par fédération des identités
10 / 29
Identity Days 2023
LL::NG 
SSO as a Service
24 octobre 2023 –
Paris
christophe.maudoux
ANFSI
WebSSO  LL : :NG
Modes de
raccordement
Fédération des Identités
SAMLv2
OIDC
Mandataire inverse 
Agent
Plateformes SSO pour
les FSI
SSO as a Service
Fédération des Identités
Cinématique SAMLv2 (Fournisseur d’identité)
 Tous les flux passent par le navigateur
 LemonLDAP::NG → IdP ou SP
11 / 29
Identity Days 2023
LL::NG 
SSO as a Service
24 octobre 2023 –
Paris
christophe.maudoux
ANFSI
WebSSO  LL : :NG
Modes de
raccordement
Fédération des Identités
SAMLv2
OIDC
Mandataire inverse 
Agent
Plateformes SSO pour
les FSI
SSO as a Service
Fédération des Identités
Cinématique OIDC (Authorization Code flow)
 Implicit  Hybrid flows → dépréciés !
 LemonLDAP::NG → OP ou RP
12 / 29
Identity Days 2023
LL::NG 
SSO as a Service
24 octobre 2023 –
Paris
christophe.maudoux
ANFSI
WebSSO  LL : :NG
Modes de
raccordement
Fédération des Identités
Mandataire inverse 
Agent
Plateformes SSO pour
les FSI
SSO as a Service
Par mandataire inverse (RVPRX)
LemonLDAP::NG est codé en Perl  supporte les principaux serveurs Web :
 les serveurs Perl tels que Starman ou Corona → applications Perl
LemonLDAP::NG = process externe ⇒ Nécessite mécanisme CGI
Apache : Module externe Mod perl2
Nginx : Serveur FastCGI ou uWSGI
13 / 29
Identity Days 2023
LL::NG 
SSO as a Service
24 octobre 2023 –
Paris
christophe.maudoux
ANFSI
WebSSO  LL : :NG
Modes de
raccordement
Fédération des Identités
Mandataire inverse 
Agent
Plateformes SSO pour
les FSI
SSO as a Service
Mandataire inverse  Agent
Architecture avec Reverse Proxies
 Applications NON directement accessibles
 LemonLDAP::NG → différents types d’agent (handler)
14 / 29
Identity Days 2023
Plateformes SSO
des
Forces de Sécurité Intérieure
Différents besoins
24 octobre 2023 – Paris
Christophe Maudoux
Identity Days 2023
LL::NG 
SSO as a Service
24 octobre 2023 –
Paris
christophe.maudoux
ANFSI
WebSSO  LL : :NG
Modes de
raccordement
Plateformes SSO pour
les FSI
Cloisonnement
Architecture
SSO as a Service
Plateformes des FSI
Cloisonnement des populations  applications
Déclinées en Prod, PréProd, Form  Dév
Intranet
Proxyma SSO GN (≈ 350 app. / 130 000 users)
Cheops SSO PN (≈ 150 app. / 150 000 users)
PSI SSO fédéré → FS GN, PN, Préfectures
JudiWeb SSO DMZ → FS autres ministères
Internet
Curasso SSO GN (formation continue)
Calypsso SSO PN
Espresso SSO autres utilisateurs (recrutement)
Extensso SSO en DMZ (France Connect Agent)
 Règles de gestion des utilisateurs  droits d’accès différents
16 / 29
Identity Days 2023
LL::NG 
SSO as a Service
24 octobre 2023 –
Paris
christophe.maudoux
ANFSI
WebSSO  LL : :NG
Modes de
raccordement
Plateformes SSO pour
les FSI
Cloisonnement
Architecture
SSO as a Service
Plateformes des FSI
Présentation architecture de base
17 / 29
Identity Days 2023
SSO as a Service
Handler DevOps
LL::NG 
SSO as a Service
24 octobre 2023 –
Paris
christophe.maudoux
ANFSI
WebSSO  LL : :NG
Modes de
raccordement
Plateformes SSO pour
les FSI
SSO as a Service
LL : :NG  SSOaaS
Fonctionnement
Intégration Handler
Architecture DevOps
Template Nginx
Template Apache
Exemple ’rules.json’
CheckDevOps
RulesEditor
Handler DevOps
LemonLDAP::NG  SSO as a Service
LemonLDAP::NG → WebSSO AAA
Approche DevOps – SSOaaS :
Authorization Applications gèrent droits d’accès → Définition des règles
Accounting Applications choisissent les attributs utilisateurs → Sélection des entêtes
Par contre, authentification NON déléguée aux applications !
Authentication LemonLDAP::NG authentifie les utilisateurs
⇒ Serveur d’authentification centralisé
 Surcharge de la configuration SSO par les applications
19 / 29
Identity Days 2023
LL::NG 
SSO as a Service
24 octobre 2023 –
Paris
christophe.maudoux
ANFSI
WebSSO  LL : :NG
Modes de
raccordement
Plateformes SSO pour
les FSI
SSO as a Service
LL : :NG  SSOaaS
Fonctionnement
Intégration Handler
Architecture DevOps
Template Nginx
Template Apache
Exemple ’rules.json’
CheckDevOps
RulesEditor
Handler DevOps
Principe de fonctionnement
20 / 29
Identity Days 2023
LL::NG 
SSO as a Service
24 octobre 2023 –
Paris
christophe.maudoux
ANFSI
WebSSO  LL : :NG
Modes de
raccordement
Plateformes SSO pour
les FSI
SSO as a Service
LL : :NG  SSOaaS
Fonctionnement
Intégration Handler
Architecture DevOps
Template Nginx
Template Apache
Exemple ’rules.json’
CheckDevOps
RulesEditor
Handler DevOps
Intégration LemonLDAP::NG (standard PSGI) — Nginx (protocole uwsgi)
 uwsgi → protocole supporté nativement par Nginx
 PSGI → standard Perl : $req = tableau 3 éléments
21 / 29
Identity Days 2023
LL::NG 
SSO as a Service
24 octobre 2023 –
Paris
christophe.maudoux
ANFSI
WebSSO  LL : :NG
Modes de
raccordement
Plateformes SSO pour
les FSI
SSO as a Service
LL : :NG  SSOaaS
Fonctionnement
Intégration Handler
Architecture DevOps
Template Nginx
Template Apache
Exemple ’rules.json’
CheckDevOps
RulesEditor
Handler DevOps
Comment ça marche ?
22 / 29
Identity Days 2023
LL::NG 
SSO as a Service
24 octobre 2023 –
Paris
christophe.maudoux
ANFSI
WebSSO  LL : :NG
Modes de
raccordement
Plateformes SSO pour
les FSI
SSO as a Service
LL : :NG  SSOaaS
Fonctionnement
Intégration Handler
Architecture DevOps
Template Nginx
Template Apache
Exemple ’rules.json’
CheckDevOps
RulesEditor
Handler DevOps
Template Nginx ⇒ Serveur uWSGI ou FastCGI
server {
listen port;
server_name myapp.domain.com; location ˜ ˆ(.*.php)$ {
auth_request /lmauth;
location = /lmauth { set $original_uri $uri$is_args$args;
internal; auth_request_set $lmremote_user $upstream_lmremote_user;
include /etc/nginx/uwsgi_params; auth_request_set $lmlocation $upstream_location;
# Pass authorization requests to error_page 401 $lmlocation;
# central uwsgi server include /etc/nginx/nginx-lua-headers.conf;
uwsgi_pass 10.1.2.3:9090;
uwsgi_param VHOSTTYPE DevOps; # Example with php-fpm
# Drop post datas include snippets/fastcgi-php.conf;
uwsgi_pass_request_body off; uwsgi_pass unix:/var/run/php/php7.0-fpm.sock;
uwsgi_param CONTENT_LENGTH ; }
# Set redirection parameters
uwsgi_param HTTPS_REDIRECT $https; location /rules.json {
uwsgi_param PORT_REDIRECT $server_port; auth_request off;
allow 10.1.2.3;
deny all;
# Set rules dynamically }
# (LL::NG will poll it every 10 mn)
uwsgi_param RULES_URL http://rulesserver/my.json;
}
}
23 / 29
Identity Days 2023
LL::NG 
SSO as a Service
24 octobre 2023 –
Paris
christophe.maudoux
ANFSI
WebSSO  LL : :NG
Modes de
raccordement
Plateformes SSO pour
les FSI
SSO as a Service
LL : :NG  SSOaaS
Fonctionnement
Intégration Handler
Architecture DevOps
Template Nginx
Template Apache
Exemple ’rules.json’
CheckDevOps
RulesEditor
Handler DevOps
Template Apache ⇒ Client FastCGI LemonLDAP::NG
VirtualHost port
ServerName myapp.domain.com Location /rules.json
DocumentRoot /var/www/myapp Order deny,allow
ErrorLog /var/log/apache2/localsite_error.log Deny from all
CustomLog /var/log/apache2/localsite_access.log combine Allow from 10.1.2.3
/Location
LocationMatch ˆ/(?!rules.json)
PerlHeaderParserHandler Lemonldap::NG::SSOaaS::Apache::Client
# Handler directive to declare this VHost as DevOps and
# Pass authorization requests to Central FastCGI server
PerlSetVar VHOSTTYPE DevOps
# or to declare DevOpsST handler
# PerlSetVar VHOSTTYPE DevOpsST
PerlSetVar LLNG_SERVER 10.1.2.3:9090
# Keep original hostname
PerlSetVar HOST HTTP_HOST
# Set redirection parameters
PerlSetVar HTTPS_REDIRECT HTTPS
PerlSetVar PORT_REDIRECT SERVER_PORT
PerlSetVar RULES_URL http://myapp.domain.com/rules.json
# or to use an external rules server
# PerlSetVar RULES_URL http://rulesserver/my.json;
/LocationMatch
/VirtualHost
24 / 29
Identity Days 2023
LL::NG 
SSO as a Service
24 octobre 2023 –
Paris
christophe.maudoux
ANFSI
WebSSO  LL : :NG
Modes de
raccordement
Plateformes SSO pour
les FSI
SSO as a Service
LL : :NG  SSOaaS
Fonctionnement
Intégration Handler
Architecture DevOps
Template Nginx
Template Apache
Exemple ’rules.json’
CheckDevOps
RulesEditor
Handler DevOps
Exemple fichier ’rules.json’
{
rules: {
ˆ/deny: deny,
ˆ/testno: $nigend !˜ /(?:173668|166380)/,
ˆ/api/: ($memberOf =˜ /bBDSP-GIPASP_([A-Z])b/)[0],
default: accept
},
headers: {
codeUnite: $codeUnite,
email: $mail,
grade: $rank,
nigend: $nigend,
nom: $sn,
prenom: $givenName,
profil: ($groups =˜ /bmyapp_(w+)b/i)[0] || ’’,
responsabilite: $responsabilite,
unite: $unite
}
}
25 / 29
Identity Days 2023
LL::NG 
SSO as a Service
24 octobre 2023 –
Paris
christophe.maudoux
ANFSI
WebSSO  LL : :NG
Modes de
raccordement
Plateformes SSO pour
les FSI
SSO as a Service
LL : :NG  SSOaaS
Fonctionnement
Intégration Handler
Architecture DevOps
Template Nginx
Template Apache
Exemple ’rules.json’
CheckDevOps
RulesEditor
Handler DevOps
Extension CheckDevOps
 Validation syntaxe  règles fichier ’rules.json’
26 / 29
Identity Days 2023
LL::NG 
SSO as a Service
24 octobre 2023 –
Paris
christophe.maudoux
ANFSI
WebSSO  LL : :NG
Modes de
raccordement
Plateformes SSO pour
les FSI
SSO as a Service
LL : :NG  SSOaaS
Fonctionnement
Intégration Handler
Architecture DevOps
Template Nginx
Template Apache
Exemple ’rules.json’
CheckDevOps
RulesEditor
Handler DevOps
Extension RulesEditor
 Génération fichier ’rules.json’ (développée par Sébastien Bois)
27 / 29
Identity Days 2023
Merci de votre attention !
, Gardons le contact. . . ,
christophe.maudoux@gendarmerie.interieur.gouv.fr
admin-sso@gendarmerie.interieur.gouv.fr
Site officiel  https://lemonldap-ng.org
Versions  https://releases.ow2.org/lemonldap
Forge  https://gitlab.ow2.org/lemonldap-ng
– 5e édition –
24 octobre 2023 – Paris

Contenu connexe

Similaire à SSO as a Service ou comment mettre en oeuvre une architecture SSO DevOps avec LemonLDAP::NG et le handler DevOps

La santé de votre environnement Azure, entre Monitor, AppInsights et Log Anal...
La santé de votre environnement Azure, entre Monitor, AppInsights et Log Anal...La santé de votre environnement Azure, entre Monitor, AppInsights et Log Anal...
La santé de votre environnement Azure, entre Monitor, AppInsights et Log Anal...Marius Zaharia
 
XebiCon'16 : Cloud et Maturité de SI. Par Stéphane Teyssier, Consultant chez ...
XebiCon'16 : Cloud et Maturité de SI. Par Stéphane Teyssier, Consultant chez ...XebiCon'16 : Cloud et Maturité de SI. Par Stéphane Teyssier, Consultant chez ...
XebiCon'16 : Cloud et Maturité de SI. Par Stéphane Teyssier, Consultant chez ...Publicis Sapient Engineering
 
MSDays - AppFabric, le middleware disponible aussi en nuage
MSDays - AppFabric, le middleware disponible aussi en nuageMSDays - AppFabric, le middleware disponible aussi en nuage
MSDays - AppFabric, le middleware disponible aussi en nuageMicrosoft Technet France
 
Sécuriser votre site web azure, c’est simple maintenant !
Sécuriser votre site web azure, c’est simple maintenant !Sécuriser votre site web azure, c’est simple maintenant !
Sécuriser votre site web azure, c’est simple maintenant !Estelle Auberix
 
Sécuriser votre site web azure, c'est simple maintenant!
Sécuriser votre site web azure, c'est simple maintenant!Sécuriser votre site web azure, c'est simple maintenant!
Sécuriser votre site web azure, c'est simple maintenant!Chourouk HJAIEJ
 
Portrait-de-la-gestion-des-identites-avec-des-logiciels-Libres-en-2023-un-voy...
Portrait-de-la-gestion-des-identites-avec-des-logiciels-Libres-en-2023-un-voy...Portrait-de-la-gestion-des-identites-avec-des-logiciels-Libres-en-2023-un-voy...
Portrait-de-la-gestion-des-identites-avec-des-logiciels-Libres-en-2023-un-voy...Benoit Mortier
 
JA-SIG CAS - RMLL 2008
JA-SIG CAS - RMLL 2008JA-SIG CAS - RMLL 2008
JA-SIG CAS - RMLL 2008Arnaud Lesueur
 
Gestion de la dette technique – Le tier legacy-2023.pptx
Gestion de la dette technique – Le tier legacy-2023.pptxGestion de la dette technique – Le tier legacy-2023.pptx
Gestion de la dette technique – Le tier legacy-2023.pptxIdentity Days
 
21-06-2018 aOS Aix 3 Nouveautés Azure - Fabien Dibot et Yoann Guillo
21-06-2018 aOS Aix 3 Nouveautés Azure - Fabien Dibot et Yoann Guillo21-06-2018 aOS Aix 3 Nouveautés Azure - Fabien Dibot et Yoann Guillo
21-06-2018 aOS Aix 3 Nouveautés Azure - Fabien Dibot et Yoann GuilloaOS Community
 
Hi-Media Couchbase meetup Paris Nb #1
Hi-Media Couchbase meetup Paris Nb #1Hi-Media Couchbase meetup Paris Nb #1
Hi-Media Couchbase meetup Paris Nb #1Mickaël Le Baillif
 
Infrastructure de géomatique ouverte (IGO) : un modèle inspirant de développe...
Infrastructure de géomatique ouverte (IGO) : un modèle inspirant de développe...Infrastructure de géomatique ouverte (IGO) : un modèle inspirant de développe...
Infrastructure de géomatique ouverte (IGO) : un modèle inspirant de développe...VisionGEOMATIQUE2014
 
Gérer les privilèges locaux en utilisant Intune
Gérer les privilèges locaux en utilisant IntuneGérer les privilèges locaux en utilisant Intune
Gérer les privilèges locaux en utilisant IntuneIdentity Days
 
Cycle de vie d'un projet web agile avec TFS 2013, Azure VM et Monaco
Cycle de vie d'un projet web agile avec TFS 2013, Azure VM et MonacoCycle de vie d'un projet web agile avec TFS 2013, Azure VM et Monaco
Cycle de vie d'un projet web agile avec TFS 2013, Azure VM et MonacoMicrosoft
 
Introduction au Cloud computing
Introduction au Cloud computingIntroduction au Cloud computing
Introduction au Cloud computingPhilippe Scoffoni
 
LAWS - Crée un site dynamique en serverless c'est possible
LAWS - Crée un site dynamique en serverless c'est possibleLAWS - Crée un site dynamique en serverless c'est possible
LAWS - Crée un site dynamique en serverless c'est possibleRobin Mizreh
 
workflow-api-webservice-synchronisation-comment-construire-une-gestion-des-id...
workflow-api-webservice-synchronisation-comment-construire-une-gestion-des-id...workflow-api-webservice-synchronisation-comment-construire-une-gestion-des-id...
workflow-api-webservice-synchronisation-comment-construire-une-gestion-des-id...Benoit Mortier
 
Petit déjeuner Octo - L'infra au service de ses projets
Petit déjeuner Octo - L'infra au service de ses projetsPetit déjeuner Octo - L'infra au service de ses projets
Petit déjeuner Octo - L'infra au service de ses projetsAdrien Blind
 
Petit-déjeuner OCTO - L'Infra au service de ses projets
Petit-déjeuner OCTO - L'Infra au service de ses projetsPetit-déjeuner OCTO - L'Infra au service de ses projets
Petit-déjeuner OCTO - L'Infra au service de ses projetsOCTO Technology
 

Similaire à SSO as a Service ou comment mettre en oeuvre une architecture SSO DevOps avec LemonLDAP::NG et le handler DevOps (20)

La santé de votre environnement Azure, entre Monitor, AppInsights et Log Anal...
La santé de votre environnement Azure, entre Monitor, AppInsights et Log Anal...La santé de votre environnement Azure, entre Monitor, AppInsights et Log Anal...
La santé de votre environnement Azure, entre Monitor, AppInsights et Log Anal...
 
XebiCon'16 : Cloud et Maturité de SI. Par Stéphane Teyssier, Consultant chez ...
XebiCon'16 : Cloud et Maturité de SI. Par Stéphane Teyssier, Consultant chez ...XebiCon'16 : Cloud et Maturité de SI. Par Stéphane Teyssier, Consultant chez ...
XebiCon'16 : Cloud et Maturité de SI. Par Stéphane Teyssier, Consultant chez ...
 
MSDays - AppFabric, le middleware disponible aussi en nuage
MSDays - AppFabric, le middleware disponible aussi en nuageMSDays - AppFabric, le middleware disponible aussi en nuage
MSDays - AppFabric, le middleware disponible aussi en nuage
 
Sécuriser votre site web azure, c’est simple maintenant !
Sécuriser votre site web azure, c’est simple maintenant !Sécuriser votre site web azure, c’est simple maintenant !
Sécuriser votre site web azure, c’est simple maintenant !
 
Sécuriser votre site web azure, c'est simple maintenant!
Sécuriser votre site web azure, c'est simple maintenant!Sécuriser votre site web azure, c'est simple maintenant!
Sécuriser votre site web azure, c'est simple maintenant!
 
Portrait-de-la-gestion-des-identites-avec-des-logiciels-Libres-en-2023-un-voy...
Portrait-de-la-gestion-des-identites-avec-des-logiciels-Libres-en-2023-un-voy...Portrait-de-la-gestion-des-identites-avec-des-logiciels-Libres-en-2023-un-voy...
Portrait-de-la-gestion-des-identites-avec-des-logiciels-Libres-en-2023-un-voy...
 
JA-SIG CAS - RMLL 2008
JA-SIG CAS - RMLL 2008JA-SIG CAS - RMLL 2008
JA-SIG CAS - RMLL 2008
 
Gestion de la dette technique – Le tier legacy-2023.pptx
Gestion de la dette technique – Le tier legacy-2023.pptxGestion de la dette technique – Le tier legacy-2023.pptx
Gestion de la dette technique – Le tier legacy-2023.pptx
 
21-06-2018 aOS Aix 3 Nouveautés Azure - Fabien Dibot et Yoann Guillo
21-06-2018 aOS Aix 3 Nouveautés Azure - Fabien Dibot et Yoann Guillo21-06-2018 aOS Aix 3 Nouveautés Azure - Fabien Dibot et Yoann Guillo
21-06-2018 aOS Aix 3 Nouveautés Azure - Fabien Dibot et Yoann Guillo
 
Hi-Media Couchbase meetup Paris Nb #1
Hi-Media Couchbase meetup Paris Nb #1Hi-Media Couchbase meetup Paris Nb #1
Hi-Media Couchbase meetup Paris Nb #1
 
Infrastructure de géomatique ouverte (IGO) : un modèle inspirant de développe...
Infrastructure de géomatique ouverte (IGO) : un modèle inspirant de développe...Infrastructure de géomatique ouverte (IGO) : un modèle inspirant de développe...
Infrastructure de géomatique ouverte (IGO) : un modèle inspirant de développe...
 
Gérer les privilèges locaux en utilisant Intune
Gérer les privilèges locaux en utilisant IntuneGérer les privilèges locaux en utilisant Intune
Gérer les privilèges locaux en utilisant Intune
 
Cloud : en 2017, sortez du stratus !
Cloud : en 2017, sortez du stratus !Cloud : en 2017, sortez du stratus !
Cloud : en 2017, sortez du stratus !
 
Cycle de vie d'un projet web agile avec TFS 2013, Azure VM et Monaco
Cycle de vie d'un projet web agile avec TFS 2013, Azure VM et MonacoCycle de vie d'un projet web agile avec TFS 2013, Azure VM et Monaco
Cycle de vie d'un projet web agile avec TFS 2013, Azure VM et Monaco
 
Introduction au Cloud computing
Introduction au Cloud computingIntroduction au Cloud computing
Introduction au Cloud computing
 
LAWS - Crée un site dynamique en serverless c'est possible
LAWS - Crée un site dynamique en serverless c'est possibleLAWS - Crée un site dynamique en serverless c'est possible
LAWS - Crée un site dynamique en serverless c'est possible
 
Démystifions l'API-culture!
Démystifions l'API-culture!Démystifions l'API-culture!
Démystifions l'API-culture!
 
workflow-api-webservice-synchronisation-comment-construire-une-gestion-des-id...
workflow-api-webservice-synchronisation-comment-construire-une-gestion-des-id...workflow-api-webservice-synchronisation-comment-construire-une-gestion-des-id...
workflow-api-webservice-synchronisation-comment-construire-une-gestion-des-id...
 
Petit déjeuner Octo - L'infra au service de ses projets
Petit déjeuner Octo - L'infra au service de ses projetsPetit déjeuner Octo - L'infra au service de ses projets
Petit déjeuner Octo - L'infra au service de ses projets
 
Petit-déjeuner OCTO - L'Infra au service de ses projets
Petit-déjeuner OCTO - L'Infra au service de ses projetsPetit-déjeuner OCTO - L'Infra au service de ses projets
Petit-déjeuner OCTO - L'Infra au service de ses projets
 

Plus de Identity Days

Live Action : assistez à la récupération d’un AD compromis
Live Action : assistez à la récupération d’un AD compromisLive Action : assistez à la récupération d’un AD compromis
Live Action : assistez à la récupération d’un AD compromisIdentity Days
 
Directive européenne NIS2 : Etes-vous concerné ? Comment s’y préparer ?
Directive européenne NIS2 : Etes-vous concerné ? Comment s’y préparer ?Directive européenne NIS2 : Etes-vous concerné ? Comment s’y préparer ?
Directive européenne NIS2 : Etes-vous concerné ? Comment s’y préparer ?Identity Days
 
Quelle approche préventive adopter pour empêcher les mouvements latéraux au s...
Quelle approche préventive adopter pour empêcher les mouvements latéraux au s...Quelle approche préventive adopter pour empêcher les mouvements latéraux au s...
Quelle approche préventive adopter pour empêcher les mouvements latéraux au s...Identity Days
 
Passwordless – de la théorie à la pratique
Passwordless – de la théorie à la pratiquePasswordless – de la théorie à la pratique
Passwordless – de la théorie à la pratiqueIdentity Days
 
L’authentification à l’Ère des grandes ruptures technologiques, un Virage à p...
L’authentification à l’Ère des grandes ruptures technologiques, un Virage à p...L’authentification à l’Ère des grandes ruptures technologiques, un Virage à p...
L’authentification à l’Ère des grandes ruptures technologiques, un Virage à p...Identity Days
 
Est-il possible de combiner sécurité physique, cybersécurité et biométrie déc...
Est-il possible de combiner sécurité physique, cybersécurité et biométrie déc...Est-il possible de combiner sécurité physique, cybersécurité et biométrie déc...
Est-il possible de combiner sécurité physique, cybersécurité et biométrie déc...Identity Days
 
Comment et pourquoi maîtriser les privilèges d’administrateur local sur Windo...
Comment et pourquoi maîtriser les privilèges d’administrateur local sur Windo...Comment et pourquoi maîtriser les privilèges d’administrateur local sur Windo...
Comment et pourquoi maîtriser les privilèges d’administrateur local sur Windo...Identity Days
 
Les angles morts de la protection des identités : Les comptes de services et ...
Les angles morts de la protection des identités : Les comptes de services et ...Les angles morts de la protection des identités : Les comptes de services et ...
Les angles morts de la protection des identités : Les comptes de services et ...Identity Days
 
Construire un moteur de workflow modulaire et convivial dans une gestion des ...
Construire un moteur de workflow modulaire et convivial dans une gestion des ...Construire un moteur de workflow modulaire et convivial dans une gestion des ...
Construire un moteur de workflow modulaire et convivial dans une gestion des ...Identity Days
 
Démos d’attaques par rebond en environnement hybride Active Directory-Azure AD
Démos d’attaques par rebond en environnement hybride Active Directory-Azure ADDémos d’attaques par rebond en environnement hybride Active Directory-Azure AD
Démos d’attaques par rebond en environnement hybride Active Directory-Azure ADIdentity Days
 
L’iam : au-delà des idées reçues, les clés de la gestion des identités et des...
L’iam : au-delà des idées reçues, les clés de la gestion des identités et des...L’iam : au-delà des idées reçues, les clés de la gestion des identités et des...
L’iam : au-delà des idées reçues, les clés de la gestion des identités et des...Identity Days
 
Appliquez le modèle Zero Trust pour le Hardening de votre Azure AD !
Appliquez le modèle Zero Trust pour le Hardening de votre Azure AD !Appliquez le modèle Zero Trust pour le Hardening de votre Azure AD !
Appliquez le modèle Zero Trust pour le Hardening de votre Azure AD !Identity Days
 
Réussir son projet de sécurisation des Identités en 5 commandements (parce qu...
Réussir son projet de sécurisation des Identités en 5 commandements (parce qu...Réussir son projet de sécurisation des Identités en 5 commandements (parce qu...
Réussir son projet de sécurisation des Identités en 5 commandements (parce qu...Identity Days
 
Récupération d’un Active Directory: comment repartir en confiance après une c...
Récupération d’un Active Directory: comment repartir en confiance après une c...Récupération d’un Active Directory: comment repartir en confiance après une c...
Récupération d’un Active Directory: comment repartir en confiance après une c...Identity Days
 
Gestion des identités : par où commencer ?
Gestion des identités : par où commencer ?Gestion des identités : par où commencer ?
Gestion des identités : par où commencer ?Identity Days
 
Provisionnement et gestion d’identité : Où en est-on ?
Provisionnement et gestion d’identité : Où en est-on ?Provisionnement et gestion d’identité : Où en est-on ?
Provisionnement et gestion d’identité : Où en est-on ?Identity Days
 
Nouvelle approche pour étendre le zéro trust à Active Directory
Nouvelle approche pour étendre le zéro trust à Active DirectoryNouvelle approche pour étendre le zéro trust à Active Directory
Nouvelle approche pour étendre le zéro trust à Active DirectoryIdentity Days
 
L’authentification sans mot de passe, la meilleure façon de se protéger !
L’authentification sans mot de passe, la meilleure façon de se protéger ! L’authentification sans mot de passe, la meilleure façon de se protéger !
L’authentification sans mot de passe, la meilleure façon de se protéger ! Identity Days
 
CIEM, tiens une nouvelle catégorie de produits identité?
CIEM, tiens une nouvelle catégorie de produits identité?CIEM, tiens une nouvelle catégorie de produits identité?
CIEM, tiens une nouvelle catégorie de produits identité?Identity Days
 
Mise en oeuvre du passwordless AD dans un environnement Hybride
Mise en oeuvre du passwordless AD dans un environnement HybrideMise en oeuvre du passwordless AD dans un environnement Hybride
Mise en oeuvre du passwordless AD dans un environnement HybrideIdentity Days
 

Plus de Identity Days (20)

Live Action : assistez à la récupération d’un AD compromis
Live Action : assistez à la récupération d’un AD compromisLive Action : assistez à la récupération d’un AD compromis
Live Action : assistez à la récupération d’un AD compromis
 
Directive européenne NIS2 : Etes-vous concerné ? Comment s’y préparer ?
Directive européenne NIS2 : Etes-vous concerné ? Comment s’y préparer ?Directive européenne NIS2 : Etes-vous concerné ? Comment s’y préparer ?
Directive européenne NIS2 : Etes-vous concerné ? Comment s’y préparer ?
 
Quelle approche préventive adopter pour empêcher les mouvements latéraux au s...
Quelle approche préventive adopter pour empêcher les mouvements latéraux au s...Quelle approche préventive adopter pour empêcher les mouvements latéraux au s...
Quelle approche préventive adopter pour empêcher les mouvements latéraux au s...
 
Passwordless – de la théorie à la pratique
Passwordless – de la théorie à la pratiquePasswordless – de la théorie à la pratique
Passwordless – de la théorie à la pratique
 
L’authentification à l’Ère des grandes ruptures technologiques, un Virage à p...
L’authentification à l’Ère des grandes ruptures technologiques, un Virage à p...L’authentification à l’Ère des grandes ruptures technologiques, un Virage à p...
L’authentification à l’Ère des grandes ruptures technologiques, un Virage à p...
 
Est-il possible de combiner sécurité physique, cybersécurité et biométrie déc...
Est-il possible de combiner sécurité physique, cybersécurité et biométrie déc...Est-il possible de combiner sécurité physique, cybersécurité et biométrie déc...
Est-il possible de combiner sécurité physique, cybersécurité et biométrie déc...
 
Comment et pourquoi maîtriser les privilèges d’administrateur local sur Windo...
Comment et pourquoi maîtriser les privilèges d’administrateur local sur Windo...Comment et pourquoi maîtriser les privilèges d’administrateur local sur Windo...
Comment et pourquoi maîtriser les privilèges d’administrateur local sur Windo...
 
Les angles morts de la protection des identités : Les comptes de services et ...
Les angles morts de la protection des identités : Les comptes de services et ...Les angles morts de la protection des identités : Les comptes de services et ...
Les angles morts de la protection des identités : Les comptes de services et ...
 
Construire un moteur de workflow modulaire et convivial dans une gestion des ...
Construire un moteur de workflow modulaire et convivial dans une gestion des ...Construire un moteur de workflow modulaire et convivial dans une gestion des ...
Construire un moteur de workflow modulaire et convivial dans une gestion des ...
 
Démos d’attaques par rebond en environnement hybride Active Directory-Azure AD
Démos d’attaques par rebond en environnement hybride Active Directory-Azure ADDémos d’attaques par rebond en environnement hybride Active Directory-Azure AD
Démos d’attaques par rebond en environnement hybride Active Directory-Azure AD
 
L’iam : au-delà des idées reçues, les clés de la gestion des identités et des...
L’iam : au-delà des idées reçues, les clés de la gestion des identités et des...L’iam : au-delà des idées reçues, les clés de la gestion des identités et des...
L’iam : au-delà des idées reçues, les clés de la gestion des identités et des...
 
Appliquez le modèle Zero Trust pour le Hardening de votre Azure AD !
Appliquez le modèle Zero Trust pour le Hardening de votre Azure AD !Appliquez le modèle Zero Trust pour le Hardening de votre Azure AD !
Appliquez le modèle Zero Trust pour le Hardening de votre Azure AD !
 
Réussir son projet de sécurisation des Identités en 5 commandements (parce qu...
Réussir son projet de sécurisation des Identités en 5 commandements (parce qu...Réussir son projet de sécurisation des Identités en 5 commandements (parce qu...
Réussir son projet de sécurisation des Identités en 5 commandements (parce qu...
 
Récupération d’un Active Directory: comment repartir en confiance après une c...
Récupération d’un Active Directory: comment repartir en confiance après une c...Récupération d’un Active Directory: comment repartir en confiance après une c...
Récupération d’un Active Directory: comment repartir en confiance après une c...
 
Gestion des identités : par où commencer ?
Gestion des identités : par où commencer ?Gestion des identités : par où commencer ?
Gestion des identités : par où commencer ?
 
Provisionnement et gestion d’identité : Où en est-on ?
Provisionnement et gestion d’identité : Où en est-on ?Provisionnement et gestion d’identité : Où en est-on ?
Provisionnement et gestion d’identité : Où en est-on ?
 
Nouvelle approche pour étendre le zéro trust à Active Directory
Nouvelle approche pour étendre le zéro trust à Active DirectoryNouvelle approche pour étendre le zéro trust à Active Directory
Nouvelle approche pour étendre le zéro trust à Active Directory
 
L’authentification sans mot de passe, la meilleure façon de se protéger !
L’authentification sans mot de passe, la meilleure façon de se protéger ! L’authentification sans mot de passe, la meilleure façon de se protéger !
L’authentification sans mot de passe, la meilleure façon de se protéger !
 
CIEM, tiens une nouvelle catégorie de produits identité?
CIEM, tiens une nouvelle catégorie de produits identité?CIEM, tiens une nouvelle catégorie de produits identité?
CIEM, tiens une nouvelle catégorie de produits identité?
 
Mise en oeuvre du passwordless AD dans un environnement Hybride
Mise en oeuvre du passwordless AD dans un environnement HybrideMise en oeuvre du passwordless AD dans un environnement Hybride
Mise en oeuvre du passwordless AD dans un environnement Hybride
 

SSO as a Service ou comment mettre en oeuvre une architecture SSO DevOps avec LemonLDAP::NG et le handler DevOps

  • 1. – 5e édition – 24 octobre 2023 – Paris
  • 2. – SSO as a Service – Comment mettre en œuvre une architecture SSO DevOps avec LemonLDAP::NG 24 octobre 2023 – Paris Christophe Maudoux Identity Days 2023
  • 3. Christophe Maudoux Ingénieur réseaux & systèmes Doctorant en cybersécurité MCF associé au Cnam Paris Mainteneur LemonLDAP::NG Architecte & Administrateur plateformes SSO à l’ANFSI christophe-maudoux-iam I. WebSSO & LemonLDAP::NG II. Modes de raccordement III. Plateformes SSO pour les FSI IV. SSO as a Service 24 octobre 2023 – Paris Christophe Maudoux Identity Days 2023
  • 4. WebSSO & LemonLDAP::NG Principes de base 24 octobre 2023 – Paris Christophe Maudoux Identity Days 2023
  • 5. LL::NG SSO as a Service 24 octobre 2023 – Paris christophe.maudoux ANFSI WebSSO LL : :NG Solution AAA Cinématique SSO Équipe développement Cycle développement Modes de raccordement Plateformes SSO pour les FSI SSO as a Service LemonLDAP::NG 1 Authentification unique AAA Solution complète AAA : Authentication Vérification d’identité (̸= identification) Authorization Contrôle d’accès (règles) Accounting Traces journaux d’activité (imputabilité des actions) 1. LemonLDAP : :NG - Web SSO and Access Management Free Software. url : https://lemonldap-ng.org/. 5 / 29 Identity Days 2023
  • 6. LL::NG SSO as a Service 24 octobre 2023 – Paris christophe.maudoux ANFSI WebSSO LL : :NG Solution AAA Cinématique SSO Équipe développement Cycle développement Modes de raccordement Plateformes SSO pour les FSI SSO as a Service LemonLDAP::NG Cinématique SSO 1. Utilisateur NON authentifié essaye d’accéder à une ressource protégée 2. Redirigé par LemonLDAP::NG vers le Portail unique d’authentification → Authentification 3. Portail fournit un jeton SSO (cookie) puis redirige utilisateur vers la ressource initialement demandée : → Authentifié (dispose d’un cookie SSO) → Vérification des règles d’accès 6 / 29 Identity Days 2023
  • 7. LL::NG SSO as a Service 24 octobre 2023 – Paris christophe.maudoux ANFSI WebSSO LL : :NG Solution AAA Cinématique SSO Équipe développement Cycle développement Modes de raccordement Plateformes SSO pour les FSI SSO as a Service LemonLDAP::NG 2 Équipe de développement Xavier Guimard (Yadd) Christophe Maudoux                     Clément Oudot (KPT) Maxime Besson David Coutadeur 2. X. Guimard et al. “LemonLDAP : :NG”. In : (déc. 2010). url : https://hal.inria.fr/hal-03776592. 7 / 29 Identity Days 2023
  • 8. LL::NG SSO as a Service 24 octobre 2023 – Paris christophe.maudoux ANFSI WebSSO LL : :NG Solution AAA Cinématique SSO Équipe développement Cycle développement Modes de raccordement Plateformes SSO pour les FSI SSO as a Service LemonLDAP::NG Cycle de développement 3 (le p’tit vélo LemonLDAP::NG. . .) Cycle interne de validation / Cycle communautaire d’intégration continue 3. GitLab OW2 LemonLDAP : :NG. url : https://gitlab.ow2.org/lemonldap-ng. 8 / 29 Identity Days 2023
  • 9. Modes de raccordement Architectures SSO 24 octobre 2023 – Paris Christophe Maudoux Identity Days 2023
  • 10. LL::NG SSO as a Service 24 octobre 2023 – Paris christophe.maudoux ANFSI WebSSO LL : :NG Modes de raccordement Fédération des Identités SAMLv2 OIDC Mandataire inverse Agent Plateformes SSO pour les FSI SSO as a Service Par fédération des identités 10 / 29 Identity Days 2023
  • 11. LL::NG SSO as a Service 24 octobre 2023 – Paris christophe.maudoux ANFSI WebSSO LL : :NG Modes de raccordement Fédération des Identités SAMLv2 OIDC Mandataire inverse Agent Plateformes SSO pour les FSI SSO as a Service Fédération des Identités Cinématique SAMLv2 (Fournisseur d’identité) Tous les flux passent par le navigateur LemonLDAP::NG → IdP ou SP 11 / 29 Identity Days 2023
  • 12. LL::NG SSO as a Service 24 octobre 2023 – Paris christophe.maudoux ANFSI WebSSO LL : :NG Modes de raccordement Fédération des Identités SAMLv2 OIDC Mandataire inverse Agent Plateformes SSO pour les FSI SSO as a Service Fédération des Identités Cinématique OIDC (Authorization Code flow) Implicit Hybrid flows → dépréciés ! LemonLDAP::NG → OP ou RP 12 / 29 Identity Days 2023
  • 13. LL::NG SSO as a Service 24 octobre 2023 – Paris christophe.maudoux ANFSI WebSSO LL : :NG Modes de raccordement Fédération des Identités Mandataire inverse Agent Plateformes SSO pour les FSI SSO as a Service Par mandataire inverse (RVPRX) LemonLDAP::NG est codé en Perl supporte les principaux serveurs Web : les serveurs Perl tels que Starman ou Corona → applications Perl LemonLDAP::NG = process externe ⇒ Nécessite mécanisme CGI Apache : Module externe Mod perl2 Nginx : Serveur FastCGI ou uWSGI 13 / 29 Identity Days 2023
  • 14. LL::NG SSO as a Service 24 octobre 2023 – Paris christophe.maudoux ANFSI WebSSO LL : :NG Modes de raccordement Fédération des Identités Mandataire inverse Agent Plateformes SSO pour les FSI SSO as a Service Mandataire inverse Agent Architecture avec Reverse Proxies Applications NON directement accessibles LemonLDAP::NG → différents types d’agent (handler) 14 / 29 Identity Days 2023
  • 15. Plateformes SSO des Forces de Sécurité Intérieure Différents besoins 24 octobre 2023 – Paris Christophe Maudoux Identity Days 2023
  • 16. LL::NG SSO as a Service 24 octobre 2023 – Paris christophe.maudoux ANFSI WebSSO LL : :NG Modes de raccordement Plateformes SSO pour les FSI Cloisonnement Architecture SSO as a Service Plateformes des FSI Cloisonnement des populations applications Déclinées en Prod, PréProd, Form Dév Intranet Proxyma SSO GN (≈ 350 app. / 130 000 users) Cheops SSO PN (≈ 150 app. / 150 000 users) PSI SSO fédéré → FS GN, PN, Préfectures JudiWeb SSO DMZ → FS autres ministères Internet Curasso SSO GN (formation continue) Calypsso SSO PN Espresso SSO autres utilisateurs (recrutement) Extensso SSO en DMZ (France Connect Agent) Règles de gestion des utilisateurs droits d’accès différents 16 / 29 Identity Days 2023
  • 17. LL::NG SSO as a Service 24 octobre 2023 – Paris christophe.maudoux ANFSI WebSSO LL : :NG Modes de raccordement Plateformes SSO pour les FSI Cloisonnement Architecture SSO as a Service Plateformes des FSI Présentation architecture de base 17 / 29 Identity Days 2023
  • 18. SSO as a Service Handler DevOps
  • 19. LL::NG SSO as a Service 24 octobre 2023 – Paris christophe.maudoux ANFSI WebSSO LL : :NG Modes de raccordement Plateformes SSO pour les FSI SSO as a Service LL : :NG SSOaaS Fonctionnement Intégration Handler Architecture DevOps Template Nginx Template Apache Exemple ’rules.json’ CheckDevOps RulesEditor Handler DevOps LemonLDAP::NG SSO as a Service LemonLDAP::NG → WebSSO AAA Approche DevOps – SSOaaS : Authorization Applications gèrent droits d’accès → Définition des règles Accounting Applications choisissent les attributs utilisateurs → Sélection des entêtes Par contre, authentification NON déléguée aux applications ! Authentication LemonLDAP::NG authentifie les utilisateurs ⇒ Serveur d’authentification centralisé Surcharge de la configuration SSO par les applications 19 / 29 Identity Days 2023
  • 20. LL::NG SSO as a Service 24 octobre 2023 – Paris christophe.maudoux ANFSI WebSSO LL : :NG Modes de raccordement Plateformes SSO pour les FSI SSO as a Service LL : :NG SSOaaS Fonctionnement Intégration Handler Architecture DevOps Template Nginx Template Apache Exemple ’rules.json’ CheckDevOps RulesEditor Handler DevOps Principe de fonctionnement 20 / 29 Identity Days 2023
  • 21. LL::NG SSO as a Service 24 octobre 2023 – Paris christophe.maudoux ANFSI WebSSO LL : :NG Modes de raccordement Plateformes SSO pour les FSI SSO as a Service LL : :NG SSOaaS Fonctionnement Intégration Handler Architecture DevOps Template Nginx Template Apache Exemple ’rules.json’ CheckDevOps RulesEditor Handler DevOps Intégration LemonLDAP::NG (standard PSGI) — Nginx (protocole uwsgi) uwsgi → protocole supporté nativement par Nginx PSGI → standard Perl : $req = tableau 3 éléments 21 / 29 Identity Days 2023
  • 22. LL::NG SSO as a Service 24 octobre 2023 – Paris christophe.maudoux ANFSI WebSSO LL : :NG Modes de raccordement Plateformes SSO pour les FSI SSO as a Service LL : :NG SSOaaS Fonctionnement Intégration Handler Architecture DevOps Template Nginx Template Apache Exemple ’rules.json’ CheckDevOps RulesEditor Handler DevOps Comment ça marche ? 22 / 29 Identity Days 2023
  • 23. LL::NG SSO as a Service 24 octobre 2023 – Paris christophe.maudoux ANFSI WebSSO LL : :NG Modes de raccordement Plateformes SSO pour les FSI SSO as a Service LL : :NG SSOaaS Fonctionnement Intégration Handler Architecture DevOps Template Nginx Template Apache Exemple ’rules.json’ CheckDevOps RulesEditor Handler DevOps Template Nginx ⇒ Serveur uWSGI ou FastCGI server { listen port; server_name myapp.domain.com; location ˜ ˆ(.*.php)$ { auth_request /lmauth; location = /lmauth { set $original_uri $uri$is_args$args; internal; auth_request_set $lmremote_user $upstream_lmremote_user; include /etc/nginx/uwsgi_params; auth_request_set $lmlocation $upstream_location; # Pass authorization requests to error_page 401 $lmlocation; # central uwsgi server include /etc/nginx/nginx-lua-headers.conf; uwsgi_pass 10.1.2.3:9090; uwsgi_param VHOSTTYPE DevOps; # Example with php-fpm # Drop post datas include snippets/fastcgi-php.conf; uwsgi_pass_request_body off; uwsgi_pass unix:/var/run/php/php7.0-fpm.sock; uwsgi_param CONTENT_LENGTH ; } # Set redirection parameters uwsgi_param HTTPS_REDIRECT $https; location /rules.json { uwsgi_param PORT_REDIRECT $server_port; auth_request off; allow 10.1.2.3; deny all; # Set rules dynamically } # (LL::NG will poll it every 10 mn) uwsgi_param RULES_URL http://rulesserver/my.json; } } 23 / 29 Identity Days 2023
  • 24. LL::NG SSO as a Service 24 octobre 2023 – Paris christophe.maudoux ANFSI WebSSO LL : :NG Modes de raccordement Plateformes SSO pour les FSI SSO as a Service LL : :NG SSOaaS Fonctionnement Intégration Handler Architecture DevOps Template Nginx Template Apache Exemple ’rules.json’ CheckDevOps RulesEditor Handler DevOps Template Apache ⇒ Client FastCGI LemonLDAP::NG VirtualHost port ServerName myapp.domain.com Location /rules.json DocumentRoot /var/www/myapp Order deny,allow ErrorLog /var/log/apache2/localsite_error.log Deny from all CustomLog /var/log/apache2/localsite_access.log combine Allow from 10.1.2.3 /Location LocationMatch ˆ/(?!rules.json) PerlHeaderParserHandler Lemonldap::NG::SSOaaS::Apache::Client # Handler directive to declare this VHost as DevOps and # Pass authorization requests to Central FastCGI server PerlSetVar VHOSTTYPE DevOps # or to declare DevOpsST handler # PerlSetVar VHOSTTYPE DevOpsST PerlSetVar LLNG_SERVER 10.1.2.3:9090 # Keep original hostname PerlSetVar HOST HTTP_HOST # Set redirection parameters PerlSetVar HTTPS_REDIRECT HTTPS PerlSetVar PORT_REDIRECT SERVER_PORT PerlSetVar RULES_URL http://myapp.domain.com/rules.json # or to use an external rules server # PerlSetVar RULES_URL http://rulesserver/my.json; /LocationMatch /VirtualHost 24 / 29 Identity Days 2023
  • 25. LL::NG SSO as a Service 24 octobre 2023 – Paris christophe.maudoux ANFSI WebSSO LL : :NG Modes de raccordement Plateformes SSO pour les FSI SSO as a Service LL : :NG SSOaaS Fonctionnement Intégration Handler Architecture DevOps Template Nginx Template Apache Exemple ’rules.json’ CheckDevOps RulesEditor Handler DevOps Exemple fichier ’rules.json’ { rules: { ˆ/deny: deny, ˆ/testno: $nigend !˜ /(?:173668|166380)/, ˆ/api/: ($memberOf =˜ /bBDSP-GIPASP_([A-Z])b/)[0], default: accept }, headers: { codeUnite: $codeUnite, email: $mail, grade: $rank, nigend: $nigend, nom: $sn, prenom: $givenName, profil: ($groups =˜ /bmyapp_(w+)b/i)[0] || ’’, responsabilite: $responsabilite, unite: $unite } } 25 / 29 Identity Days 2023
  • 26. LL::NG SSO as a Service 24 octobre 2023 – Paris christophe.maudoux ANFSI WebSSO LL : :NG Modes de raccordement Plateformes SSO pour les FSI SSO as a Service LL : :NG SSOaaS Fonctionnement Intégration Handler Architecture DevOps Template Nginx Template Apache Exemple ’rules.json’ CheckDevOps RulesEditor Handler DevOps Extension CheckDevOps Validation syntaxe règles fichier ’rules.json’ 26 / 29 Identity Days 2023
  • 27. LL::NG SSO as a Service 24 octobre 2023 – Paris christophe.maudoux ANFSI WebSSO LL : :NG Modes de raccordement Plateformes SSO pour les FSI SSO as a Service LL : :NG SSOaaS Fonctionnement Intégration Handler Architecture DevOps Template Nginx Template Apache Exemple ’rules.json’ CheckDevOps RulesEditor Handler DevOps Extension RulesEditor Génération fichier ’rules.json’ (développée par Sébastien Bois) 27 / 29 Identity Days 2023
  • 28. Merci de votre attention ! , Gardons le contact. . . , christophe.maudoux@gendarmerie.interieur.gouv.fr admin-sso@gendarmerie.interieur.gouv.fr Site officiel https://lemonldap-ng.org Versions https://releases.ow2.org/lemonldap Forge https://gitlab.ow2.org/lemonldap-ng
  • 29. – 5e édition – 24 octobre 2023 – Paris