К содержанию
Trialix
Начать
Все документы для ИТ

Установка Trialix Connector на Linux

Коннектор для Linux - статический исполняемый файл без зависимостей, пакеты deb и rpm для x86_64 и ARM64. Пакет ставит службу systemd trialix-connector. Как устроена безопасность коннектора, описано в разделе «Trialix Connector: архитектура и безопасность».

Поддерживаемые системы

СистемаПакет
Debian 12deb
Ubuntudeb
Astra Linux, в том числе в режиме замкнутой программной средыdeb
Rocky Linux 9rpm
RHEL, AlmaLinux, Oracle Linuxrpm
РЕД ОСrpm
Альт p11rpm (apt-rpm)

Нужен systemd. Машине нужны исходящий HTTPS (443) к api.trialix.ru и доступ к серверу каталога по порту 636 (LDAPS) или 389 (LDAP со StartTLS). Для шлюза - доступ к нужным внутренним системам.

Astra Linux в режиме замкнутой программной среды. Если на машине включена ЗПС, система запускает только файлы, подписанные доверенным ключом. Сборки коннектора подписаны ключом Trialix (Ed25519); для ЗПС подпишите файл коннектора ключом, которому доверяет ЗПС на вашей машине (обычно это делает служба ИБ), и установите пакет как обычно.

Шаг 1. Получите код подключения

  1. ЛК, «Каталоги», карточка «Добавить коннектор».
  2. Введите название и нажмите «Добавить коннектор».
  3. Скопируйте код XXXX-XXXX-XXXX. Код показывается один раз и действует час. Новый код - ссылка «Новый код подключения» в карточке коннектора.

Карточка «Добавить коннектор»: код подключения и команды установки

Шаг 2. Скачайте и проверьте пакет

VER=0.2.3
BASE=https://api.trialix.ru/v1/connector/download
# выберите свой пакет
curl -fLO $BASE/trialix-connector_${VER}_amd64.deb          # Debian, Ubuntu, Astra, x86_64
curl -fLO $BASE/trialix-connector_${VER}_arm64.deb          # то же, ARM64
curl -fLO $BASE/trialix-connector-${VER}-1.x86_64.rpm       # РЕД ОС, Альт, RHEL, Rocky, x86_64
curl -fLO $BASE/trialix-connector-${VER}-1.aarch64.rpm      # то же, ARM64
curl -fLO $BASE/SHA256SUMS
sha256sum --ignore-missing -c SHA256SUMS

Ожидаемый результат - OK у скачанного файла. Подпись самого SHA256SUMS проверяется командами из раздела «Обновления». Через прокси: curl -x http://proxy.company.local:3128 ….

Без пакета можно взять исполняемый файл trialix-connector-${VER}-linux-amd64 (или -linux-arm64), положить в /usr/bin/trialix-connector с правами 0755 и установить службу командой trialix-connector service install.

Шаг 3. Установите пакет

sudo apt install ./trialix-connector_${VER}_amd64.deb         # Debian, Ubuntu, Astra Linux
sudo dnf install ./trialix-connector-${VER}-1.x86_64.rpm      # РЕД ОС, RHEL, Rocky, AlmaLinux
sudo apt-get install ./trialix-connector-${VER}-1.x86_64.rpm  # Альт (apt-rpm)

Пакет кладёт:

ПутьЧто
/usr/bin/trialix-connectorисполняемый файл
/lib/systemd/system/trialix-connector.serviceслужба systemd
/etc/trialix-connector (0700)конфигурация и зашифрованные секреты
/var/log/trialix-connector (0750)журнал

Служба после установки не включается: сначала регистрация и настройка.

Шаг 4. Зарегистрируйте коннектор

sudo trialix-connector enroll XXXX-XXXX-XXXX --url https://api.trialix.ru
# через прокси
sudo trialix-connector enroll XXXX-XXXX-XXXX --url https://api.trialix.ru --proxy http://proxy.company.local:3128

Ответ при успехе: «Коннектор зарегистрирован в компании «…». Дальше: trialix-connector setup, затем trialix-connector service install.»

Шаг 5. Настройте подключение к каталогу

Мастер

sudo trialix-connector setup
ВопросПример ответа
Адрес Trialixhttps://api.trialix.ru
Прокси (http://proxy:3128, пусто - без прокси)пусто
Каталог: ad, samba, freeipa, openldap, customsamba
Адрес каталога (ldaps://dc.company.local:636)ldaps://dc1.company.local:636
StartTLS (да/нет)спрашивается только для ldap://
Файл сертификата CA (пусто - системные)/etc/ssl/certs/company-ca.pem
Базовый DN (DC=company,DC=local)DC=company,DC=local
Вход: simple или kerberossimple
Сервисная учётка (DN или user@domain)svc-trialix@company.local
Парольпароль сервисной учётной записи

Пароль при вводе в мастере виден на экране. На общем экране или при записи сеанса используйте настройку без вопросов.

После сохранения мастер сразу запускает проверку.

Без вопросов (Ansible, скрипт)

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

sudo -i
read -rs SVC_PW && export SVC_PW
trialix-connector setup --profile ad --url ldaps://dc1.company.local:636 \
  --base-dn DC=company,DC=local --bind-dn svc-trialix@company.local \
  --password-env SVC_PW --ca-file /etc/ssl/certs/company-ca.pem
unset SVC_PW

В Ansible передайте пароль из Vault через environment: задачи и имя переменной в --password-env.

ФлагЗначение
--profilead, samba, freeipa, openldap, custom
--urlldaps://host:636 или ldap://host:389
--starttlsStartTLS для ldap://
--ca-fileкорневой сертификат каталога, PEM
--base-dnбазовый DN
--user-base-dn, --group-base-dnотдельные ветки для сотрудников и групп
--bind-dnсервисная учётная запись (DN или user@domain)
--password-envимя переменной окружения с паролем
--kerberos, --keytab, --principalвход по Kerberos, см. ниже
--user-filter, --group-filterсвои LDAP-фильтры
--attr ключ=атрибутсвои атрибуты для профиля custom
--trialix-url, --proxyадрес Trialix и прокси
--insecureбез проверки сертификата каталога, только для тестовой среды

Каждый вызов setup с флагами меняет только названные параметры.

Шаг 6. Проверьте

sudo trialix-connector doctor
sudo trialix-connector preview          # сколько сотрудников и групп видно
sudo trialix-connector preview --json   # снимок в том виде, в каком он уходит в Trialix

Все строки doctor должны быть [ok]. Разбор строк [!!] - в разделе «Диагностика ошибок».

Шаг 7. Включите службу

sudo systemctl enable --now trialix-connector
systemctl status --no-pager trialix-connector

Команда sudo trialix-connector service install делает то же самое: записывает службу в /etc/systemd/system, включает и запускает её. Без пакета используйте именно её.

Служба работает от системного пользователя trialix-connector (без прав root, без домашнего каталога и оболочки; пакет и команда service install создают его сами) с ограничениями systemd (NoNewPrivileges, ProtectSystem=full, ProtectHome, PrivateTmp, CapabilityBoundingSet=, SystemCallFilter=@system-service), запись разрешена только в /etc/trialix-connector и /var/log/trialix-connector - их владелец этот пользователь. Регистрацию и настройку вы выполняете от root, при service install файлы переходят к пользователю службы. При сбое служба перезапускается через 10 секунд.

Через минуту в ЛК в карточке коннектора появится «в сети». Дальше - «Обновить список групп» и привязка групп к отделам, см. «Каталоги и Trialix Connector».

Kerberos по keytab

Вместо пароля коннектор может входить в каталог по keytab сервисной учётной записи. Пароль в конфигурации тогда не хранится.

  1. Выпустите keytab (команды для своего каталога - в разделах Samba AD, FreeIPA, Active Directory).
  2. Положите его в /etc/trialix-connector/svc.keytab с правами 0600, владелец trialix-connector (пользователь службы): chown trialix-connector:trialix-connector /etc/trialix-connector/svc.keytab.
  3. В /etc/krb5.conf должна быть описана область (realm) домена. Проверка: kinit -kt /etc/trialix-connector/svc.keytab svc-trialix@COMPANY.LOCAL.
  4. Настройте:
sudo trialix-connector setup --profile ad --url ldaps://dc1.company.local:636 --base-dn DC=company,DC=local \
  --kerberos --keytab /etc/trialix-connector/svc.keytab --principal svc-trialix@COMPANY.LOCAL

Principal указывается в виде имя@ОБЛАСТЬ. Адрес каталога - имя сервера (FQDN), не IP: коннектор запрашивает билет для ldap/<имя из адреса>. Часы машины должны совпадать с KDC (Kerberos допускает расхождение до 5 минут).

Шлюз к системам внутри сети

Шлюз нужен, когда Trialix должен читать данные из систем, доступных только из сети компании: внутреннего GitLab или вики, базы данных, общей папки. Как он устроен и что ограничивает, описано в разделе «Архитектура и безопасность». Каталог для шлюза настраивать не обязательно.

sudo trialix-connector gateway enable
# адреса, к которым шлюзу можно обращаться по HTTP
sudo trialix-connector gateway allow add gitlab.company.local
sudo trialix-connector gateway allow add 10.20.0.0/16:443
sudo trialix-connector gateway allow list
# базы и папки
sudo trialix-connector resource add crm-db --type postgres --schemas public
sudo trialix-connector resource add share --type folder --path /mnt/share
sudo trialix-connector resource list
sudo trialix-connector resource test crm-db
sudo trialix-connector gateway status

Служба подхватывает изменения сама, в течение 30 секунд, перезапускать её не нужно.

Разрешённые адреса

ЗаписьЧто разрешает
gitlab.company.localэто имя на любом порту
gitlab.company.local:8443это имя только на порту 8443
*.company.localвсе имена внутри company.local, но не само company.local
10.20.0.0/16любые адреса подсети; имя разрешено, если все его адреса внутри подсети
10.20.0.0/16:443адреса подсети только на порту 443
10.20.1.5один адрес

Если в адресе запроса порт не указан, берётся 80 для http:// и 443 для https://. Адрес проверяется при каждом подключении, в том числе после перенаправления. Запрос к адресу вне списка получает ответ «Адрес host:port не разрешён в настройках коннектора». Убрать запись: gateway allow remove <адрес>. Внутренний корневой сертификат для HTTPS указывается в config.json, поле gateway.caFile.

Базы данных

Строку подключения лучше не передавать флагом --dsn, чтобы она не попала в историю команд: без флага коннектор спросит её, не показывая на экране. Для скриптов есть --dsn-env ИМЯ_ПЕРЕМЕННОЙ.

ТипПример строки подключения
postgrespostgres://trialix_ro:пароль@db.company.local:5432/crm?sslmode=verify-full
mysql (и MariaDB)trialix_ro:пароль@tcp(db.company.local:3306)/crm?tls=true
mssqlsqlserver://trialix_ro:пароль@db.company.local:1433?database=crm
clickhousehttps://trialix_ro:пароль@ch.company.local:8443/?database=crm (HTTP-интерфейс)
  • Заведите для шлюза отдельную учётную запись только на чтение. Коннектор сам исполняет запросы в режиме чтения, но права учётки - главная защита.
  • --schemas a,b задаёт схему по умолчанию: в PostgreSQL это search_path, в MySQL и ClickHouse - первая схема из списка. Запрет на другие схемы задаётся правами учётки.
  • resource test подключается и выполняет select 1. Строка подключения в resource list не показывается.

Папки

Путь ресурса - полный путь на машине коннектора, например смонтированная сетевая папка /mnt/share. Служба работает с ProtectHome, поэтому папки внутри /home ей не видны: монтируйте общие папки в /mnt или /srv. Шлюз только читает: список файлов, свойства и содержимое файла.

trialix-connector doctor при включённом шлюзе проверяет каждый ресурс и показывает список разрешённых адресов.

Журнал и состояние

journalctl -u trialix-connector -n 100 --no-pager
tail -n 100 /var/log/trialix-connector/connector.log
sudo trialix-connector status      # JSON: online, последний пульс, последнее задание, последняя ошибка, состояние шлюза
sudo trialix-connector             # экран состояния в терминале

На экране состояния: 1 - мастер настройки, 2 - проверка соединений, 3 - предпросмотр каталога, 4 - журнал, q - выход.

Обновление

sudo trialix-connector update
sudo systemctl restart trialix-connector

Или скачайте новый пакет и установите его поверх старого той же командой, что в шаге 3. Настройки в /etc/trialix-connector сохраняются. Коннектор не устанавливает версию старше установленной: если сервер предложит более старую сборку, команда update откажется с сообщением «сервер предлагает более старую версию».

Удаление

sudo apt remove trialix-connector    # Debian, Ubuntu, Astra
sudo dnf remove trialix-connector    # РЕД ОС, RHEL, Rocky
sudo apt-get remove trialix-connector  # Альт
sudo rm -rf /etc/trialix-connector /var/log/trialix-connector

Перед удалением пакет останавливает и выключает службу. Затем удалите коннектор в ЛК («Удалить коннектор»), чтобы его токен перестал действовать.

Обновлено 24.10.2026