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.