시스템 인증과 sudo에 다른 kerberos 주체를 어떻게 사용할 수 있습니까?

시스템 인증과 sudo에 다른 kerberos 주체를 어떻게 사용할 수 있습니까?

우리 조직에서는 sudo에 인증할 때 다른 유형의 인증(예: 로그인)과 다른 kerberos 주체를 사용해야 합니다. 예를 들어, 내 일반(로그인) 주체는 라고 할 수 foobar@DOMAIN있고 내 sudo 주체는 라고 합니다 foobar/sudo@DOMAIN. 과거에는 빌드 시 및 플래그를 설정 --with-kerb5하여 자체 sudo를 빌드하여 이 요구 사항을 수용했습니다 . --enable-kerb5-instance=sudo이는 우리 버전의 sudo가 Kerberos에 직접 연결되고 PAM 스택을 전혀 사용하지 않는다는 것을 의미합니다.

우리는 자체 버전의 sudo를 구축하고 배포하지 않고도 분할 본문 요구 사항을 충족할 수 있는지 확인하려고 노력했습니다. 내 질문은 이것이 가능합니까? 가능하다면 어떻게 달성할 수 있나요?

표준 RHEL 6/7 sudo 패키지를 사용하면 --with-kerb5빌드 타임 옵션을 사용할 수 없습니다. PAM을 인증 스택으로 사용해야 합니다. 이는 를 사용해야 함을 의미합니다 pam_krb5. 이를 통해 사용자 이름을 주체 이름에 매핑하는 구성 옵션을 사용할 pam_krb5수 있다는 것을 알았습니다 . 사용자 이름을 주체 이름에 매핑할 수 있게 되므로 중간쯤 됐습니다 . 그러나 내가 아는 한, 각 응용 프로그램에 대해 매핑을 설정할 수 있는 방법은 없습니다(kerberos는 어떤 응용 프로그램이 PAM 스택을 호출하는지에 관계없이 PAM을 단일 응용 프로그램으로 처리합니다) . PAM 구성 . 따라서 시스템에서 sudo 및 로그인에 sudo 주체를 사용하거나 둘 다에 로그인 주체를 사용하도록 할 수 있지만 시스템에서 sudo에 sudo 주체를 사용하고 로그인에 로그인 주체를 사용하도록 할 수는 없습니다./etc/krb5.confappdefaults/pam/mappingsfoobarfoobar/sudopam_krb5

어떤 아이디어가 있나요? 아니면 사용자 정의 sudo를 구축하고 배포해야 합니까?

답변1

이는 완전한 대답은 아니지만 SSSD를 사용하여 이 작업을 수행할 수 있는지 궁금합니다.

이 모듈을 사용 하면 From pam_sss만 고려하도록 서비스를 제한할 수 있습니다 /etc/sssd/sssd.conf.pam_sss(8)

영역

관리자가 특정 PAM 서비스에 대해 인증이 허용되는 도메인을 제한할 수 있습니다. 형식은 sssd.conf 파일에 지정된 SSSD 도메인 이름의 쉼표로 구분된 목록입니다.

이론적으로는 동일한 업스트림 인증 환경을 가리키지만 서로 다른 규칙을 사용하여 사용자를 주체에 매핑하는 두 개의 도메인이 있을 수 있습니다.

불행하게도 SSSD는 사용자 이름과 주체 이름의 정적 매핑만 지원하는 것으로 보이며 이는 확장성이 좋지 않습니다.

고쳐 쓰다

pam_krb5최신 버전의 모듈도 alt_auth_map옵션 을 지원하는 것 같습니다.정확히당신은 무엇을 원합니까? 즉 /etc/pam.d/sudo, 에서는 다음을 수행할 수 있습니다.

auth    required    pam_krb5.so alt_auth_map=%s/sudo only_alt_auth

... sudo이제 <username>/sudo인증을 위해 항상 주체를 사용합니다.

이 버전은 pam-krb5Ubuntu와 함께 제공되지만 아마도 큰 문제 없이 rpm을 빌드하고 시스템에 설치할 수 있을 것입니다.

관련 정보