Архитектура сетевого взаимодействия компонентов продукта

На Рис. 1 представлена схема сетевого взаимодействия компонентов продукта.

osmax.schema.5.drawio
Рис. 1. Схема сетевого взаимодействия компонентов продукта

Матрица сетевого взаимодействия

Адрес источника Адрес назначения Порт источника Порт назначения Описание

Устройство пользователя (веб-браузер)

Обратный прокси Заказчика (ReverseProxy)

Любой

443/HTTPS

Доступ сотрудника организации к веб-интерфейсу «Магазин Приложений»

Устройство пользователя (системного администратора) (веб-браузер)

Обратный прокси Заказчика (ReverseProxy)

Любой

443/HTTPS

Доступ сотрудника организации к веб-интерфейсу «Кабинет Администратора»

Обратный прокси Заказчика (ReverseProxy)

Веб-сервер/балансировщик Осмакс (Nginx)

Любой

443/HTTPS

Доступ к API и веб-интерфейсу продукта

Веб-сервер/балансировщик Осмакс (Nginx)

Модуль osmax-provisioner

Любой

8082/HTTP(S)

Маршрутизация вызовов API к ресурсному сервису (управление установкой OC)

Веб-сервер/балансировщик Осмакс (Nginx)

Модуль osmax-core

Любой

8081/HTTP(S)

Маршрутизация вызовов API к ресурсному сервису (Ядро Осмакс)

Модуль osmax-provisioner

Обратный прокси (ReverseProxy)

Любой

443 [80]/HTTP(S)

Маршрутизация вызовов API к ресурсному сервису (Ядро Осмакс)

Модуль osmax-core

Обратный прокси (ReverseProxy)

Любой

443 [80]/HTTP(S)

Получение URL-ссылки для удаленного доступа к устройству сотрудника

Обратный прокси

(ReverseProxy)

Клиент шлюза удаленного доступа (osmax-ira-guacamole-client)

Любой

8080/HTTP(S)

Маршрутизация вызовов к модулю удаленного доступа

Клиент шлюза удаленного доступа (osmax-ira-guacamole-client)

Сервер шлюза удаленного доступа (osmax-ira-guacamole-server)

Любой

4822/guacamole protocol over TCP

Взаимодействие между клиентом и сервером модуля удаленного доступа (в рамках одной виртуальной машины)

Модуль osmax-core

Сервер базы данных

Любой

5432/TCP

Чтение и запись сущностей продукта в БД (инвентаризация, роли, конфигурации, формулы)

Модуль osmax-provisioner

Сервер базы данных

Любой

5432/TCP

Чтение и запись сущностей продукта в БД (профили загрузки, планы развертывания, файлы ответов, скрипты пост-установки)

Модуль osmax-core

Система управления контентом (S3-совместимое хранилище)

Любой

9000/TCP

Загрузка конфигураций, состояний, формул, pillar-файлов, медиаконтента (изображения, иконки, скриншоты ПО)

Модуль osmax-provisioner

Система управления контентом (S3-совместимое хранилище)

Любой

9000/TCP

Загрузка и выгрузка сформированных универсальных загрузочных образов для установки OC со съемного носителя

Модуль osmax-core

Брокер сообщений Kafka

Любой

9092/TCP[TLS]

Чтение событий о результате выполнения назначенных конфигураций, сообщения healthcheck, сообщения о присоединении агента (minion). Публикация заданий на переустановку OC

Модуль osmax-provisioner

Брокер сообщений Kafka

Любой

9092/TCP[TLS]

Чтение сообщений об устройствах, на которые необходимо поставить OC. Публикация результатов установки OC

Модуль osmax-core

LDAP-сервер

Любой

389[686]/LDAP(s)

Аутентификация, автоматическое обнаружение устройств, синхронизация данных пользователей

Сервер шлюза удаленного доступа (inno-ira-guacamole-server)

LDAP-сервер

Любой

389[686]/LDAP(s)

Аутентификация пользователей

Сервер шлюза удаленного доступа (inno-ira-guacamole-server)

Сервер базы данных

Любой

5432/TCP

Запись и чтение информации о сессиях удаленного доступа (схема данных может быть размещена на том же экземпляре сервера базы данных, что и схемы модулей osmax-core и osmax-provisioner, или на отдельном)

Сервер управления (master)

Система управления контентом (S3-совместимое хранилище)

Любой

9000/TCP

Чтение данных состояний, формул, pillar-файлов, пользовательских grains, модулей

Сервер управления (master)

Брокер сообщений Kafka

Любой

9092/TCP[TLS]

Публикация событий salt-events (поток событий для получения информации о результатах выполнения заданий и данные по устройствам)

Сервер управления (master)

Кеширующий сервер (Redis PaaS)

Любой

6379/TCP

Синхронизация закешированных данных между серверами управления (master).

Необходим, если используется более 2 серверов управления (master)

Сервер шлюза удаленного доступа (inno-ira-guacamole-server)

Сервер Tiger VNC на устройстве сотрудника

Любой

5900-5999/TCP

Подключение к сессии пользователя на устройстве по протоколу VNC

Сервер шлюза удаленного доступа (inno-ira-guacamole-server)

Сервер RDP

Любой

3989/TCP

Подключение к удаленному рабочему столу устройства по протоколу RDP

Сервер шлюза удаленного доступа (inno-ira-guacamole-server)

OpenSSH

Любой

22/TCP

Подключение к устройству сотрудника по протоколу SSH

Устройство сотрудника

AD

Любой

88/TCP

Аутентификация

Сервер управления (master)

Устройство пользователя с установленным OpenSSH

Любой

22/TCP

Установка агента (minion)

Устройство пользователя с установленным агентом (minion)

Сервер управления (master)

Любой

4505, 4506 zeromq over TCP

Обмен данными и командами между сервером управления (master) и агентами (minions), результаты выполнения команд, обмен ключами и другие операции

Модуль osmax-core

Сервер управления (master)

Любой

8000/HTTP

Вызов API сервера управления (master) (Аутентификация osmax-core, получение Salt-токена, отправка команд серверу управления)

Устройство пользователя

DHCP сервер

68/69 UDP

Получение динамического IP-адреса, получение дополнительных опций для установки OC по сети

Устройство пользователя

Repo/Artifactiory

Любой

80,443/TCP