После того как вы приобретете лицензию на Dr.Web vxCube, на адрес вашей электронной почты придут следующие письма:
•со ссылками на дистрибутив продукта и образы виртуальных машин, на которых будет производиться анализ;
•с лицензионным ключевым файлом.
Кроме того, отдельной посылкой вы получите аппаратный ключ защиты Guardant.
Прежде чем приступить к установке, выполните указанные ниже действия:
1.Очистите SSD-диск, на который вы устанавливаете компоненты Dr.Web vxCube. Если SSD-диск разбит на разделы, удалите их.
2.Подключите электронный ключ защиты Guardant к устройству, на котором будет развернут сервис Dr.Web vxCube. Это обязательно для запуска анализа. Если вы будете разворачивать Dr.Web vxCube на нескольких устройствах, электронный ключ защиты Guardant потребуется для каждого из них.
3.Скачайте дистрибутив, образы и ключевой файл из полученных писем. Распакуйте скачанные архивы.
4.Поместите лицензионный ключ Dr.Web vxCube в confs/vxcube.key.
5.Поместите файлы дистрибутива и образов в следующие каталоги:
•SSL-сертификаты для подключения к VPN-серверам, указанным в файле vars-user.yml (переменная openvpn_client_servers), в каталоги confs/openvpn.crt, confs/openvpn.key и confs/openvpn_ca.crt;

|
SSL-сертификаты не являются частью продукта Dr.Web vxCube; их необходимо приобрести отдельно.
|
•полученные образы виртуальных машин на базе Windows с расширением .tar.gz и все служебные файлы .tar.gz.ver и .tar.gz.hash в каталог vm-images-win;
•полученные образы виртуальных машин на базе Android с расширением .vdi и все служебные файлы .vdi.hash и .vdi.ver в каталог vm-images-andr;
•полученные образы виртуальных машин на базе Linux с расширением .tar.gz и все служебные файлы .tar.gz.hash и .tar.gz.ver в каталог vm-images-linux.

|
Вы также можете поместить образы виртуальных машин в произвольные каталоги. В этом случае вам нужно указать эти каталоги в файле vars-default.yml (в переменных hyperbox_images_repo, dimas_images_repo и linuxbox_images_repo).
|
6.Если вы хотите интегрировать Dr.Web vxCube с MailD, вам потребуется SSL-сертификат. Если у вас нет этого сертификата, его можно сгенерировать, например с помощью следующей команды:
openssl dhparam -out web_dhparam.pem 2048
|
7.Если вы хотите, чтобы веб-интерфейс Dr.Web vxCube поддерживал работу по протоколу HTTPS, выполните следующие действия:
•создайте файлы confs/web_ssl.crt, confs/web_ssl.key;
•создайте файл confs/web_dhparam.pem (если пропустили шаг 5);
•в файле vars-default.yml раcкомментируйте переменные vxcube_web_ssl_cert, vxcube_web_ssl_privkey и vxcube_web_dhparam.
8.Убедитесь, что на всех серверах, на которых вы собираетесь развертывать компоненты Dr.Web vxCube, установлены пакеты make, python3-venv и sshpass. Если пакетов нет, установите их, выполнив следующие команды:
sudo apt-get install make
sudo apt-get install python3-venv
sudo apt-get install sshpass
|

|
При запуске команды make создается виртуальное окружение Python и устанавливаются пакеты, необходимые для запуска Ansible нужной версии. Если вы используете любой другой репозиторий Python, помимо pipy.org, укажите его через переменные окружения, зарегистрировав их, например:
export PIP_INDEX_URL=https://devpi.local
export PIP_TRUSTED_HOST=devpi.local
Или укажите в команде запуска:
PIP_INDEX_URL=https://devpi.local
PIP_TRUSTED_HOST=devpi.local make deploy
|
9.Включите поддержку systemd-networkd.socket с помощью следующих команд:
sudo systemctl stop systemd-networkd.service
sudo systemctl enable systemd-networkd.socket
sudo systemctl start systemd-networkd.socket
sudo systemctl start systemd-networkd.service
|
10.(Только для установки на компьютер с OC Astra Linux) Обновите ОС Astra Linux до версии 1.7.6. В /etc/apt/sources.list должны быть указаны следующие репозитории:
# Расширенный репозиторий
deb https://dl.astralinux.ru/astra/stable/1.7_x86-64/repository-extended/ 1.7_x86-64 main contrib non-free
# Репозиторий Astra 1.7.6
deb http://dl.astralinux.ru/astra/frozen/1.7_x86-64/1.7.6/repository-main/ 1.7_x86-64 main contrib non-free
deb http://dl.astralinux.ru/astra/frozen/1.7_x86-64/1.7.6/repository-update/ 1.7_x86-64 main contrib non-free
deb http://dl.astralinux.ru/astra/frozen/1.7_x86-64/1.7.6/repository-base/ 1.7_x86-64 main contrib non-free
|
11.После обновления репозиториев выполните команды:
sudo apt update
sudo apt upgrade
|
12.Отредактируйте настройки установки. Для этого в файле vars-user.yml задайте значения всех переменных. Их подробное описание вы найдете в самом файле, а также в следующей таблице:
Описание переменных в файле vars-user.yml
Переменная
|
Описание
|
vxcube_web_superuser_email
|
E-mail администратора Dr.Web vxCube.
Пользователь с указанным вами адресом будет создан после установки веб-интерфейса.
|
vxcube_web_superuser_pass
|
Пароль администратора.
Вы можете ввести нужный вам пароль:
vxcube_web_superuser_pass: "example_password"
Или указать его генерацию автоматически:
vxcube_web_superuser_pass: "{{ lookup('password', 'credentials/vxcube_web_superuser_pass length=10
chars=ascii_letters,digits') }}"
Сгенерированный пароль будет сохранен в файле credentials/vxcube_web_superuser_pass.
|
hyperbox_ssds
|
Список доступных на сервере SSD-дисков.
Пример значения переменной для двух дисков:
hyperbox_ssds:
- sdb
- sdc
|
vxcube_os_count
|
Максимальное число работающих одновременно виртуальных машин с ОС Windows.
При выборе значения для этой переменной необходимо учитывать технические характеристики устройства. Оптимальное значение можно рассчитать по формуле: <vxcube_os_count> = <количество ядер * 1.5> / <количество разных типов ОС>.
К примеру, на 48-ядерном сервере при использовании четырех различных типов ОС можно установить значение vxcube_os_count, равное 18.
|
vxcube_os_clone_threads
|
Число потоков, используемых для клонирования виртуальных машин.
При выборе значения для этой переменной учитывайте технические характеристики устройства.
К примеру, при наличии двух SSD-дисков и 48-ядерного процессора количество потоков не должно превышать 15.
|
openvpn_client_servers
|
Список VPN-серверов, через которые будет маршрутизироваться трафик с виртуальных машин. Если в переменной указано несколько хостов, при выходе из строя первого сервера будет использоваться следующий по списку. Обратите внимание, что vxcube-installer не развертывает VPN-сервер. Для этого вам необходимо настроить VPN-сервер самостоятельно. Подробнее см. Приложение В. Настройка отдельного VPN-сервера.
Формат значения переменной:
openvpn_client_servers:
- host: xx.xx.xx.xx
port: 1194
|
vboxnet_vpn_gateway
|
IP-адрес шлюза внутри VPN-сети, на который будет перенаправляться трафик. Как правило, это будет первый хост в подсети. К примеру, если внутренняя VPN-сеть имеет подсеть 10.0.42.0/24, то шлюзом будет являться 10.0.42.1.
|
evparser_max_workers_count
|
Максимальное количество рабочих потоков сервиса анализа поведения.
При выборе значения для этой переменной учитывайте технические характеристики устройства.
Рекомендуется установить значение, равное переменной vxcube_os_count.
|
evparser_min_workers_count
|
Минимальное количество рабочих потоков сервиса анализа поведения.
Они будут запущены всегда, даже при отсутствии заданий.
Рекомендуется установить значение, равное 20 % от evparser_max_workers_count.
|
evparser_srv_autoscale
|
Максимальное и минимальное количество рабочих потоков сервиса анализа поведения.
Формат значения переменной:
"<max_worker_num>,<min_worker_num>"
Например: evparser_srv_autoscale: "10,1"
|
drweb_srv_autoscale
|
Максимальное и минимальное количество рабочих потоков, используемых антивирусом для проверки файлов.
Формат значения переменной: "<max_worker_num>,<min_worker_num>".
Например: drweb_srv_autoscale: "10,1"
Рекомендуется установить значение max_worker_num, равное значению vxcube_os_count, а min_worker_num,равное 20 % от значения max_worker_num.
|
yara_srv_autoscale
|
Максимальное и минимальное количество рабочих потоков, используемых сервисом YARA.
Формат значения переменной: <max_worker_num>,<min_worker_num>.
Например: yara_srv_autoscale: "10,1"
Рекомендуется установить значение max_worker_num, равное значению vxcube_os_count, а min_worker_num,равное 20 % от значения max_worker_num.
|
Дополнительно вы также можете указать или изменить значения переменных в файле vars-default.yml. Их подробное описание вы найдете в самом файле, а также в следующей таблице:
Описание переменных в файле vars-default.yml
Переменная
|
Описание
|
vxcube_local_hostname
|
Имя хоста при загрузке на локальный сервер.
|
vxcube_ftp_user
|
Логин FTP-пользователя, используется для загрузки образцов на FTP-сервер.
Например:
vxcube_ftp_user: "vxcube_ftp"
|
vxcube_ftp_pass
|
Пароль FTP-пользователя, указанного в переменной vxcube_ftp_user. По умолчанию генерируется случайный пароль, который записывается в файл credentials/vxcube_ftp_pass.
Если пароль уже был сгенерирован ранее (то есть файл credentials/vxcube_ftp_pass уже создан и пароль туда записан), будет использоваться пароль из файла.
Например:
vxcube_ftp_pass: "{{ lookup('password', 'credentials/vxcube_ftp_pass length=10 chars=ascii_letters,digits') }}"
|
vxcube_web_db_pass
|
Пароль для базы данных. По умолчанию генерируется пароль, который записывается в файл credentials/vxcube_web_db_pass.
Например:
vxcube_web_db_pass: "{{ lookup('password', 'credentials/vxcube_web_db_pass length=10 chars=ascii_letters,digits') }}"
|
vxcube_web_ssl_cert
|
Путь до сертификата .crt. По умолчанию сертификат находится в confs/web_ssl.crt.
Например:
vxcube_web_ssl_cert: "{{ lookup('file', 'confs/web_ssl.crt') }}"
|
vxcube_web_ssl_privkey
|
Путь до приватного ключа .key. По умолчанию ключ находится в confs/web_ssl.key.
Например:
vxcube_web_ssl_privkey: "{{ lookup('file', 'confs/web_ssl.key') }}"
|
vxcube_web_dhparam
|
Путь до ключа Диффи-Хеллмана .pem. По умолчанию ключ находится в confs/web_dhparam.pem.
Например:
vxcube_web_dhparam: "{{ lookup('file', 'confs/web_dhparam.pem') }}"
|
vxcube_web_mail_server
|
IP-адрес или доменное имя SMTP-сервера.
Например:
vxcube_web_mail_server: "localhost"
Значение по умолчанию: localhost.
|
vxcube_web_recaptcha_site_key
|
Ключ сайта, используется для включения reCAPTCHA.
Например:
vxcube_web_recaptcha_site_key: SITE_KEY //<ключ сайта>
Значения берутся при регистрации домена на https://www.google.com/recaptcha/admin.
|
vxcube_web_recaptcha_secret
|
Секретный ключ, используется для включения reCAPTCHA.
Например:
vxcube_web_recaptcha_secret: SECRET_KEY //<секретный ключ>
Значения берутся при регистрации домена на https://www.google.com/recaptcha/admin.
|
vxcube_web_check_exchange_min
|
Период проверки директории FTP-сервера в минутах.
Принимает диапазон значений от 1 до 60.
Например:
vxcube_web_check_exchange_min: "5"
|
vxcube_web_keep_free_space_percent
|
Если значение этой переменной меньше, чем объем свободного места на диске, то старые отчеты удаляться не будут. Значение в процентах.
Например:
vxcube_web_keep_free_space_percent: "30"
|
vxcube_web_keep_exchange_hours
|
Минимальное время хранения файлов при нехватке места на диске. Значение в часах.
Если переменная имеет значение 0,5, то созданные за последние 0,5 часа файлы не будут удаляться.
Например:
vxcube_web_keep_exchange_hours: "0,5"
|
vxcube_web_keep_reports
|
Минимальное время после создания отчета, после которого отчет считается старым и удаляется. Значение в минутах.
Например:
vxcube_web_keep_reports: "20m"
|
vxcube_web_reports_clean_period_min
|
Периодичность запуска задачи на удаление старых отчетов. Значение в минутах.
Например:
vxcube_web_reports_clean_period_min: "5"
|
vxcube_web_fail_free_space_percent
|
Свободное место на диске, при котором запущенные задачи будут завершаться с ошибкой. Значение в процентах.
Например:
vxcube_web_fail_free_space_percent: "5"
|
vxcube_web_local_max_body_size
|
Внутренняя переменная. Укажите для нее значение, равное значению переменной vxcube_web_max_body_size ниже.
|
vxcube_web_local_max_exec_time
|
Максимально допустимое значение параметра Время выполнения файла по умолчанию, указанное в секундах.
Например:
vxcube_web_local_max_exec_time: "3600"
|
vxcube_web_max_body_size
|
Максимальный размер файла, который можно отправить на анализ, в мегабайтах.
Например:
vxcube_web_max_body_size: "2001"
|
hyperbox_api_rq_username
|
Учетная запись для работы с RabbitMQ.
Например:
hyperbox_api_rq_username: "celery"
|
hyperbox_api_rq_password
|
Пароль для пользователя, указанного в hyperbox_api_rq_username.
По умолчанию генерируется случайный пароль в credentials/hyperbox_api_rq_password.
Например:
hyperbox_api_rq_password: "{{ lookup('password', 'credentials/hyperbox_api_rq_password length=10 chars=ascii_letters,digits') }}"
|
hyperbox_api_rq_vhost
|
Имя базы данных в RabbitMQ.
Например:
hyperbox_api_rq_vhost: "tasks"
|
hyperbox_api_rq_admin_pass
|
Пароль администратора для работы с пользователями и базой данных в RabbitMQ.
Например:
hyperbox_api_rq_admin_pass: "{{ lookup('password', 'credentials/hyperbox_api_rq_admin_pass length=10 chars=ascii_letters,digits') }}"
|
hyperbox_api_rq_plugins
|
Список плагинов RabbitMQ, которые будут установлены.
Например:
hyperbox_api_rq_plugins: ["rabbitmq_management"]
Переменная отключена по умолчанию.
|
hyperbox_key_path
|
Путь к лицензионному ключу.
Например:
hyperbox_key_path: "confs/vxcube.key"
Путь по умолчанию: confs/vxcube.key.
|
hyperbox_external_addr
|
Адрес для подключения к серверу с виртуальными машинами с помощью VNC.
Например:
hyperbox_external_addr: "{{ hostvars[inventory_hostname]['ansible_default_ipv4']['address'] }}"
Переменная необходима для корректной работы VNC.
|
hyperbox_hbsetup
|
Используется для переклонирования виртуальных машин из OVA-образов.
Например:
hyperbox_hbsetup: "false"
Значение True используется при первоначальной установке и в случае внесения изменений в OVA-образы.
|
hyperbox_images_repo
|
Путь к OVA-образам виртуальных машин.
Например:
hyperbox_images_repo: "vm-images-win"
Значением переменной также может являться FTP-адрес в формате URI.
Например:
hyperbox_images_repo: "ftp://user:pass@host:port/path"
|
hyperbox_images
|
Список виртуальных машин и их характеристики. Все машины из списка должны быть доступны в репозитории образов, указанном в hyperbox_images_repo.
Например:
hyperbox_images:
- vm_type: 6.1.7601.17514_x86
code: Win7x86
count: "{{ vxcube_os_count }}"
memory: 1536
clone_threads: "{{ vxcube_os_clone_threads }}"
cores: 2
При этом cores — количество ядер, выделенных виртуальной машине.
|
hyperbox_force_clean_vms
|
Позволяет принудительно удалять все использованные виртуальные машины перед клонированием новых.
Значение по умолчанию: False.
|
vm_type
|
Тип виртуальной машины.
Например:
vm_type: 6.1.7601.17514_x86
|
code
|
Имя виртуальной машины.
Например:
code: Win7x86
|
count
|
Количество клонов ОС для каждой из виртуальных машин.
Например:
count: "{{ vxcube_os_count }}"
По умолчанию значение берется из переменной vxcube_os_count.
|
memory
|
Объем оперативной памяти, выделяемой для виртуальной машины при запуске.
Например:
memory: "1536"
|
clone_threads
|
Используемое число потоков при клонировании виртуальных машин во время установки.
Например:
clone_threads: "{{ vxcube_os_clone_threads }}"
По умолчанию значение берется из переменной vxcube_os_clone_threads.
|
openvpn_client_crt
|
Путь до сертификата сервера OpenVPN.
Например:
openvpn_client_crt: "{{ lookup('file', 'confs/openvpn.crt') }}"
Путь по умолчанию: confs/openvpn.crt
|
openvpn_client_key
|
Путь до закрытого ключа клиента сервера OpenVPN.
Например:
openvpn_client_key: "{{ lookup('file', 'confs/openvpn.key') }}"
Путь по умолчанию: confs/openvpn.key
|
openvpn_client_ca_crt
|
Путь до сертификата ключевого центра сертификации сервера OpenVPN.
Например:
openvpn_client_ca_crt: "{{ lookup('file', 'confs/openvpn_ca.crt') }}"
Путь по умолчанию: confs/openvpn_ca.crt
|
openvpn_client_tls_auth
|
Параметр tls-auth добавляет использование еще одной подписи HMAC к handshake-пакетам SSL/TLS, инициируя дополнительную проверку целостности.
Например:
openvpn_client_tls_auth: "{{ lookup('file', 'confs/openvpn_ta.crt', errors='ignore')|default(omit) }}"
|
openvpn_client_chiper
|
Используемый метод шифрования.
Например:
openvpn_client_chiper: "AES-128-CBC"
|
vxcube_optional_types_codes
|
Опциональные типы файлов, доступные для анализа.
Например:
vxcube_optional_types_codes: "moc"
Чтобы использовать переменную, необходимо установить ПО Microsoft Office в образах.
По умолчанию отключено.
|
drweb_srv_se_licence_key
|
Путь к лицензионному ключу.
Например:
drweb_srv_se_licence_key: "{{ lookup('file', 'confs/vxcube.key') }}"
Путь по умолчанию: confs/vxcube.key
|
vxcube_web_server_name
|
Доменное имя для доступа к веб-интерфейсу Dr.Web vxCube.
|
vxcube_storage
|
Путь к каталогу для виртуальных машин и временных файлов, созданных в процессе анализа.
Например:
vxcube_storage: "/var/lib/storage"
|
vxcube_configure_firewall
|
Индикатор необходимости выполнять настройку брандмауэра после завершения установки (true/false).
|
evparser_dwschecker_url
|
URL для доступа к сервису проверки ссылок. Доступно, если сервис подключен при покупке лицензии.
Например:
evparser_dwschecker_url: "http://hostname/?key=mykey&url={0}&info=1"
|
dimas_external_ip
|
Адрес для доступа к серверу с виртуальными машинами. Необходим для корректной работы VNC.
Например:
dimas_external_ip: "{{ hostvars[inventory_hostname]['ansible_default_ipv4']['address'] }}"
|
dimas_vms_setup
|
Индикатор необходимости пересоздания виртуальных машин (true/false).
|
vxcube_force_clean_vms
|
Удаление файлов виртуальных машин.
|
dimas_images_repo
|
Путь к репозиторию с VDI-образами дисков виртуальных машин. Также можно указать FTP-адрес в формате URI.
Например:
dimas_images_repo: "ftp://user:pass@host:port/path"
|
dimas_tar_repo
|
Путь к репозиторию с vboxsdk. Также можно указать FTP-адрес в формате URI.
Например:
dimas_tar_repo: "ftp://user:pass@host:port/path"
|
dimas_images
|
Список виртуальных машин на базе Android и их характеристики.
Все виртуальные машины из списка должны находиться в репозитории образов, указанном в dimas_vdi_repo.
Например:
dimas_images:
- vm_type: Android7.1
code: Android7.1
count: 3
memory: 4072
cores: 2
clone_threads: 3
|
_vxcube_use_windows_workers: "{{ lookup('ini', 'Windows section=Settings file={{ hyperbox_key_path }}') | bool }}"
_vxcube_use_android_workers: "{{ lookup('ini', 'Android section=Settings file={{ hyperbox_key_path }}') | bool }}"
_vxcube_use_linux_workers: "{{ lookup('ini', 'Linux section=Settings file={{ hyperbox_key_path }}') | bool }}"
vxcube_web_expire_date: "{{ lookup('ini', 'Expires section=Key file={{ hyperbox_key_path }}') }}"
vxcube_web_activation_date: "{{ lookup('ini', 'Created section=Key file={{ hyperbox_key_path }}') }}"
|
Информация о лицензии.
|
zabbix_agent_required
|
Переменная zabbix_agent_required для опциональной установки Zabbix-агента, который позволяет вести активный мониторинг состояния компонентов vxCube.
Например:
zabbix_agent_required: "true"
zabbix_agent_server: 192.168.33.30
zabbix_agent_serveractive: 192.168.33.30
zabbix_version: 3.0
Переменные zabbix_agent_server и zabbix_agent_serveractive должны содержать IP-адрес или доменное имя сервера Zabbix Server.
Cам сервер Zabbix Server необходимо установить самостоятельно .
Параметр zabbix_version опционален. Если его не указывать, на хост будет установлена последняя доступная версия Zabbix. Если необходимо использовать более старую версию, укажите ее номер.
Например:
zabbix_version: 4.0, zabbix_version: 3.4 или zabbix_version: 2.2.
|
zabbix_agent_serveractive
|
Адреса серверов Zabbix для активных проверок.
|
vxcube_web_flask_workers
|
Число рабочих потоков веб-приложения.
Например:
vxcube_web_flask_workers: 5
|
vxcube_web_flask_timeout
|
Тайм-аут ответа от веб-приложения.
Например:
vxcube_web_flask_timeout: 300
|
linuxbox_vms_setup
|
Индикатор необходимости пересоздания виртуальных машин (true/false).
Например:
linuxbox_vms_setup: true
|
linuxbox_images_repo
|
Путь к репозиторию, где лежат VDI-образы виртуальных машин. В качестве значения переменной также может быть указан FTP-адрес в формате URI.
Например:
linuxbox_images_repo: "ftp://user:pass@host:port/path"
или
linuxbox_images_repo: "vm-images-linux"
|
linuxbox_images
|
Список виртуальных машин на базе Linux и их характеристики. Все эти виртуальные машины должны быть доступны в репозитории образов, указанном в linuxbox_vdi_repo.
Например:
linuxbox_images:
- vm_type: intel64_astra_ce_2.12
code: intel64_astra_ce_2.12
count: 1
|
linuxbox_force_clean_vms
|
Позволяет принудительно удалять все использованные виртуальные машины перед клонированием новых.
Значение по умолчанию: False.
|
|