Computer >> 컴퓨터 >  >> 문제 해결 >> Windows 오류

Windows 10에서 NTLM 인증 비활성화하는 방법 완벽 가이드

이 글에서는 "Windows 10에서 NTLM 인증을 비활성화하는 방법"을 단계별로 안내해 드립니다. 초보자도 쉽게 따라 할 수 있도록 명확한 절차로 정리했으니, 차근차근 함께 살펴보겠습니다.

Windows 10에서 'NTLM 인증'의 역할은 무엇인가?

NTLM(New Technology LAN Manager)은 Microsoft가 제공하는 보안 프로토콜 패키지로, 사용자의 신원을 인증하고 작업의 무결성과 기밀성을 보호하는 역할을 합니다. 이 기술은 챌린지-응답(Challenge-Response) 프로토콜을 기반으로 하며, 비밀번호를 직접 전송하지 않고도 사용자를 확인할 수 있다는 것이 특징입니다.

NTLM은 챌린지-응답 방식을 통해 사용자를 인증하며, 이 과정은 다음 세 가지 메시지로 구성됩니다.

  • 클라이언트가 보내는 협상(Negotiate) 메시지
  • 서버가 보내는 챌린지(Challenge) 메시지
  • 사용자가 보내는 인증(Authenticate) 메시지

그러나 NTLM에는 이미 알려진 보안 취약점이 존재함에도 불구하고, 구형(레거시) 클라이언트 및 서버와의 호환성을 유지하기 위해 최신 시스템에서도 여전히 널리 사용되고 있습니다.

Microsoft는 여전히 NTLM을 지원하고 있지만, 사실 Windows 2000부터 모든 Active Directory(AD) 도메인 환경에서는 Kerberos가 기본 인증 프로토콜로 NTLM을 대체했습니다. 두 프로토콜의 핵심적인 차이는 비밀번호 처리 방식에 있습니다. NTLM은 입력값으로부터 일방향적으로 문자열을 생성하는 '비밀번호 해싱(Password Hashing)' 방식에 기반하는 반면, Kerberos는 암호화·복호화 키로 데이터를 잠그고 여는 '양방향 암호화' 방식에 기반합니다.

NTLM 프로토콜의 주요 문제점

  • LSA 서비스 메모리에 저장된 비밀번호 해시가 mimikatz와 같은 다양한 도구로 쉽게 추출될 수 있으며, 탈취된 해시는 패스 더 해시(Pass-the-Hash) 등 후속 공격에 악용될 수 있습니다.
  • 약하거나 단순한 비밀번호 역시 NTLM 보안 취약점을 악화시키는 요인입니다.
  • 서버와 클라이언트 간 상호 인증(Mutual Authentication)이 부족하여 데이터 가로채기 공격 및 네트워크 데이터에 대한 무단 접근이 발생할 수 있습니다.
  • 그 외에도 다양한 NTLM 정보 유출 및 보안 문제가 존재합니다.

또한 NTLM은 클라이언트와 서버 간 3-way 핸드셰이크 방식으로 사용자를 인증하는 반면, Kerberos는 티켓 발급 서비스인 KDC(Key Distribution Center)를 통해 이루어지는 절차를 사용합니다. NTLM 프로토콜은 비밀번호 해싱 및 솔팅(Salting)과 관련된 여러 보안 위험과 취약점에 노출되어 있습니다.

특히 NTLM 프로토콜은 서버와 도메인 컨트롤러의 비밀번호에 '솔팅(Salting)'이 적용되지 않습니다. 즉, 해시된 비밀번호에 임의의 문자열을 추가해 크래킹 시도를 방지할 수 없습니다. 이로 인해 공격자는 반복적인 로그인 시도를 통해 비밀번호를 무차별 대입으로 크랙할 수 있으며, 비밀번호가 약하다면 결국 계정 침해로 이어질 수 있습니다.

방법 1. 그룹 정책 관리 편집기로 NTLM 인증 비활성화하기

먼저 도메인 관리자는 도메인 내 인증에 NTLM 및 LM 프로토콜이 사용되지 않도록 설정해야 합니다. 필요한 인증 방식은 도메인(또는 로컬) 정책을 통해 지정할 수 있습니다.

  1. 키보드에서 Windows + R 키를 누르고, 실행 대화 상자에 gpmc.msc를 입력한 뒤 확인 버튼을 클릭해 그룹 정책 관리 편집기(Group Policy Management Editor)를 실행합니다.
  2. 컴퓨터 구성 → 정책 → Windows 설정 → 보안 설정 → 로컬 정책 → 보안 옵션 경로로 이동합니다.
  3. '네트워크 보안: LAN Manager 인증 수준(Network Security: LAN Manager authentication level)' 정책을 찾아 두 번 클릭합니다.
  4. 드롭다운 목록에서 'NTLMv2 응답만 전송. LM 및 NTLM 거부(Send NTLMv2 response only. Refuse LM & NTLM)' 옵션을 선택해 LM 및 NTLM 요청을 모두 거부합니다.

방법 2. 레지스트리 편집기로 NTLM 인증 비활성화하기

  1. Windows + R 키를 누르고, 실행 대화 상자에 regedit를 입력한 후 확인을 클릭해 레지스트리 편집기를 실행합니다.
  2. 아래 경로로 이동합니다.
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa
  3. 오른쪽 빈 공간을 마우스 오른쪽 버튼으로 클릭하고 '새로 만들기 → DWORD(32비트) 값'을 선택한 후, 이름을 lmCompatibilityLevel로 지정합니다. 값을 0~5 범위에서 설정하고 확인을 눌러 저장합니다.
  4. 값 데이터를 5로 설정하면 'NTLMv2 응답만 전송, LM 및 NTLM 거부'와 동일한 효과를 얻습니다. 모든 변경 사항을 저장하세요.

주의: 레지스트리 수정 전에는 반드시 백업을 진행하는 것이 좋습니다. 잘못된 수정은 시스템 오류를 일으킬 수 있습니다.

방법 3. NTLM 인증 감사 로깅(Audit Logging) 활성화하기

도메인에서 NTLM을 완전히 비활성화하고 Kerberos 프로토콜로 전환하기 전에, 먼저 도메인 내에 NTLM 사용을 요구하는 프로그램이 남아 있지 않은지 확인해야 합니다.

  1. 앞서 설명한 방법대로 그룹 정책 관리 편집기를 실행한 후, 컴퓨터 구성 → 정책 → Windows 설정 → 보안 설정 → 로컬 정책 → 보안 옵션 경로로 이동합니다.
  2. '네트워크 보안: NTLM 제한: 이 도메인에서 NTLM 인증 감사' 정책을 찾아 활성화하고 값을 '모두 사용 가능(Enable All)'으로 설정합니다.
  3. 동일한 방법으로 '네트워크 보안: NTLM 제한: 들어오는 NTLM 트래픽 감사' 정책도 활성화합니다.

방법 4. NTLM 인증 사용 이벤트 확인하기

NTLM 인증 관련 이벤트는 응용 프로그램 및 서비스 로그에서 확인할 수 있습니다.

  1. 이벤트 뷰어(Event Viewer)에서 서비스 로그로 이동한 후 Microsoft → Windows 항목을 참조합니다.
  2. 이벤트 뷰어에서 NTLM 영역을 엽니다. 이곳에서 각 서버별 이벤트를 분석하거나, 중앙 집중식 Windows 이벤트 로그 수집기로 전송해 체계적으로 관리할 수 있습니다.
  3. 도메인에서 NTLM을 사용 중인 응용 프로그램을 파악했다면, SPN(서비스 사용자 이름) 등을 활용해 해당 프로그램이 Kerberos를 사용하도록 전환해야 합니다.

방법 5. Active Directory 도메인에서 NTLM 완전히 제한하기

NTLM 없이 인증이 정상적으로 동작하는지는 도메인의 각 응용 프로그램마다 다르게 나타날 수 있습니다. 이 경우 사용자 계정을 'Protected Users(보호된 사용자)' 도메인 그룹에 추가하는 방법을 활용할 수 있습니다. 검증이 완료되면 도메인 전체에서 NTLM 인증을 완전히 비활성화할 수 있습니다.

마무리

이번 튜토리얼이 Windows 10에서 NTLM 인증을 비활성화하는 방법을 이해하는 데 도움이 되었기를 바랍니다. 소개해 드린 여러 방법 중 사용자 환경에 맞는 절차를 선택해 적용해 보세요. 글이 유용했다면 주변에 공유해 주시고, 궁금한 점이나 추가로 알고 싶은 내용이 있다면 아래 댓글로 자유롭게 남겨주세요.