Java openldap和active directory rootbinddn之间的不同行为
我们有一个基于Java的应用程序,它通信/依赖PAM来满足其身份验证需求。用户可以来自本地(影子)或外部(目录服务器)。java应用程序以非根用户(比如juser)的身份运行 在LDAP配置中,绑定密码以明文形式存储在/etc/LDAP.conf中。为了克服这个安全漏洞,我将binddn替换为rootbinddn,并将bindpassword移到ldap.secret中。以下是LDAP配置文件的权限和所有权: 640根jusergroup/etc/ldap.conf 600 root/etc/ldap.secret 用户可以通过SSH无缝地访问系统(在我将binddn修改为rootbinddn之后),而对应用程序的身份验证失败 有趣的是,当我将应用程序配置为openldap服务器时,所有用户都可以成功地对SSH和Java应用程序进行身份验证。但当配置为MS active directory server时,SSH身份验证成功,而Java应用程序身份验证失败(因为进程所有者是juser)。现在,我以root用户身份重新启动java应用程序,所有身份验证(SSH和java应用程序)都成功了 以下是Active Directory服务器事件日志中的异常: 内部事件:LDAP服务器返回错误 附加数据 错误值: 00000000:ldaper:DSID-0C090627,注释:为了执行此操作,必须在连接上完成成功的>绑定。数据0,vece 有关详细信息,请参阅>上的帮助和支持中心Java openldap和active directory rootbinddn之间的不同行为,java,active-directory,ldap,openldap,ldapconnection,Java,Active Directory,Ldap,Openldap,Ldapconnection,我们有一个基于Java的应用程序,它通信/依赖PAM来满足其身份验证需求。用户可以来自本地(影子)或外部(目录服务器)。java应用程序以非根用户(比如juser)的身份运行 在LDAP配置中,绑定密码以明文形式存储在/etc/LDAP.conf中。为了克服这个安全漏洞,我将binddn替换为rootbinddn,并将bindpassword移到ldap.secret中。以下是LDAP配置文件的权限和所有权: 640根jusergroup/etc/ldap.conf 600 root/etc/l
感谢匿名用户在OpenLDAP和Active directory中可能存在的访问权限重复不同?我们在SSL上使用(根)binddn+密码,这不应构成匿名访问