이 문서에서는 Kerberos 버전 5 인증 프로토콜 및 KDC(키 배포 센터) 구성에 대한 레지스트리 항목을 설명합니다.
원래 KB 번호: 837361
요약
Kerberos는 사용자 또는 호스트 ID를 확인하는 데 사용되는 인증 메커니즘입니다. Kerberos는 Windows 서비스의 기본 인증 방법입니다.
Windows를 실행하는 경우 Kerberos 매개 변수를 수정하여 Kerberos 인증 문제를 해결하거나 Kerberos 프로토콜을 테스트할 수 있습니다. 이렇게 하려면 다음 섹션에 나열된 레지스트리 항목을 추가하거나 수정합니다.
Important
이 절, 방법 또는 작업에는 레지스트리를 수정하는 방법에 대한 단계가 포함되어 있습니다. 그러나 레지스트리를 잘못 수정하면 심각한 문제가 발생할 수 있습니다. 따라서 다음 단계를 신중하게 수행해야 합니다. 추가 보호를 위해 레지스트리를 수정하기 전에 백업합니다. 그러면 문제가 발생할 경우 레지스트리를 복원할 수 있습니다. 레지스트리를 백업하고 복원하는 방법에 대한 자세한 내용은 Windows에서 레지스트리를 백업 및 복원하는 방법을 참조하십시오.
참고 항목
Kerberos 프로토콜 문제 해결 또는 테스트를 완료한 후 추가한 레지스트리 항목을 제거합니다. 그렇지 않으면 컴퓨터의 성능에 영향을 미칠 수 있습니다.
매개 변수 키 아래의 레지스트리 항목 및 값
이 섹션에 나열된 레지스트리 항목은 다음 레지스트리 하위 키에 추가되어야 합니다.
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\Kerberos\Parameters
참고 항목
Kerberos 아래에 매개 변수 키가 나열되지 않은 경우 키를 만들어야 합니다.
항목: SkewTime
유형: REG_DWORD
기본값: 5(분)
이 값은 클라이언트 컴퓨터와 Kerberos 인증 또는 KDC를 수락하는 서버 간에 허용되는 최대 시간 차이입니다.
참고 항목
SkewTime은 다시 사용할 Kerberos 티켓 유효성을 결정할 때 고려됩니다. 만료 시간이 현재 시간 + SkewTime보다 작은 경우 티켓이 만료된 것으로 간주됩니다. 예를 들어 SkewTime이 20분으로 설정되고 현재 시간이 08:00인 경우 만료 시간이 08:20 이전인 티켓은 만료된 것으로 간주됩니다.
항목: LogLevel
유형: REG_DWORD
기본값: 0
이 값은 이벤트가 시스템 이벤트 로그에 기록되는지 여부를 나타냅니다. 이 값을 0이 아닌 값으로 설정하면 모든 Kerberos 관련 이벤트가 시스템 이벤트 로그에 기록됩니다.
참고 항목
기록된 이벤트에는 Kerberos 클라이언트가 성공한 다른 요청 플래그로 다시 시도되는 가양성도 포함될 수 있습니다. 따라서 이 설정에 따라 기록된 이벤트가 표시될 때 Kerberos 문제가 있다고 가정하지 마세요. 자세한 내용은 Kerberos 이벤트 로깅을 사용하도록 설정하는 방법을 참조하세요.
항목: MaxPacketSize
유형: REG_DWORD
기본값: 1465(바이트)
이 값은 최대 UDP(사용자 데이터그램 프로토콜) 패킷 크기입니다. 패킷 크기가 이 값을 초과하면 TCP가 사용됩니다.
Windows Vista 이상 버전의 Windows에서 이 값의 기본값은 0이므로 UDP는 Windows Kerberos 클라이언트에서 사용되지 않습니다.
항목: StartupTime
유형: REG_DWORD
기본값: 120(초)
이 값은 Windows가 포기하기 전에 Windows가 KDC가 시작될 때까지 기다리는 시간입니다.
항목: KdcWaitTime
유형: REG_DWORD
기본값: 10(초)
이 값은 Windows가 KDC의 응답을 기다리는 시간입니다.
항목: KdcBackoffTime
유형: REG_DWORD
기본값: 10(초)
이 값은 이전 호출이 실패한 경우 KDC에 대한 연속 호출 사이의 시간입니다.
항목: KdcSendRetries
유형: REG_DWORD
기본값: 3
이 값은 클라이언트가 KDC에 연결하려고 시도하는 횟수입니다.
항목: DefaultEncryptionType
유형: REG_DWORD
이 값은 사전 인증에 대한 기본 암호화 유형을 나타냅니다. 기본값은 AES256의 경우 18진수입니다.
가능한 다른 값:
- AES128의 경우 17진수
- RC4 HMAC의 경우 23 소수점
이 값은 사전 인증에 대한 기본 암호화 유형을 나타냅니다.
항목: FarKdcTimeout
유형: REG_DWORD
기본값: 10(분)
도메인 컨트롤러 캐시의 다른 사이트에서 도메인 컨트롤러를 무효화하는 데 사용되는 시간 초과 값입니다.
항목: NearKdcTimeout
유형: REG_DWORD
기본값: 30(분)
도메인 컨트롤러 캐시의 동일한 사이트에서 도메인 컨트롤러를 무효화하는 데 사용되는 제한 시간 값입니다.
항목: StronglyEncryptDatagram
형식: REG_BOOL
기본값: False
이 값에는 데이터그램 패킷에 128비트 암호화를 사용할지 여부를 나타내는 플래그가 포함되어 있습니다.
항목: MaxReferralCount
유형: REG_DWORD
기본값: 6
이 값은 클라이언트가 포기하기 전에 클라이언트가 추구하는 KDC 조회 수입니다.
항목: MaxTokenSize
유형: REG_DWORD
기본값: 12000(10진수). Windows Server 2012 및 Windows 8부터 기본값은 48000입니다.
이 값은 Kerberos 토큰의 최대값입니다. 이 값을 65535 미만으로 설정하는 것이 좋습니다. 자세한 내용은 사용자가 여러 그룹에 속하는 경우 Kerberos 인증 문제를 참조하세요.
항목: SpnCacheTimeout
유형: REG_DWORD
기본값: 15분
이 값은 SPN(서비스 사용자 이름) 캐시 항목을 삭제할 때 시스템에서 사용됩니다. 도메인 컨트롤러에서 SPN 캐시를 사용할 수 없습니다. 클라이언트 및 멤버 서버는 이 값을 사용하여 음수 캐시 항목(SPN을 찾을 수 없음)을 제거합니다. 유효한 SPN 캐시 항목(예: 음수 캐시 아님)은 15분 후에 삭제되지 않습니다. 그러나 SPNCacheTimeout 값은 SPN 캐시를 관리 가능한 크기로 줄이는 데도 사용됩니다. SPN 캐시가 350개 항목에 도달하면 시스템에서 이 값을 이전 및 사용되지 않은 항목에
scavenge / cleanup
사용합니다.
항목: S4UCacheTimeout
유형: REG_DWORD
기본값: 15분
이 값은 특정 컴퓨터의 S4U 프록시 요청 수를 제한하는 데 사용되는 S4U 음수 캐시 항목의 수명입니다.
항목: S4UTicketLifetime
유형: REG_DWORD
기본값: 15분
이 값은 S4U 프록시 요청에서 얻은 티켓의 수명입니다.
항목: RetryPdc
유형: REG_DWORD
기본값: 0(false)
가능한 값: 0(false) 또는 0이 아닌 값(true)
이 값은 클라이언트가 암호 만료 오류를 수신하는 경우 클라이언트가 AS_REQ(인증 서비스 요청)에 대한 기본 도메인 컨트롤러에 연결할지 여부를 나타냅니다.
항목: RequestOptions
유형: REG_DWORD
기본값: RFC 1510 값
이 값은 TGS_REQ(Ticket Granting Service) 요청에서 KDC 옵션으로 전송해야 하는 옵션이 더 있는지 여부를 나타냅니다.
항목: ClientIpAddresses
유형: REG_DWORD
기본값: 0(동적 호스트 구성 프로토콜 및 네트워크 주소 변환 문제로 인해 이 설정은 0입니다.)
가능한 값: 0(false) 또는 0이 아닌 값(true)
이 값은 필드가 모든 티켓에 IP 주소를 포함하도록 AS_REQ
Caddr
클라이언트 IP 주소를 추가할지 여부를 나타냅니다.클라이언트 주소가 필요한 타사 영역의 경우 주소를 선택적으로 사용하도록 설정할 수 있습니다.
관리자 권한으로 명령 프롬프트 창을 엽니다.
다음 명령을 실행합니다.
ksetup /setrealmflags <your Kerberos realm name> sendaddress
스위치를
/server
사용하여 ksetup이 원격 컴퓨터에서 변경하도록 할 수 있습니다.
항목: TgtRenewalTime
유형: REG_DWORD
기본값: 600초
이 값은 티켓이 만료되기 전에 Kerberos가 TGT(티켓 부여 티켓)를 갱신하기 전에 대기하는 시간입니다.
항목: AllowTgtSessionKey
유형: REG_DWORD
기본값: 0
가능한 값: 0(false) 또는 0이 아닌 값(true)
이 값은 세션 키를 초기 또는 교차 영역 TGT 인증으로 내보낼지 여부를 나타냅니다. 기본값은 보안상의 이유로 false입니다.
참고 항목
Windows 10 이상 버전의 Windows에서 활성 Credential Guard를 사용하면 더 이상 애플리케이션과 TGT 세션 키를 공유할 수 없습니다.
Kdc 키 아래의 레지스트리 항목 및 값
이 섹션에 나열된 레지스트리 항목은 다음 레지스트리 하위 키에 추가되어야 합니다.
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Kdc
참고 항목
Kdc 키가 서비스 아래에 나열되지 않은 경우 키를 만들어야 합니다.
항목: KdcUseClientAddresses
유형: REG_DWORD
기본값: 0
가능한 값: 0(false) 또는 0이 아닌 값(true)
이 값은 ip 주소가 TGS_REP(Ticket-Granting Service Reply)에 추가될지 여부를 나타냅니다.
항목: KdcDontCheckAddresses
유형: REG_DWORD
기본값: 1
가능한 값: 0(false) 또는 0이 아닌 값(true)
이 값은 TGS_REQ 및 TGT
Caddr
필드의 IP 주소를 확인할지 여부를 나타냅니다.
항목: NewConnectionTimeout
유형: REG_DWORD
기본값: 10(초)
이 값은 연결을 끊기 전에 초기 TCP 엔드포인트 연결을 열어 데이터를 수신하는 시간입니다.
항목: MaxDatagramReplySize
유형: REG_DWORD
기본값: 1465(10진수, 바이트)
이 값은 TGS_REP 및 AS_REP(인증 서비스 회신) 메시지의 최대 UDP 패킷 크기입니다. 패킷 크기가 이 값을 초과하면 KDC는 클라이언트가 TCP로 전환하도록 요청하는 "KRB_ERR_RESPONSE_TOO_BIG" 메시지를 반환합니다.
참고 항목
MaxDatagramReplySize를 늘리면 Kerberos UDP 패킷이 조각화될 가능성이 높아질 수 있습니다.
이 문제에 대한 자세한 내용은 Windows에서 UDP 대신 Kerberos가 TCP를 사용하도록 강제 적용하는 방법을 참조 하세요.
항목: KdcExtraLogLevel
유형: REG_DWORD
기본값: 2
가능한 값:
- 1(10진수) 또는 0x1(16진수): 보안 이벤트 로그에서 알 수 없는 SPN 오류를 감사합니다. 이벤트 ID 4769는 실패한 감사와 함께 기록됩니다.
- 2(10진수) 또는 0x2(16진수): PKINIT 오류를 기록합니다. 그러면 KDC 경고 이벤트 ID 21(기본적으로 사용)이 시스템 이벤트 로그에 기록됩니다. PKINIT는 Kerberos의 초기 인증을 위한 공개 키 암호화를 위한 IETF(인터넷 엔지니어링 태스크 포스) 인터넷 초안입니다.
- 4(10진수) 또는 0x4(16진수): 모든 KDC 오류를 기록합니다. 그러면 KDC 이벤트 ID 24(U2U 필수 문제 예)가 시스템 이벤트 로그에 기록됩니다.
- 8(10진수) 또는 0x8(16진수): S4U2Self 티켓을 요청하는 사용자가 대상 사용자에 대한 충분한 액세스 권한이 없는 경우 시스템 로그에 KDC 경고 이벤트 ID 25를 기록합니다.
- 16(10진수) 또는 0x10(16진수): ETYPE(암호화 유형) 및 잘못된 옵션 오류에 대한 감사 이벤트를 기록합니다. 이 값은 KDC가 이벤트 로그 및 보안 이벤트 로그의 감사에 쓸 정보를 나타냅니다. 이벤트 ID 4769는 실패한 감사와 함께 기록됩니다.
항목: DefaultDomainSupportedEncTypes
유형: REG_DWORD
기본값: 0x27
가능한 값:
기본값은 0x27(DES, RC4, AES 세션 키)입니다. 이 값은 AES 암호화 티켓과 AES 세션 키 모두를 허용하므로 보안 강화를 위해 값을 0x3C 설정하는 것이 좋습니다. Kerberos 프로토콜에 RC4가 사용되지 않는 AES 전용 환경으로 이동하는 경우 값을 0x38 설정하는 것이 좋습니다.
이 값은 AES를 기본 암호화 유형으로 표시되지 않은 계정의 세션 키에 대한 기본 암호화 유형으로 설정합니다.
자세한 내용은 KB5021131: CVE-2022-37966과 관련된 Kerberos 프로토콜 변경 내용을 관리하는 방법을 참조하세요.