Skip to main content

OpenLDAP

Status: Final

OpenLDAP is the most widely deployed open-source LDAP server. It underpins Linux identity in many enterprises and cloud environments, often as a backend for SSSD, FreeIPA, and custom application authentication.

Architecture

  • slapd: standalone LDAP daemon (the server process)
  • libldap: client library
  • Backend databases: mdb (LMDB), bdb (legacy BerkeleyDB)
  • Replication: SyncRepl (RFC 4533) — provider/consumer model

Key Security Configuration

SettingDescriptionHardening
olcTLSCACertificateFileTLS CA certRequire TLS for all binds
olcRequires: authcRequire authentication before any operationEnable
olcSecurity: ssf=128Require 128-bit encryptionEnable
Password storage{SSHA}, {ARGON2}, etc.Never use {CLEAR} or {MD5}
Anonymous bindDisabled vs. allowedDisable unless required
ACLsWho can read/write which attributesDeny by default

LDIF and Schema

OpenLDAP uses LDIF (LDAP Data Interchange Format) for all configuration and data:

dn: uid=jsmith,ou=users,dc=corp,dc=com
objectClass: inetOrgPerson
uid: jsmith
userPassword: {SSHA}...

Attack Surface

AttackMethod
Anonymous bind enumerationIf anon bind enabled, enumerate all users/groups without credentials
Credential brute forceLDAP simple bind against slapd
Cleartext password interceptionLDAP on port 389 without TLS — credentials transmitted in clear
LDAP injectionApp builds LDAP filter from user input without sanitization
Replication interceptionSyncRepl without TLS — full directory replication stream
Misconfigured ACLsRead userPassword attribute if ACL missing
TopicLink
LDAP in Active Directoryldap
FreeIPAfreeipa
Linux SSSDlinux-sssd