Windows Server 2022 Insider Preview: смотрим на Secured-core, SMB compression и DoH
Разворачиваем Windows Server 2022 Insider Preview в тестовой среде: изучаем Secured-core server, SMB compression и TLS 1.3 по умолчанию. Заметки для миграции с 2016.
Microsoft выпустила Windows Server 2022 Insider Preview с защищёнными DNS (DoH) и улучшенным SMB
Microsoft выкатила очередную сборку Windows Server 2022 по инсайдерской программе. Релизная история у Server Insider Preview всегда немного хаотична - ты получаешь сборку, которая может измениться до выхода финала, и половина фич заявлена, но либо не включена, либо работает через раз. Тем не менее посмотреть стоило: несколько заявленных возможностей напрямую касались клиентов, которых мы ведём в рамках managed-сопровождения и которые сидят на Server 2016.
Подняли VM на Hyper-V, поставили preview-сборку, провели несколько часов за изучением. Вот что получилось.
Secured-core server: что это в реальности
Маркетинговое название немного раздуто, но концепция понятная. Secured-core объединяет несколько защитных механизмов, часть из которых существует и раньше, просто теперь они объединены под одним флагом и включаются связкой:
- DRTM (Dynamic Root of Trust for Measurement) - процессор при загрузке измеряет состояние до передачи управления ОС. Требует поддержки со стороны железа: Intel TXT или AMD SKINIT. На наш тестовый хост с Hyper-V Generation 2 VM это частично эмулируется.
- Hypervisor-Protected Code Integrity (HVCI) - ядро работает в изолированном VBS-окружении, код режима ядра проверяется перед исполнением. Это убивает целый класс атак с подгрузкой неподписанных драйверов.
- Credential Guard - LSA-секреты в изолированной памяти, NTLM-хэши и Kerberos-тикеты не светятся в обычном адресном пространстве. Появился ещё в Windows 10 Enterprise и Server 2016, в 2022 включается автоматически как часть Secured-core.
На практике в тестовой VM с приемлемым железом Secured-core включается в несколько кликов через Server Manager. На старом железе без DRTM - часть функций просто недоступна, и включить их нельзя, сколько ни нажимай. Это важный момент для тех, кто собирается мигрировать: Secured-core - это не только вопрос ОС, это вопрос железа. Серверам 2014-2016 года рождения без обновлённого BIOS и поддержки TXT эти опции могут быть недоступны.
SMB compression: идея хорошая, результат зависит от данных
Новый SMB с компрессией - одна из тех фич, о которой легко написать красивые цифры в презентации и с которой на практике надо обращаться осторожно.
Принцип: клиент и сервер договариваются об алгоритме сжатия (LZ77, LZ4 или LZNT1) при установлении сессии, и данные идут по сети уже сжатыми. Выигрыш очевиден если гонять текстовые файлы, SQL-дампы, логи. Для уже сжатых данных - ZIP-архивы, видео, ISO-образы - компрессия только добавляет CPU-нагрузку без выигрыша по трафику.
Мы прогнали несколько сценариев:
- Копирование текстовых логов - SMB compression дал заметное снижение трафика, операция завершилась быстрее на медленном линке.
- Перенос VHD-образов виртуальных машин - образы внутри плотно заполнены, компрессия почти не даёт выигрыша, CPU при этом нагружается.
- Копирование SQL bak-файлов - SQL Server по умолчанию сжимает бэкапы, SMB compression тут бесполезна.
Для клиентов с медленными WAN-линками и преимущественно текстовым трафиком между филиалами - интересно. Для инфраструктуры, где данные уже сжаты или шифруются end-to-end - нейтрально.
Важный момент: компрессия работает только между 2022-серверами. Клиент на 2016 или 2019 её не поддерживает - трафик идёт как обычно. Это означает, что в гетерогенной среде при миграции часть пар клиент-сервер будет компрессовать трафик, часть нет, и разницу в поведении надо учитывать.
TLS 1.3 по умолчанию и DoH
Вот здесь изменение ощутимое. В Server 2016 TLS 1.3 отсутствует, в Server 2019 он появился, но не включён по умолчанию. В 2022 он включён из коробки.
На практике это означает несколько вещей для окружений, которые мы ведём:
Первое - трафик-инспекция. Несколько клиентов используют SSL-inspection на периметре - UTM или NGFW, который терминирует TLS и проверяет содержимое. TLS 1.3 усложняет классическую схему man-in-the-middle инспекции: убран RSA key exchange, нет возможности вынуть ключ сессии из трафика без активного участия клиента. Если NGFW не поддерживает TLS 1.3 inspection - он либо блокирует соединение, либо пропускает без проверки. Надо проверить каждое устройство на периметре до обновления серверов.
Второе - приложения с жёстко прошитыми параметрами TLS. Встречаются legacy-системы, которые явно указывают cipher suites или версии протокола при установлении соединения. С TLS 1.3 по умолчанию часть из них может вести себя неожиданно. В нашем тесте одно из внутренних приложений клиента с фиксированным SSL_CTX_set_options(SSL_OP_NO_TLSv1_3) просто отказывалось подключаться - оказалось, оно форсировало TLS 1.2, а сервер при этом согласовывал 1.3 и не откатывался. Логика на стороне приложения, но симптом вылез именно при тесте на 2022.
DoH (DNS over HTTPS) - встроенная поддержка в DNS-клиент ОС. Настраивается через Group Policy или реестр, резолвер можно направить на DoH-провайдера. Для корпоративной среды это скорее технический аргумент, чем практический: у большинства клиентов DNS-трафик и так замкнут на внутренние резолверы, и вынос его на внешний DoH-сервер был бы нарушением политики. Но для защиты DNS-трафика от прослушивания на WAN-сегменте - интересно, особенно в связке с DoH-capable корпоративным резолвером.
Что это означает для миграции с 2016
У нескольких клиентов мы ведём Server 2016, и вопрос «когда на 2022» рано или поздно возникнет. Из того, что посмотрели в preview:
Железо важно. Secured-core без современного BIOS и поддержки Intel TXT - это просто маркетинг в System Info. При планировании миграции нужно аудировать железо заранее, а не надеяться что «включим когда обновимся».
SMB между версиями работает, но без новых фич. 2016-клиент к 2022-серверу подключается, файлы ходят, compression не работает. Это предсказуемо, но нужно отразить в документации на инфраструктуру.
TLS-цепочки надо перепроверить. Если на периметре стоит что-то, что инспектирует TLS - нужна проверка совместимости с TLS 1.3 до обновления серверов. Это не специфика 2022, но 2022 делает это актуальным именно сейчас.
Preview есть preview - до финального релиза ещё что-то изменится. Но основные архитектурные решения в таких вещах как Secured-core и SMB compression обычно принципиально не меняются. Заметки собраны, список вопросов для клиентов по железу и периметру - составлен. Дальше ждём финала.