다음을 통해 공유


신뢰할 수 있는 도메인의 리소스에 액세스할 때 "지원되지 않는 etype" 오류

원본 KB 번호: 4492348

증상

AD DS(Active Directory Domain Services) 포리스트의 자식 도메인에 있는 컴퓨터는 동일한 포리스트 내의 다른 도메인에 있는 서비스에 액세스할 수 없습니다. 클라이언트 컴퓨터와 통신에서 네트워크 추적을 실행하는 경우 추적에는 다음 Kerberos 메시지가 포함됩니다.

6 9:35:19 AM 8/14/2018   17.8417442   192.168.1.101   192.168.1.2  KerberosV5   KerberosV5:AS Request Cname: Administrator Realm: contoso.com Sname: krbtgt/contoso.com   {TCP:4, IPv4:1}  
  
7 9:35:19 AM 8/14/2018   17.8452544   192.168.1.2   192.168.1.101  KerberosV5   KerberosV5:KRB_ERROR - KDC_ERR_ETYPE_NOSUPP (14)  {TCP:4, IPv4:1}  

자식 도메인의 도메인 컨트롤러에서 이벤트 뷰어는 다음 이벤트 14 항목을 기록합니다.

Log Name: System  
Source: Microsoft-Windows-Kerberos-Key-Distribution-Center  
Event ID: 14  
Task Category: None  
Level: Error  
Keywords: Classic  
Description:  
While processing an AS request for target service krbtgt, the account Administrator did not have a suitable key for generating a Kerberos ticket (the missing key has an ID of 1). The requested etypes : 18 17 3. The accounts available etypes : 23 -133 -128. Changing or resetting the password of Administrator will generate a proper key.  

원인

이 문제는 다음과 같이 자식 도메인(또는 클라이언트만)을 구성할 때 발생합니다.

  • RC4_HMAC-MD5 암호화 유형을 사용하지 않도록 설정하고 AES128-CTS-HMAC-SHA1-96 및 AES256-CTS-HMAC-SHA1-96 암호화 유형을 사용하도록 설정합니다.
  • NTLM 인증을 사용하지 않도록 설정합니다.

Kerberos 암호화 유형

RC4 암호화는 최신 암호화 유형인 AES128-CTS-HMAC-SHA1-96 및 AES256-CTS-HMAC-SHA1-96보다 덜 안전한 것으로 간주됩니다. Windows 10 보안 기술 구현 가이드와 같은 보안 가이드는 AES128 및/또는 AES256 암호화만 사용하도록 구성하여 컴퓨터의 보안을 개선하기 위한 지침을 제공합니다(DES 및 RC4 암호화 도구 모음을 사용하지 않도록 Kerberos 암호화 유형을 구성해야 함 참조).

이러한 클라이언트는 AES128 또는 AES256 암호화를 사용하는 자체 도메인 내의 서비스에 계속 연결할 수 있습니다. 그러나 다른 요인으로 인해 해당 서비스에서 AES128 또는 AES256 암호화를 사용하더라도 클라이언트가 다른 신뢰할 수 있는 도메인의 유사한 서비스에 연결하지 못할 수 있습니다.

매우 높은 수준에서 DC(도메인 컨트롤러)는 자체 도메인 내에서 액세스 요청을 관리할 책임이 있습니다. Kerberos 인증 프로세스의 일부로 DC는 클라이언트와 서비스 둘 다 동일한 Kerberos 암호화 유형을 사용할 수 있는지 확인합니다. 그러나 클라이언트가 신뢰할 수 있는 다른 도메인의 서비스에 대한 액세스를 요청하는 경우 클라이언트의 DC는 클라이언트를 서비스 도메인의 DC에 "참조"해야 합니다. DC가 추천 티켓을 빌드할 때 클라이언트와 서비스의 암호화 유형을 비교하는 대신 클라이언트의 암호화 유형과 트러스트를 비교합니다.

신뢰 자체의 구성으로 인해 문제가 발생합니다. Active Directory에서 도메인 개체에는 신뢰할 수 있는 각 도메인을 나타내는 TDO(신뢰할 수 있는 도메인 개체)가 있습니다. TDO의 특성은 트러스트가 지원하는 Kerberos 암호화 유형을 포함하여 트러스트 관계를 설명합니다. 자식 도메인과 부모 도메인 간의 기본 관계는 RC4 암호화 유형을 지원하는 양방향 전이적 트러스트입니다. 부모 도메인과 자식 도메인에는 암호화 유형을 포함하여 이 관계를 설명하는 TDO가 있습니다.

클라이언트가 DC에 child.contoso.com 연결하여 서비스에 대한 액세스를 요청하면 DC는 서비스가 신뢰할 수 있는 도메인 contoso.com에 있는지 확인합니다. DC는 트러스트 구성을 확인하여 트러스트가 지원하는 암호화 유형을 식별합니다. 기본적으로 트러스트는 RC4 암호화를 지원하지만 AES128 또는 AES256 암호화는 지원하지 않습니다. 반면 클라이언트는 RC4 암호화를 사용할 수 없습니다. DC는 일반적인 암호화 유형을 식별할 수 없으므로 조회 티켓을 작성할 수 없으며 요청이 실패합니다.

NTLM 인증

Kerberos 인증이 실패하면 클라이언트는 NTLM 인증으로 대체하려고 시도합니다. 그러나 NTLM 인증을 사용하지 않도록 설정한 경우 클라이언트에는 다른 대안이 없습니다. 따라서 연결 시도가 실패합니다.

해결 방법

이 문제를 해결하려면 다음 방법 중 하나를 사용하십시오.

  • 방법 1: RC4 암호화 외에도 AES128 및 AES 256 암호화를 지원하도록 트러스트를 구성합니다.
  • 방법 2: AES128 및 AES256 암호화 외에도 RC4 암호화를 지원하도록 클라이언트를 구성합니다.
  • 방법 3: RC4 암호화 대신 AES128 및 AES 256 암호화를 지원하도록 트러스트를 구성합니다.

선택은 보안 요구 사항과 중단을 최소화하거나 이전 버전과의 호환성을 유지해야 하는 필요성에 따라 달라집니다.

방법 1: RC4 암호화 외에도 AES128 및 AES 256 암호화를 지원하도록 트러스트 구성

이 메서드는 최신 암호화 형식을 트러스트 구성에 추가하고 클라이언트 또는 서비스를 변경할 필요가 없습니다. 이 메서드에서는 명령줄 도구를 사용하여 ksetup 트러스트를 구성합니다.

트러스트의 Kerberos 암호화 유형을 구성하려면 신뢰할 수 있는 도메인의 DC에서 명령 프롬프트 창을 열고 다음 명령을 입력합니다.

ksetup /setenctypeattr <trustingdomain> RC4-HMAC-MD5 AES128-CTS-HMAC-SHA1-96 AES256-CTS-HMAC-SHA1-96

참고

이 명령 <에서 trustingdomain> 은 트러스트 도메인의 FQDN(정규화된 도메인 이름)을 나타냅니다.

루트 도메인(서비스가 있는 위치)이고 child.contoso.com 자식 도메인(클라이언트가 있는 위치)인 예제 contoso.com 에서 DC에서 contoso.com 명령 프롬프트 창을 열고 다음 명령을 입력합니다.

ksetup /setenctypeattr child.contoso.com RC4-HMAC-MD5 AES128-CTS-HMAC-SHA1-96 AES256-CTS-HMAC-SHA1-96

이 명령이 완료되면 DC는 클라이언트가 child.contoso.com DC에 도달하는 contoso.com 데 사용할 수 있는 추천 티켓을 성공적으로 빌드할 수 있습니다.

두 도메인 간의 관계는 양방향 전이적 트러스트이므로 DC에서 명령 프롬프트 창을 열어 트러스트의 다른 쪽을 child.contoso.com 구성한 다음 다음 명령을 입력합니다.

ksetup /setenctypeattr contoso.com RC4-HMAC-MD5 AES128-CTS-HMAC-SHA1-96 AES256-CTS-HMAC-SHA1-96

이 명령이 완료되면 DC는 contoso.com RC4 암호화를 사용할 수 없지만 에서 contoso.com 리소스를 사용해야 하는 의 모든 클라이언트에 child.contoso.com대한 조회 티켓을 빌드할 수 있습니다.

ksetup 도구에 대한 자세한 내용은 ksetup을 참조하세요.

방법 2: AES128 및 AES256 암호화 외에 RC4 암호화를 지원하도록 클라이언트 구성

이 메서드에는 신뢰 대신 클라이언트의 구성을 변경하는 작업이 포함됩니다. 단일 클라이언트의 구성을 변경하거나 그룹 정책을 사용하여 도메인에서 여러 클라이언트의 구성을 변경할 수 있습니다. 그러나 이 구성 변경의 주요 단점은 보안을 개선하기 위해 RC4 암호화를 사용하지 않도록 설정한 경우 해당 변경 내용을 롤백할 수 없다는 것입니다.

클라이언트에서 사용할 수 있는 암호화 유형을 변경하는 전체 지침은 Kerberos 지원 암호화 유형에 대한 Windows 구성을 참조하세요.

방법 3: RC4 암호화 대신 AES128 및 AES 256 암호화를 지원하도록 트러스트 구성

이 메서드는 트러스트 특성을 구성한다는 의 메서드 1과 유사합니다.

Windows 포리스트 트러스트의 경우 트러스트의 양쪽 모두 AES를 지원합니다. 따라서 트러스트의 모든 티켓 요청은 AES를 사용합니다. 그러나 추천 티켓을 검사하는 타사 Kerberos 클라이언트는 티켓이 클라이언트가 지원하지 않는 암호화 유형을 사용한다고 알릴 수 있습니다. 이러한 클라이언트가 티켓을 계속 검사할 수 있도록 AES를 지원하도록 업데이트합니다.

이 메서드를 사용하는 경우 Active Directory 도메인 및 트러스트 MMC 스냅인을 사용하여 트러스트를 구성합니다. 이 메서드를 사용하려면 다음 단계를 수행합니다.

  1. Active Directory 도메인 및 트러스트에서 신뢰할 수 있는 도메인 개체(예contoso.com에서)로 이동합니다. 개체를 마우스 오른쪽 단추로 클릭하고 속성을 선택한 다음 트러스트를 선택합니다.

  2. 이 도메인을 신뢰하는 도메인(들어오는 트러스트) 상자에서 신뢰할 수 있는 도메인(예: child.domain.com)을 선택합니다.

  3. 속성을 선택하고 다른 도메인에서 Kerberos AES 암호화를 지원합니다를 선택한 다음 확인을 선택합니다.

    자식 도메인의 속성 스크린샷 및 속성 창에는 Kerberos AES 암호화를 지원하는 다른 도메인 확인란이 포함되어 있습니다.

    참고

    신뢰 구성의 유효성을 검사하려면 신뢰 도메인 대화 상자에서 유효성 검사를 선택합니다.

    중요

    단방향 트러스트의 경우 신뢰할 수 있는 도메인은 트러스트 도메인을 들어오는 트러스트로 나열하고 트러스트 도메인은 신뢰할 수 있는 도메인을 나가는 트러스트로 나열합니다.

    관계가 양방향 트러스트인 경우 각 도메인은 다른 도메인을 들어오는 트러스트와 나가는 트러스트로 나열합니다. 이 구성에서 이 도메인(들어오는 트러스트)을 신뢰하는 도메인과 이 도메인에서 신뢰할 수 있는 도메인(나가는 트러스트)의 도메인 구성을 모두 확인해야 합니다. 두 경우 모두 확인란을 선택해야 합니다.

  4. 트러스트 탭에서 확인을 클릭합니다.

  5. 신뢰할 수 있는 도메인()에 대한 도메인 개체로child.contoso.com 이동합니다.

  6. 1-4단계를 반복하여 이 도메인에 대한 트러스트 구성이 다른 도메인에 대한 트러스트 구성을 미러링하는지 확인합니다(이 경우 들어오는 트러스트 목록과 나가는 트러스트 목록에 포함 contoso.com됨).

추가 정보

TDO에 대한 자세한 내용은 다음 문서를 참조하세요.

Kerberos 암호화 유형에 대한 자세한 내용은 다음 문서를 참조하세요.