mod_authnz_ldap은 익명이 아닌 인증된 사용자로 바인드됩니다.

mod_authnz_ldap은 익명이 아닌 인증된 사용자로 바인드됩니다.

가능한 한 단일 자격 증명에 가까워지려고 노력하고 있습니다. 사용 가능한 인증 메커니즘이 상당히 제한된 웹 애플리케이션이 있지만 (다행히도) 관리자 REMOTE_USERhttpd.

익명 바인드 또는 공유 자격 증명 중에서 선택하는 대신 요청하는 사용자의 자격 증명을 사용하여 인증하도록 mod_authnz_ldap을 구성하는 방법이 있습니까?

이것이 내가 현재 가지고 있는 것입니다:

    <Location />

       AuthzLDAPLogLevel debug
       AuthType Basic
       AuthBasicProvider ldap
       AuthName "Active Directory"
       AuthzLDAPAuthoritative off
       AuthLDAPBindDN CN=jad,DC=xxx,DC=com
       AuthLDAPBindPassword xxx
       AuthLDAPURL ldap://xxx.xxx.64.71/DC=xxx,DC=com?samaccountname?sub
       require valid-user

    </Location>

xxx태그 편집기. 기본적으로 위의 방법은 사용자를 인증하지만 내 계정을 사용하여 AD에 바인딩합니다. 주석 처리를 시도하면 AuthLDAPBindDNAD AuthLDAPBindPassword관리자가 거부하도록 구성한 익명 바인딩을 수행하려는 것으로 보입니다.

내 질문은 익명으로 바인딩하거나 공유 계정을 사용하는 것 중에서 선택하는 대신 인증된 사용자의 자격 증명을 사용하도록 Apache를 구성하는 것이 가능합니까(AD 사용자가 설정한 정책에서는 불가능함). 누군가가 해고되거나 회사를 떠날 경우 개인 계정을 사용하는 것도 분명히 이상적이지 않습니다.

답변1

아마도AuthLDAPInitialBindAsUser(아파치 2.3.6)이 도움이 될 수 있습니다:

서버가 초기 DN 조회에 기본 DN을 사용하는지 확인
익명 또는 다음을 사용하는 대신 자신의 사용자 이름으로 사용자를 인증합니다.
서버에 대해 하드코딩된 자격 증명

결합하다AuthLDAPInitialBindPattern, 다음과 같은 것이 작동할 수 있습니다(테스트되지 않음):

       인증 유형 기본
       인증기본 제공자 LDAP
       이름 "Active Directory" 확인
       AuthzLDAP 정식 종료
       AuthLDAPInitialBindAsUser가 켜졌습니다.
       AuthLDAPInitialBindPattern(.+) cn=$1,dc=com
       인증LDAPURL ldap://xxx.xxx.64.71/DC=xxx,DC=com?samaccountname?sub
       유효한 사용자가 필요합니다

관련 정보