Windows 업데이트는 CVE-2022-21857에 대한 새로운 NTLM 통과 인증 보호를 추가합니다.
원래 KB 번호: 5010576
CVE-2022-21857에 대한 보호를 포함하는 2022년 1월 11일 Windows 업데이트 이상 Windows 업데이트를 설치한 후 DC(도메인 컨트롤러)는 도메인 또는 포리스트 트러스트를 통해 트러스트 도메인에서 보내거나 RODC(읽기 전용 도메인 컨트롤러)에서 보안 채널 트러스트를 통해 보낸 NTLM 통과 인증 요청에 대한 새로운 보안 검사를 적용합니다. 새 보안 검사를 수행하려면 인증되는 도메인 또는 클라이언트가 사용 중인 트러스트에 적합해야 합니다. 특히 사용 중인 신뢰 유형에 적합한 보안 검사는 다음 요구 사항이 충족되지 않는 경우 NTLM 통과 인증 요청을 거부합니다.
- 도메인 트러스트에 대한 요청은 트러스트 도메인과 동일한 도메인 이름을 사용해야 합니다.
- 포리스트 트러스트에 대한 요청은 트러스트 포리스트의 멤버이며 다른 포리스트와 이름이 충돌하지 않는 도메인 이름을 사용해야 합니다.
- RODC에서 전달한 요청은 RODC가 이전에 비밀을 캐시할 수 있는 권한이 부여된 클라이언트 이름을 사용해야 합니다.
도메인 및 포리스트 트러스트 유효성 검사를 지원하기 위해 각 포리스트에 있는 루트 도메인의 PDC(기본 도메인 컨트롤러)가 LDAP(Lightweight Directory Access Protocol) 쿼리를 주기적으로 실행하도록 업데이트됩니다. 쿼리는 "신뢰 검사"라고 하는 신뢰할 수 있는 각 포리스트의 모든 도메인 이름에 대해 8시간마다 발급됩니다. 이러한 도메인 이름은 해당 TDO(신뢰할 수 있는 msDS-TrustForestTrustInfo
도메인 개체)의 특성에 저장됩니다.
필수 조건
업데이트에 의해 새 신뢰 검색 동작이 추가되면 신뢰할 수 있는 포리스트의 PDC에서 신뢰할 수 있는 포리스트로의 LDAP 활동 트래픽, 인증 및 권한 부여를 차단하는 모든 항목에 문제가 발생합니다.
- 방화벽을 사용하는 경우 신뢰할 수 있는 PDC와 신뢰할 수 있는 도메인 DC 간에 TCP 및 UDP 포트 389를 허용하고 트러스트를 작동하기 위한 통신(이름 확인, NTLM의 경우 RPC 및 Kerberos의 경우 포트 88)을 허용해야 합니다.
- 또한 신뢰할 수 있는 포리스트의 PDC는 신뢰할 수 있는 도메인 DC에 인증할 수 있는 네트워크 사용자 권한에서 이 컴퓨터에 액세스해야 합니다. 기본적으로 "인증된 사용자"는 신뢰할 수 있는 도메인 PDC를 포함하는 사용자 권한을 갖습니다.
- 신뢰할 수 있는 도메인의 PDC에는 구성 NC 및 자식 개체의 신뢰할 수 있는 포리스트 파티션 컨테이너에 대한 충분한 읽기 권한이 있어야 합니다. 기본적으로 "인증된 사용자"에는 호출 신뢰할 수 있는 도메인 PDC에 적용되는 액세스 권한이 있습니다.
- 선택적 인증을 사용하도록 설정하면 신뢰할 수 있는 포리스트의 PDC에 신뢰할 수 있는 포리스트를 보호하기 위해 신뢰할 수 있는 포리스트 DC 컴퓨터 계정에 대한 인증 권한을 부여해야 합니다.
트러스트 포리스트에서 신뢰할 수 있는 포리스트가 트러스트 정보를 쿼리하는 것을 허용하지 않는 경우 트러스트 포리스트는 NTLM 릴레이 공격의 위험이 있을 수 있습니다.
예를 들어 포리스트 A는 포리스트 B를 신뢰하고 포리스트 C는 포리스트 B를 신뢰합니다. 포리스트 A가 포리스트 B의 루트 도메인에서 인증 또는 LDAP 작업을 허용하지 않는 경우 포리스트 A는 악의적이거나 손상된 포리스트 C에서 NTLM 릴레이 공격의 위험이 있습니다.
새 이벤트
다음 이벤트는 CVE-2022-21857에 대한 보호의 일부로 추가되며 시스템 이벤트 로그에 기록됩니다.
Netlogon 서비스 관련 이벤트
기본적으로 Netlogon 서비스는 경고 및 오류 조건에 대한 이벤트를 제한합니다. 즉, 요청별 경고 또는 실패 이벤트를 기록하지 않습니다. 대신, 요약 이벤트(Netlogon 이벤트 ID 5832 및 Netlogon 이벤트 ID 5833)는 이 업데이트에 도입된 새로운 보안 검사에 의해 차단되거나 차단되었으나 관리자가 구성한 예외 플래그가 있어 허용된 NTLM 통과 인증에 대해 하루에 한 번 기록됩니다.
Netlogon 이벤트 ID 5832 또는 Netlogon 이벤트 ID 5833이 기록되고 자세한 정보가 필요한 경우 다음 레지스트리 경로에서 REG_DWORD 값을 만들고 0으로 설정 ThrottleNTLMPassThroughAuthEvents
하여 이벤트 제한을 사용하지 않도록 설정합니다.
HKLM\SYSTEM\CurrentControlSet\Services\Netlogon\Parameters
참고 항목
이 설정은 시스템 또는 서비스를 다시 시작하지 않고 즉시 적용되며 GPO(그룹 정책 개체)의 제어를 받지 않습니다.
Netlogon 이벤트 ID | 이벤트 메시지 텍스트 | 주의 |
---|---|---|
5832 | Netlogon 서비스는 가장 최근의 이벤트 제한 기간 동안 신뢰할 수 있는 도메인 및/또는 포리스트에서 하나 이상의 안전하지 않은 통과 NTLM 인증 요청을 허용했습니다. 이러한 안전하지 않은 요청은 일반적으로 차단되지만 현재 트러스트 구성으로 인해 계속 진행할 수 있었습니다. 경고: 안전하지 않은 통과 인증 요청을 허용하면 Active Directory 포리스트가 공격에 노출됩니다. 이 문제에 대한 자세한 내용은 다음을 참조 https://go.microsoft.com/fwlink/?linkid=276811 하세요.관리 재정의로 인해 허용되는 안전하지 않은 요청 수: <개수> |
이 경고 이벤트는 관리자가 구성한 예외 플래그가 있어 허용된 안전하지 않은 통과 인증 수를 기록합니다. |
5833 | Netlogon 서비스는 가장 최근의 이벤트 제한 기간 동안 신뢰할 수 있는 클라이언트, 도메인 및/또는 포리스트에서 하나 이상의 안전하지 않은 통과 NTLM 인증 요청을 차단했습니다. 자세한 로깅을 사용하도록 설정하는 방법을 포함하여 이 문제에 대한 자세한 내용은 다음을 참조 https://go.microsoft.com/fwlink/?linkid=276811 하세요.차단된 안전하지 않은 요청 수: <개수> |
이 경고 이벤트는 차단된 안전하지 않은 통과 인증 수를 기록합니다. |
5834 | Netlogon 서비스는 신뢰할 수 있는 클라이언트, 도메인 또는 포리스트에서 안전하지 않은 통과 NTLM 인증 요청을 허용했습니다. 이 안전하지 않은 요청은 일반적으로 차단되지만 현재 신뢰 구성으로 인해 계속 진행할 수 있었습니다. 경고: 안전하지 않은 통과 인증 요청을 허용하면 Active Directory 포리스트가 공격에 노출됩니다. 이 문제에 대한 자세한 내용은 다음을 참조 https://go.microsoft.com/fwlink/?linkid=276811 하세요.계정 이름: <계정 이름> 트러스트 이름: <신뢰 이름> 신뢰 유형: <신뢰 유형> 클라이언트 IP 주소: <클라이언트 IP 주소> 블록 이유: <블록 이유> 리소스 서버 Netbios 이름: <리소스 서버 Netbios 이름> 리소스 서버 DNS 이름: <리소스 서버 DNS 이름> 리소스 도메인 Netbios 이름: <리소스 도메인 Netbios 이름> 리소스 도메인 DNS 이름: <리소스 도메인 DNS 이름> |
이 경고 이벤트는 Netlogon 이벤트 제한을 사용하지 않도록 설정한 경우에만 기록됩니다. 관리자가 구성한 예외 플래그로 인해 허용된 특정 통과 인증 요청을 기록합니다. |
5835 | Netlogon 서비스는 신뢰할 수 있는 클라이언트, 도메인 또는 포리스트에서 안전하지 않은 통과 NTLM 인증 요청을 차단했습니다. 자세한 내용은 https://go.microsoft.com/fwlink/?linkid=276811 를 방문하세요.계정 이름: <계정 이름> 트러스트 이름: <신뢰 이름> 신뢰 유형: <신뢰 유형> 클라이언트 IP 주소: <클라이언트 IP 주소> 블록 이유: <블록 이유> 리소스 서버 Netbios 이름: <리소스 서버 Netbios 이름> 리소스 서버 DNS 이름: <리소스 서버 DNS 이름> 리소스 도메인 Netbios 이름: <리소스 도메인 Netbios 이름> 리소스 도메인 DNS 이름: <리소스 도메인 DNS 이름> |
이 경고 이벤트는 Netlogon 이벤트 제한을 사용하지 않도록 설정한 경우에만 기록됩니다. 차단된 특정 통과 인증 요청을 기록합니다. |
LSA(로컬 보안 기관) 관련 이벤트
참고 항목
이러한 이벤트는 제한되지 않습니다.
LSA 이벤트 ID | 이벤트 메시지 텍스트 | 주의 |
---|---|---|
6148 | PDC는 오류 없이 모든 트러스트에 대한 자동 신뢰 검색 작업을 완료했습니다. 자세한 내용은 https://go.microsoft.com/fwlink/?linkid=2162089 에서 확인할 수 있습니다. |
이 정보 이벤트는 8시간마다 주기적으로 표시될 것으로 예상됩니다. |
6149 | PDC는 모든 트러스트에 대한 자동 신뢰 검색 작업을 완료했으며 하나 이상의 오류가 발생했습니다. 자세한 내용은 https://go.microsoft.com/fwlink/?linkid=2162089 에서 확인할 수 있습니다. |
특히 8시간마다 표시되는 경우 이 경고 이벤트를 조사해야 합니다. |
6150 | PDC는 오류 없이 신뢰 '<신뢰 이름>'에 대해 관리자가 요청한 신뢰 검색 작업을 완료했습니다. 자세한 내용은 다음에서 확인할 수 있습니다. https://go.microsoft.com/fwlink/?linkid=2162089. |
이 정보 이벤트는 관리자가 cmdlet을 사용하여 netdom trust <Local Forest> /Domain:* /InvokeTrustScanner PDC 신뢰 스캐너를 수동으로 호출하는 시기를 추적하는 데 사용됩니다. |
6151 | PDC에서 검사할 지정된 신뢰 '<신뢰 이름>'을 찾을 수 없습니다. 트러스트가 없거나 인바운드 또는 양방향 트러스트가 아닙니다. 자세한 내용은 https://go.microsoft.com/fwlink/?linkid=2162089 에서 확인할 수 있습니다. |
이 경고 이벤트는 관리자가 잘못된 포리스트 이름을 사용하여 PDC 신뢰 스캐너를 수동으로 호출하는 경우를 추적합니다. |
6152 | PDC가 '<신뢰 이름>' 신뢰에 대해 관리자가 요청한 신뢰 검색 작업을 완료하고 오류가 발생했습니다. 자세한 내용은 https://go.microsoft.com/fwlink/?linkid=2162089 에서 확인할 수 있습니다. |
이 경고 이벤트는 관리자가 cmdlet을 실행 netdom trust <Local Forest> /Domain:* /InvokeTrustScanner 하여 PDC 신뢰 스캐너(모든 트러스트에 대해)를 수동으로 호출하는 경우를 추적하고 작업이 실패합니다. |
6153 | PDC에서 명명된 트러스트를 검사하는 동안 오류가 발생했습니다. 신뢰: <신뢰 이름>오류: <오류 메시지>자세한 내용은 .에서 https://go.microsoft.com/fwlink/?linkid=2162089 찾을 수 있습니다. |
이 경고 이벤트는 이전 이벤트를 보완하며 오류 코드를 포함합니다. 8시간마다 발생하는 예약된 신뢰 검사 중에 기록됩니다. |
오류 코드가 일부 오류 관련 이벤트에 포함된 경우 추가 조사를 위해 추적을 사용하도록 설정해야 합니다.
Netlogon 로깅 및 LSA 로깅 개선
업데이트 개선 사항을 지원하도록 Netlogon 로깅(%windir%\debug\netlogon.log) 및 LSA 로깅(lsp.log)이 업데이트됩니다.
Netlogon 로깅 사용 및 사용 안 함(netlogon.log)
Netlogon 로깅을 사용하도록 설정하려면 다음 명령을 실행합니다.
nltest /dbflag:2080ffff
조사 후 Netlogon 로깅을 사용하지 않도록 설정하려면 다음 명령을 실행합니다.
nltest /dbflag:0
PowerShell을 사용하여 LSA 로깅(lsp.log) 사용 및 사용 안 함
LSA 로깅을 사용하도록 설정하려면 다음 cmdlet을 실행합니다.
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\Lsa" -Name LspDbgInfoLevel -Value 0x1820000 -Type dword -Force Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\Lsa" -Name LspDbgTraceOptions -Value 0x1 -Type dword -Force
LSA 로깅을 사용하지 않도록 설정하려면 다음 cmdlet을 실행합니다.
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\Lsa" -Name LspDbgInfoLevel -Value 0x0 -Type dword -Force Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\Lsa" -Name LspDbgTraceOptions -Value 0x0 -Type dword -Force
reg.exe 사용하여 LSA 로깅(lsp.log)을 사용하도록 설정하고 사용하지 않도록 설정합니다(PowerShell이 없는 레거시 운영 체제의 경우).
LSA 로깅을 사용하도록 설정하려면 다음 reg 명령을 실행합니다.
reg add HKLM\SYSTEM\CurrentControlSet\Control\Lsa /V LspDbgTraceOptions /t REG_DWORD /d 1 /f reg add HKLM\SYSTEM\CurrentControlSet\Control\Lsa /V LspDbgInfoLevel /t REG_DWORD /d 0x1820000 /f
LSA 로깅을 사용하지 않도록 설정하려면 다음 reg 명령을 실행합니다.
reg add HKLM\SYSTEM\CurrentControlSet\Control\Lsa /V LspDbgTraceOptions /t REG_DWORD /d 0 /f reg add HKLM\SYSTEM\CurrentControlSet\Control\Lsa /V LspDbgInfoLevel /t REG_DWORD /d 0x0 /f
nltest.exe 및 netdom.exe 도구 개선 사항
이 업데이트의 개선 사항을 지원하기 위해 nltest.exe 및 netdom.exe 도구가 업데이트됩니다.
Nltest.exe 개선 사항
nltest.exe 도구는 다음 명령을 사용하여 신뢰할 수 있는 msDS-TrustForestTrustInfo
도메인 개체의 특성에 있는 모든 레코드를 쿼리하고 표시할 수 있습니다.
nltest.exe /lsaqueryfti:<Trusting Forest Name>
출력이 포함된 예제는 다음과 같습니다.
C:\Windows\System32>nltest.exe /lsaqueryfti:contoso.com
TLN: contoso.com
Dom: contoso.com
Scan: contoso.com Sid:(null) Flags:0x0
The command completed successfully
참고 항목
출력의 "Scan"이라는 용어는 PDC 신뢰 스캐너 작업 중에 지속되는 새 "스캐너" 레코드 형식을 나타냅니다.
Netdom.exe 개선 사항
netdom.exe 도구는 새 PDC 신뢰 스캐너 작업을 시작하고 신뢰할 수 있는 포리스트의 특정 신뢰 도메인 또는 특정 자식 도메인에 대한 보안 검사 예외 플래그를 설정할 수 있습니다.
PDC 신뢰 스캐너 작업을 시작합니다.
모든 신뢰할 수 있는 포리스트에 대해 다음 명령을 실행합니다.
netdom trust <Local Forest> /Domain:* /InvokeTrustScanner
특정 신뢰 포리스트에 대해 다음 명령을 실행합니다.
netdom trust <Local Forest> /Domain:<Trusting Forest> /InvokeTrustScanner
참고 항목
이 명령은 로컬 포리스트의 PDC에서 로컬로 실행해야 합니다.
이 명령은 작업을 시작할 수 있습니다. 결과를 확인하려면 시스템 이벤트 로그에서 새 LSA 이벤트를 확인하고 필요한 경우 LSA 추적을 사용하도록 설정합니다.
실패한 NTLM 통과 인증 조사
참고 항목
이러한 단계를 따르기 전에 필수 구성 요소 섹션에 설명된 대로 구성이 요구 사항을 충족하는지 확인합니다 .
기본 단계는 다음과 같습니다.
관련된 모든 DC에서 Netlogon 및 LSA 로깅을 사용하도록 설정합니다.
문제를 재현하세요.
Netlogon 및 LSA 로깅을 사용하지 않도록 설정합니다.
netlogon.log 파일에서 다음 용어를 검색하고 오류를 설명하는 로그 항목을 검토합니다.
- "LsaIFilterInboundNamespace"
- "NlpValidateNTLMTargetInfo"
- "NlpVerifyTargetServerRODCCachability"
- "ResourceDomainNameCollidesWithLocalForest"
lsp.log 파일에서 "LsaDbpFilterInboundNamespace"라는 용어를 검색하고 오류를 설명하는 로그 항목을 검토합니다.
참고 항목
포리스트 트러스트를 통한 인증에 실패한 경우 새 nltest.exe 옵션을 사용하여 PDC 신뢰 스캐너에 의해 유지되는 모든 새 레코드를 덤프합니다.
실패한 PDC 신뢰 스캐너 작업 조사
참고 항목
이러한 단계를 따르기 전에 필수 구성 요소 섹션에 설명된 대로 구성이 요구 사항을 충족하는지 확인합니다 .
기본 단계는 다음과 같습니다.
PDC에서 LSA 로깅을 사용하도록 설정합니다.
특정 신뢰 스캐너 작업의 경우 이 추적은 TRACE_LEVEL_LSP_FOREST_SCANNER 플래그로 제한될 수 있습니다.
새 netdom.exe
/InvokeTrustScanner
기능을 사용하여 문제를 재현합니다.LSA 로깅을 사용하지 않도록 설정합니다.
lsp.log 파일에서 "fail" 또는 "failed"라는 용어를 검색하고 로그 항목을 검토합니다.
다음과 같은 이유로 트러스트 스캐너가 실패할 수 있습니다.
파티션 컨테이너에 대한 사용 권한이 없습니다.
DC와 멤버와 DC 간에 필요한 방화벽 포트가 열려 있지 않습니다. 방화벽 포트는 다음과 같습니다.
- UDP+TCP/389
- TCP/88
- UDP+TCP/53
문제 완화
도메인 이름 충돌, 잘못된 구성 또는 예기치 않은 상황으로 인해 인증이 실패하는 경우 충돌하는 도메인의 이름을 변경하여 문제를 완화하기 위한 충돌을 방지합니다.
RODC 보안 채널 트러스트를 통한 인증이 실패하는 경우 완화 방법이 없으므로 이 문제에 대해 Microsoft 지원에 문의하세요.
PDC 신뢰 스캐너가 실패하면 완화는 특정 컨텍스트에 따라 달라집니다. 예를 들어 신뢰할 수 있는 포리스트의 DC에는 신뢰할 수 있는 포리스트의 NC(구성 명명 컨텍스트)에 대한 LDAP 쿼리 권한이 부여되지 않습니다. 완화 방법은 사용 권한을 부여하는 것입니다.
FAQ(질문과 대답)
Q1: PDC 신뢰 스캐너의 빈도를 구성할 수 있나요?
A1: 아니요.
Q2: 새 포리스트 트러스트를 만들 때 PDC 신뢰 스캐너가 자동으로 호출되나요?
A2: 아니요. 관리자는 필요한 경우 수동으로 호출할 수 있으며, 그렇지 않으면 다음 정기적으로 새 포리스트를 검사합니다.
Q3: 도메인 관리자가 새 스캐너 레코드를 수정할 수 있나요?
A3: 예, 하지만 권장되거나 지원되지 않습니다. 스캐너 레코드가 예기치 않게 생성, 수정 또는 삭제되면 PDC 신뢰 스캐너는 다음에 실행될 때 변경 내용을 되돌려 집니다.
Q4: 내 환경에서는 NTLM이 사용되지 않는다고 확신합니다. 이 동작을 해제하려면 어떻게 해야 하나요?
A4: 일반적으로 새 동작을 끌 수 없습니다. RODC 특정 보안 유효성 검사를 사용하지 않도록 설정할 수 없습니다. 도메인 신뢰 사례 또는 포리스트 트러스트 사례에 대한 보안 검사 예외 플래그를 설정할 수 있습니다.
Q5: 이 업데이트를 설치하기 전에 구성을 변경해야 하나요?
A5: 어쩌면. 구성이 필수 구성 요소 섹션에 설명된 대로 요구 사항을 충족하는지 확인합니다 .
Q6: 이 업데이트를 적용하려면 특정 순서로 DC를 패치해야 하나요?
A6: 패치 순서의 모든 변형이 지원됩니다. 새 PDC 신뢰 스캐너 작업은 PDC가 패치된 후에만 적용됩니다. 패치된 모든 DC는 RODC 제한을 즉시 적용하기 시작합니다. 패치된 비 PDC는 PDC가 패치되고 msDS-TrustForestTrustInfo 특성에 새 스캐너 레코드 만들기를 시작할 때까지 NTLM 통과 제한을 적용하지 않습니다. 패치되지 않은 DC(비 PDC)는 새 스캐너 레코드가 있으면 무시합니다.
Q7: 내 포리스트는 언제 안전합니까?
A7: 모든 도메인의 모든 DC에 이 업데이트가 설치되면 포리스트가 안전합니다. PDC 신뢰 스캐너가 하나 이상의 성공적인 작업을 완료하고 복제에 성공하면 포리스트를 신뢰하는 것이 안전합니다.
Q8: 신뢰할 수 있는 도메인 또는 포리스트를 제어하지 않습니다. 내 포리스트가 안전하게 보호되도록 하려면 어떻게 해야 하나요?
A8: 이전 질문을 참조하세요. 포리스트의 보안은 신뢰할 수 있는 도메인 또는 포리스트의 패치 상태에 따라 달라지지 않습니다. 모든 고객이 DC를 패치하는 것이 좋습니다. 또한 필수 구성 요소 섹션에 설명된 구성을 변경합니다 .
참조
특정 기술 세부 정보에 대한 자세한 내용은 다음을 참조하세요.