
TL;DR: Windows Server 2025 — это не «ещё один релиз», а разворот к secure-by-default. Главные перемены: жёстче SMB (подписание по умолчанию на клиенте), отказ от легаси-аутентификации, усиление Kerberos, защита LSASS/Credential Guard «из коробки» и переосмысление LAPS. Но магии нет: уязвимости в AD CS и делегировании по-прежнему «делают игру», если их не аудировать. Ниже — живой опыт, грабли и готовые шаги внедрения без боли.
Почему это важно лично мне (и, вероятно, вам)
Мы поймали странный «обрыв» доступа к нескольким NAS и старому принтер-серверу. В логе — ничего драматического: «не получилось договориться по безопасности». Виноват оказался не «прокси/файрвол», а новая норма безопасности: клиент Windows Server 2025 уже требует подпись SMB-пакетов. Всё, что не умеет — идёт мимо кассы.
В тот же месяц у коллег «ложилась» интеграция, ретранслирующая NTLM на LDAP, — и снова не сеть виновата. LDAP-подпись и привязка канала (channel binding) перестали считать ретрансляцию чем-то приемлемым. Зато после шторма заметно стихло количество «подозрительных» попыток бокового смещения.
Мораль простая: реактивная модель «ставим патчи и надеемся» больше не тянет. Нужен проактивный дизайн — с нормами безопасности, которые не нужно «включать по желанию», а которые уже встроены в дефолт.
Что поменялось «по умолчанию» и почему это хорошо (и немного больно)
SMB: «подписываем всегда» и прощаемся с легаси
Клиент Windows Server 2025 и Windows 11 24H2 требует SMB-подписание для исходящих соединений.
Сервер: у рядового member-сервера подпись для входящих не обязательна, у DC — обязательна.
Можно централизованно задать разрешённые диалекты SMB, а также замедлить брутфорсаутентификации.
Практика:
# Инвентаризация
Get-SmbClientConfiguration | fl RequireSecuritySignature, EnableSecuritySignature
Get-SmbServerConfiguration | fl RequireSecuritySignature, SmbServerNameHardeningLevel
# Жёстче на сервере
Set-SmbServerConfiguration -RequireSecuritySignature $true -Force
# Найти и вычистить SMBv1 (да, он всё ещё встречается)
Get-WindowsOptionalFeature -Online -FeatureName SMB1Protocol
Disable-WindowsOptionalFeature -Online -FeatureName SMB1Protocol -NoRestart
Где ломается: старые Samba/NAS/встроенные устройства, «наследие» с NTLMv1/без подписи. Лечится обновлением/перенастройкой, а иногда — миграцией.
LDAP: подпись и channel binding
LDAP Signing + Channel Binding делают NTLM-relay к контроллерам домена бессмысленным.
Перед включением в строгий режим — аудит логов DC и поимка «легаси-клиентов».
Подсказки:
GPO:
Computer Configuration → Windows Settings → Security Settings → Local Policies → Security Options
Domain controller: LDAP server signing requirements = Require signing
Domain controller: LDAP server channel binding token requirements = AlwaysСобытия, на которые смотреть: 2889, 3039/3074/3075 (подпись/CBT).
Kerberos: усиление по периметру
Жёстче проверки PAC, строгие сопоставления сертификатов, нет поблажек RC4/DES.
Конфиги делегирования (KCD/RBCD) теперь не про «удобно», а про «строго по назначению».
Креды — в броне: LSASS, Credential Guard и «новый» LAPS
LSA Protection (RunAsPPL) закрывает прямой дамп LSASS даже для локального админа.
Credential Guard на совместимом железе изолирует секреты в VBS.
Windows LAPS — встроен в ОС, умеет рандомизировать имя локального админа, генерировать passphrase, реагировать на откат снапшота и автоматически сбрасывать пароль после использования.
Проверка/включение:
# LSA Protection
New-ItemProperty HKLM:\SYSTEM\CurrentControlSet\Control\Lsa -Name RunAsPPL -Type DWord -Value 1 -Force
# Быстрый sanity-check NTLM-аутентификаций (намёк на легаси)
Get-WinEvent -FilterHashtable @{LogName='Security'; Id=4776} -MaxEvents 200
Тихие убийцы архитектуры: AD CS и делегирование Kerberos
Здесь нет «эксплойта на переполнение». Здесь логика и доверие.
AD CS (ESC-семейство): «завёл — и забыл» ≠ безопасно
Типичные опасности:
ESC1: Enrollee supplies subject + Client Auth без одобрения — дорога к фальшивым сертификатам «от имени».
ESC3: слишком широкая выдача Certificate Request Agent.
ESC8: веб-регистрация без защищённой аутентификации/подписи (идеально для relay).
ESC13: политика выдачи связана с привилегированной группой AD.
Что делать по-взрослому:
Прогнать аудит (Certify/Certipy/PSPKI), порезать права на шаблоны, убрать Enrollee supplies subject там, где не критично, закрыть/укрепить веб-выпуск, вручную проверить OID и связи с группами.
Делегирование (KCD/RBCD): «кому вы позволили притворяться вами»
Unconstrained — зло (выключить везде, где можно).
KCD — только с чётким списком SPN.
RBCD — внимательно мониторьте изменения атрибута
msDS-AllowedToActOnBehalfOfOtherIdentity
.Привилегированных — в Protected Users (такие билеты не делегируются).
Многолетние болевые точки (которые не лечатся патчем)
Print Spooler: если не печатаете — выключите
Stop-Service Spooler
Set-Service Spooler -StartupType Disabled
Это единственный надёжный способ убрать класс уязвимостей вокруг драйверов/загрузки кода с SYSTEM-правами. Особенно на DC и Tier-0.
RDP: стратегия «семи замков»
NLA обязательно.
MFA на вход (RDP Gateway/бастион предпочтительно).
Никогда не светить 3389 в интернет; VPN/шлюз — must.
Ограничить исходники по IP (хостовый и сетевой фаервол).
Сменить порт (это не безопасность, но шум убирает).
Выдавать право входа через RDP точечно.
Политика блокировок при брутфорсе.
Как внедрить всё это без пожара: план 30/60/90
0–30 дней: «быстрая гигиена» и инвентарь
SMB: выключить SMBv1, включить подпись на сервере, собрать список «легаси».
LDAP: аудит событий 2889/3039/3074/3075 на DC.
Креды: включить RunAsPPL, проверить совместимость CG.
Spooler: выключить там, где не нужен.
Поднять базелайн GPO (Server 2025), но с пилотом.
30–60 дней: «болит — лечим»
Легаси-узлы (NAS/Samba/ПО) — план апгрейда/замены.
LDAP signing/CBT → перевод в Require, протестировав «рыбную ловлю» логами.
Запустить Windows LAPS (новый), в т.ч. ротацию DSRM на DC.
Начать аудит AD CS (шаблоны/права/веб-выпуск).
60–90 дней: «закрываем петли»
Делегирование: ревизия Unconstrained/KCD/RBCD, Protected Users для чувствительных учёток.
SMB-диалекты: зафиксировать на уровне GPO.
Процессы: ввести регулярный отчёт по событиям NTLM/Kerberos/LDAP, KEV-вочлист, ежемесячный «патч-штурм».
Таблица-шпаргалка: как менялись дефолты по поколениям
ОС/выпуск |
SMB-подпись (клиент, исх.) |
SMB-подпись (сервер, вх.) Member |
SMB-подпись (сервер, вх.) DC |
---|---|---|---|
Windows Server 2019/2022 |
Нет (кроме SYSVOL/NETLOGON) |
Нет |
Да |
Windows 11 23H2 |
Нет (кроме SYSVOL/NETLOGON) |
Нет |
— |
Windows Server 2025 |
Да (по умолчанию) |
Нет (по умолчанию) |
Да |
Windows 11 24H2 |
Да (по умолчанию) |
Да (по умолчанию) |
— |
Важный нюанс: «клиент требует подпись» меняет правила игры сильнее всего — ломается не сервер, а цепочка доверия с легаси-узлом.
Мини-аудит, который я гоняю первым делом
# 1) SMB: подпись и легаси
Get-SmbClientConfiguration | ft RequireSecuritySignature,ConnectionDialect -Auto
Get-SmbServerConfiguration | ft RequireSecuritySignature,SmbServerNameHardeningLevel -Auto
Get-WindowsOptionalFeature -Online -FeatureName SMB1Protocol
# 2) NTLM: есть жизнь в 2025?
Get-WinEvent -FilterHashtable @{LogName='Security'; Id=4776} -MaxEvents 200
# 3) Kerberos: намёк на слабую крипту/легаси
Get-WinEvent -FilterHashtable @{LogName='Security'; Id=4769} -MaxEvents 200 |
Where-Object { $_.Properties[6].Value -match 'DES|RC4' } | Select -First 5
# 4) LSA Protection (RunAsPPL) включён?
reg query HKLM\SYSTEM\CurrentControlSet\Control\Lsa /v RunAsPPL
Что я бы сделал иначе, зная весь этот опыт
Сразу начал бы с логов DC — они честно показывают, кто «плодит» неподписанные/ретранслированные сессии.
Пилотировал бы базелайн Server 2025 на одном сегменте, а не точечно «крутил» параметры.
Раньше бы перевёл LAPS на новый, с passphrase и авто-сбросом после входа.
Не откладывал бы аудит AD CS — это из тех мест, где «с собой» всегда обнаруживается больше, чем ожидал.
Вынес бы RDP наружу в ноль (шлюз/MFA) ещё вчера.
Что значит «человечная безопасность» в 2025
Windows Server 2025 делает правильную вещь: безопасность стала дефолтом, а не доп.пакетом. Но это всего лишь мощный рычаг. Реальные инциденты сегодня — результат конфигураций и доверия, а не только «не поставили патч».
Если коротко:
Делаем дефолт ещё жёстче (SMB/LDAP/Kerberos).
Ставим броню на креды (RunAsPPL, Credential Guard, LAPS).
Аудируем логику доверия (AD CS, делегирование).
Чистим «вечные» риски (Spooler, RDP).
И главное — действуем планом, а не «по тикетам».
JohnSmith_007
Лечение: выбросите свои сервера и купите у нас новые за многа денег ! Ой и сетевя инфраструктура нужна новая !