LDAP / Active Directory
Connect to your existing directory service - the most common identity provider setup
What's This For?
If your organization already has users in Active Directory or another LDAP-compatible directory, this is probably where you want to start. Warden connects directly to your directory server, so users authenticate with their existing credentials - no need to create or sync accounts separately.
Active Directory vs LDAP: Active Directory is LDAP (plus a bunch of Microsoft-specific extensions). The setup is almost identical - we'll point out the differences as we go.
Before You Start
Gather this information from your directory administrator:
- Server hostname or IP - Where's your LDAP/AD server?
- Port number - Usually 636 (LDAPS) or 389 (plain LDAP)
- Service account credentials - Warden needs a user to search the directory
- Base DN - Where are your users located in the directory tree?
Security first: Always use LDAPS (port 636) or StartTLS in production. Plain LDAP sends passwords in clear text over the network - not something you want.
Setting Up the Connection
Step 1: Add the Provider
- Go to My Providers
- Click Add Provider
- Select LDAP / Active Directory as the type
- Give it a name you'll recognize (e.g., "Corporate AD" or "OpenLDAP")
Step 2: Connection Settings
Tell Warden how to reach your directory server:
dc01.example.comOpenLDAP: Your LDAP server hostname -
ldap.example.com
389 - Plain LDAP or StartTLS
Port 389 with StartTLS: Enable this too - it upgrades the connection
Port 389 without TLS: Only for testing, never in production
Step 3: Service Account (Bind Credentials)
Warden needs a service account to search your directory. This account doesn't need special privileges - just the ability to read user objects.
CN=svc-warden,CN=Users,DC=example,DC=comor use UPN format:
svc-warden@example.comOpenLDAP:
cn=warden-service,ou=ServiceAccounts,dc=example,dc=com
Pro Tip: Create a dedicated service account for Warden. Don't use an admin account or a real person's account. This way, you can set a strong password that never expires and track Warden's directory access separately in your logs.
Step 4: User Search Settings
Tell Warden where to find users and how to identify them:
DC=example,DC=com (search entire domain)OU=Employees,DC=example,DC=com (search specific OU)OpenLDAP:
ou=users,dc=example,dc=com
(&(objectClass=user)(objectCategory=person))This excludes computer accounts and other non-person objects
OpenLDAP:
(objectClass=inetOrgPerson)
sAMAccountName (e.g., "jsmith")OpenLDAP:
uid
Testing Your Connection
Before putting this into production, verify everything works:
- Click Save to create the identity provider
- Click the menu (⋮) next to your new provider
- Select Test Connection
- Enter a real username and password from your directory
- Click Run Test
Success! You'll see the user's details pulled from the directory, including their DN, email, and group memberships. This confirms Warden can authenticate users and read their attributes.
Quick Reference Configs
Active Directory (Most Common)
Port: 636
Use TLS/SSL: Yes
Bind DN: CN=svc-warden,CN=Users,DC=example,DC=com
User Base DN: DC=example,DC=com
User Filter: (&(objectClass=user)(objectCategory=person))
Username Attribute: sAMAccountName
OpenLDAP
Port: 636
Use TLS/SSL: Yes
Bind DN: cn=warden,ou=services,dc=example,dc=com
User Base DN: ou=users,dc=example,dc=com
User Filter: (objectClass=inetOrgPerson)
Username Attribute: uid
389 Directory Server / FreeIPA
Port: 636
Use TLS/SSL: Yes
Bind DN: uid=warden,cn=users,cn=accounts,dc=example,dc=com
User Base DN: cn=users,cn=accounts,dc=example,dc=com
User Filter: (objectClass=person)
Username Attribute: uid
Troubleshooting
Running into problems? Here are the most common issues and how to fix them:
Connection Timeout
What's happening: Warden can't reach your LDAP server.
Things to check:
- Can you ping the LDAP server from Warden's host?
- Is the firewall allowing traffic on port 636 (or 389)?
- Is the LDAP service running on the server?
- Try:
telnet ldap-server 636to test basic connectivity
Invalid Credentials / Bind Failed
What's happening: The service account credentials are wrong.
Things to check:
- Is the Bind DN exactly right? Even small typos will fail.
- Has the password expired or the account been locked?
- For AD: Try the UPN format (
user@domain.com) instead of DN - Test the credentials with
ldapsearchor an LDAP browser
No Users Found
What's happening: Search works but returns empty results.
Things to check:
- Is the User Base DN correct? It must be a valid path in your directory.
- Does the service account have permission to read that part of the tree?
- Is the search filter matching your users? Test in an LDAP browser.
- For AD: Make sure you're not accidentally filtering out users with disabled accounts
Certificate Error / TLS Handshake Failed
What's happening: Warden doesn't trust the LDAP server's certificate.
Things to check:
- Is the certificate self-signed? You may need to import the CA cert into Warden.
- Has the certificate expired?
- Does the certificate hostname match the server you're connecting to?
- For testing only: You can temporarily disable certificate validation (not for production!)
User Authenticates But Groups Are Empty
What's happening: Authentication works, but Warden can't see group memberships.
Things to check:
- Does the service account have permission to read group objects?
- For AD: Check if you need to search for nested group memberships
- Is the group Base DN configured correctly?
Security Best Practices
- Always use LDAPS or StartTLS - Never send credentials over plain LDAP in production
- Use a dedicated service account - Don't share accounts; create one specifically for Warden
- Minimal permissions - The service account only needs read access to users and groups
- Monitor the account - Watch for failed login attempts or unusual activity
- Rotate the password periodically - Even for service accounts, regular rotation is good hygiene
What's Next?
Now that users can authenticate, you'll want to:
- Create a policy that uses this identity provider
- Add your network devices and assign the policy
- Set up two-factor authentication for extra security