krb5.keytab 항목의 서비스 유형은 대문자여야 합니다.

krb5.keytab 항목의 서비스 유형은 대문자여야 합니다.

Linux 서버를 Active Directory 도메인에 가입시킬 때 자동으로 생성되는 keytab 항목에 문제가 있습니다. 먼저 내 프로세스에 대해 이야기하겠습니다.

  1. 필수 Linux 패키지 설치yum install realmd pam sssd adcli oddjob oddjob-mkhomedir samba-common-tools krb5-workstation
  2. Active Directory에서 컴퓨터 개체를 만들고 관련 SPN 항목(servicePrincipalName)을 추가합니다.
  3. 도메인 가입 수행realm join -v EXAMPLE.COM -U domainUser

가입 프로세스 중에 프로세스는 컴퓨터 개체의 SPN 항목과 직접 일치하는 항목이 포함된 krb5.keytab 파일을 자동으로 만듭니다. 따라서 SPN에 항목이 있는 경우[이메일 보호됨], 가입 프로세스는 keytab 항목을 생성합니다.[이메일 보호됨]. 문제는SPN의 이름에 대문자 서비스 유형이 있는 경우 키탭 생성 프로세스에서는 서비스 유형의 대소문자를 고려하지 않고 대신 키탭 항목이 소문자 서비스 유형을 갖도록 강제합니다. 따라서 SPN이HTTP 프로토콜/[이메일 보호됨], 그러면 키탭 생성기가 강제로http/[이메일 보호됨], 도메인 가입 프로세스 중. 내가 사용하는 애플리케이션이 작동하려면 이러한 항목이 일치해야 합니다(모두 대문자).

내 목표는 SPN(대문자 서비스 유형)과 일치하는 키 탭 항목을 갖는 것이며 내가 아는 한 두 가지 옵션이 있습니다.

  1. realm join서비스 유형의 대소문자를 동일하게 유지하도록 흐름을 수정하거나
  2. keytab 파일에 나만의 keytab 항목 만들기  

두 가지 옵션 모두에 문제가 있습니다. 첫 번째 옵션의 경우 변경할 수 있는 가입 프로세스를 찾을 수 없습니다. 두 번째 옵션에서는 나만의 항목을 만드는 데 사용할 수 있는 두 개의 앱을 찾았습니다. 이러한 응용 프로그램은 kadmin 및 ktutil입니다. kadmin에서 "필요한 KADM5 주체가 누락되었습니다..."라는 오류를 표시합니다(수정 방법을 모르겠습니다). ktutil 옵션도 사용할 수 있습니다. 단, 이 새 keytab 항목에 다른 keytab 항목에 사용되는 것과 동일한 비밀번호를 적용해야 하지만 이 비밀번호는 Active Directory에서 관리되며 얻을 수 없습니다.

이전에 이 문제를 겪은 사람이 있고 키탭 항목의 서비스 유형을 대문자로 유지하는 방법에 대한 해결책이 있습니까?

감사해요!

답변1

난 당신을 말할 것이다해서는 안 된다호스트의 keytab(컴퓨터 계정)에 이러한 SPN을 추가하여 시작하세요. Samba(cifs) 또는 SSH(호스트)와 같은 서비스는 이를 계속 사용할 수 있지만 그 밖의 모든 것(HTTP, imap 등)에는 별도의 자체 키가 있어야 합니다.자체 keytab 파일에 있습니다.(일반적으로 서비스가 AD의 기본 "호스트" "서비스 별칭" 목록에 없으면 컴퓨터 계정을 공유해서는 안 됩니다.)

Active Directory에서 추가 보안 주체(컴퓨터 계정과 연결되지 않음)를 만드는 일반적인 방법은 다음과 같습니다.사용자계정에 임의의 암호를 사용하고 필요한 SPN을 할당합니다. Active Directory는 MIT kadmin 프로토콜을 사용하지 않습니다. 관리는 LDAP를 통해 수행됩니다. Kerberos 주체를 만드는 유일한 방법은 servicePrincipalName이미 찾은 LDAP 속성입니다. (하지만 msDS-SupportedEncryptionTypes설정하는 것도 잊지 마세요!)

Samba 도구 를 사용 samba-tool spn add하면 .samba-tool domain exportkeytabktutilktpass.exe

다음과 같이 작동해야 합니다.

samba-tool user create HTTP-foo --random-password
samba-tool user setexpiry HTTP-foo --noexpiry
samba-tool spn add HTTP/foo.example.com HTTP-foo
net ads enctypes set HTTP-foo 24
samba-tool domain exportkeytab HTTP.keytab --principal=HTTP/foo.example.com

관련 정보