2021.06.01

'윈도우 NT LAN 매니저' 퇴출에 대비하는 방법

Susan Bradley | CSO
오래된 프로토콜을 없애기란 몹시 어렵다. SMBv1 같은 컨슈머 기반 프로토콜부터 윈도우 NTLM(NT LAN Manager) 같은 네트워크 기반 프로토콜까지, 그동안 사용했던 프로토콜을 버리려면 많은 시간과 꼼꼼한 계획이 필요하다.

실제로 아직도 많은 기업이 팬데믹 기간 원격 액세스를 중심으로, 네트워크 인증에 여전히 NTLM을 사용하고 있다. 오래됐지만 잘 쓰이는 이 프로토콜은 윈도우 NT 4.0 운영체제 인증의 기본이었다. 그러나 커베로스(Kerberos) 같은 최신 프로토콜보다는 덜 안전하다.

실제로 NTLM이 우려되는 지점은 여러 가지다. 일반적으로 프로토콜이 오래될수록 오래된 암호화에 의존할 확률이 더 높다. NTML v1은 MD4 해시를 사용하는 DES 블록 암호화 알고리즘을 사용한다. 완전한 128비트 키를 사용하지 않기 때문에 무차별 대입 공격으로 무력화할 수 있다. NTLM v2는 더 강력한 해시 알고리즘과 암호화를 사용하지만, 패스-더-해시(Pass-the-hash)나 중간자 공격(man-in-the-middle) 기법으로 뚫을 수 있다.

따라서 가능하다면 바로 NTLM 사용을 중단해야 한다. 최소한 네트워크의 어느 곳에서 언제 NTLM이 사용되는지 정확히 파악해야 한다.
 

NTLM 사용을 감사하는 방법

먼저 네트워크를 감사해 NTLM v1이 사용되는지 확인해야 한다. NTLMv1을 사용하는 애플리케이션을 찾으려면 도메인 컨트롤러의 ‘Logon Success Auditing’을 활성화한다. 그 후 사용되는 NTLM 버전에 대한 정보가 포함된 ‘Success auditing Event 4624’를 찾는다.

많은 이벤트가 있기 때문에 NTLM을 사용하는지 찾기 어려울 수도 있다. 따라서 더 쉬운 방법은 NTML 사용을 제한할 수 있는지 감사하는 설정을 켜는 것이다. 그룹 정책(Group Policy) 관리 콘솔을 수정해 도메인 컨트롤러의 그룹 정책을 설정하면 된다.
 
  • ‘Forest’로 이동한다.
  • ‘Domains’로 이동한다.
  • ‘Default domain policy’를 찾아 마우스 오른쪽 클릭을 한다.
  • ‘Edit’를 선택한다.
  • 스크롤을 해서 ‘Computer Configuration’을 선택한다.
  • ‘Policies’를 선택한다.
  • ‘Windows Settings’를 선택한다.
  • ‘Security Settings’를 선택한다.
  • ‘Local Policies’를 선택한다.
  • ‘Security Options’를 선택한다.
  • 이 도메인의 ‘Enable Network Security: Restrict NTLM: Audit NTLM authentication’을 선택한다.

일단 이 정책을 활성화하면, NTLM 인증 요청이 ‘Application and Services’, 그리고 ‘마이크로소프트’, 이후 ‘윈도우’ 이후 GPO(Group Policy Object’가 설정된 모든 서버의 NTLM 로그에 로깅 된다.

이제 ‘Network Security: Incoming NTLM traffic’ 대신 먼저 감사를 하는 정책을 설정한다. 이는 서버 2008 R2 이상에서 지원된다. 2가지 정책이 있다. 먼저 'Network Security: Restrict NTLM: Audit incoming NTLM Traffic'을 활성화한다. 이후 ‘Enable auditing for domain accounts'나 'Enable auditing for all accounts'를 선택한다.
 
모든 계정에 대한 감사 기능을 활성화한다. © SUSAN BRADLEY

‘Network security: Restrict NTLM: Audit NTLM authentication in this domain’도 활성화한다. 이 설정에서 ‘Enable for domain accounts to domain servers’, ‘Enable for domain accounts’, ‘Enable for domain servers’, 또는 ‘Enable all’을 선택할 수 있다.
 
도메인 서버에 대한 NTLM 인증 감사  © SUSAN BRADLEY

이제 작업 로그로 가서 인증과 액세스에 이 프로토콜을 사용하는 도메인의 프로세스를 확인한다. 원격 액세스 프로세스가 NTLM을 사용하고 있을 수 있다. 도메인 컨트롤러에 대한 직접 연결이 필요하지 않기 때문이다. 원격 데스크톱 게이트웨이를 매개체로 하는 RDP(Remote Desktop Protocol) 인증 같은 프로세스는 서버에 인증을 보내는 도구로 NTLM을 사용하는 경향이 있다.

‘Network Security: LAN Manager Authentication’의 그룹 정책을 ‘Send NTLMv2response Only/Refuse LM & NTLM’으로 설정할 수 있는지 확인한다.
 

애저 액티브 디렉터리 사용 시 NTLM을 비활성화하는 방법

마이크로소프트는 도메인 서비스에 애저를 사용하면 NTLM을 사용하지 않는 것이 좋다고 설명한다. 또한, 애저 액티브 디렉터리(AD) 도메인 서비스 보안을 강화하기 위해 다음과 설정할 것을 권장한다.
 
  • NTLM v1 및 TLS v2 암호를 비활성화한다.
  • NTLM 비밀번호 해시 동기화를 비활성화한다.
  • RC4 암호로 비밀번호를 변경하는 기능을 끈다.
  • 커베로스 방어를 활성화한다.

이 작업을 수행하려면 애저 AD 도메인 서비스에 로그인한 후 자신의 도메인을 선택한다. 왼쪽에서 ‘Security settings’를 선택한 후 다음 설정을 끈다.
 
  • TLS 1.2 only mode
  • NTLM authentication
  • NTLM password synchronization from on-premises
  • RC4 encryption

그리고 ‘Kerberos armoring’ 설정을 활성화한다. 단, 애저 AD와 액티브 디렉터리(AD)는 다르다는 것을 기억하자. 전자는 기존 AD에 SSO(Single Sign-On)를 추가한 것이다. 오피스 365만 사용하는 것이 아니라면, 사용자 ID 권한은 여전히 AD에 있다.

AD는 도메인에 주요 기능을 제공한다. 사용자와 컴퓨터, 그룹에 대한 정보 저장, 조직 단위와 도메인, 포레스트 같은 객체 추적 기능 등을 예로 들 수 있다. 또한 도메인으로 연결된 기기 간에 안전한 인증을 보장하기 위해 도메인은 물론 LDAP, NTLM, 커베로스에 대해 공통 인증 공급자를 제공한다. 무엇보다 AD는 컴퓨터와 사용자, 서버를 세밀하게 제어 및 관리할 수 있도록 도와준다.

애저 AD는 마이크로소프트의 클라우드 기반 아이덴티티 및 액세스 관리 서비스를 제공하며, 마이크로소프트 365, 애저 리소스, 기타 SaaS 애플리케이션에 액세스할 수 있다. 애저 AD는 여러 클라우드 서비스의 애플리케이션에 대해 서비스로서신원(Identity as a Service)을 제공한다.

정리하면 온프레미스와 클라우드 서비스 모두를 대상으로 네트워크를 조사해 도메인에 대해 선택할 수 있는 가장 안전한 인증을 설정해야 한다. 구형 애플리케이션에서는 NTLM이 가장 적합한 때가 많다. 그러나 NTLM v1 사용을 제한하고, NTLM v2가 쓰이는 곳을 정확히 파악해야 한다. 장기적으로 NTML에서 완전히 탈피하기 위한 계획을 세우고, 여전히 NTLM을 요구하는 업체와 애플리케이션을 확인해야 한다. editor@itworld.co.kr


2021.06.01

'윈도우 NT LAN 매니저' 퇴출에 대비하는 방법

Susan Bradley | CSO
오래된 프로토콜을 없애기란 몹시 어렵다. SMBv1 같은 컨슈머 기반 프로토콜부터 윈도우 NTLM(NT LAN Manager) 같은 네트워크 기반 프로토콜까지, 그동안 사용했던 프로토콜을 버리려면 많은 시간과 꼼꼼한 계획이 필요하다.

실제로 아직도 많은 기업이 팬데믹 기간 원격 액세스를 중심으로, 네트워크 인증에 여전히 NTLM을 사용하고 있다. 오래됐지만 잘 쓰이는 이 프로토콜은 윈도우 NT 4.0 운영체제 인증의 기본이었다. 그러나 커베로스(Kerberos) 같은 최신 프로토콜보다는 덜 안전하다.

실제로 NTLM이 우려되는 지점은 여러 가지다. 일반적으로 프로토콜이 오래될수록 오래된 암호화에 의존할 확률이 더 높다. NTML v1은 MD4 해시를 사용하는 DES 블록 암호화 알고리즘을 사용한다. 완전한 128비트 키를 사용하지 않기 때문에 무차별 대입 공격으로 무력화할 수 있다. NTLM v2는 더 강력한 해시 알고리즘과 암호화를 사용하지만, 패스-더-해시(Pass-the-hash)나 중간자 공격(man-in-the-middle) 기법으로 뚫을 수 있다.

따라서 가능하다면 바로 NTLM 사용을 중단해야 한다. 최소한 네트워크의 어느 곳에서 언제 NTLM이 사용되는지 정확히 파악해야 한다.
 

NTLM 사용을 감사하는 방법

먼저 네트워크를 감사해 NTLM v1이 사용되는지 확인해야 한다. NTLMv1을 사용하는 애플리케이션을 찾으려면 도메인 컨트롤러의 ‘Logon Success Auditing’을 활성화한다. 그 후 사용되는 NTLM 버전에 대한 정보가 포함된 ‘Success auditing Event 4624’를 찾는다.

많은 이벤트가 있기 때문에 NTLM을 사용하는지 찾기 어려울 수도 있다. 따라서 더 쉬운 방법은 NTML 사용을 제한할 수 있는지 감사하는 설정을 켜는 것이다. 그룹 정책(Group Policy) 관리 콘솔을 수정해 도메인 컨트롤러의 그룹 정책을 설정하면 된다.
 
  • ‘Forest’로 이동한다.
  • ‘Domains’로 이동한다.
  • ‘Default domain policy’를 찾아 마우스 오른쪽 클릭을 한다.
  • ‘Edit’를 선택한다.
  • 스크롤을 해서 ‘Computer Configuration’을 선택한다.
  • ‘Policies’를 선택한다.
  • ‘Windows Settings’를 선택한다.
  • ‘Security Settings’를 선택한다.
  • ‘Local Policies’를 선택한다.
  • ‘Security Options’를 선택한다.
  • 이 도메인의 ‘Enable Network Security: Restrict NTLM: Audit NTLM authentication’을 선택한다.

일단 이 정책을 활성화하면, NTLM 인증 요청이 ‘Application and Services’, 그리고 ‘마이크로소프트’, 이후 ‘윈도우’ 이후 GPO(Group Policy Object’가 설정된 모든 서버의 NTLM 로그에 로깅 된다.

이제 ‘Network Security: Incoming NTLM traffic’ 대신 먼저 감사를 하는 정책을 설정한다. 이는 서버 2008 R2 이상에서 지원된다. 2가지 정책이 있다. 먼저 'Network Security: Restrict NTLM: Audit incoming NTLM Traffic'을 활성화한다. 이후 ‘Enable auditing for domain accounts'나 'Enable auditing for all accounts'를 선택한다.
 
모든 계정에 대한 감사 기능을 활성화한다. © SUSAN BRADLEY

‘Network security: Restrict NTLM: Audit NTLM authentication in this domain’도 활성화한다. 이 설정에서 ‘Enable for domain accounts to domain servers’, ‘Enable for domain accounts’, ‘Enable for domain servers’, 또는 ‘Enable all’을 선택할 수 있다.
 
도메인 서버에 대한 NTLM 인증 감사  © SUSAN BRADLEY

이제 작업 로그로 가서 인증과 액세스에 이 프로토콜을 사용하는 도메인의 프로세스를 확인한다. 원격 액세스 프로세스가 NTLM을 사용하고 있을 수 있다. 도메인 컨트롤러에 대한 직접 연결이 필요하지 않기 때문이다. 원격 데스크톱 게이트웨이를 매개체로 하는 RDP(Remote Desktop Protocol) 인증 같은 프로세스는 서버에 인증을 보내는 도구로 NTLM을 사용하는 경향이 있다.

‘Network Security: LAN Manager Authentication’의 그룹 정책을 ‘Send NTLMv2response Only/Refuse LM & NTLM’으로 설정할 수 있는지 확인한다.
 

애저 액티브 디렉터리 사용 시 NTLM을 비활성화하는 방법

마이크로소프트는 도메인 서비스에 애저를 사용하면 NTLM을 사용하지 않는 것이 좋다고 설명한다. 또한, 애저 액티브 디렉터리(AD) 도메인 서비스 보안을 강화하기 위해 다음과 설정할 것을 권장한다.
 
  • NTLM v1 및 TLS v2 암호를 비활성화한다.
  • NTLM 비밀번호 해시 동기화를 비활성화한다.
  • RC4 암호로 비밀번호를 변경하는 기능을 끈다.
  • 커베로스 방어를 활성화한다.

이 작업을 수행하려면 애저 AD 도메인 서비스에 로그인한 후 자신의 도메인을 선택한다. 왼쪽에서 ‘Security settings’를 선택한 후 다음 설정을 끈다.
 
  • TLS 1.2 only mode
  • NTLM authentication
  • NTLM password synchronization from on-premises
  • RC4 encryption

그리고 ‘Kerberos armoring’ 설정을 활성화한다. 단, 애저 AD와 액티브 디렉터리(AD)는 다르다는 것을 기억하자. 전자는 기존 AD에 SSO(Single Sign-On)를 추가한 것이다. 오피스 365만 사용하는 것이 아니라면, 사용자 ID 권한은 여전히 AD에 있다.

AD는 도메인에 주요 기능을 제공한다. 사용자와 컴퓨터, 그룹에 대한 정보 저장, 조직 단위와 도메인, 포레스트 같은 객체 추적 기능 등을 예로 들 수 있다. 또한 도메인으로 연결된 기기 간에 안전한 인증을 보장하기 위해 도메인은 물론 LDAP, NTLM, 커베로스에 대해 공통 인증 공급자를 제공한다. 무엇보다 AD는 컴퓨터와 사용자, 서버를 세밀하게 제어 및 관리할 수 있도록 도와준다.

애저 AD는 마이크로소프트의 클라우드 기반 아이덴티티 및 액세스 관리 서비스를 제공하며, 마이크로소프트 365, 애저 리소스, 기타 SaaS 애플리케이션에 액세스할 수 있다. 애저 AD는 여러 클라우드 서비스의 애플리케이션에 대해 서비스로서신원(Identity as a Service)을 제공한다.

정리하면 온프레미스와 클라우드 서비스 모두를 대상으로 네트워크를 조사해 도메인에 대해 선택할 수 있는 가장 안전한 인증을 설정해야 한다. 구형 애플리케이션에서는 NTLM이 가장 적합한 때가 많다. 그러나 NTLM v1 사용을 제한하고, NTLM v2가 쓰이는 곳을 정확히 파악해야 한다. 장기적으로 NTML에서 완전히 탈피하기 위한 계획을 세우고, 여전히 NTLM을 요구하는 업체와 애플리케이션을 확인해야 한다. editor@itworld.co.kr


X