We have a Unix-hosted application (Business Objects) which is only able to do simple bind, is hosted internally. It needs to map users and group memberships for both Internal and DMZ, and authenticate users. DMZ trusts Internal, one way, AD LDS on 2008r2, server is in the DMZ (less trusted domain, obviously).
Firewall hole is in place (using 50636 and 50389) to the ADLDS Server from the internal B.O. servers which do ldap/s connections and then a simple bind using the internal LDS userproxy object for the application ID (the only way we could seem to make it work). Because (although it supposedly can chase referrals) the B.O. system was never able to Directory includes Internal and external users and groups which do not overlap (e.g. external users and groups are all in unique OU's) and are created as UserProxy objects. B.O. allows us to specify specific DN's for searches, which I'm told has been done (i have no access to the Unix systems or the application configuration).
No 'expensive' searches have been revealed by LDAP Interface Events level 4 or 6, w/ Field Engineering at 5 or any other levels. DMZ is very small, with only the main Site and a DR site across town. AD LDS servers on subnet defined as main Site and NLTEST confirms they're directed to the two DC's in it.
Ldap bind time when we originally deployed was not noticably long, and ldp.exe could connect and do searches (Softerra also could). However when we turned it over to developers to begin testing, they found authentications were taking around 30 seconds to complete. About a month later *cough* we were informed there was a problem with logins taking too long.
Now when I go to the perfmon counter for the instance, and find every LDAP metric available is as low as we could possibly hope (e.g. searches log as complete in 0-12ms in the ADAM app log). But LDAP Bind time is off the charts, from 8000-14000ms from the moment we attempt a bind. Even with ldp.exe after connecting (SSL), not doing a query, just a simple bind takes about 10 seconds.
I feel like the only explanation is that the entire directory and every group is enumerated every time we do so. How can I tell? Any suggestions?
Much Obliged,
Trevor.