Linux, 도메인 가입 없이 서로 다른 2개의 AD에 대한 기본 비밀번호 인증

Linux, 도메인 가입 없이 서로 다른 2개의 AD에 대한 기본 비밀번호 인증

Kerberos를 사용하여 Windows AD에 대해 기본 비밀번호 인증으로 실행되는 AIX 및 Linux 서버가 있으므로 AD의 sAMAccountName과 동일한 사용자 이름을 가진 로컬 사용자이며 비밀번호 확인만 수행됩니다.

두 OS 모두 간단한 krb5.conf를 사용합니다.

    [libdefaults]
        default_realm = COMPANYA.COM

    [realms]
            COMPANYA.COM {
                    kdc = ad.companya.com:88
                    admin_server = ad.companya.com:749
            }
    
    [domain_realm]
            .companya.com = COMPANYA.COM
            companya.com = COMPANYA.COM

이것은 두 OS 모두에서 잘 작동합니다.

이제 B라는 회사가 생겨서 2차 AD도 생기는 상황이 되었습니다. 사용자는 두 AD 모두에서 사용할 수 없으며 한쪽 AD에서만 사용할 수 있습니다.

그래서 저는 AIX가 작업하기 가장 어려울 것이라고 생각하여 처음으로 AIX를 시작했습니다.

krb5.conf를 업데이트했습니다.

[libdefaults]
    default_realm = COMPANYA.COM

[realms]
        COMPANYA.COM {
                kdc = ad.companya.com:88
                admin_server = ad.companya.com:749
        }
        COMPANYB.COM {
                kdc = ad.companyb.com:88
                admin_server = ad.companyb.com:749
        }

[domain_realm]
        .companya.com = COMPANYA.COM
        companya.com = COMPANYA.COM
        .companyb.com = COMPANYB.COM
        companyb.com = COMPANYB.COM

약간의 조사 끝에 내가 해야 할 일은 다음과 같았습니다.

chuser auth_domain=COMPANYB.COM <user>

그러면 /etc/security/user 파일이 업데이트되고 Company B AD에 대한 비밀번호 유효성 검사가 수행됩니다. 그래서 나는 그것이 얼마나 쉬운 지에 놀랐습니다.

다음은 Linux(Ubuntu 박스)였습니다. 동일한 krb5.conf를 수행했지만 슬프게도 특정 사용자를 다른 AD로 지정하기 위해 Ubuntu에서 chuser에 해당하는 명령을 찾을 수 없습니다.

내가 찾을 수 있는 것은 sssd 사용 및 영역 가입에 관한 페이지입니다(두 개의 AD 도메인이 있는 Linux SSSD및/또는https://ubuntu.com/server/docs/service-sssd-ad) 그러나 이것이 필요한 것 이상입니다(영역 가입).

tcpdump와 kinit를 사용하여 지금까지 알아낸 것은 다음과 같습니다.

kinit [email protected] 
<password>
kinit: KDC reply did not match expectations while getting initial credentials

kinit [email protected]
<password>
<no error>

login [email protected]
<password>
access denied

login [email protected]
<password>
access denied

전체 대문자를 사용한 kinit가 작동했기 때문에 로그인이 가능할 것이라고 생각했지만 슬프게도 그렇지 않았습니다.

업데이트: 로그인[이메일 보호됨]사용자가 Linux 상자에서 다음과 같이 생성되면 작동합니다.[이메일 보호됨], 아직 만족스럽지 못해요

(사용자에게 도메인 전체 대문자를 사용하도록 요청하는 것이 현실적이지 않다는 사실을 잊음)

간단히 말해서 특정 사용자를 krb5.conf 파일의 기본 AD가 아닌 다른 AD로 지정하는 방법입니다.

문안 인사,

답변1

음, 지난 주에 조금 더 나아갔고 이것이 효과가 있는 것 같습니다. PAM이 어떻게 작동하는지에 대한 정확한 세부 사항은 아직 조사 중입니다.

/etc/pam.d/common-auth를 업데이트/변경했습니다.

원래의

auth   [success=2 default=ignore]      pam_krb5.so minimum_uid=1000
auth   [success=1 default=ignore]      pam_unix.so nullok try_first_pass

새로운 버전

auth    sufficient           pam_krb5.so minimum_uid=1000 realm=COMPANYA.COM
auth    sufficient           pam_krb5.so minimum_uid=1000 realm=COMPANYB.COM
auth    sufficient           pam_unix.so nullok try_first_pass

A사 사용자로 로그인 시 A사의 AD를 확인하고 해당 사용자가 존재하므로 비밀번호를 검증합니다. B사 사용자로 로그인 시 A사의 AD를 확인하는데 해당 사용자가 존재하지 않고 B사를 확인하러 가서 사용자가 존재하므로 비밀번호를 확인합니다.

AIX만큼 좋지는 않지만 그럼에도 불구하고 작동합니다.

문안 인사,

관련 정보