감사 이벤트는 인증 패키지를 NTLMv2 대신 NTLMv1로 표시합니다.

이 문서에서는 인증이 실제로 NTLMv2를 사용했지만 이벤트 로그에서 NTLMv1을 보고하는 문제를 설명합니다.

적용 대상: Windows Server 2012 R2
원래 KB 번호: 2701704

요약

도메인의 모든 컴퓨터에서 3 이상에서 lmcompatibilitylevel을 사용하여 클라이언트가 NTLMv2만 사용하도록 강제합니다. NTLM을 강제 적용하기 위해 IP 주소로 네트워크 공유에 대한 연결을 테스트할 때 서버에 기록된 보안 감사 이벤트(이벤트 ID 4624)에서 "인증 패키지"가 여전히 NTLMv1로 나열된 것을 발견합니다.

예를 들어 Windows Server 2008 R2의 파일 공유에 연결하는 Windows 7 클라이언트를 사용하여 테스트합니다. 네트워크 추적은 인증이 실제로 NTLMv2를 사용하지만 이벤트 로그에서 NTLMv1을 보고하는 것으로 나타났습니다.

로그 이름: 보안
출처: Microsoft-Windows-Security-Auditing
이벤트 ID: 4624
작업 범주: 로그온
수준: 정보
키워드: 감사 성공
설명:
계정이 성공적으로 로그온되었습니다.
계정 이름: 사용자
계정 도메인: contoso
자세한 인증 정보:
로그온 프로세스: NtLmSsp
인증 패키지: NTLM
전송된 서비스: -
패키지 이름(NTLM에만 해당): NTLM V1
키 길이: 128

추가 정보

이 결과로 이어질 수 있는 두 가지 알려진 시나리오가 있습니다.

  • 시나리오 A: Windows Server 2003 도메인 컨트롤러

    사용자의 자격 증명의 유효성을 검사하는 도메인 컨트롤러가 2003 기반 서버인 경우 이 동작을 재현할 수 있음을 발견했습니다. Windows Server 2003에는 이벤트 로깅에 "인증 패키지" 필드가 없으므로 Windows Vista에 추가된 새로운 기능입니다.

    도메인 컨트롤러가 Windows Server 2008 이상인 경우 서버는 NTLMv2로 올바르게 나열된 인증 패키지를 표시합니다. 인증 프로토콜 버전의 보고가 중요한 경우 Windows Server 2008 이상 도메인 컨트롤러를 사용하는 것이 좋습니다.

    Windows Server 2003은 추가 지원 단계에 있으며 지원은 2015년 7월에 사용 중지됩니다. 제품 수명 주기 검색을 참조하세요.

  • 시나리오 B: 보안 수준 협상은 최상의 노력을 의미하는 "레거시" 방법을 사용합니다.

    이 시나리오에는 타사 클라이언트가 포함됩니다.

    1. 고객에게 NTLMv1용으로 구성된 타사 SMB 클라이언트가 있습니다.

    2. 파일 서버는 LmCompatiblityLevel=5 및 최소 세션 보안 NTLMv2에 대해 구성되며 DC는 LmCompatiblityLevel=4에 대해 구성됩니다.

    3. 타사 클라이언트의 사용자가 연결합니다. SMB에서 예상되는 이름 필드와 NegotiateFlags가 있는 SMB 세션 협상에 보안 Blob이 표시되면 서버는 협상을 거부합니다.

      NegotiateFlags: 0x60000215 (NTLM v1128-bit encryption, , Sign)
      NegotiateNTLM:                    (......................1.........) Requests usage of the NTLM v1 session security protocol.
      NegotiateNTLM2:                   (............0...................) Does NOT request usage of the NTLM v1 using the extended session security.
      
    4. 그런 다음 타사 클라이언트는 보안 Blob(확장 세션 보안을 나타냅니다)을 사용하지 않고 다시 시도합니다. 이 형식에서는 동일한 알려진 이름 필드 목록이 표시되지 않으며 noNegotiateFlags도 표시되지 않습니다. "ClientChallenge"와 같은 일부 필드는 클라이언트가 NTLMv2 해시 처리를 수행하려고 함을 나타낼 수 있습니다. 그러나 NegotiateFlags가 없기 때문에 DC에서 NTLMv2 인증 요청으로 도착하지 않습니다.

    5. 서버는 요청을 인증하는 DC에 패키지를 전달하고 DC는 NTLMv1을 사용하는 것이 정상이므로 요청을 인증합니다.

    6. 서버는 성공적인 로그온을 수신하고 DC에서 지정한 대로 NTLMv1로 감사합니다.

    확장 세션 보안이 없는 로그온의 경우 서버는 클라이언트 플래그에 따라 로그온 요청을 차단할 수 있는 옵션이 없습니다. DC에 가장 적합한 플래그로 요청을 전달해야 합니다. 반환할 때 DC가 로그온에 대해 내리는 모든 결정을 수락해야 합니다. 이 경우 리소스 서버가 NTLMv2만 허용하도록 구성되어 있더라도 로그온을 수락하고 NTLMv1 로그온으로 기록합니다.