나는 tomcat 서버를 향한 apache HTTP 서버가있는 설정이 있습니다. Apache 서버는 인증을 위해 LDAP를 사용합니다.해시 된 비밀번호에 대한 Apache의 LDAP 인증
나는 봄 LDAP 연결하고 사용자를 추가하는 등 사용자 작업을 수행하는 데 사용하는 내장 LDAP 서버 (아파치 DS)를 이용하고 있고
service.setAllowAnonymousAccess(false); // Disable Anonymous Access
service.setAccessControlEnabled(true); // Enable basic access control check (allow only System Admin to login to LDAP Server)
내 응용 프로그램을 사용하여 익명 바인드를 사용하지 않도록 구성했습니다. 다음과 같이 내가 spring.xml에 구성 :
<bean id="ldapContextSource" class="org.springframework.ldap.core.support.LdapContextSource">
<property name="url" value="ldap://localhost:389" />
<property name="base" value="dc=test,dc=com" />
<property name="userDn" value="uid=admin,ou=system" />
<property name="password" value="secret" />
</bean>
아파치의 httpd.conf 기본 인증을 사용하도록 구성되어
AuthLDAPBindDN "uid=admin,ou=system"
AuthLDAPBindPassword "{SHA}<Hash for secret>"
ISSUE 1 : 말 (클라이언트를 사용하여 LDAP 서버에 로그인하려고 할 때 jexplorer), 해시 된 암호와 일반 텍스트 "secret"를 사용하여 로그인 할 수 있습니다. 어떻게 가능합니까?
이 경우 누군가 내 케이스에서 해시 된 AuthLDAPBindDN 및 AuthLDAPBindPassword를 알게되면 보안 위협 인 전체 액세스 권한으로 LDAP 서버에 동일한 로그인 정보를 사용하여 로그인 할 수있게됩니다.
또한 spring.xml의 암호를 해시 된 암호로 바꾸고 싶습니다. 관리자는 LDAP 비밀번호를 변경할 수 있기 때문에 업데이트 된 해시 암호를 사용하도록 응용 프로그램을 보장하려면 어떻게해야합니까? spring.xml에 하드 코딩 할 때 어떻게해야합니까?
게시하기 전에 미리보기 창을 확인하십시오. [그건 엉망이야] (http://stackoverflow.com/revisions/24266303/1)! –