Wat is LDAP?

LDAP (Lightweight Directory Access Protocol) is een open IETF-standaardprotocol waarmee clients informatie in een hiërarchische directoryservice opvragen, wijzigen en gebruiken om gebruikers te authenticeren, zoals accounts, groepen, computers en apparaten. LDAP is geen product maar een taal: directoryservers zoals Active Directory, OpenLDAP en 389 Directory Server spreken haar, en duizenden applicaties gebruiken haar om authenticatie en autorisatie te centraliseren. Ook in OT-omgevingen is LDAP de gangbare koppeling tussen SCADA-software, HMI’s, netwerkapparatuur en de centrale gebruikersdirectory.


🧠 Waar komt LDAP vandaan?

LDAP ontstond begin jaren negentig als lichtgewicht alternatief voor het zware X.500 Directory Access Protocol (DAP), dat de volledige OSI-stack nodig had. De eerste specificatie, RFC 1487 (juli 1993), was geschreven door Wengyik Yeong, Tim Howes (University of Michigan) en Steve Kille. LDAP liep direct over TCP en maakte X.500-directories daardoor bruikbaar voor gewone pc’s en applicaties.

Versie Specificatie Jaar Belangrijkste kenmerk
LDAPv1 RFC 1487 1993 Toegang tot X.500 via TCP, zonder OSI-overhead
LDAPv2 RFC 1777 1995 Verbeterde versie, nog steeds gekoppeld aan X.500
LDAPv3 RFC 2251 e.v. 1997 Zelfstandig directoryprotocol, SASL-authenticatie, uitbreidingen
LDAPv3 (herzien) RFC 4510–4519 2006 Huidige technische specificatie, inclusief StartTLS (RFC 4513)

De huidige standaard bestaat uit een reeks RFC’s die samen het protocol (RFC 4511), het informatiemodel (RFC 4512), authenticatie en beveiliging (RFC 4513), de notatie van namen (RFC 4514) en zoekfilters (RFC 4515) beschrijven. LDAPv2 is sinds 2003 formeel historisch; alles wat u vandaag tegenkomt is LDAPv3.


🔧 Hoe werkt LDAP?

LDAP werkt volgens een client-servermodel. De directory is een boom (de Directory Information Tree) van objecten met attributen. Elk object heeft een unieke Distinguished Name (DN), bijvoorbeeld cn=Jansen,ou=Operators,ou=OT,dc=bedrijf,dc=nl. Een typische sessie verloopt zo:

  1. Verbinden - de client opent een TCP-verbinding met de directoryserver, bij voorkeur meteen versleuteld.
  2. Bind - de client meldt zich aan. Bij een simple bind stuurt hij een DN en wachtwoord; bij een SASL bind gebruikt hij bijvoorbeeld Kerberos. Een anonieme bind is ook mogelijk, maar hoort in productie uit te staan.
  3. Search - de client zoekt vanaf een base DN met een filter, zoals (&(objectClass=user)(sAMAccountName=jansen)), en vraagt alleen de attributen op die hij nodig heeft, bijvoorbeeld memberOf.
  4. Antwoord - de server stuurt de gevonden objecten terug. Wachtwoorden horen daar nooit bij: de server controleert een wachtwoord alleen tijdens de bind.
  5. Unbind - de client sluit de sessie.

Voor een login doet een applicatie meestal twee stappen: eerst met een serviceaccount zoeken naar de DN van de gebruiker, daarna een bind met die DN en het ingevoerde wachtwoord. Lukt die bind, dan is de gebruiker geauthenticeerd; via de groepslidmaatschappen bepaalt de applicatie vervolgens welke rol hij krijgt (RBAC).

Poort Gebruik Beveiliging
389/TCP Standaard LDAP Onversleuteld, tenzij StartTLS of SASL-sealing wordt gebruikt
636/TCP LDAPS Versleuteld via TLS vanaf de eerste byte
3268/TCP Global Catalog van Active Directory Onversleuteld, zoekt over het hele forest
3269/TCP Global Catalog over TLS Versleuteld

🔄 Wat is het verschil tussen LDAP, Active Directory en Entra ID?

LDAP wordt vaak verward met de systemen die het protocol spreken. Het onderscheid is belangrijk bij het kiezen van een koppeling.

Aspect LDAP Active Directory Entra ID
Wat is het? Protocol voor directorytoegang Directoryservice van Microsoft (on-premises) Clouddienst voor identiteiten van Microsoft
Beheerder IETF (open standaard) Microsoft Microsoft
Spreekt LDAP? Ja, het is LDAP Ja, elke domeincontroller is een LDAP-server Nee, alleen via de aparte dienst Entra Domain Services
Andere protocollen Geen Kerberos, DNS, Group Policy OpenID Connect, OAuth 2.0, SAML
Rol in OT Koppeling voor applicaties en apparaten Centrale login voor Windows-systemen Remote access en cloudapplicaties

Entra ID zelf beantwoordt dus geen LDAP-verzoeken. Wie een legacy-applicatie aan Entra ID wil koppelen, gebruikt Entra Domain Services (een beheerd domein dat wél LDAPS aanbiedt) of synchroniseert gebruikers terug naar een lokale directory.


🏭 Hoe wordt LDAP in OT-netwerken gebruikt?

  • Login op procesapplicaties - SCADA-pakketten zoals Ignition, historians en engineering stations kunnen gebruikers en rollen uit een directory halen, zodat u geen lokale accounts per systeem hoeft te beheren.
  • Beheer van netwerkapparatuur - switches, firewalls en VPN-gateways laten beheerders inloggen met hun directoryaccount, rechtstreeks via LDAP of via een RADIUS-server die op zijn beurt LDAP gebruikt.
  • Netwerktoegang - bij 802.1X controleert de RADIUS-server de identiteit vaak tegen Active Directory via LDAP.
  • Groepen als rollen - een AD-groep zoals OT-Operators of OT-Engineers wordt in de applicatie gekoppeld aan een rol. Rechten wijzigen dan centraal.
  • Oudere systemen - veel industriële software ondersteunt geen SAML of OpenID Connect, maar wel LDAP. Daardoor blijft LDAP in OT langer relevant dan in de kantooromgeving.

Een belangrijke ontwerpkeuze is wélke directory OT gebruikt. Veel organisaties draaien een apart OT-domein in de IDMZ of op niveau 3 van het Purdue Model, zonder of met een eenrichtingstrust naar het IT-domein. Een gecompromitteerd IT-domein geeft dan niet automatisch toegang tot de procesomgeving.


🔐 Welke beveiligingsrisico’s heeft LDAP?

  • Wachtwoorden in leesbare tekst - een simple bind over poort 389 zonder TLS stuurt het wachtwoord onversleuteld. Iedereen met Wireshark op hetzelfde segment kan het lezen.
  • Relay- en man-in-the-middle-aanvallen - zonder LDAP-signing en channel binding kan een aanvaller een NTLM-aanmelding doorsturen naar een domeincontroller en zo wijzigingen doen.
  • Verkenning - elke geauthenticeerde gebruiker kan standaard grote delen van Active Directory uitlezen. Aanvallers gebruiken dat voor laterale beweging richting beheeraccounts.
  • LDAP-injectie - applicaties die gebruikersinvoer ongefilterd in een zoekfilter plakken, zijn kwetsbaar, vergelijkbaar met SQL-injectie.
  • Kwetsbaarheden in de implementatie - in december 2024 patchte Microsoft CVE-2024-49112, een kritieke fout (CVSS 9,8) in de Windows LDAP-code waarmee een niet-geauthenticeerde aanvaller op afstand code kon uitvoeren. Tijdig patchen van domeincontrollers is dus ook in OT nodig.

Microsoft heeft de standaardinstellingen aangescherpt. Bij nieuwe Active Directory-omgevingen op Windows Server 2025 is LDAP-signing standaard verplicht en staat channel binding standaard op ‘wanneer ondersteund’. Een upgrade van een bestaande domeincontroller behoudt echter de oude instellingen, en bij Windows Server 2022 en ouder is signing optioneel. Daar moet u het zelf afdwingen, nadat u hebt gecontroleerd dat oudere OT-clients het aankunnen.


🛠️ Hoe zet u LDAP veilig in binnen OT?

Een praktische aanpak in zes stappen:

  1. Inventariseer welke systemen LDAP gebruiken. Op een domeincontroller toont event 2887 dagelijks hoeveel onversleutelde of ongetekende binds er waren, en event 2889 (na het verhogen van het diagnoseniveau) welke clients het waren.
  2. Versleutel alles - gebruik LDAPS op poort 636 of StartTLS op 389, en laat de client het servercertificaat controleren. Regel de levensduur van die certificaten via certificaatbeheer, want een verlopen certificaat legt alle logins plat.
  3. Dwing signing en channel binding af op de domeincontrollers, eerst in auditmodus, daarna verplicht.
  4. Gebruik aparte serviceaccounts per applicatie, met alleen leesrechten op de benodigde OU’s, volgens least privilege. Beheer hun wachtwoorden in een PAM-oplossing.
  5. Beperk het netwerkpad - sta LDAP-verkeer via de firewall of een ACL alleen toe van bekende OT-servers naar de domeincontrollers, conform uw netwerksegmentatie. Stel LDAP nooit open naar internet.
  6. Monitor en bewaak - stuur directorylogboeken naar een SIEM, let op ongebruikelijke zoekopdrachten en mislukte binds, en voeg MFA toe op de toegangspaden die het ondersteunen, zoals remote access via een jump server.

Plan ook een terugvaloptie. Als de directory onbereikbaar is, moet een operator nog steeds kunnen ingrijpen. Veel OT-applicaties ondersteunen daarom een beperkt aantal lokale noodaccounts, die u apart beveiligt en logt.


🇳🇱 Welke normen en wetten raken LDAP?

IEC 62443-3-3 vraagt onder meer om unieke identificatie en authenticatie van gebruikers (SR 1.1), accountbeheer (SR 1.3, met uniform accountbeheer als verbetering voor hogere security levels) en bescherming van vertrouwelijke informatie tijdens transport (SR 4.1). Een directory die via versleuteld LDAP wordt bevraagd, is een gangbare manier om daaraan te voldoen. Onder de Cyberbeveiligingswet, de Nederlandse uitwerking van NIS2, horen toegangsbeheer, authenticatie en het gebruik van versleuteling tot de verplichte zorgplichtmaatregelen. Onversleuteld LDAP met een gedeeld beheeraccount past daar niet meer bij.


❓ Veelgestelde vragen

Is LDAP hetzelfde als Active Directory?

Nee, LDAP is een protocol en Active Directory is een directoryservice van Microsoft. Active Directory gebruikt LDAP als een van zijn toegangsprotocollen, naast onder meer Kerberos en DNS. Andere directoryservers, zoals OpenLDAP, spreken ook LDAP.

Wat is het verschil tussen LDAPS en StartTLS?

LDAPS gebruikt poort 636 en is vanaf het begin van de verbinding versleuteld met TLS. StartTLS begint op poort 389 als gewone LDAP-verbinding en schakelt daarna over op TLS. Beide beschermen het wachtwoord, mits de client het certificaat van de server controleert.

Is LDAP veilig genoeg voor OT-systemen?

LDAP is veilig als u het versleuteld gebruikt, signing en channel binding afdwingt en het netwerkpad beperkt. Onversleuteld LDAP met een simple bind is niet veilig, omdat het wachtwoord leesbaar over het netwerk gaat. Combineer LDAP in OT bovendien met netwerksegmentatie en monitoring.

Ondersteunt Entra ID LDAP?

Microsoft Entra ID ondersteunt zelf geen LDAP, maar gebruikt moderne protocollen zoals OpenID Connect, OAuth 2.0 en SAML. Voor applicaties die alleen LDAP kennen, biedt Microsoft de aparte dienst Entra Domain Services, die een beheerd domein met LDAPS levert.

Welke poorten gebruikt LDAP?

LDAP gebruikt standaard TCP-poort 389 en LDAPS gebruikt poort 636. Active Directory voegt daar de Global Catalog aan toe op poort 3268 en, versleuteld, op poort 3269. Sta in een OT-firewall alleen de poorten toe die u echt nodig hebt.

Moet een OT-omgeving een eigen directory hebben?

Een aparte OT-directory is geen verplichting, maar wel gangbare goede praktijk. Een eigen OT-domein voorkomt dat een aanval op het IT-domein direct doorwerkt in de procesomgeving. Gebruikers hebben dan wel een tweede account, wat extra beheer vraagt.


📌 Samengevat

LDAP is sinds 1993 de standaardtaal om een directory te bevragen en vormt in hybride IT/OT-omgevingen de verbinding tussen applicaties, netwerkapparatuur en centrale identiteiten. De waarde zit in centraal beheer van accounts en rollen; het risico zit in onversleuteld gebruik, te ruime serviceaccounts en ongepatchte domeincontrollers.

LDAP is het open protocol waarmee applicaties en apparaten gebruikers controleren tegen een centrale directory; in OT gebruikt u het alleen versleuteld, met minimale rechten en een strikt beperkt netwerkpad.