WSUS и патч-менеджмент: закрываем уязвимости Windows на 50 ПК без обхода каждого стола
Расскажу, как у меня в компании и у клиентов работает патч-менеджмент на офисах в 20-50 машин. Без обхода столов, без "нажмите Update и перезагрузитесь" в общем чате. Один раз настроил WSUS правильно — и потом просто смотришь отчёт раз в неделю. Дальше — как это выглядит на практике, с цифрами и граблями, на которые я лично наступал.
Почему "нажать Update" на каждом компьютере — это не стратегия
У меня было так: приходишь в бухгалтерию на 35 мест, спрашиваешь главбуха, когда последний раз обновляли Windows. Она смотрит на меня как на инопланетянина. Обновления там не ставились восемь месяцев. Просто потому что каждое обновление — это перезагрузка, а перезагрузка — это "подождите, я как раз ведомость считаю". И так на каждом столе, умножьте на 35.
Ручное обновление масштабируется плохо. На 5 компьютерах ещё можно обойти лично и на каждом ткнуть "проверить наличие обновлений". На 50 это уже день работы админа, а то и два, если через одного сотрудника нужно ждать, пока он доест бутерброд и разлогинится. И это не разовая акция — обновления Windows выходят каждый месяц, второй вторник, это называется Patch Tuesday. Значит, ручной обход — это не "один раз намучился", а ежемесячная повинность.
А теперь добавим сюда уязвимости. В марте 2024 у одного клиента поймали шифровальщик именно через дырку, которую Microsoft закрыл патчем ещё в январе. Просто на трёх машинах из бухгалтерии обновление не встало — антивирус блокировал перезагрузку, никто не заметил. Три компьютера из пятидесяти хватило, чтобы положить файловый сервер на выходные.
Что такое WSUS и почему это бесплатно
WSUS — Windows Server Update Services, встроенная роль сервера от самой Microsoft. Ставится на уже существующий Windows Server бесплатно, лицензия отдельно не нужна, если сервер и так у вас есть. Суть простая: WSUS сам скачивает обновления с серверов Microsoft один раз, хранит их у себя в локальной сети, а компьютеры в офисе тянут патчи не из интернета, а с этого локального сервера.
Плюс два очевидных, но недооценённых. Первый — экономия трафика: 50 машин не долбят интернет-канал каждая за своим гигабайтом обновлений, качается один раз и раздаётся по локалке на скорости гигабитной сети. Второй, главный — контроль. Вы сами решаете, какие обновления одобрить и когда их накатить. Не Microsoft решает за вас в 3 часа ночи, а вы — в удобное окно, например, в субботу в 22:00.
Есть альтернативы — SCCM (тяжеловат и дорог для конторы на 50 мест), Intune (для облачного управления, платная подписка), сторонние продукты вроде ManageEngine или PDQ Deploy. Но для типичного офиса до 50 рабочих мест с одним файловым сервером и AD-доменом WSUS закрывает задачу процентов на 90 и стоит ровно ноль рублей сверх того, что уже есть.
Как я разворачивал WSUS у клиента на 47 машин
Расскажу на конкретном примере — юридическая фирма, 47 рабочих мест плюс терминальный сервер. Домен уже был, контроллер домена Windows Server 2019 крутился на своих задачах: DNS, DHCP, файловая шара. Ставить WSUS туда же я не стал — роль довольно прожорливая по диску, база обновлений легко разрастается до 30-40 гигабайт, а с историей апдейтов и старых версий может уйти и за 60. Поднял отдельную виртуалку на два ядра и 4 гигабайта, дисков выделил 80.
Сама установка занимает от силы полчаса: роль через Server Manager, синхронизация каталога продуктов с Microsoft Update, выбор классификаций (Critical Updates, Security Updates, обязательно — не всё подряд, иначе сервер захлебнётся в апдейтах драйверов принтеров десятилетней давности). Первая синхронизация каталога идёт долго, часа два-три, дальше — по расписанию, раз в сутки.
Дальше самое важное — GPO. Через групповую политику в домене указываешь всем компьютерам адрес WSUS-сервера, и с этого момента машины сами перестают ходить в Microsoft напрямую, а стучатся к вашему серверу. Занимает один объект групповой политики, применяется на весь OU с рабочими станциями. У этого клиента после GPO 44 компьютера из 47 подключились к WSUS в течение суток без единого визита к столу. Оставшиеся три оказались не в домене — про них отдельно ниже.
Группы, кольца обновлений и расписания — без этого никак
Главная ошибка новичка с WSUS — одобрить обновление и раскатать его сразу на все 50 машин одновременно. Так делать нельзя. Однажды в 2019 году одно кумулятивное обновление для Windows 10 массово ломало принтеры на HP — представьте картину, если это прилетает разом всему офису в понедельник утром.
Правильно — делить компьютеры на группы, кольца, как это называют. У меня обычно три кольца. Первое — тестовая группа из двух-трёх машин, часто это компьютеры IT-отдела или самые терпеливые сотрудники, которые согласны быть подопытными. Второе — основная масса, процентов 70 офиса. Третье — критичные машины: сервер 1С, компьютер главбуха в дни закрытия месяца, рабочее место, где идёт видеонаблюдение или касса.
Расписание такое: обновление приходит на тестовую группу в среду после Patch Tuesday, три дня наблюдаем — если ничего не сломалось, в субботу вечером через задание в WSUS одобряем на основную группу с автоматической перезагрузкой в нерабочее время. Критичная группа получает патч только руками, после того как я лично посмотрел, что с ним происходило на первых двух кольцах минимум неделю. Да, это значит критичные машины отстают от остальных на 10-14 дней — и это осознанный компромисс между стабильностью и скоростью закрытия дыр.
Patch Tuesday: что я делаю в первую неделю после
Второй вторник месяца Microsoft выкатывает основную порцию патчей. Дальше у меня по календарю стоит рутина. В среду смотрю бюллетени безопасности — есть ли среди свежих CVE что-то с пометкой "эксплуатируется активно" (exploited in the wild). Если есть, это меняет всё расписание: критичное кольцо не ждёт две недели, а патчится в тот же уик-энд, что и основное.
У одного клиента в июле так и вышло — закрывали уязвимость в службе печати (тот самый PrintNightmare был несколько лет назад, но похожая история повторяется регулярно), и мы накатили патч на сервер терминалов в тот же четверг вечером, без стандартного цикла ожидания, потому что риск был явно выше риска сломать что-то безобидное.
В обычные месяцы просто наблюдаю статистику установки в консоли WSUS — сколько машин применили обновление, сколько ошибок. Если процент ошибок больше 10 — иду разбираться руками, чаще всего дело в остановленной службе Windows Update на конкретной машине, лечится одной командой через PowerShell удалённо, без похода к столу.
Где WSUS ломается и что с этим делать
Первая и самая частая беда — база WSUS распухает. Если не чистить старые версии обновлений, через год-полтора база SUSDB может занять 60-80 гигабайт и начать тормозить консоль управления. Лечится встроенным скриптом обслуживания (Server Cleanup Wizard) — я ставлю его на ежемесячный запуск через планировщик, занимает 15 минут раз в месяц и экономит массу нервов.
Вторая беда — компьютеры не в домене. У той юрфирмы три машины оказались за пределами AD: ноутбук директора, который вечно в командировках и подключается через VPN, и два компьютера бухгалтерии на удалёнке. Для них GPO через домен не работает, приходится прописывать адрес WSUS-сервера напрямую через реестр или локальную групповую политику. Занимает пять минут на машину, но помнить про это нужно — иначе эти три компьютера так и останутся на ручном обновлении, а именно они чаще всего простаивают без патчей дольше всех.
Третья — драйверы и firmware. WSUS умеет раздавать и обновления драйверов, но я эту опцию всегда выключаю. Причина простая: обновление драйвера видеокарты или сетевой карты через WSUS без тестирования — это рулетка, а на 50 разномастных машин, собранных за десять лет закупок, гарантированно найдётся железка, которая не переживёт автоматический апдейт драйвера ночью, пока никто не видит.
Отчётность: как понять, что дыры реально закрыты
WSUS даёт встроенные отчёты — сколько машин обновлено, сколько отстают, сколько зависли с ошибками. Но встроенная консоль неудобная и медленная, особенно если открывать её раз в неделю. Я обычно настраиваю выгрузку через PowerShell-скрипт, который раз в неделю формирует простую табличку: имя компьютера, последнее успешное обновление, дней с момента последней перезагрузки. Отправляю это себе в почту по понедельникам.
Отдельная тема — компьютеры, которые вообще не появляются в отчёте неделями. Обычно это значит, что машину выключили и забыли, сотрудник в отпуске, или комп вообще списан, а из AD его не удалили. У одного клиента так нашли три учётные записи компьютеров, которых физически в офисе давно не было — просто забыли почистить объекты в Active Directory при списании техники. Полезная побочная находка от, казалось бы, чисто технической задачи.
И последнее — WSUS закрывает только Windows и продукты Microsoft (Office, .NET, SQL Server). Adobe Reader, браузеры не от Microsoft, архиваторы, тот же КриптоПро для сдачи отчётности — это отдельная головная боль, WSUS их не видит. Для такого у меня либо отдельный скрипт инвентаризации версий по сети, либо, если бюджет позволяет, сторонний патч-менеджер уровня PDQ Deploy, который умеет ловить и стороннее ПО тоже.
Частые вопросы
Сколько стоит WSUS и нужны ли отдельные лицензии?
Сама роль WSUS бесплатна и включена в Windows Server. Платить нужно только за железо или виртуальную машину под сервер, если своего Windows Server ещё нет. Для офиса на 50 машин достаточно скромной виртуалки на 2 ядра, 4 гигабайта памяти и 60-80 гигабайт диска.
Можно ли настроить WSUS без домена Active Directory?
Можно, но неудобно — придётся вручную прописывать адрес сервера обновлений через локальную групповую политику или реестр на каждой машине отдельно. С доменом это делается одним объектом GPO на весь офис за пять минут. Если у вас 50 рабочих мест и до сих пор нет домена, честно скажу — это отдельная и более важная проблема, чем патч-менеджмент.
Что делать, если после обновления что-то сломалось на конкретной машине?
В WSUS обновление можно откатить как обычное обновление Windows — через список установленных обновлений в самой ОС, удалить конкретный KB. Именно поэтому я всегда сначала прогоняю патчи через тестовое кольцо на пару машин, а не сразу на весь офис — так проблема ловится на двух компьютерах, а не на пятидесяти.
А что с серверами — их тоже через WSUS обновлять автоматом?
Серверы я всегда патчу вручную и по расписанию, никогда не в автоматическом режиме с авто-перезагрузкой. Сервер 1С или файловый сервер с открытыми базами — это не тот случай, где можно рисковать незапланированной перезагрузкой в рабочее время. WSUS используется, чтобы одобрить и подготовить обновление, а установку и рестарт я запускаю сам в согласованное окно, обычно в выходные.
Настрою WSUS и патч-менеджмент под ваш офис за один визит — дальше обновления будут приходить сами, а вы будете просто получать отчёт.
Бесплатная консультация →
Подпишитесь на рассылку ITfresh
Раз в неделю — практические гайды для руководителя и сисадмина: безопасность, 1С, миграции, резервные копии, лайфхаки из реальных проектов.
