Виртуализация. Это слово у многих на слуху. Особенно у тех, кто следит за современными тенденциями в сфере 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

В окне диспетчера отмечаем тип виртуального коммутатора «внешний»:

Скрин
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

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

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

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

Комментарии (6)


  1. teecat
    08.12.2015 13:27

    А какие компоненты устанавливаются на защищаемый компьютер/виртуальную машину? Кроме естественно агента, связывающего защищаемую машину и образ с антивирусом?

    Если точнее интересует — все антивирусные проверки проводятся снаружи защищаемой машины — или что-то антивирусное есть и внутри?


    1. Sergiar
      08.12.2015 16:35

      Это все-таки разные вопросы, независимые, и за два слова на них не ответишь. Дело вот в чем:
      На защищаемую конечную точку безусловно ставится «базовый» защитный модуль — классическая сигнатурная защита, первичная эвристика. Дополнительно можно поставить модули: Advanced Threat Control — глубокая эвристика, мониторинг процессов, памяти; Firewall — тут, думаю, и так все ясно: контроль доступа через сеть/интернет; Content Control — более продвинутый контроль трафика, управление правами приложений и пользователей, расписание, т.п.; Device control — управление доступом к девайсам, предотвращение утечки данных. В более продвинутом пакете также отдельным модулем — защита Эксчейнджа.
      Теперь ко второму вопросу. Сканирование может проводиться как на защищаемой машине, так и на сервере. Кроме того, доступен вариант гибридного сканирования, когда нагрузка каким-то образом разделяется между конечной точкой и серваком. По умолчанию агент при установке на эндпойнт самостоятельно просканирует машину на предмет ресурсов и автоматически выберет наиболее оптимальный алгоритм, но можно установить и вручную.


      1. teecat
        08.12.2015 16:50

        То есть непосредственно антивирусных компонент не ставится, а в случае необходимости сканирования используется некое АПИ?
        Мой интерес в неизвестных на момент проникновения вредоносных программах. Можете произвести небольшой эксперимент?
        — остановить антивирус (типа он не знает вируса)
        — если есть — запустить вирус в защищаемой виртуальной машине (типа вирус обошел все защиты)
        — включить антивирус и:
        — подождать полчаса — час (сработает ли какой антируткит)
        — произвести антивирусную проверку (найдет ли запущенный процесс)

        Для обычных антивирусов это типовая задача, а вот для подобных — нет информации


        1. Sergiar
          08.12.2015 17:06

          Спасибо за идею с экспериментом, будет время — обязательно попробую (надеюсь, на днях).

          То есть непосредственно антивирусных компонент не ставится, а в случае необходимости сканирования используется некое АПИ?

          Ставится, конечно. «базовый» компонет — Antimalware, плюс дополнительные, из которых один — Advanced Threat Control — чистейшей воды эвристический анализ по косвенным признакам: поведению процесса, контролю памяти и т.п.


          1. teecat
            08.12.2015 17:35

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

            Заранее спасибо!


            1. Sergiar
              08.12.2015 18:24

              ПОка могу только цитату из мануала привести:

              English
              Antimalware
              The antimalware protection module is based on signature scanning and heuristic
              analysis (B-HAVE) against: viruses, worms, trojans, spyware, adware, keyloggers,
              rootkits and other types of malicious software.
              Bitdefender's antimalware scanning technology relies on the following protection
              layers:
              ? First, a traditional scanning method is employed where scanned content is
              matched against the signature database. The signature database contains byte
              patterns specific to known threats and is regularly updated by Bitdefender. This
              scanning method is effective against confirmed threats that have been
              researched and documented. However, no matter how promptly the signature
              database is updated, there is always a vulnerability window between the time
              when a new threat is discovered and when a fix is released
              ? Against brand-new, undocumented threats, a second layer of protection is
              provided by B-HAVE, Bitdefender's heuristic engine. Heuristic algorithms detect
              malware based on behavioral characteristics. B-HAVE runs suspected malware
              in a virtual environment to test its impact on the system and ensure it poses
              no threat. If a threat is detected, the program is prevented from running.

              Advanced Threat Control
              For threats that elude even the heuristic engine, a third layer of protection is present
              in the form of Advanced Threat Control (ATC).
              Advanced Threat Control continuously monitors running processes and grades
              suspicious behaviors such as attempts to: disguise the type of process, execute
              code in another process's space (hijack process memory for privilege escalation),
              replicate, drop files, hide from process enumeration applications, etc. Each
              suspicious behavior raises the process rating. When a threshold is reached, an
              alarm is triggered.