[Из песочницы] Установка виртуального окружения и агентской программы на примере антивируса

Виртуализация. Это слово у многих на слуху. Особенно у тех, кто следит за современными тенденциями в сфере IT. На Хабре этот вопрос образовал целый хаб, что говорит о многом.

Мне довелось столкнуться с темой виртуализации в контексте установки именно антивируса, но практика подсказывает, что решения, базирующиеся на виртуальной платформе, могут быть оправданными и в других программных сферах: почтовые серверы, бухгалтерские программы, резервирование данных, тестирование ПО etc. Цель статьи — помочь неопытному, но грамотному пользователю установить и настроить виртуальное приложение, поэтому постараюсь детализировать и иллюстрировать каждый шаг скриншотами, но самые очевидные спрячу в спойлер.
Я опишу процесс, начиная со стадии установки гипервизора и заканчивая стадией первичной настройки антивируса (до состояния «запустился»).

Для связности мысли скажу несколько слов о виртуализации, о том, как ее реализовать и зачем она нужна.

Программы виртуализации создают среду, имитирующую аппаратное окружение, на котором могут запускаться и выполняться другие программы. Такой класс программ называется «гипервизоры». Вот тематическая статья из Вики, если формулировать коротко, то:

Гипервизор — это средство, которое позволяет запустить несколько операционных систем на одном компьютере (будь то настольный ПК, ноутбук, сервер или даже серверный комплекс).

Есть разные программные гипервизоры, внедрение каждого из них — это отдельная тема, достойная полноценной статьи (коих тоже немало), поэтому, дабы не засорять информационное поле, сейчас ограничимся тем, что рассмотрим установку и настройку виртуальной системы в штатном гипервизоре Windows — Hyper-v. Сразу оговорюсь, что «штатным» в настольных ОС он стал, начиная с версии Windows 8.1, а в серверных — начиная с Windows Server 2008. Доступен также как отдельный продукт Microsoft Hyper-V Server, который можно установить и на другие ОС, например Windows 7. Другие популярные гипервизоры: VMware ESX, Citrix XenServer, Microsoft Virtual PC, VMware Workstation, QEMU, Parallels, VirtualBox.

Зачем оно вообще? Для экономии и оптимизации. Времени, денег, нервов — и прочих ресурсов. Как прямо, так и косвенно. Позволяет программную часть отвязать от аппаратной, запустить несколько параллельных сервисов независимо друг от друга, позволяет «на лету», без приостановок, перемещать работающие виртуальные компьютеры с одного аппаратного окружения на другой, облегчает защиту информации, позволяет балансировать нагрузку между разными сервисами и обеспечивает много других полезностей.

Все манимуляции будем проводить в ОС Windows 10 Enterprise (ru), в которую входит служба и менеджер Hyper-v. Начнем с включения гипервизора, поскольку по умолчанию он отключен.

Перейдем по следующему пути: Панель управления → Программы → Программы и компоненты → Включение или отключение компонентов Windows

Скрин
image


image

Отмечаем галочкой чекбокс напротив Hyper-V, жмем ОК и проводим перезагрузку.

Теперь в нашей операционной системе (в дальнейшей мы ее будем обозначать host, то есть «хозяин») установлен гипервизор Hyper-V. Открываем его графический интерфейс, который называется Диспетчер Hyper-V, например, введя его название в поисковой строке Windows 10:

Скрин
image


Должно открыться окно диспетчера Hyper-V. Первым делом нужно настроить виртуальный свитч, чтобы виртуальная среда (иногда ее называют гостевая, англ. guest) имела доступ в сеть. Для этого в меню Действия выбираем пункт Диспетчер виртуальных коммутаторов….

Скрин
image


В окне диспетчера отмечаем тип виртуального коммутатора «внешний»:
В окне «Свойства виртуального коммутатора» назначаем ему имя, здесь можно выбрать тип сети:

  • внешняя — гостевая ОС будет иметь доступ во внешнюю сеть напрямую
  • внутрення — гостевая ОС будеть видеть только ОС хоста
  • частная — гостевая ОС будет изолирована от хоста. При этом может быть установлено соединение между несколькими гостевыми ОС, функционирущими на одном гипервизоре.


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

Параметр VLAN ID актуален, только если в сети используется разбиение на логические подсети (Virtual Local Area Network, VLAN). Все виртуальные ОС, подключенные к коммутатору, окажутся в том сегменте сети, который будет указан параметром VLAN ID.

Скрин
image


Жмем ОК, принимаем как жизненную данность риск нарушения работы в сети, о котором предупреждает нас Hyper-V, и — гипервизор добавляет в систему еще один коммутатор (виртуальный). Теперь весь трафик будет идти через него. Даже от хостовой системы: физический адаптер будет служить портом для виртуального. В этом можно убедиться, просмотрев свойства адаптеров (слева — виртуальный, справа — физический):

image

Итак, гипервизор — средство управления виртуальными машинами — установлен и настроен. Самое время приступить к установке виртуальной среды.

Подопытный кролик — это антивирус Bitdefender, а точнее версия для корпоративных клиентов — Business Security. Почему будем мучить именно его? Потому что антивирус — это весьма обыденный, стандартный, и, к сожалению, необходимый продукт. При этом установка Битдефендера предполагает установку и настройку виртуального окружения, что замечательно соответствует теме статьи. Желающие поэкспериментировать могут скачать триальную версию с оффсайта. Предупреждаю сразу, что для скачивания придется указать реальный e-mail, так же как и позднее для входа в консоль управления.

Согласно современным тенденциям, многие программные продукты, в том числе и этот, устанавливаются в виде виртуальной машины. Так что скачиваем образ диска в формате, который соответствует установленному гипервизору. Например, для Hyper-v это *.vhd.
У нас имеется работающий гипервизор (у меня — Hyper-V) с настроенным выходом в интернет, файл диска в формате *.vhd, и мы можем смело приступать непосредственно к установке.

В интерфейсе гипервизора начинаем создавать новую виртуальную машину, например, щелкнув правой кнопкой на имени хоста и выбрав пункт «Создать» → «Виртуальная машина»:

Скрин
image


Выбираем имя ВМ и расположения ее виртуального жесткого диска. Следующий шаг — выбор поколения. Зависит от того, что именно вы ставите. Для наших нужд надо выбрать «Поколение 1». Далее нужно указать, сколько памяти выделяем машине при запуске, есть также возможность выбрать динамическое изменение количества памяти. Этот параметр можно изменить и после создания виртуальной машины. Оптимальное количество памяти можно определить по рекомендации производителя, из рекомендаций пользователей и из собственного опыта (я для начала поставлю 2,5 Гб, потом буду экспериментировать). Следующим шагом назначаем виртуальной машине ранее созданный коммутатор.

Скрин и комментарий
У меня простая одноуровневая сеть, все компьютеры подключены через коммутатор к интерфейсу провайдера. Раздача адресов происходит через DHCP. Поэтому я выбираю внешнюю сеть, чтобы виртуальная машина через виртуальную сетевую карту самостоятельно получала IP-адрес и подключалась напрямую в сеть. В случае, если у Вас картина отличается, то может потребоваться создать другой тип сети. Например, если Вам приходится ставить гипервизор на сервер, который сам раздает адреса, то нужно выбирать Внутреннюю сеть.

image


Следующий шаг — создание/подключение жесткого диска.

image

Если нужно установить виртуальную ОС, то нужно выбрать вариант «Создать виртуальный жесткий диск» и указать название, расположение и размер виртуального жесткого диска. Но, поскольку, мы устанавливаем готовый образ, то выбираем пункт «Использовать имеющийся виртуальный жесткий диск» и указываем программе, где он лежит.

Далее, программа предлагает нам своеобразную сводку с основной информацией о создаваемой виртуальной машине. Если видим, что все правильно — жмем «Готово» и наблюдаем, как в основном окне гипервизора отобразилась новая виртуальная машина.

Скрин
image


Но процесс еще далек от завершения. Если проводить аналогии с физическим процессом инсталляции, то мы сейчас всего лишь вставили диск с программой в привод компьютера. Чтобы запустить процесс инсталляции, нужно «включить» виртуальную машину, например, щелкнув правой кнопкой мыши по названию созданной виртуальной машины и выбрав пункт «Подключить».

Скрин
image


Открылось окно конкретной виртуальной машины. Включим ее, например, нажав кнопку «Пуск».

Скрин
image


Если до текущего момента действия более-менее одинаковы для всех программ, работающих в виртуальной среде, то все дальнейшее происходящее будет зависеть от того, какую именно программу вы устанавливаете.

Я буду описывать то, что происходит у меня при установке антивируса. Хочу отметить, что для успешной установки потребуется соединение с интернетом.

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

Скрин
image


Запросив повторный ввод пароля и приняв его, виртуальная среда просит нас залогиниться.

Скрин
image


Вводим пароль, который только что установили (ввод символов не отображается, поэтому будьте внимательны), попадаем на страницу настроек окружения (оно же Appliance).

image

Для справки. По сути, мы видим интерфейс операционной системы (в данном случае — специально настроенный Линукс). Соответственно, мы можем ее настраивать, чтобы она делала именно то, что нам нужно. Для начала настроим сеть. Hostname settings — это имя системы (которое будет видно по сети), domain — имя домена Active Directory (если не актуально, можно не изменять и не заполнять). Configure Network Settings — настройка сетевых параметров. Заходим сюда, выбираем сетевой интерфейс (у меня только один — eth0), видим меню конфигураций этого интерфейса.

Скрин
image


Тут можно или настроить параметры вручную, или указать программе получить их автоматически по DHCP. Нужно помнить, что IP виртуальной машины должен быть неизменным, поскольку клиенты, которые будут установлены на защищаемые машины, будут обращаться к серверу по IP, и если он изменится — их придется перенастраивать. Из этого же меню можно проверить текущий IP виртуальной машины и наличие соединения с внешним миром (пункты 3 и 4 соответственно). Мне подходит вариант автоматической настройки. Программа самостоятельно конфигурируется.

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

спойлере.

Виртуальная среда Битдефендера состоит из нескольких частей, так называемых «ролей»: База данных, Сервер обновлений, Коммуникационный сервер, Веб-консоль (через нее происходит связь других компьютеров с виртуальной средой Битдефендер). Каждая из них может быть установлена отдельно (например, из соображений распределения нагрузки на железо), но в общем случае ставятся все вместе.


После того как вы настроили все что нужно (или оставили настройки по умолчанию), можно запустить Automatic Installation из главного меню.

Скрин
image


Соглашаемся с лицензионным соглашением, после чего программа информирует нас о тех составных частях (мы называли их ролями), которые будут установлены. Поскольку мы выбрали автоматическую установку, то в списке присутствуют все роли.

Скрин
image


На скрине выделены те, которые можно было бы установить раздельно (информация для общего понимания процесса). Соглашаемся на установку, и — понеслась. У меня процесс инсталляции занял минут 15. После завершения установки интерфейс не особо поменялся. Появилась графа MDM Communication Server, который отвечает за подключение мобильных устройств. Кроме того, через подменю Advanced Settings появилась возможность подключиться у существующей Базе данных (актуально, если вы уже устанавливали антивирус), настроить Replica set (дублирование баз данных для ускорения работы системы в случае, если обслуживается большое число клиентов или нужна высокая отказоустойчивость), а также настроить Role Balancer, который распределяет нагрузку на сервера (должен быть установлен как отдельное виртуальное окружение).

Однако, процесс инсталляции виртуального окружения завершен. Теперь есть возможность через веб-интерфейс из сети попасть в центр управления Битдефендер (за него отвечает Веб-консоль). Для этого нужно знать, какой IP присвоен виртуальной машине. Это можно проверить из меню виртуального окружения, последовательно выбрав пункты: Configure Network Settings → eth0 (или другой, актуальный у Вас) → Show IP information.

Этот адрес вводим в строку браузера в любом компьютере сети, соглашаемся пройти по незащищенному протоколу и попадаем на страницу логина в Веб-консоль. По сути, мы по сетевым протоколам подключились к виртуальной машине и будем выполнять на ней некие манипуляции. Этот процесс мало чем отличается от привычного многим входа на страницу настроек роутера.

Чтобы впервые залогиниться в консоли нужно зарегистрировать учетную запись в системе my.bitdefender по ссылке, которая размещена под полями для ввода (если вы уже зарегистрированы в системе, то можно пользоваться старой учетной записью, создавать новую не обязательно). Затем вводим ключ, который получен по почте (для пользования триальной версией высылается специальный бесплатный ключ). Попадаем на страницу регистрации компании (предполагается, что Business security будет использоваться только в корпоративном сегменте). Вводим данные, создаем root-пользователя консоли.

Наконец, попадаем на интерфейс пользовательской веб-консоли.

Скрин
Вначале появится два информационных сообщения с кратким руководством по дальнейшей работе с антивирусом, и только потом — главное окно консоли:

image


Итак, что мы имеем? Мы установили виртуальную машину, которая, по сути, является операционной системой, оснащенной и заточенной специально для того, чтобы служить антивирусом для окружающих физических и виртуальных машин. Но чтобы она могла выполнять свои функции, на защищаемых компьютерах должна быть установлена клиентская программа. Сгенерировать такую программу можно через веб-консоль. Для этого в Веб-консоли перейдем во вкладку Network → Packages и нажмем кнопку Add. Конфигурируем пакет (здесь я в подробности вдаваться не буду — тема статьи другая), даем ему название и нажимаем Save. Теперь новый пакет доступен в перечне. Выделяем его чекбокс и нажимаем вверху кнопку Download. В выпадающем списке выбираем ту ОС, на которую требуется установить пакет.

Скрин
image


Пакет станет доступным для скачивания не сразу, так как система подгружает его базу с интернета. Придется подождать. Процесс можно отследить на вкладке Update.

Скрин
image


После того как пакет скачан из интернета на сервер, нужно вернуться во вкладку Packages, опять выделить нужный пакет и снова нажать Download. Выбираем, какую систему будем защищать — и вот теперь начнется скачивание пакета с клиентской программой, устанавливаемой на защищаемый компьютер. На самом деле, Битдефендер позволяет производить и удаленную установку клиента, но это тема для отдельной статьи.

Я скачал пакет на тот компьютер, на котором крутится виртуальная среда Bitdefender, поэтому просто запускаю исполняемый файл. При установке программа производит «зачистку» компьютера от следов предыдущих антивирусов, если такие имеются. В процессе установки понадобится перезагрузиться, возможно даже несколько раз. В результате на компьютер установлен агент Bitdefender, о чем свидетельствует значок в трее. С помощью этого значка можно запустить интерфейс агента:

Скрин
image


Собственно, мы пришли к цели, поставленной в начале статьи: установить виртуальное окружение и поставить на реальную машину агентскую программу, которая будет выполнять возложенные на нее задачи (на моем скрине видно, что файрвол успел заблокировать сканирование портов).

Главное, что стоит взять с собой после прочтения данной статьи:

Виртуализация — это мощный инструмент, позволяющий экономить массу ресурсов; виртуальная среда — это операционная система, которая может выполнять те или иные возложенные на нее функции; ключевой момент в установке и настройке виртуальной машины грамотное конфигурирование сетевых параметров.

© Habrahabr.ru