Software Update Services или безопасность от Microsoft
АрхивОфисные приложения (архив)«Беспрецедентная мобилизация ресурсов Microsoft» или как управлять заплатками.
Череда вирусных эпидемий, потрясшая осенью прошлого года Internet показала, что создатели сетевых вирусов всерьез взялись за разработку концепции сетевых червей, использующих для проникновения на атакуемую систему известные уязвимости системного и прикладного программного обеспечения и ошибки в настройке безопасности систем. Вирусы CodeRed, CodeBlue, Nimda и Klez, использующие для своего распространения уязвимости в Web сервере Microsoft Internet Information Server и программе просмотра Web-страниц Internet Explorer вызвали настоящую бурю в среде сетевых администраторов.
Одни начали доказывать несостоятельность Windows как платформы для развёртывания серверных приложений, другие метались в панике, а третьи, чьи сервера благополучно пережили вирусные атаки, напомнили своим коллегам о необходимости следить за безопасностью системы. Пакеты обновлений, закрывающие уязвимости в безопасности серверов были выпущены и опубликованы на сервере Microsoft за несколько месяцев до возникновения эпидемии. Они были просто проигнорированы многими администраторами. Однако большинство остались при своём мнении и продолжали обвинять Microsoft во всех смертных грехах. Ситуация складывалась явно не в пользу Microsoft. Что бы исправить положение, компания объявила о «беспрецедентной мобилизации ресурсов Microsoft» в рамках программы Microsoft Strategic Technology Protection Program. В свете последних претензий к программам Microsoft основной задачей стала система управления обновлениями [1].
Первой «ласточкой» [2] была утилита проверки установленных обновлений Microsoft Network Security Hotfix Checker Hfnetchk . Данная утилита командной строки позволяет администратору удаленно проверять компьютеры на предмет установленных обновлений. Утилита проверяет операционные системы Windows NT и Windows 2000, установленные на них стандартные сервисы (включая Internet Information Server 4.0, 5.0), а так же приложения Internet Explorer и SQL Server 7.0-2000. Список обновлений, рекомендованных Microsoft, опубликован в сети и поддерживается в состоянии up-to-date. Утилита довольно удобна в эксплуатации и легко позволяет создать автоматизированную систему проверки соответствия состояния систем рекомендациям Microsoft.
Для тех администраторов, кто не может отказаться от милого сердцу графического интерфейса, был создан MBSA — Microsoft Baseline Security Analyzer. Довольно приятная утилита, позволяющая проверять наличие необходимых пакетов обновлений, а так же проверять наличие основных ошибок в настройке безопасности системы. Кроме того, программа позволяет администратору ознакомится с методикой тестирования и рекомендациями по устранению выявленных уязвимостей. Программа генерирует довольно удобные отчеты, позволяет сохранять их для дальнейшего анализа. Набор тестируемых систем и приложений совпадает с Hfnetchk, что естественно, поскольку в корневой директории программы вы найдёте всё тот же mssecure.cab. Утилита интересна, как попытка перенять опыт «старших товарищей» [3], однако по практической ценности в корпоративной сети уступает своему предшественнику.
Используя вышеперечисленные продукты, входящие в Security Toolkit [4], администратор может решить задачу выявления уязвимостей систем и создание списка необходимых обновлений. Для установки необходимых обновлений Microsoft предлагает использовать либо ручную установку, либо автоматическую установку через групповые политики (Knowledge Base Q231747), либо сценарий загрузки или входа в сеть. Однако, всё это довольно непростые в обслуживании способы, требующие от администратора высокого уровня знаний и ежедневного администрирования данной подсистемы.
Вышедшая в июне 2002 свободно распространяемая система Software Update Services (SUS), использующая технологии Windows Update, Group Policy и Web сервер IIS, позволяет решать следующие задачи:
- автоматическое получение свежих обновлений с сервера Windows Update;
- автоматическую установку обновлений на клиентские места с операционными системами Windows 2000 и Windows XP.
Конструктивно система состоит из трех компонентов:
- Windows Update Synchronization Service, отвечающий за закачку обновлений с сервера Microsoft или вышестоящего сервера SUS;
- Web сервера на основе IIS, предоставляющего клиентам обновления и служащий для администрирования SUS;
- Automatic Updates client, скачивающий обновления с сервера SUS и устанавливающий их на клиентские машины.
Для установки SUS Microsoft рекомендует использовать компьютер не ниже Pentium III 700 MHz, RAM 512 Mb, HDD 6 GB, однако система работает и на менее мощных машинах [5]. Операционная система — серверная версия Windows 2000 и выше, IIS 5.0 и выше, системный и установочный разделы должны использовать NTFS. Кроме того, компьютер, на котором будет установлен SUS, не должен являться контроллером домена Active Directory [6] или работать под управлением Small Business Server 2000.
Установка SUS довольно проста. После запуска SUSSetup.msi открывается мастер установки, с помощью которого настраиваются необходимые параметры. По опыту конфигурации советую осуществлять детальную настройку после установки сервера. Кроме того, необходимо помнить, что на сервер будут установлены Internet Information Services Lockdown Tool и URLScan. Это может сказаться на работе производительного сервера, в связи с чем советую устанавливать SUS на специально выделенные для этого системы. Если такой возможности нет, то после установки необходимо тщательно протестировать работоспособность Web сервера и в случае сбоев переконфигурировать IIS Lockdown Tool [7] и изменить настройки UrlScan (%systemroot%\system32\inetsrv\urlscan\urlscan.ini).
Система авторизации административного Web интерфейса сервера отдана полностью на усмотрение администраторам и по умолчанию настройку может осуществлять любой пользователь Web сервера. Поэтому, настоятельно советую сразу после установки установить NTFS разрешения, или другим способом ограничить доступ к следующим папкам:
- \autoupdate\administration;
- \autoupdate\dictionaries;
- \Shared;
- \Content\EULA.
Дополнительно, все версии дистрибутива SUS, которые я держал в руках до настоящего момента, содержат ошибку в строке 97 файла \autoupdate\administration\shared\corporate.inc, которая не даёт осуществлять администрирование из Internet Explorer версии 6.0. Для исправления этой ошибки необходимо заменить строчку
iBrowserVersion = CSng(sBrowserMajorVersion & "." & sBrowserMinorVersion)
на
iBrowserVersion = 5.5
Конфигурация сервера осуществляется через Web интерфейс (http://servername/SUSAdmin). Настройка основных параметров осуществляется из окна "Set options" (рисунок 1).
Рисунок 1. Страница настройки параметров
Здесь указывается способ соединения с сервером обновления (прямое соединение, или через proxy сервер), тип сервера (Microsoft Windows Updates или локальный Software Update Services). Кроме того, здесь указывается, как сервер будет поступать с новыми версиями уже разрешенных для установки обновлений [8]: либо разрешать их автоматически, либо запрашивать администратора, и список языков, обновления для которых будут скачиваться обновления.
После этого необходимо настроить синхронизацию (страница Synchronize Server).
Синхронизация может происходить автоматически (Рисунок 2), либо в ручном режиме.
Рисунок 2. Расписание обновлений
После того, как прошло обновление с сервером Windows Updates или локальным сервером SUS, необходимо одобрить загруженные обновления (страница Approve updates, рисунок 3).
Рисунок 3. Доступные обновления
После нажатия на кнопку "Approve" обновления станут доступны для пользователей. На этой же странице доступна дополнительная информация об обновлении (ссылка "Details..").
Клиентские компьютеры устанавливают обновления посредством клиента автоматического обновления. Эта программа будет включена в Service Pack 3.0 для Windows 2000, Service Pack 1.0 для Windows XP. В настоящее время она доступны в качестве отдельных инсталляционных пакетов и как составная часть SUS.
Установку и настройку клиента автоматического обновления можно осуществлять посредством доменных или локальных Group Policy, сервера SMS или элементарного сценария входа в сеть.
Для администратора в среде Active Directory наиболее удобный способ это устанавливать и настраивать клиента автоматического обновления через групповые политики. Что бы настроить автоматическую установку клиента Automatic Updates необходимо:
- Открыть групповую политику для соответствующего объекта (домена или OU).
- Создать новую инсталляцию (Computer Configuration->Software Settings->Software Installation->New->Package…).
- Указать путь к дистрибутивам Automatic Updates Client (WUAU22.msi).
- Настроить метод развёртывания как "Assigned".
В процессе загрузки клиентских рабочих мест произойдёт автоматическая установка Automatic Updates Client.
Настройка клиента через групповые и локальные политики аналогична, за исключением того, что в первом случае используется Active Directory Users & Computers (DSA.msc) и настройки применяются ко всем компьютерам в подразделении, а во втором редактор локальных политик gpedit.msc и настройки применяются только к текущему компьютеру. Для настройки необходимо:
- Открыть групповую политику для соответствующего объекта (домена или OU) или локальную политику.
- Добавить шаблон (Administrative Templates->Add/Remove Templates->Add) %windir%\inf\ wuau.adm.
- Настроить политики Automatic Updates Client (Administrative Templates->Windows Components->Windows Updates). В настройках определяется способ и время обновления (рисунок 4), тип сервера (локальный SUS или Microsoft Windows Updates, рисунок 5).
Рисунок 4. Настройка свойств автоматического обновления
Обновление может происходить в полностью автоматическом режиме (Auto download and schedule the install), в частично автоматическом режиме (Auto download and notify to install), либо в ручном режиме (Notify to download and notify to install). В зависимости от группы обновляемых компьютеров целесообразно выбирать различные способы применения обновлений. К примеру, сервера желательно обновлять в ручном режиме во время плановых процедур администрирования, рабочие станции пользователей можно обновлять автоматически, а группу тестовых компьютеров в частично автоматическом режиме.
Рисунок 5. Настройка сервера автоматического обновления
Клиент может так же настраиваться путем модификацией параметров ключа реестра HKLM\Software\Policies\Microsoft\Windows\WindowsUpdate. Названия, типы и возможные значения ключей подробно описаны в документе "Deploying Microsoft Software Update Services".
Для мониторинга и поиска неисправностей Software Update Services можно использовать следующие источники:
- Журнал событий System Log сервера SUS (системная активность сервера, загрузка обновлений на сервер).
- Журнал сервера IIS (%systemroot%\system32\LogFiles\W3SVC1) для мониторинга подключений клиентов и загрузки ими обновлений.
- Журналы Automatic Updates Client (%systemroot%\Windows Update.log) для мониторинга работы клиентской части SUS.
В целом Software Update Services представляет собой интересное начинание, существенно облегчающее жизнь системных администраторов. Однако не следует забывать, что он рассчитан в основном на клиентские рабочие места и мало подходит для обновления продуктивных серверов. Прежде всего, это связанно с отсутствием возможности обновлять серверные приложения и высокой стоимостью возможных сбоев.
[1] — В терминологии Microsoft: "Security Update System". Есть один очень интересный документ "Security Operations Guide", с которым советую ознакомиться всем администраторам Windows.
[обратно к тексту]
[2] — В данной статье затрагиваются продукты Microsoft. Естественно, существует множество разработок сторонних производителей. Даже автор статьи в свое время уделил внимание автоматизации процесса обновления ПО Microsoft. Подробнее ознакомится с решениями сторонних производителей можно на серверах www.shavlik.com, www.polarisgroup.com, www.bindview.com и www.pedestalsoftware.com.
[обратно к тексту]
[3] — Особого впечатления эта утилита на меня не произвела. По сути, это немного расширенный Hfnetchk. Желающим действительно проверить свою систему советую попробовать сканер Retina или аналогичные программы.
[обратно к тексту]
[4] — Кроме HFNetChk и MBSA в Security Toolkit входят следующие утилиты:
-Internet Information Services Lockdown Wizard и URLScan, позволяющие повысить защищенность WEB серверов на основе IIS;
-Windows 2000 Critical Update Notification, автоматизирующая процесс установки обновлений (составная часть Sуstem Update Services);
-Qchain.exe, используемая для безопасной установки нескольких обновлений без перезагрузки.
[обратно к тексту]
[5] — Указанная конфигурация может быть использована для обеспечения работы 15000 пользователей, для более тщательного расчета необходимо обратится к документу "Deploying Microsoft Software Update Services".
[обратно к тексту]
[6] — Этот список далеко не полон и может быть расширен в ближайшее время. Возникали проблемы при установке на сервера совместно с ISA 3.0 и другими серверными программами. Кроме того, Microsoft вообще не рекомендует устанавливать IIS на контроллеры домена. Это связанно с множеством причин, но основной является то, что в этом случае пользователь IUSR_MACHINE_NAME будет доменным, а не локальным пользователем, что увеличивает возможные последствия взлома системы.
[обратно к тексту]
[7] — Для изменения конфигурации IIS Lockdown Tool необходимо запустить программу установки этой утилиты. Программа произведёт полный откат изменений. Затем, повторным запуском программы установки, активизировать мастера настройки, который поможет сконфигурировать ваш сервер. Подробнее о настройке IIS Lockdown Tool и UrlScan можно узнать из документации к Security Toolkit.
[обратно к тексту]
[8] — Окончательное решение о том, есть ли необходимость устанавливать то, или иное обновление на клиентские машины, остается за администратором сервера. Клиенты устанавливают только одобренные (approved) администратором сервера обновления, подписанные электронной цифровой подписью Microsoft. Дополнительную информацию о выходе обновлений можно получить из рассылок Microsoft Product Security Notification Service и NtBugTraq.
[обратно к тексту]