10.07.2010

Использование Microsoft baseline Security Analyzer в корпоративной среде

image

Основная задача данной статьи - предоставить материал администраторам, который позволит запускать MBSA периодически, в автоматическом режиме и отправлять отчеты на адреса электронной почты. Это позволит в значительной степени увеличить уровень информированности о состоянии безопасности в корпоративной сети.

Автор: Денис Васильев

В рамках корпоративной инфраструктуры требуется иметь актуальную информацию о состоянии уровня безопасности. Несмотря на то, что на рынке присутствуют достойные продукты, позволяющие производит автоматическое сканирование по заданным шаблонам, они обладают достаточно высокой ценой. Компания Microsoft выпустила продукт под названием Microsot Baseline Security Analyzer, который производит проверку продуктов Microsoft на наличие уязвимостей.

Основная задача данной статьи - предоставить материал администраторам, который позволит запускать MBSA периодически, в автоматическом режиме и отправлять отчеты на адреса электронной почты. Это позволит в значительной степени увеличить уровень информированности о состоянии безопасности в корпоративной сети.

В рамках MBSA существует возможность запуска сканирования через командную строку – mbsacli.exe. Команда имеет ряд ключей которые позволят управлять сканированием.

/target

 

Проверка домена \ компьютера по имени

/target

IP адрес

Проверка по IP адресу

/r

Начальный IP адрес – конечный IP адрес

Проверка диапазона IP адресов

/listfile

Имя файла.txt

Проверка по файлу со списком IP адресов

/d

Имя домена

Проверка домена

/n

Опции

Выбор какую проверку не выполнять. Варианты: "OS"(операционная система), "SQL"(SQL сервер), "IIS"(веб-сервер ISS), "Updates"(обновления), “Password"(пароли). при наборе необходимо использовать “+” без пробела. Пример: OS+SQL+ISS+Updates+Password

/wa

 

Показывать только обновления, одобренные на WSUS.

/wi

 

Показать все обновления, даже если они не приняты на WSUS.

/nvc

 

Не проверять новую версия MBSA

/o

Имя файла

Шаблон названия отчета. имеет параметры: %D% - имя домена, %С% имя компьютера, %T% - время, %IP% - IP адрес. По умолчанию: %D% - %C% (%T%).

/qp

 

Не показывать процесс проверки.

/qt

 

Не показывать отчет при проверки одного компьютера.

/qe

 

Не показывать отчет ошибок.

/qr

 

Не показывать отчет.

/q

 

Не показывать все из вышеперечисленного

/unicode

 

Отчет в ЮНИКОДе

/u

Имя пользователя

Имя пользователя используемого при сканировании.

/p

Пароль пользователя

Пароль пользователя используемого при сканировании.

/catalog

Имя файла

Указывает источник данных который содержит информацию о доступных обновлений безопасности.

/ia

 

Обновления с учетом условий Windows Update Agent

/mu                            

 

Проверка с учетом обновлений сайта Microsoft Update.

/nd

 

Не скачивать обновления с сайта Microsoft Update при проверке.

/xmlout

 

Запуск проверки в режиме только для обновления с использованием только mbsacli.exe и wusscan.dll. Этот ключ может быть использован только с ключами:  /catalog, /wa, /wi, /nvc, /unicode.

/l

 

Показать все отчеты.

/ls

 

Показать отчеты за последнее сканирование

/lr

Имя файла

Показать общий отчет.

/ld

Имя файла

Показать детализированный отчет

/rd

Имя директории

Директория для сохранения отчетов проверки.

Имея в распоряжении информацию по ключам, используемых командой mbsacli.exe., мы можем составить свой сценарий сканирования согласно нашим требованиям. Задача ставиться следующим образом: необходимо провести проверку компьютеров(диапазон IP адресов) с использованием данных службы WSUS и сохранением отчета в определенной директории формат отчета: имя компьютера – время. Команда будет выглядеть следующим образом:

mbsacli.exe /r [начальный IP адрес]-[конечный IP адрес] /q /wa /o %IP%-%T% /u [Домен/имя пользователя]  /p [пароль пользователя] /rd [директория, куда будут сохраняться отчеты]

Через некоторое время появятся отчеты об узлах в диапазоне IP адресов.

В рамках данной задачи будут отображены основные проблемы, связанные с безопасностью, которые будет необходимо изучить администраторам для устранения уязвимостей.

Но очень часто в рамках WSUS отсутствуют некоторые достаточно критичные обновления для систем. MBSA позволит выявить эти проблемы. Достаточно выше приведенную команду запустить с ключом /mu вместо /wa. В файлы отчета в Issue – Windows Security Updates будут показаны какие обновления необходимы для данного компьютера.

Автоматизация проверки

Как было показано выше, необходимо иметь два отчета, которые показывают разницу между установленными обновлениями со службы WSUS и имеющимся обновлениями на сервере Microsoft Update. Для этого необходимо использовать две различные папки хранения отчетов разбитые по датам сканирования. 

Файл исполнения (.bat) для проверки MBSA с использованием службы WSUS будет выглядет так:

@echo off
cdc:/{Папка хранения отчетов}/WSUS
MD %date:~-10%
cd "C:\Program Files\Microsoft Baseline Security Analyzer 2"
mbsacli.exe /r [начальныйIP]-[конечныйIP] /q /wa /rd c:/ {Папкахраненияотчетов}/WSUS/%date:~-10%
Файл исполнения (.bat) для проверки MBSA с использование сервера Microsoft Update будет выглядеть так:
@echooff
cdc:/{Папка хранения отчетов}/MU
MD %date:~-10%
cd "C:\Program Files\Microsoft Baseline Security Analyzer 2"
mbsacli.exe /r [начальныйIP]-[конечныйIP] /q /mu /rd c:/ {Папкахраненияотчетов}/MU/%date:~-10%

Bat-файлы различны между собой ключами /wa или /mu, задающие область сравнения обновлений, и папками, в которые необходимо сохранять отчеты.

В bat-файлах отсутствуют ключи /u и /p с параметрами имя пользователя и пароль. Это сделано по причине отсутствия необходимости хранения паролей в открытом виде в bat-файлах. Для безопасности необходимо использовать «Планировщик задач», в котором настраивается: от имени какого пользователя будет исполняться bat-файл.

В рамках системы Microsoft Windows присутствует «Планировщик заданий», который позволяет выполнять необходимые действия в определенное время. Также он позволяет добавлять необходимые аргументы. В нашем случае это два ключа /u и /p с параметрами Имя пользователя и пароль

Для этого создаем новую задачу выбирая пункт «Создать простую задачу» и даем описание к ней(рис. 1).

рис. 1

В окне «Триггер задачи» устанавливаем периодичность проведения проверки (достаточно раз в неделю)(рис. 2).

рис. 2

В окне «Еженедельно» устанавливаем время проведения проверки (время должно быть рабочее, так как сканируемый компьютер должен быть включен.  (рис. 3).

рис. 3

В окне «Действие» выбираем действие «Запустить программу». (рис. 4).

рис. 4

В окне «Запуск программы» выбираем через кнопку «Обзор», bat-файл предназначенный для сканирования с использованием WSUS (рис. 5).

рис. 5

После создания задачи необходимо открыть её свойства и во вкладке «Общие»  указать пункт «Выполнять вне зависимости от регистрации пользователя», что позволит выполнять задачи без необходимости регистрации в системе, например на сервере (рис. 6)

рис. 6

Проделываем вышеперечисленные действия для создания второй задачи проверки с использованием обновлений с сервера Microsoft Update и указанием соответствующего bat-файла.

Заключение. Продукт Microsoft Baseline Security Analyzer не обладает богатым функционалом из-за своей «бесплатности», но благодаря использованию в командной строке различных ключей с параметрами, позволяет повысить уровень информативности о состоянии безопасности  и получить информацию для устранения уязвимостей в корпоративной среде. 

Также управление через командную строку позволяет администраторам автоматизировать процесс получения необходимых отчетов о состоянии безопасности.