LDAP channel binding is a security control that helps protect LDAPS authentication by binding the authentication attempt to the TLS channel being used. It is designed to reduce certain relay and man-in-the-middle attack scenarios where an attacker attempts to forward authentication from one connection to another. The simplest way to think about LDAP channel binding is, LDAP channel binding helps prove that the authentication belongs to the secure TLS session it was performed over.
This matters because LDAPS encrypts LDAP traffic, but encryption alone does not always prevent relay-style abuse. Channel binding adds an additional protection by tying authentication to the specific TLS channel.
What is LDAP?
LDAP stands for Lightweight Directory Access Protocol. In Active Directory, LDAP is commonly used to query and interact with directory data, including users, groups, computers, organizational units, service accounts, and other objects.
Domain controllers commonly listen for LDAP-related traffic on:
| Port | Purpose |
|---|---|
| 389 | LDAP |
| 636 | LDAPS, LDAP over TLS |
| 3268 | Global Catalog LDAP |
| 3269 | Global Catalog LDAPS |
LDAP is widely used by Windows systems, applications, appliances, identity platforms, VPN solutions, monitoring tools, and administrative utilities. Because LDAP is so common, LDAP security settings can have a broad impact across the environment.
What is LDAP channel binding?
LDAP channel binding is a protection that uses channel binding tokens, or CBTs, to bind authentication to the TLS session.
When an LDAP client connects to a domain controller over LDAPS, a TLS channel is established. Channel binding helps ensure that the authentication is tied to that same TLS channel. This makes it harder for an attacker to take authentication from one session and relay it into another. Microsoft’s policy documentation describes the domain controller LDAP server channel binding token requirement as a setting that determines whether the LDAP server requires LDAP clients to negotiate channel bindings, also referred to as Extended Protection for Authentication.
In practical terms, LDAP channel binding helps answer, Did this authentication happen on the same protected channel the LDAP server expected? If the answer is no, the authentication can be rejected when channel binding is enforced.
LDAP channel binding vs LDAP signing
LDAP channel binding and LDAP signing are related, but they are not the same control.
| Control | Primary purpose | Applies to |
|---|---|---|
| LDAP signing | Protects LDAP message integrity | LDAP traffic |
| LDAP channel binding | Binds authentication to the TLS channel | LDAPS traffic |
| LDAPS | Encrypts LDAP traffic using TLS | LDAP over TLS |
| Extended Protection for Authentication | Helps bind authentication to the intended service or TLS channel | Windows integrated authentication scenarios |
LDAP signing helps ensure LDAP messages were not modified in transit. LDAP channel binding helps ensure authentication is bound to the TLS session.
A common mistake is assuming LDAPS alone solves the problem. LDAPS encrypts the traffic, but LDAP channel binding helps protect against certain relay scenarios involving TLS-protected LDAP connections.
Why LDAP channel binding matters
LDAP channel binding matters because LDAP authentication to domain controllers is security-sensitive. If attackers can relay authentication to LDAP or LDAPS and the domain controller accepts it, the impact depends on the permissions of the relayed identity. In some cases, attackers may be able to perform directory operations as the relayed user or computer account.
Potential impact may include:
- Modifying group membership
- Creating or modifying computer accounts
- Changing account attributes
- Modifying delegation-related attributes
- Setting resource-based constrained delegation
- Abusing weak object permissions
- Escalating privileges through certificate or delegation paths
LDAP channel binding is one of several controls that can reduce the chance that relayed authentication is accepted by domain controllers.
How attackers abuse weak LDAP protections
LDAP and LDAPS relay attacks usually involve forcing or capturing authentication from one system and relaying it to a domain controller.
A simplified attack flow looks like this:
- An attacker causes a user or computer to authenticate.
- The attacker captures the authentication attempt.
- The attacker relays the authentication to LDAP or LDAPS on a domain controller.
- The domain controller accepts the authentication.
- The attacker performs LDAP operations as the relayed identity.
The attacker does not need to know the password. The risk comes from relaying a live authentication exchange to a service that accepts it.
LDAP signing and LDAP channel binding help reduce this risk in different ways. LDAP signing helps protect LDAP message integrity. LDAP channel binding helps protect LDAPS authentication by binding it to the TLS channel.
Why this connects to NTLM relay
LDAP channel binding is often discussed in the context of NTLM relay because NTLM relay can target LDAP and LDAPS services.
NTLM relay does not require cracking a password. The attacker relays a live authentication exchange to another service. If LDAP or LDAPS accepts that authentication without sufficient protections, the attacker may be able to act as the relayed account. This is why LDAP channel binding, LDAP signing, SMB signing, Extended Protection for Authentication, and NTLM reduction are often discussed together. Each control reduces part of the relay attack surface.
LDAP channel binding policy settings
The domain controller policy is Domain controller: LDAP server channel binding token requirements.
Common values include:
| Setting | Meaning |
|---|---|
| Never | Channel binding tokens are not required |
| When supported | Channel binding is required when supported by the client |
| Always | Channel binding is always required |
Microsoft’s policy documentation states that this setting determines whether the LDAP server requires clients to negotiate channel bindings. The right setting depends on compatibility. Many environments should work toward enforcing channel binding, but it should be tested before broad enforcement.
Never vs When supported vs Always
The three settings have different operational impacts.
Never
This is the least restrictive option. Domain controllers do not require LDAP clients to use channel binding. This may preserve compatibility, but it provides the weakest protection.
When supported
This is a compatibility-focused option. Clients that support channel binding are expected to use it, while clients that do not support it may still be allowed. This can be useful during transition because it improves protection without immediately breaking all unsupported clients.
Always
This is the strongest option. LDAP clients must use channel binding when authenticating over LDAPS. This provides the strongest protection, but it can break clients that do not support channel binding or are not configured correctly.
What can break when LDAP channel binding is enforced?
LDAP channel binding can affect applications and systems that use LDAPS authentication but do not support or correctly negotiate channel binding tokens.
Systems to review include:
- Legacy applications
- Linux and Unix LDAP clients
- Network appliances
- VPN and remote access platforms
- Printers and scanners
- Identity management platforms
- Java-based applications
- Older LDAP libraries
- Custom applications
- Monitoring platforms
- Third-party authentication tools
This does not mean channel binding should be avoided. It means enforcement should be planned, tested, and monitored. Microsoft’s LDAP signing and channel binding guidance recommends monitoring Directory Service logs on domain controllers for LDAP signing and channel binding events to identify clients that may be affected.
How to check LDAP channel binding policy
LDAP channel binding is typically configured through Group Policy.
Group Policy path:
Computer Configuration
Windows Settings
Security Settings
Local Policies
Security Options
Domain controller: LDAP server channel binding token requirements
Review this setting on domain controller policies.
You can generate a Group Policy report with:
Get-GPOReport -All -ReportType Html -Path .\GPOReport.html
Then search the report for Domain controller: LDAP server channel binding token requirements.
You can also review effective policy on a domain controller:
gpresult /h C:\Temp\dc-gpo-report.html
Then search the generated report for the same setting.
PowerShell: Find domain controllers
Use this to identify domain controllers that should be included in policy review and monitoring:
Get-ADDomainController -Filter * |
Select-Object HostName, Site, OperatingSystem, IPv4Address
Domain controllers should be reviewed consistently. Do not validate LDAP channel binding behavior on only one domain controller unless you are certain all domain controllers receive the same policy.
Registry setting for LDAP channel binding
LDAP channel binding can also be configured through the registry value:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NTDS\Parameters
LdapEnforceChannelBinding
Common values are:
| Value | Meaning |
|---|---|
| 0 | Never |
| 1 | When supported |
| 2 | Always |
Group Policy is usually preferred for consistency across domain controllers. Before changing registry settings directly, confirm whether Group Policy already controls the setting.
PowerShell: Check the local registry value
On a domain controller, you can check the local registry value with:
Get-ItemProperty `
-Path "HKLM:\SYSTEM\CurrentControlSet\Services\NTDS\Parameters" `
-Name "LdapEnforceChannelBinding" `
-ErrorAction SilentlyContinue |
Select-Object LdapEnforceChannelBinding
If the value is not present, the system may be using default behavior or policy-managed configuration. Review Group Policy before making assumptions.
Event logs to monitor
LDAP channel binding and LDAP signing events appear in the Directory Service log on domain controllers.
Useful events include:
| Event ID | Purpose |
|---|---|
| 2889 | LDAP signing-related client visibility |
| 3039 | LDAP channel binding failure |
| 3074 | LDAP channel binding audit event |
| 3075 | LDAP channel binding audit event |
Microsoft’s LDAP channel binding and signing guidance specifically recommends monitoring Directory Service logs on domain controllers for LDAP signing event 2889, LDAP channel binding failure event 3039, and LDAP channel binding audit events 3074 and 3075. Microsoft also notes that events 3039, 3074, and 3075 can only be generated when channel binding is set to When supported or Always.
Recommended rollout approach
LDAP channel binding should usually be rolled out carefully.
A practical rollout looks like this:
- Inventory LDAP and LDAPS clients.
- Review domain controller patch levels.
- Confirm current LDAP signing and channel binding settings.
- Enable diagnostic logging and monitor events.
- Identify clients that do not support channel binding.
- Update or replace incompatible LDAP clients.
- Move simple binds to LDAPS or StartTLS where appropriate.
- Test channel binding enforcement in a limited scope.
- Move to stronger settings once compatibility is confirmed.
- Continue monitoring after enforcement.
The goal is to improve security without unexpectedly breaking authentication for business-critical applications.
How LDAP channel binding fits with LDAP signing
LDAP channel binding should not be treated as a replacement for LDAP signing.
A strong LDAP hardening approach usually includes:
- Require LDAP signing on domain controllers
- Use LDAPS or StartTLS for simple binds
- Enforce LDAP channel binding where feasible
- Monitor unsigned binds and channel binding failures
- Reduce NTLM relay exposure
- Remediate legacy LDAP clients
- Review applications that bind to domain controllers
LDAP signing and channel binding are complementary protections. Microsoft describes both as important protections for communications between LDAP clients and Active Directory domain controllers.
How LDAP channel binding fits with LDAPS
LDAPS encrypts LDAP traffic using TLS. LDAP channel binding adds protection by binding authentication to that TLS channel.
In simple terms:
| Control | What it adds |
|---|---|
| LDAPS | Encryption |
| LDAP signing | Message integrity |
| LDAP channel binding | Authentication binding to the TLS channel |
An environment can use LDAPS and still benefit from LDAP channel binding. The controls are related, but they solve different problems.
Common mistakes
Assuming LDAPS alone is enough
LDAPS encrypts LDAP traffic, but LDAP channel binding helps protect authentication from certain relay scenarios involving TLS-protected LDAP connections.
Confusing LDAP signing with channel binding
LDAP signing protects message integrity. LDAP channel binding ties authentication to the TLS channel. They are different controls.
Enforcing channel binding without monitoring
Enforcement can break legacy clients and applications. Monitor first, identify incompatible clients, and test before broad rollout.
Only checking one domain controller
Domain controllers may receive different policies if Group Policy is inconsistent. Review all relevant domain controller policies and confirm effective settings.
Ignoring non-Windows clients
Linux systems, appliances, VPNs, scanners, and custom applications may use LDAP libraries that behave differently from Windows clients.
Forgetting about simple binds
Simple binds should not be sent over unprotected LDAP. Use LDAPS or StartTLS where simple binds are required.
Treating compatibility exceptions as permanent
Some systems may need short-term exceptions, but exceptions should be documented, owned, and revisited.
Practical recommendation
A practical LDAP channel binding plan should include:
- Identify systems using LDAP and LDAPS.
- Review domain controller LDAP signing settings.
- Review domain controller LDAP channel binding settings.
- Monitor Directory Service events for channel binding failures and audit events.
- Identify incompatible clients.
- Update LDAP libraries, applications, and appliances where needed.
- Require LDAP signing on domain controllers where feasible.
- Enforce LDAP channel binding after testing.
- Use LDAPS or StartTLS for simple binds.
- Document and track any temporary exceptions.
- Recheck regularly as part of domain controller hardening.
In most mature Active Directory environments, LDAP channel binding should be part of a broader LDAP hardening effort, not a standalone setting.
Summary
LDAP channel binding is a security control that helps protect LDAPS authentication by tying authentication to the TLS channel. It reduces certain relay and man-in-the-middle scenarios where an attacker attempts to forward authentication from one connection to another.
LDAP channel binding is not the same as LDAP signing, and it is not the same as LDAPS. LDAPS provides encryption. LDAP signing protects message integrity. LDAP channel binding helps ensure authentication belongs to the expected TLS channel. A safe rollout requires visibility, testing, client remediation, and ongoing monitoring. When combined with LDAP signing, LDAPS, SMB signing, NTLM reduction, and AD CS hardening, LDAP channel binding can significantly reduce relay-related exposure in Active Directory environments.
References
- Microsoft Learn: LDAP signing for Active Directory Domain Services
- Microsoft Learn: Domain controller LDAP server channel binding token requirements
- Microsoft Support: LDAP channel binding and LDAP signing requirements for Windows
- Microsoft Learn: How to enable LDAP signing in Windows Server
- MITRE ATT&CK: LLMNR/NBT-NS Poisoning and SMB Relay, T1557.001