Channel binding is a key security measure used to prevent relay and man-in-the-middle (MITM) attacks on LDAP connections. While LDAP signing already provides an important layer of security, channel binding fills in the remaining gaps, especially in scenarios involving TLS termination. Let’s break down what this means and why both mechanisms are necessary.
Quick Recap on LDAP Signing
Here are some key points to remember about LDAP signing.
Simple binds use usernames and passwords for authentication.
SASL binds use integrated authentication mechanisms like NTLM and Kerberos.
Simple binds without TLS expose credentials to the network and are vulnerable to MITM attacks.
Simple binds over TLS are secure because TLS encrypts the session and maintains data integrity.
SASL binds can use signing, allowing the exchange of session keys that secure communication and ensure packet integrity.
SASL binds over TLS rely on TLS for security instead of LDAP signing.
Enforcing LDAP signing ensures that SASL binds without signing and simple binds without TLS are rejected.
At a glance, the LDAP signing seems comprehensive. But let’s think like an attacker.
The Security Loophole
A potential loophole exists: If an attacker can terminate the client’s TLS session and re-establish a new one on the server, they could manipulate LDAP traffic midstream. LDAP signing can't detect this because the new TLS session still satisfies the signing requirement.
This is where channel binding steps in. It ensures that the original TLS session used by the client remains the same throughout the session by using a Channel Binding Token (CBT), made possible through Extended Protection for Authentication (EPA). Since attackers can't access the client’s credentials, they cannot generate a valid CBT in a relay scenario—effectively closing the loophole.
Important Notes
Simple binds do not use EPA and cannot benefit from channel binding.
Simple binds over TLS are not impacted by channel binding enforcement.
SASL binds without TLS are also unaffected by channel binding settings.
LDAP Channel Binding Enforcement Settings
LDAP channel binding was introduced in March 2020 and is supported as far back as Windows Server 2008. It's controlled via the Group Policy setting.
Domain controller: LDAP server channel binding token requirements
This corresponds to the registry key.
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NTDS\Parameters\LdapEnforceChannelBinding
Policy Options
Never: No channel binding validation is performed.
When supported: Clients that support channel binding must provide a valid CBT. Other clients are unaffected.
Always: All connections must present a valid CBT or be rejected, regardless of client support.



Join the conversation! Your thoughts help the community grow.