다음을 통해 공유


애플리케이션 검증 도구 - 코드 중지 - NTLM

다음 중지 코드는 이 테스트 집합에 포함되어 있습니다.

AcquireCredentialsHandle은 NTLM 자격 증명을 명시적으로 획득합니다.

가능한 원인

AcquireCredentialsHandle은 pszPackage = 'NTLM'을 사용하여 애플리케이션에서 직접 또는 간접적으로 호출됩니다. 이 문제를 해결하려면 '협상'을 사용해야 합니다. 잘못된 호출의 예: AcquireCredentialsHandle( ... 'NTLM', // pszPackage ... ); 좋은 호출의 예: AcquireCredentialsHandle( ... 'Negotiate', // pszPackage ... ); 이 중지 코드에 대한 자세한 내용은 도움말을 참조하세요.

애플리케이션 검증 도구에서 표시하는 정보
  • 매개 변수 1  - 사용되지 않습니다.
  • 매개 변수 2  - 사용되지 않습니다.
  • 매개 변수 3  - 사용되지 않습니다.
  • 매개 변수 4  - 사용되지 않습니다.

추가 정보
  • 테스트 계층:  NTLMCaller
  • 중지 ID:  ACH_EXPLICIT_NTLM_PACKAGE
  • 중지 코드:  5000000
  • 심각도:  오류
  • 일회성 오류:  아니요
  • 오류 보고서:  휴식
  • 파일에 로그:  예
  • 백트레이스 만들기:  예

AcquireCredentialsHandle은 NTLM 자격 증명을 선호합니다. PackageList 값은 Param1을 참조하세요.

가능한 원인

AcquireCredentialsHandle은 pszPackage = 'Negotiate'를 사용하여 애플리케이션에서 직접 또는 간접적으로 호출됩니다. 그러나 NTLM은 제공된 자격 증명(pAuthData)에서 선호됩니다. 잘못된 호출의 예: AcquireCredentialsHandle( ... 'Negotiate', // pszPackage ... pAuthData, // pAuthData, ((SEC_WINNT_AUTH_IDENTITY_EX*)pAuthData)->PackageList는 'NTLM' 또는 'NTLM,KERBEROS' 등입니다. ... 좋은 호출의 예: AcquireCredentialsHandle( ... 'Negotiate', // pszPackage ... pAuthData, // pAuthData, ((SEC_WINNT_AUTH_IDENTITY_EX*)pAuthData)->PackageList = NULL 또는 NTLM은 덜 선호됩니다. ... ); 이 중지 코드에 대한 자세한 내용은 도움말을 참조하세요.

애플리케이션 검증 도구에서 표시하는 정보
  • 형식:  - Packagelist: %.*hs%.*ws
  • 매개 변수 1  - PackageList.
  • 매개 변수 2  - 사용되지 않습니다.
  • 매개 변수 3  - 사용되지 않습니다.
  • 매개 변수 4  - 사용되지 않습니다.

추가 정보
  • 테스트 계층:  NTLMCaller
  • 중지 ID:  ACH_IMPLICITLY_USE_NTLM
  • 중지 코드:  5000001
  • 심각도:  오류
  • 일회성 오류:  아니요
  • 오류 보고서:  휴식
  • 파일에 로그:  예
  • 백트레이스 만들기:  예

AcquireCredentialsHandle은 실수로 '-NTLM'을 사용하여 NTLM 자격 증명을 제외합니다. PackageList 값은 Param1을 참조하세요.

가능한 원인

AcquireCredentialsHandle은 제공된 자격 증명(pAuthData)이 있는 애플리케이션에서 직접 또는 간접적으로 호출되며, '-NTLM'은 NTLM 자격 증명을 제외하는 데 실수로 사용됩니다. '! 이 문제를 해결하려면 NTLM'을 사용해야 합니다. 잘못된 호출의 예: AcquireCredentialsHandle( ... 'Negotiate', // pszPackage ... pAuthData, // pAuthData, ((SEC_WINNT_AUTH_IDENTITY_EX*)pAuthData)->PackageList는 '-NTLM'을 사용합니다. ... ); 좋은 호출의 예: AcquireCredentialsHandle( ... 'Negotiate', // pszPackage ... pAuthData, // pAuthData, ((SEC_WINNT_AUTH_IDENTITY_EX*)pAuthData)->PackageList는 '! NTLM'. ... ); 이 중지 코드에 대한 자세한 내용은 도움말을 참조하세요.

애플리케이션 검증 도구에서 표시하는 정보
  • 형식:  - PackageList: %.*hs%.*ws
  • 매개 변수 1  - PackageList.
  • 매개 변수 2  - 사용되지 않습니다.
  • 매개 변수 3  - 사용되지 않습니다.
  • 매개 변수 4  - 사용되지 않습니다.

추가 정보
  • 테스트 계층:  NTLMCaller
  • 중지 ID:  ACH_BAD_NTLM_EXCLUSION
  • 중지 코드:  5000002
  • 심각도:  오류
  • 일회성 오류:  아니요
  • 오류 보고서:  휴식
  • 파일에 로그:  예
  • 백트레이스 만들기:  예

InitializeSecurityContext는 Kerberos 서비스에 NULL 대상 또는 잘못된 형식의 대상을 사용합니다. 대상 값은 pszTargetName을 참조하세요.

가능한 원인

InitializeSecurityContext는 pszTargetName이 NULL이거나 형식이 잘못된 애플리케이션에 의해 직접 또는 간접적으로 호출되며, Kerberos는 협상할 수 없습니다. Kerberos를 사용하기 위해 이 문제를 해결하기 위한 지침은 다음과 같이 제공됩니다. (1) 클라이언트 애플리케이션이 인증하는 서비스는 해당 SPN을 포리스트에 고유하게 등록해야 합니다. (2) 이 SPN이 등록된 상태에서 ID, 도메인 사용자 또는 컴퓨터 계정으로 서비스를 실행해야 합니다. (3) 이 SPN을 사용하여 InitializedSecuirtyContext를 호출해야 합니다. 잘못된 호출의 예: InitializeSecurityContext( ... NULL, // pszTargetName ... ); 잘못된 호출의 또 다른 예: InitializeSecurityContext( ... '\\\\localhost', // pszTargetName ... ); 좋은 호출의 예: InitializeSecurityContext( ... 'myservice/mymachine.mydomain.com', // pszTargetName, myservice/mymachine.mydomain.com은 서비스가 실행되는 고유하게 등록된 SPN입니다. ... ); 이 중지 코드에 대한 자세한 내용은 도움말을 참조하세요.

애플리케이션 검증 도구에서 표시하는 정보
  • 형식:  - pszTargetName: %hs%ws
  • 매개 변수 1  - 사용되지 않습니다.
  • 매개 변수 2  - 사용되지 않습니다.
  • 매개 변수 3  - 사용되지 않습니다.
  • 매개 변수 4  - 사용되지 않습니다.

추가 정보
  • 테스트 계층:  NTLMCaller
  • 중지 ID:  ISC_MALFORMED_TARGET
  • 중지 코드:  5000003
  • 심각도:  오류
  • 일회성 오류:  아니요
  • 오류 보고서:  휴식
  • 파일에 로그:  예
  • 백트레이스 만들기:  예

클라이언트 애플리케이션은 협상 결과로 NTLM 인증을 사용하도록 다운그레이드됩니다. 자세한 내용은 pAuthData를 참조하세요. pAuthData는 이 협상에 사용되는 자격 증명 및 대상을 표시합니다.

가능한 원인

클라이언트 애플리케이션은 협상 결과로 NTLM 인증을 사용하도록 다운그레이드됩니다. 이 문제에는 여러 가지 이유가 있을 수 있습니다. 이 문제를 해결하는 지침은 다음과 같이 제공됩니다. (1) NTLMCaller appverifier 계층이 켜져 있지 않은 경우 켜기. 이 계층은 다운그레이드를 일으킬 수 있는 일반적으로 알려진 문제를 catch합니다. (2) pszTargetName이 SPN인 경우 이 SPN이 포리스트에 고유하게 등록되어 있는지 확인합니다(SPN을 누락하거나 복제할 수 없음). (3) 클라이언트 애플리케이션을 실행하는 클라이언트 시스템에서 SPN을 조회해야 합니다. (4) 서비스가 Kerberos 자격 증명을 사용할 수 있는 ID로 실행되어야 합니다. (5) Windows 보안 전문가가 시나리오를 검토해야 합니다. 이 중지 코드에 대한 자세한 내용은 도움말을 참조하세요.

애플리케이션 검증 도구에 의해 표시되는 정보
  • 형식:  - pAuthData: %ws \n\tUser: %hs%ws \n\tDomain: %hs%ws \npszTargetName: %hs%ws
  • 매개 변수 1  - 사용되지 않습니다.
  • 매개 변수 2  - 사용되지 않습니다.
  • 매개 변수 3  - 사용되지 않습니다.
  • 매개 변수 4  - 사용되지 않습니다.

추가 정보
  • 테스트 계층:  NTLM다운그레이드
  • 중지 ID:  FALLBACK_TO_NTLM
  • 중지 코드:  5010000
  • 심각도:  경고
  • 일회성 오류:  아니요
  • 오류 보고서:  없음
  • 파일에 로그:  예
  • 백트레이스 만들기:  예

참고 항목

애플리케이션 검증 도구 - 코드 및 정의 중지

애플리케이션 검증 도구 - 개요

애플리케이션 검증 도구 - 기능

애플리케이션 검증 도구 - 애플리케이션 테스트

애플리케이션 검증 도구 - 애플리케이션 검증 도구 내의 테스트

애플리케이션 검증 도구 - 애플리케이션 검증 도구 디버깅 중지

애플리케이션 검증 도구 - 질문과 대답