SlideShare a Scribd company logo
Manage password policy in
OpenLDAP
Clément OUDOT
Table of contents


Password policy draft



OpenLDAP ppolicy overlay

2
Resume

3
Clément OUDOT


Engineer since 2003 at LINAGORA company



LinID Dream Team Manager: http://linid.org





Founder of LDAP Tool Box project:
http://ltb-project.org
Leader of LemonLDAP::NG project:
http://lemonldap-ng.org Password policy draft

4
Password policy draft

5
Draft history


Draft name: draft-behera-ldap-password-policy



Version 0: 20 October 1999



Version 10: August 9, 2009



Draft is expired since February 10, 2010

6
Extended control








Password policy is request and response
control (OID 1.3.6.1.4.1.42.2.27.8.5.1)
The request control indicates the client is
ppolicy aware
The response control contains flags to
advertise client about ppolicy status, it should
be parsed by the client
Control can be sent on BIND, MOD (if
modification contains the password) and
PASSMOD operations
7
Authentication






Brute-force prevention with account locking
and delay
Password expiration, with grace management
and warning
Account activation (start time, end time)

8
Modification






Size check (size does matter)
Presence in history (with check of minimal
age)
Password quality (implementation specific)
Safe modification (require old password)Size
check

9
Password change after reset







Someone changes the password of a user
An attribute should be added to user entry
(pwdReset)
At next authentication, the response code is 0
(OK) but the ppolicy control has the “password
must change” flag
The client should force user to change the
password!

10
OpenLDAP ppolicy overlay

11
Password policy in OpenLDAP


Implemented as an overlay



Catch BIND, MOD and PASSMOD operations



Use version 9 of Behera Draft



Possibility to add a pwdChecker module

12
Overlay configuration


Load overlay if compiled as module:

olcModuleLoad: ppolicy.la


Configure overlay in a backend:

dn: olcOverlay={1}ppolicy,olcDatabase={1}bdb,cn=config
objectClass: olcOverlayConfig
objectClass: olcPPolicyConfig
olcOverlay: {1}ppolicy
olcPPolicyDefault: ou=default,ou=ppolicy,dc=example,dc=com
olcPPolicyHashCleartext: TRUE
olcPPolicyUseLockout: FALSE
olcPPolicyForwardUpdates: FALSE

13
Password policy configuration


Configuration in an LDAP specific entry:

dn: ou=default,ou=ppolicy,dc=example,dc=com
objectClass: pwdPolicy
objectClass: pwdPolicyChecker
objectClass: organizationalUnit
objectClass: top
ou: default

14
Password policy configuration


All parameters as attributes:
pwdAllowUserChange: TRUE
pwdAttribute: userPassword
pwdCheckModule: check_password.so
pwdCheckQuality: 2
pwdExpireWarning: 0
pwdInHistory: 10
pwdLockout: TRUE
pwdMaxAge: 31536000
pwdMinAge: 600
pwdMaxFailure: 10
pwdMinLength: 8
pwdMustChange: TRUE
PwdSafeModify : FALSE
15
More than one policy


Possibility to have several policies:
– Several pwdPolicy entries
– Use of pwdPolicySubentry in entries

dn: uid=bobama,ou=users,dc=example,dc=com
objectClass: inetOrgPerson
objectClass: organizationalPerson
ObjectClass : person
objectClass: top
uid : bobama
cn : Barack OBAMA
sn : OBAMA
pwdPolicySubentry : ou=nsa,ou=ppolicy,dc=example,dc=com
16
Password checker


LDAP Tool Box provides a compatible
password checker module:
– Check against upper case, lower case, digits
and punctuation
– Cracklib support



ITS 7412 in OpenLDAP to add this module as
a contribution

17
Last authentication time


The lastbind overlay is available in OpenLDAP
contribution



Provided in contrib-overlays LTB package



Add authTimestamp operational attribute



Should be replaced by pwdLastSuccess form
version 10 of the draft

18
Almost the end...

19
Thanks
Special thanks to:
– LDAPCon !
– Company LINAGORA
– All LiniD developers

Keep in touch:
– Identica: @coudot
– Twitter: @clementoudot @LinID_FOSS
– IRC: KPTN #LinID@freenode
– Web: http://linid.org

20
Thanks!

More Related Content

What's hot (9)

PDF
Corso di formazione e aggiornamento PLE con e senza stabilizzatori
Lisa Servizi
 
PPS
Work Place Violence
Anm Zahid
 
PPT
CAPACITACION SEGURIDAD AQP.ppt
CristianQuispe57
 
PDF
Corso di formazione e aggiornamento GRU A TORRE
Lisa Servizi
 
PDF
Corso di formazione e aggiornamento MACCHINE MOVIMENTO TERRA
Lisa Servizi
 
PDF
Acessando o MySql com o Python
antonio sérgio nogueira
 
PPT
Java: Objects and Object References
Tareq Hasan
 
PPTX
Iot 自動販賣機
艾鍗科技
 
PDF
Python programming : Threads
Emertxe Information Technologies Pvt Ltd
 
Corso di formazione e aggiornamento PLE con e senza stabilizzatori
Lisa Servizi
 
Work Place Violence
Anm Zahid
 
CAPACITACION SEGURIDAD AQP.ppt
CristianQuispe57
 
Corso di formazione e aggiornamento GRU A TORRE
Lisa Servizi
 
Corso di formazione e aggiornamento MACCHINE MOVIMENTO TERRA
Lisa Servizi
 
Acessando o MySql com o Python
antonio sérgio nogueira
 
Java: Objects and Object References
Tareq Hasan
 
Iot 自動販賣機
艾鍗科技
 
Python programming : Threads
Emertxe Information Technologies Pvt Ltd
 

Viewers also liked (19)

PDF
OpenLDAP Replication Strategies
Gavin Henry
 
PDF
Installing & Configuring OpenLDAP (Hands On Lab)
Michael Lamont
 
ODP
Ldap Synchronization Connector @ 2011.RMLL
sbahloul
 
PPT
Nis Vs Ldap
Juan Bau
 
PPT
LSC - Synchronizing identities @ Loadays 2010
RUDDER
 
PDF
IAO’s importance on sound student services in educational institutions
International Accreditation Organization
 
PDF
OpenLDAP configuration brought to Apache Directory Studio
LDAPCon
 
PDF
What's New in OpenLDAP
LDAPCon
 
ODP
Synchronize OpenLDAP with Active Directory with LSC project
Clément OUDOT
 
PDF
RMLL 2013 - Synchronize OpenLDAP and Active Directory with LSC
Clément OUDOT
 
PPTX
Rhel6
Yash Gulati
 
PPTX
Active Directory & LDAP Authentication Without Triggers
Perforce
 
PDF
Synchronize AD and OpenLDAP with LSC
LDAPCon
 
PDF
RMLL 2014 - OpenLDAP - Manage password policy
Clément OUDOT
 
PPTX
Open LDAP vs. Active Directory
Ahmad Haghighi
 
PDF
System Engineer: OpenLDAP and Samba Server
Tola LENG
 
PPT
Ldap system administration
Ali Abdo
 
PPSX
Reuters: Pictures of the Year 2016 (Part 2)
maditabalnco
 
OpenLDAP Replication Strategies
Gavin Henry
 
Installing & Configuring OpenLDAP (Hands On Lab)
Michael Lamont
 
Ldap Synchronization Connector @ 2011.RMLL
sbahloul
 
Nis Vs Ldap
Juan Bau
 
LSC - Synchronizing identities @ Loadays 2010
RUDDER
 
IAO’s importance on sound student services in educational institutions
International Accreditation Organization
 
OpenLDAP configuration brought to Apache Directory Studio
LDAPCon
 
What's New in OpenLDAP
LDAPCon
 
Synchronize OpenLDAP with Active Directory with LSC project
Clément OUDOT
 
RMLL 2013 - Synchronize OpenLDAP and Active Directory with LSC
Clément OUDOT
 
Active Directory & LDAP Authentication Without Triggers
Perforce
 
Synchronize AD and OpenLDAP with LSC
LDAPCon
 
RMLL 2014 - OpenLDAP - Manage password policy
Clément OUDOT
 
Open LDAP vs. Active Directory
Ahmad Haghighi
 
System Engineer: OpenLDAP and Samba Server
Tola LENG
 
Ldap system administration
Ali Abdo
 
Reuters: Pictures of the Year 2016 (Part 2)
maditabalnco
 
Ad

More from LDAPCon (17)

ODP
Fusiondirectory: your infrastructure manager based on ldap
LDAPCon
 
PDF
Building Open Source Identity Management with FreeIPA
LDAPCon
 
PDF
Benchmarks on LDAP directories
LDAPCon
 
PDF
A Backend to tie them all?
LDAPCon
 
PDF
Update on the OpenDJ project
LDAPCon
 
PDF
Build your LDAP Web Interface with LinID Directory Manager
LDAPCon
 
PDF
LDAP Development Using Spring LDAP
LDAPCon
 
PDF
Do The Right Thing! How LDAP servers should help LDAP clients
LDAPCon
 
PDF
Distributed Virtual Transaction Directory Server
LDAPCon
 
PDF
What makes a LDAP server running fast ? An bit of insight about the various b...
LDAPCon
 
PDF
Making Research "Social" using LDAP
LDAPCon
 
PDF
Bridging the gap: Adding missing client (security) features using OpenLDAP pr...
LDAPCon
 
PDF
Fortress Open Source IAM on LDAPv3
LDAPCon
 
PDF
eSCIMo - User Provisioning over Web
LDAPCon
 
PDF
Give a REST to your LDAP directory services
LDAPCon
 
PDF
How AD has been re-engineered to extend to the cloud
LDAPCon
 
PDF
IAM to IRM: The Shift to Identity Relationship Management
LDAPCon
 
Fusiondirectory: your infrastructure manager based on ldap
LDAPCon
 
Building Open Source Identity Management with FreeIPA
LDAPCon
 
Benchmarks on LDAP directories
LDAPCon
 
A Backend to tie them all?
LDAPCon
 
Update on the OpenDJ project
LDAPCon
 
Build your LDAP Web Interface with LinID Directory Manager
LDAPCon
 
LDAP Development Using Spring LDAP
LDAPCon
 
Do The Right Thing! How LDAP servers should help LDAP clients
LDAPCon
 
Distributed Virtual Transaction Directory Server
LDAPCon
 
What makes a LDAP server running fast ? An bit of insight about the various b...
LDAPCon
 
Making Research "Social" using LDAP
LDAPCon
 
Bridging the gap: Adding missing client (security) features using OpenLDAP pr...
LDAPCon
 
Fortress Open Source IAM on LDAPv3
LDAPCon
 
eSCIMo - User Provisioning over Web
LDAPCon
 
Give a REST to your LDAP directory services
LDAPCon
 
How AD has been re-engineered to extend to the cloud
LDAPCon
 
IAM to IRM: The Shift to Identity Relationship Management
LDAPCon
 
Ad

Recently uploaded (20)

PDF
DevBcn - Building 10x Organizations Using Modern Productivity Metrics
Justin Reock
 
PDF
SWEBOK Guide and Software Services Engineering Education
Hironori Washizaki
 
PDF
Blockchain Transactions Explained For Everyone
CIFDAQ
 
PDF
Empowering Cloud Providers with Apache CloudStack and Stackbill
ShapeBlue
 
PDF
Windsurf Meetup Ottawa 2025-07-12 - Planning Mode at Reliza.pdf
Pavel Shukhman
 
PPTX
Top iOS App Development Company in the USA for Innovative Apps
SynapseIndia
 
PDF
NewMind AI Journal - Weekly Chronicles - July'25 Week II
NewMind AI
 
PPTX
Extensions Framework (XaaS) - Enabling Orchestrate Anything
ShapeBlue
 
PDF
Fl Studio 24.2.2 Build 4597 Crack for Windows Free Download 2025
faizk77g
 
PDF
Français Patch Tuesday - Juillet
Ivanti
 
PDF
Building Resilience with Digital Twins : Lessons from Korea
SANGHEE SHIN
 
PDF
LLMs.txt: Easily Control How AI Crawls Your Site
Keploy
 
PDF
Ampere Offers Energy-Efficient Future For AI And Cloud
ShapeBlue
 
PDF
Smart Air Quality Monitoring with Serrax AQM190 LITE
SERRAX TECHNOLOGIES LLP
 
PPTX
Top Managed Service Providers in Los Angeles
Captain IT
 
PDF
The Builder’s Playbook - 2025 State of AI Report.pdf
jeroen339954
 
PDF
NewMind AI - Journal 100 Insights After The 100th Issue
NewMind AI
 
PDF
HCIP-Data Center Facility Deployment V2.0 Training Material (Without Remarks ...
mcastillo49
 
PPTX
MSP360 Backup Scheduling and Retention Best Practices.pptx
MSP360
 
PDF
Building Real-Time Digital Twins with IBM Maximo & ArcGIS Indoors
Safe Software
 
DevBcn - Building 10x Organizations Using Modern Productivity Metrics
Justin Reock
 
SWEBOK Guide and Software Services Engineering Education
Hironori Washizaki
 
Blockchain Transactions Explained For Everyone
CIFDAQ
 
Empowering Cloud Providers with Apache CloudStack and Stackbill
ShapeBlue
 
Windsurf Meetup Ottawa 2025-07-12 - Planning Mode at Reliza.pdf
Pavel Shukhman
 
Top iOS App Development Company in the USA for Innovative Apps
SynapseIndia
 
NewMind AI Journal - Weekly Chronicles - July'25 Week II
NewMind AI
 
Extensions Framework (XaaS) - Enabling Orchestrate Anything
ShapeBlue
 
Fl Studio 24.2.2 Build 4597 Crack for Windows Free Download 2025
faizk77g
 
Français Patch Tuesday - Juillet
Ivanti
 
Building Resilience with Digital Twins : Lessons from Korea
SANGHEE SHIN
 
LLMs.txt: Easily Control How AI Crawls Your Site
Keploy
 
Ampere Offers Energy-Efficient Future For AI And Cloud
ShapeBlue
 
Smart Air Quality Monitoring with Serrax AQM190 LITE
SERRAX TECHNOLOGIES LLP
 
Top Managed Service Providers in Los Angeles
Captain IT
 
The Builder’s Playbook - 2025 State of AI Report.pdf
jeroen339954
 
NewMind AI - Journal 100 Insights After The 100th Issue
NewMind AI
 
HCIP-Data Center Facility Deployment V2.0 Training Material (Without Remarks ...
mcastillo49
 
MSP360 Backup Scheduling and Retention Best Practices.pptx
MSP360
 
Building Real-Time Digital Twins with IBM Maximo & ArcGIS Indoors
Safe Software
 

Manage password policy in OpenLDAP

  • 1. Manage password policy in OpenLDAP Clément OUDOT
  • 2. Table of contents  Password policy draft  OpenLDAP ppolicy overlay 2
  • 4. Clément OUDOT  Engineer since 2003 at LINAGORA company  LinID Dream Team Manager: http://linid.org   Founder of LDAP Tool Box project: http://ltb-project.org Leader of LemonLDAP::NG project: http://lemonldap-ng.org Password policy draft 4
  • 6. Draft history  Draft name: draft-behera-ldap-password-policy  Version 0: 20 October 1999  Version 10: August 9, 2009  Draft is expired since February 10, 2010 6
  • 7. Extended control     Password policy is request and response control (OID 1.3.6.1.4.1.42.2.27.8.5.1) The request control indicates the client is ppolicy aware The response control contains flags to advertise client about ppolicy status, it should be parsed by the client Control can be sent on BIND, MOD (if modification contains the password) and PASSMOD operations 7
  • 8. Authentication    Brute-force prevention with account locking and delay Password expiration, with grace management and warning Account activation (start time, end time) 8
  • 9. Modification     Size check (size does matter) Presence in history (with check of minimal age) Password quality (implementation specific) Safe modification (require old password)Size check 9
  • 10. Password change after reset     Someone changes the password of a user An attribute should be added to user entry (pwdReset) At next authentication, the response code is 0 (OK) but the ppolicy control has the “password must change” flag The client should force user to change the password! 10
  • 12. Password policy in OpenLDAP  Implemented as an overlay  Catch BIND, MOD and PASSMOD operations  Use version 9 of Behera Draft  Possibility to add a pwdChecker module 12
  • 13. Overlay configuration  Load overlay if compiled as module: olcModuleLoad: ppolicy.la  Configure overlay in a backend: dn: olcOverlay={1}ppolicy,olcDatabase={1}bdb,cn=config objectClass: olcOverlayConfig objectClass: olcPPolicyConfig olcOverlay: {1}ppolicy olcPPolicyDefault: ou=default,ou=ppolicy,dc=example,dc=com olcPPolicyHashCleartext: TRUE olcPPolicyUseLockout: FALSE olcPPolicyForwardUpdates: FALSE 13
  • 14. Password policy configuration  Configuration in an LDAP specific entry: dn: ou=default,ou=ppolicy,dc=example,dc=com objectClass: pwdPolicy objectClass: pwdPolicyChecker objectClass: organizationalUnit objectClass: top ou: default 14
  • 15. Password policy configuration  All parameters as attributes: pwdAllowUserChange: TRUE pwdAttribute: userPassword pwdCheckModule: check_password.so pwdCheckQuality: 2 pwdExpireWarning: 0 pwdInHistory: 10 pwdLockout: TRUE pwdMaxAge: 31536000 pwdMinAge: 600 pwdMaxFailure: 10 pwdMinLength: 8 pwdMustChange: TRUE PwdSafeModify : FALSE 15
  • 16. More than one policy  Possibility to have several policies: – Several pwdPolicy entries – Use of pwdPolicySubentry in entries dn: uid=bobama,ou=users,dc=example,dc=com objectClass: inetOrgPerson objectClass: organizationalPerson ObjectClass : person objectClass: top uid : bobama cn : Barack OBAMA sn : OBAMA pwdPolicySubentry : ou=nsa,ou=ppolicy,dc=example,dc=com 16
  • 17. Password checker  LDAP Tool Box provides a compatible password checker module: – Check against upper case, lower case, digits and punctuation – Cracklib support  ITS 7412 in OpenLDAP to add this module as a contribution 17
  • 18. Last authentication time  The lastbind overlay is available in OpenLDAP contribution  Provided in contrib-overlays LTB package  Add authTimestamp operational attribute  Should be replaced by pwdLastSuccess form version 10 of the draft 18
  • 20. Thanks Special thanks to: – LDAPCon ! – Company LINAGORA – All LiniD developers Keep in touch: – Identica: @coudot – Twitter: @clementoudot @LinID_FOSS – IRC: KPTN #LinID@freenode – Web: http://linid.org 20