Trialix Connector: архитектура и безопасность
Trialix Connector - служба, которая ставится в сети компании и передаёт в Trialix сотрудников и группы из каталога: Active Directory, Samba AD (в том числе РЕД АДМ и Альт Домен), FreeIPA (в том числе ALD Pro), OpenLDAP или произвольного LDAP. Коннектор только читает каталог и ничего в нём не меняет. Правила (кого создать, кого отключить, пороги, места лицензии) применяет Trialix, настройки живут в ЛК, раздел «Каталоги». Документ для службы ИБ: что передаётся, куда, как хранятся секреты и как проверяются обновления.
Схема работы
Каталог (AD, Samba, FreeIPA, OpenLDAP)
^ LDAPS 636 или LDAP 389 со StartTLS, только чтение
|
Trialix Connector (служба в сети компании)
| исходящий HTTPS 443, при необходимости через прокси
v
api.trialix.ru (Trialix)
Коннектор сам раз в минуту отправляет в Trialix пульс и в ответ получает настройки (расписание, привязанные группы) и задания: «обновить список групп», «предпросмотр», «синхронизация». Результат задания он отправляет обратно отдельным запросом. Trialix никогда не подключается к коннектору сам.
Куда ходит коннектор
| Направление | Адрес и порт | Зачем |
|---|---|---|
| Наружу | api.trialix.ru:443 (HTTPS) | регистрация, пульс, задания, результаты, проверка обновлений |
| Внутри сети | контроллер или сервер каталога, 636 (LDAPS) или 389 (LDAP со StartTLS) | чтение сотрудников и групп |
| Внутри сети | KDC, 88 | только при входе по Kerberos |
| Внутри сети | DNS | имена api.trialix.ru и сервера каталога |
- Входящих портов нет. Открывать что-либо из интернета к машине коннектора не нужно.
- Прокси: параметр
--proxy http://proxy.company.local:3128(приenrollи вsetup) или ответ на вопрос «Прокси» в мастере. Если прокси в настройках не задан, коннектор берёт системные переменныеHTTPS_PROXYиNO_PROXY. - Прокси с расшифровкой TLS (SSL-инспекция) должен пропускать
api.trialix.ruбез подмены сертификата или машина коннектора должна доверять корневому сертификату прокси. - Незашифрованное подключение к каталогу коннектор не выполняет: адрес
ldap://без StartTLS отклоняется с ошибкой. Минимальная версия TLS - 1.2.
Что передаётся
Только белый список атрибутов. Остальные атрибуты коннектор у каталога не запрашивает вовсе.
| Объект | Поля |
|---|---|
| Сотрудник | неизменяемый идентификатор (objectGUID, ipaUniqueID или entryUUID), SID (только AD и Samba), DN, логин, почта, имя, фамилия, должность, отдел, телефон, DN руководителя, список групп с учётом вложенности, признак «учётная запись отключена» |
| Группа | идентификатор, DN, название |
| Служебное | профиль каталога, базовый DN, время на машине коннектора, признак «ответ получен полностью», число страниц ответа |
Не передаются и не читаются: пароли, хеши паролей, сертификаты пользователей, фотографии, содержимое почты и файлов, произвольные атрибуты схемы.
Посмотреть снимок ровно в том виде, в каком он уходит в Trialix, можно на машине коннектора, ничего не отправляя:
sudo trialix-connector preview --json
На стороне Trialix снимок каждого прогона хранится вместе с отчётом (кого создать, обновить, отключить) и виден администраторам компании в ЛК, раздел «Каталоги», блок «Прогоны».
Где хранятся данные
Серверы Trialix находятся в Москве. База данных, файлы и журналы не покидают Россию. Снимки каталога и отчёты прогонов хранятся в базе Trialix вместе с остальными данными компании и доступны только администраторам этой компании.
Секреты на машине коннектора
Конфигурация лежит в одном файле config.json:
| ОС | Каталог | Права |
|---|---|---|
| Linux | /etc/trialix-connector | каталог 0700, файл 0600, владелец root |
| Windows | %ProgramData%\Trialix\Connector | наследуются от %ProgramData%; рекомендуем ограничить, см. установку на Windows |
В файле два секрета, оба в зашифрованном виде:
| Секрет | Linux | Windows |
|---|---|---|
| Токен коннектора | AES-256-GCM. Ключ - SHA-256 от случайного ключа машины (файл machine.key, 0600, создаётся при первом запуске) и /etc/machine-id | DPAPI в контексте машины (CryptProtectData с флагом LOCAL_MACHINE) |
| Пароль сервисной учётной записи каталога | то же | то же |
- Скопированный на другую машину
config.jsonне расшифруется: коннектор ответит «токен коннектора не расшифровывается на этой машине». - При входе по Kerberos пароль не хранится вовсе: на Linux используется keytab, на Windows - учётная запись, от имени которой работает служба (SSPI).
- В журнал коннектора пароль и токен не пишутся.
Регистрация коннектора
- Администратор компании в ЛК, раздел «Каталоги», вводит название и нажимает «Добавить коннектор».
- ЛК показывает одноразовый код подключения вида
XXXX-XXXX-XXXXи готовые команды для Linux и Windows. Код показывается один раз и действует час. В Trialix хранится только хеш кода. - На машине выполняется
trialix-connector enroll <код>. Коннектор обменивает код на токен и сохраняет токен в зашифрованном виде. Повторно тот же код не сработает. - Если код истёк или потерян, в карточке коннектора есть ссылка «Новый код подключения».

Перебор кодов ограничен: не больше 10 попыток регистрации в минуту с одного адреса, дальше ответ «Слишком много попыток, подождите минуту».
Токен и его перевыпуск
- Токен коннектора (
trxc_…) хранится в Trialix только в виде хеша SHA-256. - «Перевыпустить токен» в карточке коннектора: новый токен уходит коннектору с ближайшим пульсом. Коннектор сохраняет его и подтверждает отдельным запросом уже с новым токеном. До подтверждения работают оба токена, после подтверждения старый перестаёт действовать. Пока идёт замена, ссылка в карточке называется «Токен обновляется».
- Отозвать доступ сразу - «Удалить коннектор». Синхронизация останавливается, учётные записи сотрудников и отделы остаются. Для повторного подключения создайте коннектор заново.
- Регистрация, перевыпуск токена, изменение настроек и запуск заданий попадают в журнал ЛК.
Обновления
Автообновления нет. Обновление ставится только командой администратора:
sudo trialix-connector update # покажет версию и спросит «Обновить? [да/нет]»
sudo trialix-connector update --yes # без вопроса, для скриптов
Порядок проверки:
- Коннектор получает у Trialix номер версии, адрес файла, его SHA-256 и подпись.
- Проверяет подпись Ed25519 строки «версия и SHA-256» открытым ключом Trialix, который зашит в коннектор. Если подпись не совпала - «подпись сборки не совпадает - обновление отменено», файл даже не скачивается.
- Скачивает файл и сверяет его SHA-256. Не совпало - «контрольная сумма не совпадает - обновление отменено».
- Только после обеих проверок заменяет исполняемый файл. Службу после этого нужно перезапустить.
Для ручной проверки у каждого выпуска есть SHA256SUMS с контрольными суммами всех файлов и подпись SHA256SUMS.sig. Открытый ключ подписи Trialix:
-----BEGIN PUBLIC KEY-----
MCowBQYDK2VwAyEAniF78mdga9F0PFooZYsNCKDV22FhNCQffHq6UOhF5Pc=
-----END PUBLIC KEY-----
Проверка подписи (OpenSSL 3.0 и новее):
curl -fLO https://api.trialix.ru/v1/connector/download/SHA256SUMS
curl -fLO https://api.trialix.ru/v1/connector/download/SHA256SUMS.sig
cat > trialix-release.pub <<'KEY'
-----BEGIN PUBLIC KEY-----
MCowBQYDK2VwAyEAniF78mdga9F0PFooZYsNCKDV22FhNCQffHq6UOhF5Pc=
-----END PUBLIC KEY-----
KEY
base64 -d SHA256SUMS.sig > SHA256SUMS.sig.bin
openssl pkeyutl -verify -pubin -inkey trialix-release.pub -rawin -in SHA256SUMS -sigfile SHA256SUMS.sig.bin
# Signature Verified Successfully
Права коннектора в Trialix
Токен коннектора годится только для протокола коннектора (/v1/connector/…): пульс, результаты заданий, проверка обновлений. Он не даёт доступа к чатам, моделям, API компании и данным сотрудников. Задания коннектор получает только своей компании.
Журнал на машине
| ОС | Где |
|---|---|
| Linux | journalctl -u trialix-connector и файл /var/log/trialix-connector/connector.log |
| Windows | журнал «Приложение», источник TrialixConnector, и файл %ProgramData%\Trialix\Connector\connector.log |
Экран состояния в терминале: команда trialix-connector без параметров. Там связь с Trialix, последний пульс, расписание, последнее задание и последние 200 строк журнала.
Обновлено 29.09.2026