· 17 мин чтения

Блокировка NTLM и миграция на Kerberos: как безопасно уйти от наследия 90-х

Семёнов Евгений Сергеевич, директор АйТи Фреш, 15+ лет в корпоративных AD-инфраструктурах. Из последних десяти аудитов у восьми клиентов Windows NTLMv1 всё ещё обрабатывался контроллерами домена. Это 2025 год, а не 2005-й. NTLM — открытая дверь для pass-the-hash и NTLM-relay атак, которыми атакующие успешно пользуются в 90% инцидентов с компрометацией AD. Я всегда настаиваю на полной миграции на Kerberos, и в этой статье — пошаговый план, как сделать это без простоя бизнеса.

Чем опасен NTLM и зачем его отключать

NTLM появился в Windows NT в середине 90-х как улучшение LAN Manager. Даже «современный» NTLMv2 страдает от архитектурных проблем: нет взаимной аутентификации (клиент не проверяет сервер), нет защиты от relay (злоумышленник перехватывает challenge-response и проигрывает его на третьей машине), используются слабые хэши без соли.

Классические атаки, которые работают против NTLM в 2025 году:

Kerberos, в свою очередь, поддерживает mutual authentication, MIC (Message Integrity Code), привязку к именам сервисов через SPN и шифрование AES256. Это стандарт аутентификации в AD с 2000 года — пора использовать его везде.

Этап 1: Аудит существующего NTLM-трафика

Сначала нужно понять, кто в сети всё ещё говорит на NTLM. Для этого включаем аудит на всех контроллерах домена и рядовых серверах через GPO. У нас на практике я всегда делаю это минимум на 14 дней — чтобы поймать месячные задачи, backup-задания и квартальные отчёты.

# На DC — GPO "NTLM Audit"
Computer Configuration → Policies → Windows Settings → Security Settings →
  Local Policies → Security Options:

Network security: Restrict NTLM: Audit Incoming NTLM Traffic = Enable auditing for all accounts
Network security: Restrict NTLM: Audit NTLM authentication in this domain = Enable all
Network security: Restrict NTLM: Outgoing NTLM traffic to remote servers = Audit all

После применения политики в Event Viewer появляется специальный журнал: Applications and Services Logs → Microsoft → Windows → NTLM → Operational. Ключевые события:

Я собираю эти события в Elasticsearch или Graylog, группирую по parой client+server+user и получаю список источников NTLM. Типичная картина: 50–200 уникальных источников, из которых 80% — это три-четыре категории: старые сканеры с SMBv1, самописное ПО на VBScript, обращения по IP вместо FQDN, вложенные скрипты со скрытыми учётками.

Этап 2: Разбор источников и починка SPN

Первая типовая причина NTLM — обращение к серверу по IP-адресу. Kerberos-клиент проверяет SPN вида HOST/server.domain.ru, и если в запросе IP — SPN не находится, тикет не выпускается, клиент откатывается на NTLM. Лечение: фиксируем обращения по DNS-именам.

Вторая причина — отсутствие SPN у сервисной учётки. Например, SQL Server запущен под доменной учёткой svc_sql1c, а SPN MSSQLSvc/sql01.corp.ru:1433 на эту учётку не зарегистрирован. Клиент 1С спрашивает Kerberos-тикет для сервиса, не находит его и падает на NTLM.

# Проверка SPN для учётки
setspn -L svc_sql1c

# Регистрация SPN
setspn -S MSSQLSvc/sql01.corp.ru:1433 CORP\svc_sql1c
setspn -S MSSQLSvc/sql01.corp.ru CORP\svc_sql1c

# Проверка дубликатов SPN — главный враг Kerberos
setspn -X -F

Дубликаты SPN (когда одно и то же имя сервиса зарегистрировано на двух учётках) — классическая причина отказа Kerberos. setspn -X показывает конфликты, их нужно чистить в обязательном порядке.

Этап 3: Типовые источники NTLM и их лечение

ИсточникПричинаКак починить
Старые сканеры Kyocera/RicohScan-to-SMB с SMBv1 и NTLMv1Обновить прошивку, включить SMBv2, создать отдельную учётку с Kerberos
Самописные скрипты VBS/PowerShellОбращение по IP или NetBIOS-имениПереписать с использованием FQDN
Приложения с runas /netonlyПринудительный NTLMИспользовать gMSA или CredSSP с Kerberos
IIS с Anonymous + NTLMДефолтная конфигурацияВключить Negotiate, SPN на app pool identity
Сервисные учётки без SPNАдминистратор не прописалsetspn -S для всех клиентских подключений
Подключение SMB по IPFallback на NTLMИсправить скрипты/GPO, DNS-алиасы

Этап 4: Исключения для того, что починить нельзя

Всегда остаётся 3–5% трафика, который починить невозможно. Старый робот, самописный контроллер, унаследованный MSSQL 2008. Для них в GPO есть параметр «Add server exceptions in this domain» и «Add server exceptions for NTLM authentication».

# GPO "NTLM Exceptions"
Network security: Restrict NTLM: Add server exceptions in this domain:
  scanner01.corp.ru
  scanner02.corp.ru
  legacyapp.corp.ru
  10.10.5.42  # если действительно нужен IP

# После добавления — делаем аудит ещё неделю, чтобы убедиться,
# что список полный

Я всегда веду исключения как отдельный GPO-объект, отдельно от основной политики блокировки. Так при необходимости их проще отозвать, и видно кто, когда и зачем добавил исключение.

Этап 5: Переход в режим «deny audit only»

Следующий шаг — включаем режим «отказывать, но только логировать». Это промежуточная фаза: все NTLM-запросы, не попавшие в исключения, помечаются в логе как «would be blocked», но по факту ещё проходят. Пару недель в этом режиме — и видно, какие ещё источники случайно просочились.

Network security: Restrict NTLM: NTLM authentication in this domain
  = Deny all except for server exceptions — Audit only

Network security: Restrict NTLM: Incoming NTLM traffic
  = Deny all except for server exceptions — Audit only

После двух недель без новых событий «would be blocked» — переключаем на финальный режим «Deny». Это блокирующая политика, NTLM больше не работает, всё что не Kerberos — отказ.

Мини-кейс: миграция для юридической фирмы, 120 РМ

В марте 2026 года к нам на аудит пришла юридическая фирма в центре Москвы. Два DC на Windows Server 2019, 120 рабочих мест, файловый сервер, 1С, MSSQL, Exchange 2016. Задача — подготовиться к проверке регулятора и закрыть все NTLM-подключения. Сроки — два месяца.

Неделя 1–2: включили аудит, собрали 43 000 событий NTLM. Группировка показала 18 уникальных источников: 4 сканера Kyocera, 7 самописных скриптов планировщика, 3 службы 1С, 2 старых сервера под MSSQL 2012, пара подключений удалёнщиков через неправильно настроенный VPN.

Неделя 3–4: зарегистрировали SPN для MSSQL и 1С (5 записей), переписали 7 скриптов с IP на FQDN, обновили прошивку 3 из 4 сканеров. Четвёртый сканер не обновлялся — занесли в список исключений.

Неделя 5: включили «Audit only deny». Поймали ещё 3 источника (неочевидные скрипты на Linux-машинах с samba-клиентом). Починили.

Неделя 6: финальный режим «Deny all». В первые 2 часа — 4 обращения в саппорт, все решены консультацией по правильному URL. На Dell Xeon Platinum 8280 наш контроллер домена обрабатывает входящие тикеты Kerberos на порядок быстрее, чем раньше NTLM-хэши. Стоимость работ — 180 000 руб. за 6 недель сопровождения.

Подводные камни и как их обойти

За много проектов собрал список граблей, на которые часто наступают:

Мониторинг после миграции

Закончили миграцию — не расслабляйтесь. Я всегда держу включённым continuous-аудит по NTLM в рамках SIEM, чтобы ловить попытки downgrade-атак:

Поможем уйти от NTLM без простоя бизнеса

Проведу полный аудит NTLM-трафика, найду все источники, починю SPN и скрипты, настрою GPO и проконтролирую миграцию до финального Deny-режима. Работаю с офисами от 50 рабочих мест, срок — от 4 до 8 недель в зависимости от сложности.

Телефон: +7 903 729-62-41
Telegram: @ITfresh_Boss
Семёнов Евгений Сергеевич, директор АйТи Фреш

FAQ — частые вопросы по миграции NTLM → Kerberos

Чем плох NTLM в 2025 году?
NTLM уязвим к pass-the-hash и relay-атакам, не поддерживает взаимную аутентификацию, использует устаревшие алгоритмы. Microsoft официально рекомендует отключать NTLM и переходить на Kerberos, где возможно.
Можно ли полностью отключить NTLM в среднем офисе?
Да, но после тщательного аудита. Обычно 95% трафика можно увести в Kerberos, а оставшиеся 5% (старое ПО, подключения по IP, сканеры документов) — занести в список исключений политики «Add server exceptions».
Сколько времени занимает миграция?
В среднем офисе на 100–200 ПК — от 2 до 6 недель. Две недели на сбор аудита, 1–2 недели на исправление SPN и настройку исключений, неделя на блокировку в режиме «audit» и ещё неделя на финальный «deny».
Что такое SPN и зачем он нужен?
Service Principal Name — уникальное имя сервиса в AD, привязанное к учётной записи компьютера или сервисной учётки. Без корректного SPN клиент не сможет получить Kerberos-тикет и упадёт на NTLM, что нам нежелательно.
Как включить аудит NTLM?
Через GPO «Computer Configuration → Policies → Windows Settings → Security Settings → Local Policies → Security Options → Network security: Restrict NTLM». Три параметра: Audit Incoming, Audit NTLM authentication, Audit Outgoing NTLM. Логи появляются в Event Viewer → Applications and Services → Microsoft → Windows → NTLM.

Подпишитесь на рассылку ITfresh

Раз в неделю — практические гайды для руководителя IT и сисадмина: безопасность, 1С, миграции, резервные копии, лайфхаки из реальных проектов.

Реквизиты оператора персональных данных

ООО «АЙТИ-ФРЕШ», ИНН 7719418495, КПП 771901001. Юридический адрес: 105523, г. Москва, Щёлковское шоссе, д. 92, корп. 7. Контакт: info@itfresh.ru, +7 903 729-62-41. Оператор обрабатывает e-mail подписчика в целях рассылки информационных и рекламных материалов до момента отзыва согласия.