Деактивиране на удостоверяването на NTLM в домейн на Windows

NTLM (NT LAN Manager) е доста стар протокол за удостоверяване на Microsoft, който се появи в Windows NT. Въпреки че Microsoft въведе по-сигурния протокол за удостоверяване на Kerberos още в Windows 2000, NTLM (главно NTLMv2) все още се използва широко за удостоверяване в мрежите на Windows. В тази статия ще разгледаме характеристиките на процеса на деактивиране на протокола NTLMv1 и NTLMv2 и преминаване към Kerberos в домейна на Active Directory.

Основен проблем NTLMv1 - слабо криптиране, съхранение на хеша на паролата в RAM в LSA услугата, което може да се извлича от различни комунални услуги (като mimikatz) и да се използва хешът за допълнителни атаки, липсата на взаимна автентификация на клиента и сървъра, което прави атаките на прихващане на данни и неоторизиран достъп до мрежови ресурси съвсем реални (комунални услуги като Responder могат да прихващат NTLM данни, предавани по мрежата и да ги използват за достъп до мрежови ресурси) и редица други уязвимости.

Някои от тези недостатъци са отстранени в по-нова версия. NTLMv2, който използва повече криптографски алгоритми за криптиране и може да предотврати популярни атаки срещу NTLM. Започвайки с Windows 7 / Windows Server 2008 R2, използването на NTLMv1 и LM за разрешение е изключено по подразбиране.

Съдържание:

  • Преминаване към NTLMv2
  • Одитиране на събития за удостоверяване на NTLM в домейн
  • Деактивиране на NTLM в домейн на Active Directory

Преминаване към NTLMv2

Ако мислите да изоставите напълно NTLM във вашия домейн, първо трябва да сте сигурни, че не използвате неговата по-уязвима версия, NTLMv1. Вашата мрежа вероятно има редица наследени устройства или услуги, които все още използват NTLMv1 удостоверяване вместо NTLMv2 (или Kerberos). Ето защо, преди да прибягвате до пълното му спиране, прочетете раздела на тази статия за одит на събития на разрешения с помощта на NTLM.

Потенциалните проблеми при деактивиране на NTLMv1 могат да бъдат с малки продукти с отворен код, различни стари модели мрежови скенери (които подреждат сканиране в мрежови папки), някои NAS устройства и друго остаряло оборудване, софтуер и ОС.

На първо място, администраторът на домейна трябва да се увери, че е забранено използването на NTLM или LM за разрешение в неговата мрежа, тъй като в някои случаи нападателят може да използва специални заявки, за да получи отговор на NTLM / LM заявка.

Типът за удостоверяване може да бъде зададен с помощта на домейн (или местна) политика. Отворете конзолата за управление на политики за домейни и редактирайте Политиката по домейни по подразбиране. Отидете в секцията Компютърни конфигурации -> Политики -> Настройки на Windows -> Настройки за защита -> Локални политики -> Опции за защита и намерете политиката

Мрежова сигурност: ниво на автентификация на LAN мениджър (Мрежова сигурност: Ниво за удостоверяване на LAN Мениджър).

Има 6 опции в настройките на правилата:

  • Изпращане на LM & NTLM отговори;
  • Изпращайте LM & NTLM отговори - използвайте защита на NTLMv2 сесия, ако се договаряте;
  • Изпращане само на NTLM отговор;
  • Изпращане само на NTLMv2 отговор;
  • Изпращане само на NTLMv2 отговор. Отказ LM;
  • Изпращане само на NTLMv2 отговор. Откажете LM & NTLM.

Политиките за използване на удостоверяване на NTLM са подредени в нарастващ ред на сигурност. Настройката по подразбиране за Windows 7 и по-нова е Изпращане само на NTLMv2 отговор (Изпращане само на NTLMv2 отговор). С тази настройка клиентските компютри използват NTLMv2 удостоверяване, но контролерите на домейни приемат LM, NTLM и NTLMv2 заявки.

NTLMv2 може да се използва, ако протоколът Kerberos не работи и за някои операции (например при управление на локални акаунти и групи на компютри с домейни) или в работни групи.

Можете да промените стойността на правилата на по-безопасна 6 опция - „Изпращане само на NTLMv2 отговор. Откажете LM & NTLM". Съгласно това правило контролерите на домейни ще отхвърлят също LM и NTLM заявки..

Можете също да деактивирате NTLMv1 чрез системния регистър. За това в бранша

HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ Lsa трябва да създадете DWORD параметър с име LMCompatibilityLevel и стойност от 0 до 5. Стойност 5 съответства на стойността на политиката „Изпращайте само NTLMv2 отговор. Отказ LM и NTLM“.

В същия раздел на GPO уверете се, че имате активирана политика Сигурност на мрежата: Направете запазване на хеш стойността на Lan Manager при следваща промяна на паролата (Мрежова сигурност: Не съхранявайте хеш-стойностите на LAN Manager при следващата промяна на паролата). Тази политика е активирана по подразбиране, като се започне с Windows Vista / Windows Server 2008 и предотвратява създаването на LM хеш.

Не забравяйте да приложите тази политика за контролери на домейни..

Ако сте убедени, че не използвате NTLMv1, можете да продължите напред и да се опитате да изоставите NTLMv2. NTLMv2, въпреки че е по-сигурен протокол за удостоверяване, все още губи Kerberos значително по отношение на сигурността (въпреки че NTLMv2 има по-малко уязвимости от първата версия на протокола, все още има възможности за прихващане и повторно използване на данни и няма взаимна автентификация).

Основният риск от деактивиране на NTLM е възможното използване на остарели или неправилно конфигурирани приложения в домейна, които все още могат да използват удостоверяване на NTLM и ще трябва да ги актуализирате или конфигурирате по специален начин, за да превключите към Kerberos.

Одитиране на събития за удостоверяване на NTLM в домейн

Преди напълно да деактивирате NTLM в домейна и да преминете към Kerberos, препоръчително е да се уверите, че няма останали приложения в домейна, които изискват и използват NTLM удостоверяване.

За да проследявате акаунти и приложения, които използват удостоверяване на NTLM, можете да активирате политиките за одит на всички компютри, използващи GPO. В секцията Конфигурация на компютъра -> Настройки на Windows -> Настройки за защита -> Локални политики -> Раздел Опции за защита, намерете и активирайте правилата Мрежова сигурност: Ограничете NTLM: Одитирайте удостоверяването на NTLM в този домейн, задаване на стойността му на Активиране на всички.

Активирайте политиката по същия начин. Мрежова сигурност: Ограничете NTLM: Одитирайте входящия трафик на NTLM, задаване на стойността му на Активиране на одита за акаунти в домейна.

След включването на тези правила събития, използващи удостоверяване на NTLM, се записват в дневника на събитията Viewer в секцията Журнали за приложения и услуги -> Microsoft -> Windows -> NTLM.

Можете да анализирате събития на всеки сървър или да събирате всички събития в централен дневник на събитията.

Трябва да събирате събития от Microsoft-Windows-Security-Auditing с идентификатор на събитието 4624 - Акаунтът е успешно влязъл. Обърнете внимание на информацията в „Подробна информация за удостоверяване". Ако е на линия Пакет за удостоверяване неизвестен NTLM, след това NTLM протоколът е използван за удостоверяване на този потребител.

Сега обърнете внимание на смисъла Име на пакета (само за NTLM). Той трябва да посочва кой протокол (LM, NTLMv1 или NTLMv2) е използван за удостоверяване. По този начин трябва да идентифицирате всички сървъри / приложения, които използват наследения протокол.

Например, за да търсите всички събития за удостоверяване за NTLMv1 във всички контролери на домейни, можете да използвате следния скрипт PowerShell:

$ ADDCs = Get-ADDomainController -filter * -Server winitpro.ru
$ Now = Дата на получаване
$ Вчера = $ Сега.Добавяне (-1)
$ NewOutputFile = "c: \ ps \ Събития \ $ ($ Вчера.ToString ('yyyyMMdd')) _ AD_NTLMv1_events.log"
функция GetEvents ($ DC)
Напишете-домакин „Търсене на вход в“ $ DC.HostName
$ Events = Get-EventLog "Сигурност" -След $ Вчера.Дата -Послед $ Сега.Дата -Компютърно име $ DC.HostName -Масаж "* V1 *" -съдържание 4624
foreach ($ събитие в $ събития)
Напишете хост $ DC.HostName $ Event.EventID $ Event.TimeGenerated
Out-File -FilePath $ NewOutputFile -InputObject "$ ($ Event.EventID), $ ($ Event.MachineName), $ ($ Event.TimeGenerated), $ ($ Event.ReplacementStrings), ($ Event.message)" - Добавяне


foreach ($ DC в $ ADDC) GetEvents ($ DC)

След като намерите потребители и приложения, които използват NTLM във вашия домейн, опитайте да ги превключите на Kerberos (възможно е да използвате SPN). Някои приложения трябва да бъдат конфигурирани, за да може разрешението на Kerberos да работи (вижте разрешение за Kerberos в IIS, използвайки разрешение за Kerberos в браузърите). От личен опит: дори наистина големи търговски продукти понякога все още не са преминали от използване на NTLM към Kerberos, някои продукти изискват актуализиране или промени в конфигурацията. Всичко се свежда до определяне кои приложения използват NTLM удостоверяване, а сега имате начин да разберете този софтуер и устройства.

За упълномощаване в Kerberos трябва да използвате името на DNS сървъра, а не IP адреса. Ако посочите IP адрес, когато се свързвате с ресурси, се използва удостоверяване на NTLM.

Онези приложения, които не могат да бъдат превключени към използване на NTLM, могат да бъдат добавени към изключения, което им позволява да използват NTLM удостоверяване, дори ако е деактивирано на ниво домейн. Политиката се използва за това. Мрежова сигурност: Ограничете NTLM: Добавете изключения на сървъра за удостоверяване на NTLM в този домейн. Имената на сървърите за удостоверяване, на които NTLM може да се използва за удостоверяване, трябва да се добавят към списъка с изключения (разбира се, в идеалния случай този списък с изключения трябва да е празен). Можете да използвате символа за заместване *.

Деактивиране на NTLM в домейн на Active Directory

За да проверите как работи автентификацията в различни приложения в домейна, без да използвате NTLM, можете да добавите необходимите потребителски акаунти към групата от домейни

Защитени потребители (група е достъпна, като се започне от Windows Server 2012 R2), чиито членове могат да бъдат удостоверявани само с помощта на протокол Kerberos (NTLM, Digest Authentication или CredSSP не могат да се използват). Така че можете да проверите удостоверяването на потребителя на Kerberos в различни приложения.

Сега можете напълно да деактивирате NTLM в домейна с помощта на групови правила Мрежова сигурност: Ограничете NTLM: NTLM удостоверяване в този домейн.

В тази политика има 5 опции:

  • Изключване: политиката е деактивирана (разрешено е NTLM удостоверяване в домейна);
  • Отказ за домейн акаунти на домейн сървъри: контролерите на домейни забраняват опитите за удостоверяване на NTLM за всички сървъри под акаунти в домейна, връща се грешката „NTLM е блокиран“;
  • Отказ за домейни акаунти: контролерите на домейни забраняват опитите за удостоверяване на NTLM за всички акаунти в домейна, връща се грешката „NTLM е блокиран“;
  • Отказ за домейн сървъри: Заявките за удостоверяване на NTLM за всички сървъри са отказани;
  • Отказване на всички: контролерите на домейни блокират всички NTLM заявки за всички сървъри и акаунти.

За по-нататъшно разделяне на защитата в AD, препоръчвам ви да прочетете статиите „Защита срещу извличане на парола от паметта с A la Mimikatz Utilities“, „Защита на администраторски акаунти“, Деактивиране на LLMNR и NetBIOS през TCP / IP.