Мы уже много рассказывали о продукте vGate R2 от компании Код Безопасности (см. наш раздел), который позволяет защитить виртуальную инфраструктуру от несанкционированного доступа, разделить полномочия администраторов и настроить компоненты vSphere в соответствии с лучшими практиками и стандартами (в том числе, российскими). Сегодня мы рассмотрим средства контроля целостности vGate.
Напомним первые три части цикла статей по администрированию продукта vGate R2:
Для обеспечения контроля целостности программной среды и доверенной загрузки гостевых ОС виртуальных машин в vGate R2 на каждый хост-сервер ESX / ESXi устанавливаются
компоненты, выполняющие следующие функции:
Контроль целостности настроек ВМ перед ее загрузкой.
Контроль целостности образа BIOS виртуальной машины.
Доверенная загрузка ОС — осуществляется путем контроля целостности загрузочного сектора виртуального диска.
Если у вас в виртуальной инфраструктуре vSphere обрабатываются персональные данные (а особенно это применимо к классам К1 и К2), то вы просто обязаны настроить контроль целостности компонентов виртуальной среды и средства защиты конфиденциальной информации (СЗКИ), чтобы пройти сертификацию в соответствующем органе. vGate R2 существенно упрощает эту процедуру.
Сразу отметим, что для обеспечения полноценной защиты виртуальных машин от НСД рекомендуется дополнительно развернуть на каждой из них СЗИ Secret Net.
В vGate R2 реализован механизм контроля целостности следующих объектов vSphere:
Сервер авторизации. Периодически проверяется целостность файла-шаблона с контрольными суммами, полного имени каждого файла, указанного в
шаблоне, содержимого каждого файла, указанного в шаблоне.
События нарушения КЦ на сервере авторизации регистрируются
в базе данных vGate. Интервал проверки задается в конфигурационном файле vagentd.cfg, секция vagent, параметр interval (в секундах). По
умолчанию интервал равен 60 секунд. В случае нарушения КЦ сервера авторизации останавливается служба аутентификации.
Агент
аутентификации (рабочие места администраторов vSphere). Проверяется то же, что и на сервере авторизации.
В случае нарушения КЦ агента аутентификации останавливается служба аутентификации на ПК администратора.
Серверы ESX. Контроль выполняется службой vagentd через заданный интервал времени. Вид контроля зависит от типа файла:
? /etc/iscsi.conf (для ESX 3.5) или
/etc/vmware/vmkiscsid/iscsid.conf (для ESX 4.0) — проверяется целиком;
? /etc/vmware/esx.conf — проверяется на наличие заданнойстроки.
Эталонные данные для каждого сервера ESX хранятся централизованно в базе данных на сервере авторизации.
Интервал проверки задается в конфигурационном файле vgate.cfg, секция vagent, параметр interval (в секундах). По умолчанию интервал равен 600 сек. Для обновления контрольных сумм этих файлов предусмотрены соответствующие параметры командной строки утилиты clacl.exe.
Виртуальные машины. Контролируются основные файлы виртуальной машины (*.vmx, конфигурация дисков *.vmdk, *.nvram — BIOS, *.vmxf, *-flat.vmdk - бинарный файл содержимого диска).
Контроль целостности загрузочного сектора файлов виртуальных машин производится в момент старта виртуальной машины, а также службой vagentd через заданный интервал времени в зависи-
мости от типа файла. Контрольные суммы файлов хранятся централизованно в базе данных для каждой виртуальной машины. Интервал проверки задается в конфигурационном файле
vgate.cfg, секция vagent, параметр interval (в секундах). По умолчанию интервал равен 600 секунд. Также контролируется загрузчик vmkload_app (также с интервалом 600 секунд).
Сервер vCenter. Проверяется то же, что и для сервера авторизации и агента аутентификации, но в случае нарушения целостности - служба аутентификации не останавливается.
Чтобы контроль целостности виртуальных машин и конфигурации начал работать на хостах ESX, нужно установить туда агенты vGate. Для этого в меню "Защищаемые серверы" выбираем пункт "Развертывание" и нажимаем "Установить" для выбранных серверов.
Теперь, если вам необходимо контролировать целостность конфигурационных файлов iscsid.conf и esx.conf (основные настройки сервера), нужно их отредактировать с помощью vi или nano в плане разрешения доступа хоста ESX к определенным хранилищам в целях защиты от НСД. Как это сделать описано на стр. 70 руководства по администрированию vGate R2. После чего можно будет посчитать контрольные суммы файлов с помощью утилиты clacl.exe, входящей в состав vGate R2 (находится на сервере авторизации):
C:\Program Files\vGate\clacl.exe –Q –i <vGate Server Name or IP> -h <ESX server Name or IP> -c esx –k <учетная запись АИБ> -s <пароль АИБ>
В случае нарушения контроля целостности конфигурации серверов ESX, эти события будут отображены в разделе "Аудит".
Уровень логирования (объем регистрируемых событий) и периодичность контроля можно задать через конфигурационный файл /etc/vgate/vgate.cfg на сервере ESX. Этот параметр
задается в секции соответствующего компонента с помощью переменной log-level, которая
может принимать значения: 2 (по умолчанию) и 5 (максимальный уровень логирования).
С конфигурацией серверов ESX все понятно - она не так часто меняется, а вот что с виртуальными машинами? Администраторы часто меняют их настройки, соответственно, нужен какой-то рабочий процесс по утверждению изменений происходящих с ними со стороны службы ИБ. Такой процесс есть. Во-первых, нужно настроить контроль целостности виртуальных машин.
Контроль целостности применяется только для тех ВМ, для которых назначена политика "Доверенная загрузка виртуальных машин" (то есть для машин с соответствующей меткой безопасности). Откроем набор политик в vGate R2 и посмотрим где эта настройка (она включена по умолчанию в стандартном наборе политик):
После того, как вы назначите виртуальной машине метку с данной политикой, начнется процесс контроля целостности (проверка каждые 10 минут). Будет производиться сравнение эталонной контрольной суммы ВМ с текущей. При несовпадении контрольных сумм ВМ фиксируется нарушение целостности и изменяется статус ВМ, которых может быть несколько.
Администратор ИБ может в зависимости от статуса ВМ принять изменения (согласовать) либо отклонить их. При согласовании изменений эталонная контрольная сумма ВМ заменяется текущей (т. е. контрольная сумма пересчитывается).
Кроме того, при согласовании изменений в базе сохраняется текущий vmx-файл ВМ. При отклонении изменений текущий vmx-файл заменяется файлом,
сохраненным при последнем согласовании (он вытаскивается из базы и заменяет тот, который обновил администратор).
При создании или клонировании ВМ контрольную сумму нужно посчитать вручную, с помощью консоли vGate R2:
При миграции виртуальной машины между хостами за счет vMotion, ее контрольная сумма пересчитывается автоматически.
При создании, изменении виртуальной машины, а также ее клонировании или миграции средствами vMotion могут появляться несколько статусов, которые отслеживает администратор ИБ в консоли vGate R2:
Отключена. Контроль целостности для ВМ не настроен.
Отсутствует. Эталонная контрольная сумма не рассчитана. Необходимо выполнить согласование изменений, в ходе которого и будет выполнен расчет эталонной контрольной суммы.
Требует согласования. Необходимо выполнить согласование изменений, в ходе которого будет определена новая эталонная контрольная сумма. Этот статус, зачастую, появляется при изменении виртуальных дисков ВМ. Данный статус отклонить нельзя (потому что если, например, изменился размер диска - предыдущий взять неоткуда).
Ошибка подсчета. В процессе подсчета контрольных сумм произошла ошибка. В зависимости от ошибки следует дождаться изменения статуса
или выполнить согласование повторно. Если согласование недоступно, кнопка "Согласовать" будет недоступна. Если при выполнении пересчета контрольных сумм происходит ошибка,
то ее причины могут быть выявлены при анализе записей в файле vGateAdmin.log, находящемся на сервере авторизации в каталоге установки продукта.
Нарушена. Целостность ВМ нарушена. Подробности о событии можно найти в сообщениях журнала событий. При этом отклонение изменений недоступно, возможно только согласование изменений.
Согласована. Согласование изменений выполнено.
Изменен vmx-файл. Это самый частый случай рабочего процесса. В этом случае можно выполнить согласование или отклонение изменений.
Видны эти статусы здесь:
После того, как администратор VMware vSphere что-нибудь поменяет в файлах виртуальной машины (например, расширит vmdk-диск), в консоли vGate R2 администратор ИБ увидит, что контрольная сумма для ВМ изменилась, что требует согласования:
И помните, что операции согласования и отклонения изменений рекомендуется выполнять, предварительно выключив виртуальную машину (так как может замениться vmx-файл).
После согласования изменений, у виртуальной машины появится статус "Согласована". Нужно добавить, что кнопка "Согласовать" может быть неактивна, если на сервере ESX не завершена операция
расчета контрольных сумм, поэтому нужно будет немного подождать.
При нарушении целостности ВМ на экран выводится сообщение, блокируется запуск ВМ, а в журнал событий безопасности вносится соответствующая запись.
Данный механизм рабочего процесса по согласованию изменений и доверенной загрузки виртуальных машин несет несколько преимуществ:
Защита от несанкционированного изменения файлов виртуальных машин, а также других компонентов виртуальной инфраструктуры.
Контроль над администраторами vSphere со стороны администраторов ИБ (они могут спросить, с какой целью и что было изменено в виртуальной машине - а потом согласовать это или нет).
Соответствие требованиям регулирующих документов по контролю целостности компонентов инфраструктуры (напомним, что контролируется целостность не только ВМ, но и хост-серверов, а также сервера авторизации, агентов аутентификации и сервера vCenter).
Вот вкратце и все. В следующих статьях мы расскажем о сервере отчетов vGate R2 и настройке средств защиты vCenter.
Запросить демонстрационную версию продукта vGate R2 можно по этой ссылке.