Apache mod_auth_kerb 및 LDAP 사용자 그룹


12

mod_auth_kerbSSO를 활성화하기 위해 내부 웹 서버에 배포 하는 것을 고려하고 있습니다. 내가 볼 수있는 명백한 한 가지 문제는 모든 도메인 사용자가 사이트에 액세스 할 수 있는지 여부에 관계없이 전혀 또는 전혀 접근하지 않는다는 것입니다.

LDAP의 특정 그룹에서 그룹 구성원을 확인하는 mod_auth_kerb것과 결합 하여 사용할 mod_authnz_ldap수 있습니까? 내가 추측하고있어 KrbAuthoritative이 함께 할 수있는 뭔가가있을 것입니다 옵션을?

또한 내가 이해하는 것처럼 모듈은 사용자 이름을 username@REALM인증 후에 설정 하지만 물론 디렉토리에는 사용자가 사용자 이름으로 만 저장됩니다. 또한 trac와 같이 우리가 운영하는 일부 내부 사이트에는 이미 각 사용자 이름에 연결된 사용자 프로필이 있습니다. 어떻게 든 인증 후 영역 비트를 제거 하여이 문제를 해결할 수 있습니까?


구현에 관한 질문, kerberos 영역 또는 다른 구현에 Windows ADS를 사용하고 있습니까?
— Jeremy Bouse

MIT Kerberos v5와 함께 제공되는 Apple의 OpenDirectory
— Kamil Kisiel

알았어 ... 전에 애플의 OpenDirectory와 함께 일한 적이 없다. 워크 스테이션 자격 증명을 사용하여 Windows ADS에 대해 NTLM을 사용하여 Apache를 인증 한 다음 특정 그룹으로 제한 할 수있었습니다.
— Jeremy Bouse 2009

username에서 영역을 제거하지 않고 LDAP 쿼리의 대체 속성을 사용하여 사용자 엔터티를 검색 할 수 있습니다 (예 : Ms ActiveDirectory의 "userPrincipalName"속성).
— 이브 마틴

답변:


13

이제 mod_auth_kerb 5.4에서 REMOTE_USER의 영역을 다음 구성 지시문으로 제거 할 수 있습니다.

KrbLocalUserMapping 켜기


와우, 이것은 2008 년에 출시 된 것처럼 보이지만 웹 사이트에는 언급되지 않았습니다 (버전 또는 매개 변수).
— Kamil Kisiel

7

2.2에서 authn / authz 분리의 요점은 하나의 메커니즘으로 인증하고 다른 메커니즘으로 권한을 부여 할 수 있다는 것입니다. 인증은 REMOTE_USER 설정을 제공하며 authz_ldap을 사용할 수 있습니다. 또한 authn_ldap은 사용자를 검색합니다 (예를 들어 CN 검색과 같이 지정해야하는 검색 기준을 사용하여 REMOTE_USER를 찾은 경우 DN으로 변환). 그런 다음 DN이 발견되면 LDAP 오브젝트에서 요구 사항을 지정할 수 있습니다. 예를 들어 리소스에 액세스하는 모든 사용자가 동일한 OU에 있어야하는 경우

ldap-dn ou = 관리자 필요, o = 회사


권한 부여 단계로 전달되기 전에 REMOTE_USER 변수를 수정할 수 있습니까? 예를 들어, LDAP 데이터베이스에서 조회하기 위해 Kerberos 사용자 이름의 REALM 부분을 제거하려면?
— Kamil Kisiel

구성이 아닙니다. 그러나 Apache 모듈의 소스 코드에서는 비교적 쉽습니다. 요청-> 사용자에 대한 할당을 찾아서 조정하십시오. 그런 다음 apxs2 -c를 사용하여 모듈을 다시 빌드하십시오. OTOH, Kerberos 이름을 별도의 속성으로 LDAP에 넣고 ldap 모듈이 해당 속성으로 사용자를 검색하도록하는 것이 더 쉬울 수 있습니다.
— Martin v. Löwis

2

데비안 스 테이블은 이제 mod_auth_kerb 버전 5.4와 함께 제공됩니다 .

이전 버전을 사용하는 경우이 페이지 에서는 mod_map_user를 mod_auth_kerb 및 mod_authnz_ldap과 함께 사용하는 방법에 대해 설명합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책과 개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.