External LDAP authentication with zimbraAuthLdapExternalDn
How to configure external LDAP authentication with zimbraAuthLdapExternalDn
External LDAP authentication ( zimbraAuthLdapExternalDn )
More information on how to configure Zimbra with AD can be found: [here]
The idea behind this type of authentication is to use a zimbra user that does not exists in AD, but at the same time to be able to login to his WebUI using already existing AD user.
How to steps:
1. Create user firstname.lastname@example.org
With the red we see where to write the bindDN of the account we will use for the setup. More information on the syntax of this value can be found in /opt/zimbra/docs/externalldapauth.txt. Excerpt from that file:
Account attribute zimbraAuthLdapExternalDn Unlike (A) and (B), which are domain settings, this is an account level setting. This overrides the bind template and/or search setting, and directly contains the DN for the user in the external ldap server. zimbraAuthLdapBindDn and zimbraAuthLdapSearchFilter can contain expansion variables that are to be substituted by components in the account name: %n = username with @ (or without, if no @ was specified) %u = username with @ removed %d = domain as foo.com %D = domain as dc=foo,dc=com e.g. for user email@example.com %n => firstname.lastname@example.org %u => pshao %d => zimbra.com %D => dc=zimbra,dc=com example for zimbraAuthLdapBindDn: uid=%u,ou=people,%D (whatever LDAP DIT structure they are using)
2. Create a user in AD. We will be using that user for the authentication of user test.
3. View of the AD user from Softerra LDAP browser.
4. After the above steps are completed we can test the configuration by logging with the zimbra user that does not exists in AD. Here is a little excerpt from mailbox.log during the authentication of user test:
2015-09-23 18:10:06,259 DEBUG [qtp1937601231-102:http://127.0.0.1:80/service/soap/AuthRequest] [email@example.com;oip=192.168.56.1;ua=zclient/8.0.9_GA_6191;] account - auth with explicit dn of CN=test2,CN=zimbra,DC=azmo,DC=com 2015-09-23 18:10:06,283 DEBUG [qtp1937601231-102:http://127.0.0.1:80/service/soap/AuthRequest] [firstname.lastname@example.org;oip=192.168.56.1;ua=zclient/8.0.9_GA_6191;] ldap - OPEN_CONN - millis=, resp=[0 (success)], usage=[LDAP_AUTH_EXTERNAL], conn=, url=[ldap://192.168.56.40:389], connType=[PLAIN], bindDN=[CN=test2,CN=zimbra,DC=azmo,DC=com]
Summary of the logging:
- email@example.com - the user we log into WebUI.
- CN=test2,CN=zimbra,DC=azmo,DC=com - the user we use to bind to, when authenticating against AD
- 192.168.56.40 - AD server