LemonLDAP::NG 2.0 - FOSDEM 2019 · SSO Workfow Authentication Portal Application 2. Authentication...

29
LEMONLDAP::NG 2.0 [email protected] FOSDEM 2019 FOSDEM 2019 FOSDEM 2019 FOSDEM 2019

Transcript of LemonLDAP::NG 2.0 - FOSDEM 2019 · SSO Workfow Authentication Portal Application 2. Authentication...

Page 1: LemonLDAP::NG 2.0 - FOSDEM 2019 · SSO Workfow Authentication Portal Application 2. Authentication 1. First access 3. Send SSO Token Trust link 4. Validate SSO token ... Connect Second

LEMONLDAP::NG 2.0

[email protected]

FOSDEM 2019FOSDEM 2019FOSDEM 2019FOSDEM 2019

Page 2: LemonLDAP::NG 2.0 - FOSDEM 2019 · SSO Workfow Authentication Portal Application 2. Authentication 1. First access 3. Send SSO Token Trust link 4. Validate SSO token ... Connect Second

03/02/19 2

LemonLDAP::NG Software

Page 3: LemonLDAP::NG 2.0 - FOSDEM 2019 · SSO Workfow Authentication Portal Application 2. Authentication 1. First access 3. Send SSO Token Trust link 4. Validate SSO token ... Connect Second

03/02/19 3

SSO Workfow

AuthenticationPortal Application

2. Authentication1. First access

3. Send SSO Token

Trust link

4. Validate SSO token

Page 4: LemonLDAP::NG 2.0 - FOSDEM 2019 · SSO Workfow Authentication Portal Application 2. Authentication 1. First access 3. Send SSO Token Trust link 4. Validate SSO token ... Connect Second

03/02/19 4

History

20032006

2010

2016

2018

Project creation

Fork – version NG

Protocols CAS, SAML and OpenIDVersion 1.0

Protocol OpenID Connect

Second factors (2FA)Version 2.0

Page 5: LemonLDAP::NG 2.0 - FOSDEM 2019 · SSO Workfow Authentication Portal Application 2. Authentication 1. First access 3. Send SSO Token Trust link 4. Validate SSO token ... Connect Second

03/02/19 5

Main features

● Web Single Sign On● Access control● Applications portal● Authentication modules choice and chain● Password management, account creation● Multi-factor authentication (MFA)● Protection of Web applications and API/WebServices● Graphical customisation● Packages for Debian/Ubuntu/RHEL/CentOS

Page 6: LemonLDAP::NG 2.0 - FOSDEM 2019 · SSO Workfow Authentication Portal Application 2. Authentication 1. First access 3. Send SSO Token Trust link 4. Validate SSO token ... Connect Second

03/02/19 6

Login page

Page 7: LemonLDAP::NG 2.0 - FOSDEM 2019 · SSO Workfow Authentication Portal Application 2. Authentication 1. First access 3. Send SSO Token Trust link 4. Validate SSO token ... Connect Second

03/02/19 7

Portal with application menu

Page 8: LemonLDAP::NG 2.0 - FOSDEM 2019 · SSO Workfow Authentication Portal Application 2. Authentication 1. First access 3. Send SSO Token Trust link 4. Validate SSO token ... Connect Second

03/02/19 8

Web Administration interface

Page 9: LemonLDAP::NG 2.0 - FOSDEM 2019 · SSO Workfow Authentication Portal Application 2. Authentication 1. First access 3. Send SSO Token Trust link 4. Validate SSO token ... Connect Second

03/02/19 9

Command Line Interface

Page 10: LemonLDAP::NG 2.0 - FOSDEM 2019 · SSO Workfow Authentication Portal Application 2. Authentication 1. First access 3. Send SSO Token Trust link 4. Validate SSO token ... Connect Second

03/02/19 10

Free Software

● License GPL● OW2 project● Forge: https://gitlab.ow2.org/lemonldap-ng/lemonldap-ng● Site: https://lemonldap-ng.org● OW2 Community Award in 2014● SSO component of FusionIAM project: https://fusioniam.org/

Page 11: LemonLDAP::NG 2.0 - FOSDEM 2019 · SSO Workfow Authentication Portal Application 2. Authentication 1. First access 3. Send SSO Token Trust link 4. Validate SSO token ... Connect Second

03/02/19 11

Component roles

Confgurations Sessions

Portal

Manager Handler

Application menu

CASSAML

OpenID ConnectSelf Services SOAP/REST

serverSession

management

Confgurations Sessions

Notifcations Second factors

Access Control SSOaaS

Web Service Token Custom

Page 12: LemonLDAP::NG 2.0 - FOSDEM 2019 · SSO Workfow Authentication Portal Application 2. Authentication 1. First access 3. Send SSO Token Trust link 4. Validate SSO token ... Connect Second

03/02/19 12

How works the agent (Handler)

Page 13: LemonLDAP::NG 2.0 - FOSDEM 2019 · SSO Workfow Authentication Portal Application 2. Authentication 1. First access 3. Send SSO Token Trust link 4. Validate SSO token ... Connect Second

03/02/19 13

Web application

Sessions

PortalHandler

Web Application

Authentication

Session creation

Session read

SSO cookie

HTTP headers

Page 14: LemonLDAP::NG 2.0 - FOSDEM 2019 · SSO Workfow Authentication Portal Application 2. Authentication 1. First access 3. Send SSO Token Trust link 4. Validate SSO token ... Connect Second

03/02/19 14

Protocols CAS, SAML and OpenID Connect

Page 15: LemonLDAP::NG 2.0 - FOSDEM 2019 · SSO Workfow Authentication Portal Application 2. Authentication 1. First access 3. Send SSO Token Trust link 4. Validate SSO token ... Connect Second

03/02/19 15

Main features

● LL::NG can act as client and as server● Attributes sharing● Manage authentication contexts and levels● Autogeneration of public/private keys● Access control per services● Publication of configuration data (metadata)● Multi-protocols gateway● Single logout

Page 16: LemonLDAP::NG 2.0 - FOSDEM 2019 · SSO Workfow Authentication Portal Application 2. Authentication 1. First access 3. Send SSO Token Trust link 4. Validate SSO token ... Connect Second

03/02/19 16

New in LemonLDAP::NG 2.0

Page 17: LemonLDAP::NG 2.0 - FOSDEM 2019 · SSO Workfow Authentication Portal Application 2. Authentication 1. First access 3. Send SSO Token Trust link 4. Validate SSO token ... Connect Second

17

Second Factor Authentication (2FA)

● LemonLDAP::NG can use the following 2FA: ● TOTP● U2F● TOTP or U2F● External● REST● Yubikey

Page 18: LemonLDAP::NG 2.0 - FOSDEM 2019 · SSO Workfow Authentication Portal Application 2. Authentication 1. First access 3. Send SSO Token Trust link 4. Validate SSO token ... Connect Second

03/02/19 18

Confguration backends

● Already existing backends:● JSON file● Database● LDAP● NoSQL (MongoDB)● SOAP

● New backends:● YAML file● REST● Local (no backend, only lemonldap-ng.ini file)

Page 19: LemonLDAP::NG 2.0 - FOSDEM 2019 · SSO Workfow Authentication Portal Application 2. Authentication 1. First access 3. Send SSO Token Trust link 4. Validate SSO token ... Connect Second

03/02/19 19

NodeJS Handler

● Native integration in Express application● Rules and headers configured in Javascript● https://github.com/LemonLDAPNG/node-lemonldap-ng-handler

npm install node-lemonldap-ng-handler

Page 20: LemonLDAP::NG 2.0 - FOSDEM 2019 · SSO Workfow Authentication Portal Application 2. Authentication 1. First access 3. Send SSO Token Trust link 4. Validate SSO token ... Connect Second

03/02/19 20

DevOps (SSO as a Service)

● Authentication managed by portal● Access control and HTTP headers configuration set in a local

JSON file● Allow quick applications deployement without need to edit main

SSO configuration

Page 21: LemonLDAP::NG 2.0 - FOSDEM 2019 · SSO Workfow Authentication Portal Application 2. Authentication 1. First access 3. Send SSO Token Trust link 4. Validate SSO token ... Connect Second

03/02/19 21

DevOps (SSO as a Service)

Sessions

PortalHandler

Web Application

Authentication

Session creation

Session read

SSO cookie

HTTP headers

rules.json

Access rulesExported headers

Page 22: LemonLDAP::NG 2.0 - FOSDEM 2019 · SSO Workfow Authentication Portal Application 2. Authentication 1. First access 3. Send SSO Token Trust link 4. Validate SSO token ... Connect Second

03/02/19 22

API / WebService protection

● New Handler "Service Token" installed between application and WebService

● Main Handler generates a token based on time session_id and virtual hosts

● The token is sent by application to WebService● The Handler "Service Token" intercepts the token, validates it

and apply access rules, and sent HTTP headers to WebService

Page 23: LemonLDAP::NG 2.0 - FOSDEM 2019 · SSO Workfow Authentication Portal Application 2. Authentication 1. First access 3. Send SSO Token Trust link 4. Validate SSO token ... Connect Second

03/02/19 23

API – Service Token

Sessions

Portal

Handler

Web Application

Authentication

Session creation

Session read

SSO cookie

HTTP headersToken

HandlerService Token

Web Service TokenHTTP headers

Session read

Page 24: LemonLDAP::NG 2.0 - FOSDEM 2019 · SSO Workfow Authentication Portal Application 2. Authentication 1. First access 3. Send SSO Token Trust link 4. Validate SSO token ... Connect Second

03/02/19 24

Authentifcation modules

● New modules:● PAM● REST● Kerberos (GSSAPI)● CAS (attributes reading)

● Multi is replaced by Combination● Custom module

Page 25: LemonLDAP::NG 2.0 - FOSDEM 2019 · SSO Workfow Authentication Portal Application 2. Authentication 1. First access 3. Send SSO Token Trust link 4. Validate SSO token ... Connect Second

03/02/19 25

Administration interface

● Configurations comparator: differences between two configurations are displayed in a tree

● Second factors administration (search, revoke)● Sort sessions by creation date or modification date

Page 26: LemonLDAP::NG 2.0 - FOSDEM 2019 · SSO Workfow Authentication Portal Application 2. Authentication 1. First access 3. Send SSO Token Trust link 4. Validate SSO token ... Connect Second

03/02/19 26

RENATER / eduGAIN

● Support of RENATER / eduGAIN via SAML2:● Service Provider● Identity Provider

● Call to Identity Provider selection page (WAYF) via SAML Discovery Protocol

● Metadata bulk import script

Page 27: LemonLDAP::NG 2.0 - FOSDEM 2019 · SSO Workfow Authentication Portal Application 2. Authentication 1. First access 3. Send SSO Token Trust link 4. Validate SSO token ... Connect Second

03/02/19 27

Plugin engine

● Portal code was fully rewritten, and it now allows to write plugins

● Plugin examples, provided by default:● Auto Signin: direct authentication for some IP● Brute Force: protect against brute-force attacks● Stay Connected: "remember me" button● Public Pages: create static pages using portal skin

● Write a custom plugin:https://lemonldap-ng.org/documentation/latest/plugincustom

Page 28: LemonLDAP::NG 2.0 - FOSDEM 2019 · SSO Workfow Authentication Portal Application 2. Authentication 1. First access 3. Send SSO Token Trust link 4. Validate SSO token ... Connect Second

03/02/19 28

Other new features

● A user can refresh rights without disconnect/reconnect● REST services for configurations and sessions● Select language before authentication ● New graphical theme built with Bootstrap 4● Logo customization (used in graphical theme and sent mails)● Log system choice (syslog, Apache, Log4Perl, Sentry...)

Page 29: LemonLDAP::NG 2.0 - FOSDEM 2019 · SSO Workfow Authentication Portal Application 2. Authentication 1. First access 3. Send SSO Token Trust link 4. Validate SSO token ... Connect Second

2929

THANKS

Pour plus d’informations :

[email protected]

@worteks_com

linkedin.com/company/worteks