Стационарный установщик

Инструкция по использованию стационарного установщика

Что это?

Стационарный установщик – это программа для установки модулей системы Oz Forensics на сервера заказчика с автоматическим внесением всех необходимых настроек с учётом индивидуальной топологии и требований заказчика.

Данный установщик предназначен для развёртывания ПО на сервера напрямую, под учетной записью администратора. Сервера, на которых будет работать ПО, могут иметь или не иметь (с некоторыми оговорками) прямого доступа к Интернету, на них должен быть установлен Linux и к ним должен иметься полный доступ по ssh.

Для установки в OpenShift и других оркестраторах, пожалуйста, обратитесь к нам.

Необходимые условия

Требования к серверам

Сервер для Oz Biometry / Liveness

  • CPU: 16 ядер

  • RAM: 24 Гб

  • На диске: 80 Гб

Сервер для Oz API / WebUI / Web SDK

  • CPU: 8 ядер

  • RAM: 16 Гб

  • На диске: 300 Гб

Пожалуйста, обсудите версию ОС с нашими инженерами.

Рекомендованные версии ОС с соответствующими им контейнерами
  • Redhat 7: Docker

  • Redhat 8: Podman*

  • Redhat 9: Podman*

  • Oracle Linux 9: Podman*

  • CentOS 9: Podman*

  • Debian 10: Docker

  • Debian 12: Podman*

  • Ubuntu 22.04 LTS: Podman*

  • Amazon Linux 2023: Podman*

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

sed -i 's/always/unless-stopped/g' /usr/lib/systemd/system/podman-restart.service
systemctl daemon-reload

Также вы можете обратиться к документации Linux.

Требования к Kubernetes (K8s)

Версия: 1.27.

Обязательные компоненты:

  • Prometheus (версия Helm-чартов (kube-prometheus-stack) – 45.7.1),

  • Nginx Ingress Controller (версия Helm-чартов – 4.7.1, репозиторий с чартами здесь),

  • ClusterIssuers.

Опциональные компоненты:

  • Любой Storage Class с поддержкой режима ReadWriteMany (RWX).

Требования к ресурсам узлов:

Еси вы хотите настроить переменные чарта самостоятельно, обратитесь к нам.

Подготовка

  1. Запросите список клиентских URL с соответствующими им сертификатами SSL.

  2. Проверьте, что все сервера доступны по локальной сети.

  3. Проверьте наличие доступа либо по SSH с авторизацией по паролю, либо с файлом-ключом и sudo без пароля.

  4. Для установки мы рекомендуем использовать Docker или Podman. Если есть доступ в интернет, можно скачать и установить Docker или Podman автоматически.

    • Docker версии 19.03 и выше и Docker Compose версии 1.27 и выше (необходимо установить в /usr/sbin);

    или

    • Podman версии 4.4 и выше (с модулями netavark и aardvark-dns) и podman-compose.

  5. Для установки балансировщика, если он есть в вашем инсталляционном пакете мы рекомендуем установить nginx версии 1.17.5 и выше. Для CentOS и Redhat вместо этого вы можете переключить SELinux в режим Permissive. Еще один вариант – доступ к интернету для скачивания и установки в автоматическом режиме.

  6. Проверьте, что сервера имеют доступ к сервису лицензий https://api.cryptlex.com. Брандмауэр клиента не должен блокировать этот адрес.

  7. Процессор сервера BIO должен поддерживать AVX флаги. Для проверки используйте команду lscpu | grep -E 'avx256|avx512' | wc -l. Ответ должен быть “1”.

  8. Брандмауэр клиента не должен блокировать:

    • любые запускаемые скрипты или бинарные образы;

    • любые локальные порты для взаимодействия процессов (сети docker: 192.168.0.1/24, 192.168.10.0/24, 192.168.11.0/24, 192.168.12.0/24, 192.168.13.0/24);

    • порты 80, 8000, 8080, 8090 на сервере API server и порт 8091 на сервере BIO;

    • порт 5432 для установки Postgres.

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

Важно: предупредите нас о любых нетипичных и/или неофициальных программах или сервисах, установленных на серверах.

Как получить установщик?

Закажите вашу персональную копию установщика с предварительно согласованным комплектом модулей для тестовой или продуктивной среды.

Комплект для быстрого ознакомления

Для тестовой развертки предусмотрен типовой комплект установщика с ограничениями по использованию.

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

Как запустить установщик?

Для запуска вам потребуется компьютер с Windows или Linux. Системные требования:

  • 1 Гб ОЗУ, 1 CPU, 3 Гб на диске

  • Windows 10+ (рекомендовано)

  • Linux 64-bit (требуется Python 3.7)

Подробную информацию по запуску смотрите ниже (на английском языке):

Подготовка серверов

  1. Убедитесь, что системные характеристики серверов соответствуют рекомендуемым.

  2. Убедитесь, что сервера доступны по локальной сети.

  3. Убедитесь, что к серверам есть доступ по единой учетной записи по SSH c авторизацией по паролю или файлу-ключу и для данной записи доступен sudo без интерактивного ввода пароля.

  4. Для установки модулей системы на серверах должен быть установлен Docker (версии >=19.03) и, желательно, Docker Compose (версии >=1.27) либо доступен Интернет для автоматического скачивания и установки.

  5. Для установки балансировщиков сетевой нагрузки (только если это явно включено в вашу поставку) на серверах должен быть установлен nginx (версии >= 1.17.5), а также SELinux должен быть переведен в состояние permissive (относится только к CentOS и Redhat). Для автоматического скачивания и установки должен быть доступен Интернет.

Подготовка установщика

Скачайте и разархивируйте вашу копию установщика.

Внесите необходимые настройки в файл settings.yml. Ниже приведено описание некоторых важных настроек. В общем случае при установке требуется только заполнить блок авторизации и переменные.

Пожалуйста, обратите внимание: файл с настройками является вашей персональной копией и не подлежит передаче третьим лицам.

Настройки

settings.yml
# блок авторизации
auth:
  ssh_user: # логин пользователя
  use_sudo: yes # использовать ли sudo
  # полный путь к приватному ssh-ключу. опционально
  ssh_private_key: C:\\cygwin64\\home\\user\\.ssh\\id_rsa 

# блок переменных - может отличаться для вашей поставки
vars:
  # как правило, содержит IP адреса серверов по ролям
  api1: 130.193.58.196
  api2: 178.154.232.159
  bio1: 130.193.59.58
  bio2: 130.193.57.151
  text1: 178.154.232.69
  balancer: 84.201.145.209

  # а также логин и пароль пользователя API с ролью ADMIN
  common-login: demo@ozforensics.com
  common-password: 123456

# список серверов, как правило, использует значения переменных
# из блока выше и в правке не нуждается
servers:
  oz-api:
    - $api1
    - $api2
  oz-api-balancer: $balancer
  oz-webui:
    - $api1
    - $api2
  oz-webui-balancer:
  oz-webadapter:
    - $api1
    - $api2
  oz-webadapter-balancer: $balancer
  oz-bio:
    - $bio1
    - $bio2
  oz-bio-balancer: $balancer
  oz-text: $text1
  # если в этой строке ничего не указано, при генерации конфигурации API
  # будет использоваться хост сервиса докера, где развернута база данных
  oz-db:

# блок настроек
settings:
  # персональный лицензионный ключ
  license-key: "123456-123456-123456-123456-123456-123456"
  # локальный путь для хранения настроек на каждом сервере
  working-directory: /opt/oz

  # настройки докера
  docker-daemon:
    # подсеть для запуска контейнеров через docker
    bip: 192.168.0.1/24
    # подсети для запуска контейнеров через docker-compose
    default-address-pools:
      - base: 192.168.1.0/24
        size: 24

  # блок настроек Oz API
  oz-api:
    install: yes  # устанавливать ли компоненту
    install-statistic: no # устанавливать ли модуль статистики
    balancer: yes # устанавливать ли балансировщик
    # доменное имя для внешнего доступа к компоненте 
    domain_name:
    # SSL сертификат и ключ для HTTPS-доступа (опционально)
    domain_cert:
    domain_key:
    # путь для сохранения персональных медиа файлов
    media_path:
    # логин/пароль админской учётки на Oz API
    admin:
      login: $common-login
      password: $common-password
    # описание конфигурации смотрите в разделе знаний Oz API
    config:
    # сетевой порт доступа к компоненте 
    # (используется, если не указан SSL-сертификат, иначе 443)
    port: 80

  # блок настроек Oz Liveness Web Adapter
  # описание настроек, подобных Oz API, см. выше
  oz-webadapter:
    install: yes
    balancer: yes
    domain_name:
    domain_cert:
    domain_key:
    # адрес http ресурса для автоматической пересылки
    # при попытке зайти по /
    redirect_url:
    config:
    port: 88

  # блок настроек Oz WebUI
  # описание настроек, подобных Oz API, см. выше
  oz-webui:
    install: yes
    balancer: yes
    domain_name:
    domain_cert:
    domain_key:
    # Логин/пароль технической учетной записи для настроек синхронизации
    admin:
      login: admin
      password: admin
    config:
    port: 80

  # Блок настроек базы данных для Oz API
  oz-db:
    # устанавливать ли Postgres вместе с установкой Oz API
    # если выбрано no, то используется внешняя служба Pоstgres
    # в обоих случаях адрес сервера берется из блока servers -> oz-db
    install: yes
    # master - пароль Postgres, если выбрана его установка
    psql_password: CHANGEME
    # имя создаваемой базы данных
    database: gateway
    # имя пользователя и пароль базы данных
    user_name: gateway_user
    user_password: CHANGEUSERPASS

  # Блок настроек компоненты Oz Bio (Liveness + Biometry)
  # описание настроек, подобных Oz API, см. выше
  oz-bio:
    install: yes
    balancer: yes
    # настройки и список моделей не предназначены для изменения
    # пользователем
    settings:
    models:

  # Блок настроек компоненты Oz Text
  oz-text:
    # устанавливать ли компоненту
    install: yes
    # прочие настройки менять не рекомендуется
    workers: 2
    group_check:
    auth:
      user_id:
      password:

Запуск

Вызовите командную строку с правами администратора. Перейдите в папку, куда вы до этого поместили разархивированный установщик (команда cd). Запустите процесс установки.

Для запуска на Windows:

oz-installer.cmd install [параметры]

Для запуска на Linux:

chmod +x oz-installer.sh
./oz-installer.sh install [параметры]

Список необязательных параметров:

  • filename – имя файла с настройками (по умолчанию 'settings.yml')

  • private_key – путь к приватному ssh-ключу (переопределяет соответствующую опцию настроек)

  • key_password – пароль к ssh-ключу, если не указан, система попросит ввести его в консоли

  • ssh_password – пароль ssh-пользователя

  • --debug – выводит и логирует подробную информацию выполнения

Пример использования:

install.cmd filename=settings.prod.yml key_password=psyco --debug

Для Linux необходимо поместить приватный ssh-ключ в папку с установщиком и указать в конфигурации путь к нему: /installer/priv_key

Устранение неисправностей

В процессе установки вся информация записывается в файл process.log. При возникновении нештатных ситуаций при установке прикрепляйте этот файл к обращению.

Если установка была прервана по нештатной ситуации, то после разрешения проблемы она, как правило, может быть продолжена. Если продолжение невозможно, будьте готовы к сбросу серверов в изначальное состояние. Вы можете определить неисправность самостоятельно, если добавите к команде запуска параметр: --debug. Вы также можете обратиться к нам для уточнения информации.

Как использовать putty ppk файл для подключения

Для этого необходимо сначала извлечь private-часть ключа, а затем указать путь к этому файлу в разделе auth -> ssh_private_key

Что делать при docker-compose: команда не найдена

Такая ошибка может происходить в том случае, когда программа docker-compose была установлена самостоятельно для запуска установщика и при этом был выбран путь по умолчанию: /usr/local/bin

Для корректной работы создайте символическую ссылку:

ln -s /usr/local/bin/docker-compose /usr/sbin/docker-compose

Last updated