Интеграция c инфраструктурой виртуальных рабочих мест

Dr.Web Enterprise Security Suite поддерживает интеграцию с инфраструктурой виртуальных рабочих мест (VDI). Такая возможность полезна при работе с тонкими клиентами, поддерживающими работу в терминальном режиме по протоколу RDP.

Работа антивирусной сети при этом организуется следующим образом:

1.Администратор антивирусной сети создает эталонный образ виртуальной станции с предустановленным ПО и Агентом Dr.Web, после чего подключает эталон к Серверу Dr.Web.

2.Из созданного эталона клонируются необходимые виртуальные станции.

3.По истечении заданного срока виртуальные станции удаляются. Впоследствии виртуальные станции создаются заново из эталонного образа по мере необходимости.

Чтобы подготовить антивирусную сеть к работе с VDI

1.Выберите пункт Антивирусная сеть в главном меню Центра управления и создайте новую станцию, которая будет служить эталонным образом.

2.Установите на созданную станцию Агент Dr.Web и все необходимое ПО. Подключите станцию к Серверу Dr.Web.

3.Назначьте одну из станций Сканирующим сервером и установите на нее необходимое ПО.

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

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

6.Настройте порядок регистрации виртуальных станций. Для этого в Центре управления перейдите в раздел Администрирование → Пользовательские процедуры. Добавьте новую процедуру на основе события Новичок подключается к Серверу Dr.Web. В поле Текст процедуры укажите:

local args = ... -- args.id, args.address, args.station

if args.id == '<идентификатор_эталонной_станции>' then

 return { "id", dwcore.get_uuid(), "pgroup", "<идентификатор_первичной_группы>" }

end

В качестве <идентификатора_эталонной_станции> необходимо указать ID эталонной станции, созданной на этапе 1. В качестве <идентификатора_первичной_группы> укажите ID группы, созданной на этапе 5. Данная информация всегда доступна в свойствах объектов в дереве Антивирусной сети.

При клонировании каждая новая виртуальная станция будет получать идентификатор, совпадающий с идентификатором эталонной станции. По условиям процедуры при подключении станции к Серверу Dr.Web для нее генерируется новый UUID, после чего станция регистрируется в первичной группе с указанным идентификатором.

При написании процедуры рекомендуется сверяться со встроенным шаблоном процедуры Новичок подключается к Серверу Dr.Web. Для уточнения информации, в том числе возможных альтернативных параметров и возвращаемых значений, в Центре управления в дереве процедур выберите Examples of the hooks → Новички → Новичок подключается к Серверу Dr.Web.

Плановое удаление неактивных виртуальных станций

Для рационального распределения лицензий, а также для предотвращения скопления в базе данных информации об удаленных виртуальных станциях необходимо настроить задание по автоматическому удалению неактивных станций. Под неактивными подразумеваются станции, которые не подключались к Серверу Dr.Web в течение указанного срока.

Для подготовки задания по автоматическому удалению неактивных станций

1.В Центре управления перейдите в раздел Администрирование → Планировщик заданий Сервера Dr.Web.

2.Создайте новое задание, нажав кнопку Создать задание на панели инструментов.

3.На вкладке Действие в выпадающем списке выберите Выполнение скрипта, после чего импортируйте из отдельного файла либо введите вручную следующий Lua-скрипт в поле ниже:

local adminName = 'admin'

-- указываем ID группы

local gid       = '<идентификатор__первичной_группы>'

-- задаем период неактивности (в секундах)

local interval  = 86400

 

require('st-db-state')

require('core/datetime')

require('core/admins/admins')

local lastseen = Datetime.timeUnixstampToDBFormat(Datetime.nowTimestamp() - interval)

local stations = {}

-- выполняем запрос к базе данных

local res, err1 = DBuilder()

   :select('id, lastseenat')

   :from('stations')

   :where('gid', gid)

   :where('lastseenat '..dwcore.base64_decode('PA=='), lastseen)

   :where('state !=', st_db_state.st_db_state_logged_in)

   :get()

if res and next(res) then

 for i = 1, #res do

   table.insert(stations, res[i][1])

 end

end

-- удаляем неактивные станции

local function delete_stations(ids)

 local admin, err    = Admin:initWithLogin(adminName)

 require 'core/admins/admins'

 require('core/stations/stations')

 local status, results_stations = Stations:delete(ids, admin)

 return ''

end

return delete_stations(stations)

В качестве <идентификатора_первичной_группы> укажите ID группы, созданной на этапе 5 при подготовке к работе с VDI.

Данный скрипт обращается к базе данных, получает ID станций, не подключавшихся к Серверу Dr.Web в течение последних 24 часов (86400 секунд), и удаляет эти станции из группы с указанным ID.

Рекомендуется обновлять эталонный образ каждый раз после обновления антивирусных компонентов, требующего перезагрузки операционной системы. После обновления проверьте и при необходимости скорректируйте идентификатор эталонной станции в тексте процедуры.