Открыть сервис

NTLM

NTLM (New Technology LAN Manager) — это протокол аутентификации, разработанный корпорацией Microsoft и используемый в операционных системах семейства Windows для проверки подлинности пользователей и компьютеров в локальных сетях. NTLM относится к категории протоколов запрос-ответ (challenge-response) и обеспечивает единый вход (Single Sign-On) в доменной среде, а также аутентификацию в рабочих группах. Протокол является преемником более раннего LM (LAN Manager) и, несмотря на свою устаревшую архитектуру, продолжает поддерживаться в современных версиях Windows для обратной совместимости.

История

Разработка NTLM началась в конце 1980-х годов как часть операционной системы OS/2 LAN Manager, а затем была интегрирована в Windows NT 3.1, выпущенную в 1993 году. Основной целью было создание более безопасной замены для протокола LM, который использовал слабые алгоритмы хеширования и не поддерживал современные криптографические стандарты.

С выходом Windows 2000 корпорация Microsoft представила протокол Kerberos в качестве основного механизма аутентификации в доменах Active Directory. Однако NTLM остался в системе как резервный протокол для случаев, когда Kerberos недоступен — например, при аутентификации на локальных компьютерах, в рабочих группах, через устаревшие приложения или при подключении к ресурсам по IP-адресу. В последующих версиях Windows (XP, 7, 10, 11) NTLM сохраняется, но его использование постепенно вытесняется более современными решениями.

Архитектура и принцип работы

NTLM основан на механизме «запрос-ответ» (challenge-response), который позволяет доказать знание пароля без его передачи по сети в открытом виде. Процесс аутентификации включает три стороны: клиент, сервер и контроллер домена (в доменной среде).

Этапы аутентификации

  1. Запрос соединения: Клиент отправляет серверу запрос на доступ к ресурсу (например, файловому серверу).
  2. Вызов (challenge): Сервер генерирует случайное число (nonce) и отправляет его клиенту.
  3. Ответ (response): Клиент вычисляет хеш пароля пользователя, комбинирует его с вызовом и некоторыми дополнительными данными (например, именем пользователя и доменом), и отправляет результат обратно серверу.
  4. Проверка: Сервер передаёт полученный ответ и вызов контроллеру домена (или проверяет локально, если аутентификация локальная). Контроллер домена, зная хеш пароля пользователя, повторяет вычисления и сравнивает результат. При совпадении доступ предоставляется.

Версии протокола

Классификация и виды

NTLM применяется в нескольких сценариях:

Устройство и характеристики

Хеширование паролей

NTLM использует два типа хешей:

Сессионные ключи

После успешной аутентификации NTLM генерирует сессионный ключ, который используется для шифрования последующего трафика (например, в протоколах SMB и RPC). В NTLMv1 сессионный ключ вычисляется на основе LM-хеша, в NTLMv2 — на основе NT-хеша и случайных данных.

Ограничения

Применение и значение

NTLM широко применяется в корпоративных средах, особенно в устаревших системах и приложениях, которые не поддерживают Kerberos. К числу таких сценариев относятся:

Несмотря на свою устаревшую архитектуру, NTLM остаётся важным элементом безопасности в гибридных средах, где часть систем работает на старых ОС, а часть — на современных. Многие организации отключают NTLM в пользу Kerberos или современных методов аутентификации, таких как OAuth 2.0 или SAML.

Критика и уязвимости

NTLM подвергается критике за низкий уровень безопасности по сравнению с современными протоколами. Основные недостатки:

В 2017 году Microsoft выпустила обновление, блокирующее использование NTLMv1 по умолчанию в Windows 10 и Windows Server 2016. В 2022 году компания объявила о планах полностью отказаться от NTLM в будущих версиях Windows, заменив его на протокол Negotiate (Kerberos с резервным NTLM) и новые механизмы аутентификации, такие как Windows Hello for Business и FIDO2.

Интересные факты

Источники

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →