Материал данной статьи основан на опыте установки более 5000 обновлений для продуктов Microsoft и Adobe. Управление исправлениями — это процесс управления обновлениями программного обеспечения, без которого вряд ли может обойтись любая современная компания, задумывающаяся о безопасности своей ИТ-инфраструктуры.
Обновления или исправления — дополнительный программный инструмент, который используется для исправления обнаруженных дефектов в программном обеспечении или изменения его функциональности.
Существовать 2 типа обновлений :
для операционных систем и серверного программного обеспечения, которые используются для поддержания надлежащего уровня безопасности и устранения дыр в безопасности; для прикладного программного обеспечения (например, Microsoft Office, Adobe Acrobat или клиентских частей бизнес-приложений), которые необходимы для решения проблем с часто используемыми или важными библиотеками и другими частями исходного кода.Помимо прочего, очевидна важность обновлений и их своевременной установки для поддержания надлежащего уровня информационной безопасности.
Однако в истории были печально известные случаи, когда исправления уязвимостей одного приложения вызывали критические проблемы в других приложениях.
Вот несколько таких примеров: Ежемесячное обновление Microsoft вызвало VMWare вылетает (8 февраля 2011 г.
); Обновление для браузера Internet Explorer, выпущенное Microsoft, сразу же содержало две уязвимости : сбой браузера, а также переполнение буфера, что позволяет хакеру с помощью специального веб-сайта запустить код на уязвимой машине с привилегиями пользователя браузера (8 августа 2006 г.
); Декабрьские обновления Microsoft были призваны исправить серьезное нарушение безопасности при использовании шрифта OpenType. Обновление затронуло пользователей PowerPoint, Quark Xpress и Coreldraw. Выпущенные обновления не позволяли программам распознавать символы шрифта OpenType размером более 15 пикселей (12 декабря 2012 г.
); Установка обновлений Microsoft для драйверов режима ядра привела к синий экран смерти (BSOD) на компьютерах пользователей в августе 2014 г.
; Обновление офисного приложения PowerPoint 2013 привело к невозможность запустить приложение (10 февраля 2015 г.
).
Столь неприятные последствия применения обновлений привели к простою бизнеса и потере денег, и этот риск никуда не делся.
Однако проблем можно было бы избежать, если бы компания-разработчик тщательно тестировала обновления перед их развертыванием.
Microsoft неоднократно подвергалась критике за недостаточное тестирование ежемесячных обновлений безопасности.
В ответ на это представители корпорации дал понять , что в их планах перейти на новую схему тестирования, передав сервис тестирования обновлений «внешним» пользователям, то есть не сотрудникам Microsoft. И действительно, если посмотреть на эту проблему глазами компании-разработчика, то становится понятно, что тестирование обновлений на стороне разработчика — довольно трудоемкий процесс.
Каждое обновление должно тестироваться в условиях, максимально приближенных к тем, которые используются на рабочих станциях и серверах потребителей продукта.
Так, например, Adobe тратит на тестирование обновлений до 6000 человеко-часов в месяц .
Но как показывает жизнь, тестирования компанией-разработчиком никогда не будет достаточно для 100% пользователей по всему миру.
Соответственно, сохраняется риск того, что очередное обновление ПО остановит бизнес-процессы компании.
С другой стороны, не обновляться тоже нельзя, так как вы можете быть уязвимы для хакеров, которые могут нанести вред компании.
В качестве способа существенного снижения этих рисков крупные компании выбирают регулярную установку обновлений в пакетах (релизах) с обязательным тестированием обновлений перед их развертыванием по всей компании.
Методы управления обновлениями Метод управление обновлениями представляет собой комбинированный подход к тестирование обновления и подход к развертыванию выпусков с обновлениями.
О них мы поговорим дальше.
Два наиболее распространенных подхода к тестированию обновлений: тестирование на локальных виртуальных машинах; тестирование в полноценной тестовой среде.
Современные технологии позволяют тестировать обновления с помощью виртуализации без использования лишнего оборудования.
Наиболее часто используемые и доступные продукты для создания виртуальных машин и сетей: VMware или Oracle VirtualBox. Преимущества виртуализации заключаются в том, что: создание самой виртуальной машины не требует много времени; на одной физической платформе может быть несколько виртуальных машин; каждая виртуальная машина имеет свои виртуальные аппаратные компоненты: память, процессор, жесткий диск, сетевые адаптеры; и самое главное, можно одним щелчком мыши сделать «снимок» текущего состояния системы и содержимого дисков, а затем за очень короткий промежуток времени вернуть их в исходное состояние, что может будет очень полезен, если обнаружено обновление, установка которого вызывает критические сбои в работе системы.
Как правило, технология виртуализации применяется для небольших сетей с количеством рабочих станций не более 45-70. Также процесс управления изменениями можно упростить, используя всего пару корпоративных компьютеров или так называемых тестовых клиентов.
Установив на такие клиенты необходимые обновления и протестировав систему после установки, вы сможете увидеть влияние изменений и проверить результат применения обновления, оказывая при этом минимальное влияние на ИТ-инфраструктуру.
Тестирование с использованием полноценной тестовой среды применимо для крупных промышленных сетей и гарантирует высокую целостность тестирования.
При тестировании в полной промежуточной среде используются те же подходы к установке обновлений и инструменты управления обновлениями, что и в производственной среде.
И теперь мы перейдем к ним и заодно рассмотрим подходы к развертыванию релизов с обновлениями.
Инструменты для управления обновлениями Как правило, все широко используемые программные решения для удаленного управления ИТ-инфраструктурой предусматривают возможность управления обновлениями, например: System Center Configuration Manager (SCCM) — программный продукт Microsoft; Unicenter Software Delivery — программный продукт от Computer Associates; OpenView — программный продукт компании Hewlett-Packard. Лидером по спросу и использованию в крупных промышленных сетях является SCCM. Поэтому мы предоставим подробности реализации управления обновлениями на его примере.
Концепция управления обновлениями с помощью Configuration Manager довольно проста.
Все управляемые системы SCCM объединены в сайты.
Сайты содержат: серверы сайта; системы сайта, выполняющие определенные роли управления инфраструктурой; фактически управлял клиентами.
Каждый из серверов сайта должен иметь доступ к базе данных Microsoft SQL Server. Используется как сервер обновлений Службы обновления Windows Server (WSUS).
Он синхронизируется с сайтом Microsoft, загружая обновления, которые можно распространять внутри локальной сети компании.
Это экономит внешний трафик компании и позволяет быстро устанавливать исправления ошибок и уязвимостей в операционных системах Windows на рабочих местах, а также централизованно управлять обновлениями для серверов и рабочих станций.
Здесь следует особо отметить, что WSUS-сервер предназначен только для обновлений, выпущенных Microsoft.
Однако есть еще один сервер обновлений — Издатель обновлений System Center (SCUP) от Microsoft, что позволяет управлять обновлениями стороннего ПО с последующим импортом их на WSUS-сервер с последующим развертыванием на клиентах с помощью SCCM. Этапы процесса управления исправлениями
Процесс управления обновлениями состоит из нескольких этапов: Подготовка тестовых клиентов На машину накатывается образ операционной системы для тестирования обновлений, включая приложения, а также ранее одобренные, протестированные обновления.
При следующей загрузке операционной системы эти одобренные обновления будут установлены автоматически.
Создание листов обновлений После того как тестовая среда подготовлена к установке новых обновлений, начинается создание листов обновлений или, как это называется в SCCM, списков исправлений.
Список исправлений включает обновления, выпущенные в этом месяце и относящиеся к категории «обязательных».
Необходимость обновления для клиента определяет сам SCCM. Логика проста: если у клиента установлен Visio и в этом месяце вышло обновление для Visio, то такой патч будет «необходим» для этого клиента.
Что касается обновлений операционных систем и серверов, то необходимость определяется в зависимости от их разрядности и пакета обновлений Windows. После создания списка исправлений создается новый пакет, включающий все выбранные обновления, и пакет назначается коллекции, в которую были добавлены тестовые клиенты.
Развертывание в тестовой среде (LAB Deployment) При добавлении пакета в коллекцию SCCM получает информацию о том, что клиентам в этой коллекции назначено новое задание, синхронизируется с клиентом SCCM на тестовой машине и начинается развертывание.
Процедура занимает всего несколько минут, после чего в области уведомлений панели задач появляется соответствующий значок.
После двойного щелчка по иконке открывается Диспетчер конфигураций, где после выбора обновлений начинается установка.
Обычно установка заканчивается просьбой перезагрузить систему.
После этого начинается тестирование с задачей: найти патч, ломающий систему/компоненты системы, либо убедиться в отсутствии такого патча.
По своей сути вход в систему после перезагрузки — это уже один из пунктов проверки.
Важно, чтобы при входе в систему вы не получали никаких предупреждений/ошибок.
Дальнейшее тестирование проводится по конкретной тестовой матрице.
Проверки, включенные в матрицу тестирования, зависят главным образом от программного обеспечения тестируемой ИТ-инфраструктуры.
Более подробно о проведенных тестах будет рассказано в разделе «Этапы тестирования» ниже.
Развертывание на пилотных пользователях (этап предварительного развертывания) На этапе PRE Deployment подготавливается список протестированных обновлений, который рассылается с помощью SCCM клиентам пилотных пользователей.
Принцип тот же: пакет обновления добавляется в коллекцию, включающую только пилотные клиенты, SCCM получает информацию о том, что клиентам в этой коллекции назначена новая задача, и начинается развертывание.
Как правило, те пользователи, которые хорошо разбираются в программном обеспечении, за которое отвечают, и проверяют, нормально ли работает приложение после установки обновлений.
Количество пользователей, участвующих в пилотном проекте, обычно варьируется в зависимости от количества рабочих станций в сети.
Этап PRE Deployment длится 4 дня, после чего пилотные пользователи оставляют свои отзывы.
Если возникают конфликты ПО с установленными обновлениями, последние исключаются из списка.
Таким образом формируется окончательный список обновлений, которые будут установлены на все рабочие станции промышленной сети.
Развертывание протестированных обновлений в производственной информационной среде (PRO Deployment) Происходит на этапе PRO Deployment с использованием SCCM по тому же принципу, что и для тестовых и пилотных клиентов.
В этом случае задаются время начала и дата окончания развертывания.
Этапы тестирования Как говорилось ранее, тестирование происходит на основе тестовой матрицы.
Ниже мы представляем описание основных проверок, которые обычно включаются в такие матрицы.
Тестирование установки .
Установка обновлений на тестовом клиенте инициируется SCCM. Как правило, после установки обновлений система требует перезагрузки.
Соответственно первая проверка: перезагрузите систему, после перезагрузки войдите в систему под тестовой учетной записью, убедитесь в отсутствии сообщений об ошибках/предупреждений от системы.
Следующий шаг - проверка системной переменной PATH .
Мы следим за тем, чтобы PATH не содержал символов и знаков, которые могут привести к проблемам.
Третий шаг - проверка журнала системных событий (Event Viewer).
Информация об установке обновлений записывается в журнал под идентификатором 19. Проверка позволяет убедиться, что все обновления установились успешно и ошибок не было.
Следующий проверка офисных приложений .
Проверка Office, как правило, пересекает все тестовые матрицы процесса Patch Management. Простые примеры проверок Office: Запустите Word, Excel, Power Point, Publisher, Access. Убедитесь, что приложения открываются без ошибок.
Внесите изменения в документ, убедитесь, что при закрытии появляется вопрос о сохранении и документ по умолчанию сохраняется в папке «Документы» (если не предусмотрено другое хранилище по умолчанию).
Этот пример теста Office является базовым и общим.
Матрица может также включать более сложные детальные проверки.
Например, помимо открытия MS Word и сохранения документа, вам необходимо проверить, чтобы во вкладке «Орфография и грамматика» был установлен флажок «Проверка орфографии и грамматики» и т. д.
Одной из наиболее распространенных проверок является также Проверка приложений Adobe , которые обновляются.
Минимальная проверка Adobe Flash Player — проверка версии этого ПО на сайте.
Если обновление для Adobe Reader, то проверяется версия и работоспособность приложения.
Проверка работоспособности браузера также включены в список основных.
Патчи не должны вносить изменения в настройки прокси и ActiveX, и это тоже проверяется при тестировании.
Кроме того, стоит обратить внимание на общее влияние обновлений на систему.
На этапе подготовки тестового клиента, который уже содержит ранее протестированные обновления, проводятся описанные выше тесты, и результаты такого тестирования принимаются за эталон.
Любое отклонение системы от состояния до установки новых патчей анализируется и в ряде случаев может быть принято решение об устранении патчей, приводящих к нежелательным изменениям в системе.
Стоит отметить, что для экономии драгоценного времени некоторые проверки можно автоматизировать с помощью VBScript, например: создание объектов офисных приложений, открытие файлов программы, внесение изменений, сохранение; запустить браузер и перейти на веб-страницы; загрузка журналов просмотра событий в таблицу Excel. Подводя итог, хотелось бы еще раз подчеркнуть, что налаженный процесс управления обновлениями позволит вам заранее убедиться в успешности обновлений и сохранить надежность и производительность инфраструктуры, при этом постоянно устанавливая обновления, обеспечивающие необходимый уровень информационной безопасности.
Автор: Алиса_Халиуллина В опросе могут участвовать только зарегистрированные пользователи.
Войти , Пожалуйста.
Вы тестируете регулярные обновления программного обеспечения? 33,65% Да, тестируем 35 36,54% Нет, не тестируем 38 28,85% У нас нет процесса управления патчами 30 0,96% Другое (напишите в комментариях) Проголосовали 1 104 пользователя.
23 пользователя воздержались.
Теги: #тестирование #обновлений #тестирование обновлений #информационная безопасность #microsoft #patch #тестовая среда #информационная безопасность #Тестирование ИТ-систем #браузеры #Тестирование веб-сервисов
-
`Хакер Внутри Твоего Компьютера?"
19 Oct, 24 -
Как Заправить Картридж
19 Oct, 24 -
Цифровое Хранилище: 60 Лет Прогресса
19 Oct, 24 -
Зарегистрируйтесь В Google Voice
19 Oct, 24 -
Алишер Усманов Готовится Купить «Газету.ру»
19 Oct, 24