Isilon: FQDN을 통한 인증 실패, 오류 "KRB5KRB_AP_ERR_MODIFIED"
Summary: Isilon 공유 FQDN에 액세스하는 동안 문제가 발생했습니다. IP를 통해 동일한 것에 액세스할 수 있습니다. FQDN을 사용하면 Kerberos 인증이 실패하지만 IP 주소를 사용하면 NTLM 인증이 성공합니다. "Kerberos 데이터베이스에서 서버를 찾을 수 없음"
Symptoms
FQDN을 통한 인증이 실패하고 다음 오류 메시지가 표시됩니다. lsassd.log:
cluster-2: 2019-06-11T08:15:02-07:00 <30.4> cluster-2 lsass[4680]: [LwKrb5InitializeUserLoginCredentialsS4U /b/mnt/src/isilon/fsp/lwadvapi/threaded/lwkrb5.c:1394] KRB5 Error code: -1765328377 (Message: Server not found in Kerberos database)
이 메시지는 다음을 나타냅니다. Isilon은 Isilon이 제공해야 하는 서비스 중 하나를 요청하는 클라이언트를 인식할 수 없습니다. 이로 인해 클라이언트가 Isilon이 인식하고 암호화를 해제할 수 있는 유효한 티켓이 없으므로 Kerberos가 페일오버됩니다.
Isilon [10.17.0.154]에서 세션 설정 요청에 대해 클라이언트 [10.106.12.162]로 "KRB5KRB_AP_ERR_MODIFIED" 패킷을 다시 보내는 경우 네트워크 추적을 통해 동일한 메시지를 해석할 수 있습니다.
Cause
이는 여러 가지 이유로 발생할 수 있지만 가장 일반적인 이유는 다음과 같습니다.
- 포리스트 내에 동일한 SPN을 가진 계정이 있습니다. 경우에 따라 KDC가 KRB_S_PRINCIPAL_UNKNOWN의 오류를 반환하지만 서비스[여기에서는 Isilon]가 암호화를 해제할 수 없는 Kerberos 티켓을 제공하여 KRB5KRB_AP_ERR_MODIFIED 가져오는 경우도 있습니다.
- 서비스 주체 이름이 잘못된 Active Directory 계정(컴퓨터 또는 사용자)에 있습니다. 이 경우에도 SPN이 중복되는 경우입니다.
- 서비스를 실행하는 Active Directory 계정이 암호를 업데이트/변경했으며 Active Directory 복제 대기 시간 또는 Active Directory 복제 문제로 인해 문제가 발생합니다.
여기서 클라이언트는 FQDN을 사용하여 Isilon 공유에 액세스하려고 합니다."mixed.isilon.com".
이제 이 시도의 네트워크 추적을 살펴보겠습니다.
1. "mixed.isilon.com"에 대한 적절한 이름 확인과 DNS 서버가 IP 주소 10.17.0.156(프레임 5042 및 5049)
2로 응답하는 것을 볼 수 있습니다. 그런 다음 머신은 도메인 컨트롤러에서 TGT를 가져옵니다(AS-REQ 및 AS-REP 참조)(프레임 5082 및 5093)
3. 그런 다음 머신은 "mixed.isilon.com"(프레임 5101 및 5104)에 대한 서비스 티켓을 요청하고 가져옵니다. 아래에서 볼 수 있듯이 컴퓨터는 "mixed.isilon.com"
CName이 클라이언트 이름을 나타내고 SName이 서비스 이름
4를 나타내는 Kerberos 티켓을 요청했습니다. 그런 다음 컴퓨터는 Isilon으로 돌아가 도메인 컨트롤러(프레임 5107 및 5111)에서 방금 받은 Kerberos 티켓을 사용하여 인증을 시도합니다. 인증 중에 Isilon은 KRB5KRB_AP_ERR_MODIFIED(프레임 5111)로 응답합니다.
3단계에서 볼 수 있듯이 클라이언트는 영역 "ISILON.COM"에서 Kerberos 티켓을 가져오고 이 시나리오에서는 클러스터가 신뢰할 수 있는 도메인에서 "CORP.COM"에 가입되어 있습니다. 즉 , ISILON.COM 에 등록된 중복 SPN이 있고 클러스터가 CORP.COM 를 사용하여 인증하기 때문에 Isilon에서 클라이언트가 제공한 티켓을 암호화를 해제할 수 없습니다. 이로 인해 인증이 실패합니다.
중복된 SPN 존재의 예:
SPN이 각각 ISILON.COM 및 CORP.COM 에 나열됨
/usr/bin/isi --timeout=15 auth ads spn list ISILON.COM
SPN
--------------------------------------
nfs/mixed.isilon.com
HOST/mixed.isilon.com <===========================
nfs/synciq.isilon.com
HOST/synciq.isilon.com
nfs/cifs.isilon.com
HOST/cifs.isilon.com
--------------------------------------
Total: 6
/usr/bin/isi --timeout=15 auth ads spn list CORP.COM
SPN
--------------------------------------
nfs/mixed.isilon.com
HOST/mixed.isilon.com <===========================
nfs/synciq.isilon.com
HOST/synciq.isilon.com
nfs/cifs.isilon.com
HOST/cifs.isilon.com
--------------------------------------
Total: 6
Resolution
신뢰할 수 있는 도메인을 확인하고 Isilon이 연결된 도메인과 신뢰할 수 있는 도메인에서 SPN을 복제합니다.
신뢰할 수 있는 도메인을 확인하려면 다음을 수행합니다.
# isi auth ads trusts list --provider-name=<Domain name cluster is joined to>
- 도메인에 있는 SPN을 나열하려면 다음을 수행합니다.
# isi auth ads spn list --provider-name=<Domain name>
중복된 SPN이 있고 기본 도메인만 인증에 사용되는 경우 KB OneFS: Active Directory에서 중복된 SPN(Service Principal Name)을 찾아 SMB 클라이언트가 클러스터에 인증하지 못하게 하는 방법
Additional Information