BURSU PAM
Полное руководство по шлюзу привилегированного доступа BURSU PAM 1.0.0: установка, настройка, работа администратора, согласующего, аудитора и пользователя, неисправности. BURSUsofts.
Что такое BURSU PAM
BURSU PAM — шлюз привилегированного доступа (PAM, Privileged Access Management) от BURSUsofts. Это сервер, который встаёт между администраторами и серверами, которыми они управляют. Человек подключается не к целевому серверу, а к шлюзу; шлюз сам входит на целевой сервер с паролем или ключом, которого человек не видит и не знает, записывает всё, что происходит в сессии, позволяет аудитору смотреть сессию вживую и прервать её, а каждое действие заносит в журнал аудита, защищённый от незаметной правки.
Что умеет шлюз
| Возможность | Что это значит для вас |
|---|---|
| Подстановка паролей | Пароли и SSH-ключи целевых серверов хранятся на шлюзе в зашифрованном виде. Шлюз входит на сервер сам; пользователь пароля не видит, не может его скопировать и унести. Посмотреть сохранённый пароль нельзя даже администратору — его можно только заменить. |
| Проксирование и запись сессий | SSH (терминал, SFTP, SCP), RDP (рабочий стол Windows), VNC (рабочие столы Linux и macOS), Telnet (сетевое оборудование) и базы данных PostgreSQL, MySQL/MariaDB и Microsoft SQL Server. Терминальные сессии записываются как текст с поиском по набранному, графические — как видео с перемоткой и экспортом в MP4, сессии баз данных — как список выполненных запросов. |
| Правила доступа | Кто, к какому серверу, под какой учётной записью, когда и с какими правами (терминал, передача файлов, буфер обмена) может подключаться. Когда правило истекает или удаляется, идущая сессия прерывается. |
| Запросы доступа и согласования | Пользователь просит доступ на время, согласующий (Approver) одобряет или отклоняет. Аварийный доступ (break-glass) — с обязательным последующим разбором. |
| Контроль команд | Опасные команды в SSH-сессии можно запретить или отдавать на подтверждение согласующему прямо во время сессии. |
| Аудит | Журнал всех событий, связанный цепочкой хешей (любая правка или удаление записи обнаруживается проверкой целостности), журнал входов, отправка событий в вашу SIEM по syslog (CEF, LEEF, JSON). |
| Вход в консоль | Пароль плюс одноразовый код из приложения-аутентификатора (TOTP), коды восстановления; вход учётными записями Active Directory / LDAP и по Kerberos. |
| Клиент BURSU Connection Manager | Настольный клиент BURSUcm (Windows; Linux и macOS) подключается к шлюзу как к четвёртому режиму хранения PAM Gateway: пользователь видит только разрешённые ему серверы и подключается к ним двойным щелчком. Подходят и обычные программы: OpenSSH, PuTTY, WinSCP, mstsc, VNC-просмотрщики, psql, mysql, sqlcmd. |
| Лицензирование | Пробная лицензия на 7 дней, затем платная по числу активных серверов. Активация работает и без интернета — через код запроса. |
Кто работает со шлюзом
В консоли четыре роли. Подробно они разобраны в главе «Роли»; здесь — чтобы понимать, для кого какая глава.
| Роль | Кто это | Главы |
|---|---|---|
| Administrator | Ставит и настраивает шлюз: серверы, учётные записи, пользователей, правила, настройки, лицензию. | Установка, Консоль, Ресурсы |
| Approver | Согласующий: одобряет запросы доступа и подтверждает команды. | Согласования, Роль Approver |
| Auditor | Смотрит сессии и записи, журналы, проверяет целостность, разбирает аварийный доступ. | Аудит, Роль Auditor |
| User | Обычный пользователь: подключается к разрешённым серверам и просит доступ. | Пользователю, Запросы доступа |
Если вы ставите шлюз впервые, пройдите «Быстрый старт» от начала до конца — он доводит пустой сервер Ubuntu до первой записанной сессии и на каждом шаге ссылается на подробную главу. Надписи интерфейса в тексте даны по-английски, как на снимках экрана; консоль можно переключить на русский язык (соответствие пунктов меню — в главе «Знакомство с консолью»).
Как устроен шлюз
Шлюз — один процесс .NET 10 (служба bursu-pam-gateway) на вашем сервере, рядом с базой PostgreSQL. Он принимает подключения людей на своих портах, проверяет, разрешено ли подключение, сам открывает соединение с целевым сервером и пропускает сессию через себя, записывая её.
Пользователь Шлюз BURSU PAM Целевые серверы
─────────────── ────────────────────────────────────────────── ────────────────
BURSUcm (PAM Gateway) ─HTTPS─► веб-консоль и API клиентов (порт 443)
─SSH───► SSH-вход (порт 2222) ─── SSH ──────► Linux, Unix
OpenSSH, PuTTY, WinSCP ──────► │ ─── Telnet ───► сетевое оборудование
mstsc, файл .rdp ────────────► RDP-вход (порт 3389) ─── RDP ──────► Windows
VNC-просмотрщик ─────────────► VNC-вход (порт 5900) ─── VNC ──────► Linux, macOS
psql / mysql / sqlcmd ───────► входы баз данных (15432 / 13306 / 11433) ─────────────► СУБД
│
правила · секреты · запись · живой просмотр · аудит
│
PostgreSQL (каталог, журнал) /var/lib/bursu-pam (ключи, записи) SIEM (syslog)
Путь одной сессии
- Вход. Пользователь подключается к шлюзу: из BURSUcm — после входа в консоль паролем и кодом TOTP клиент получает одноразовый билет (ticket) на одно подключение; из обычного SSH-клиента — именем вида
логин:сервер, паролем и кодом TOTP. - Проверка правила. Шлюз проверяет, есть ли действующее правило доступа (или одобренный запрос) для этого человека, сервера и учётной записи, и что разрешено в сессии: терминал, файлы, буфер обмена.
- Вход на цель. Шлюз расшифровывает секрет учётной записи и входит на целевой сервер сам. Для SSH он сверяет ключ хоста цели с подтверждённым администратором, для RDP и VNC — сертификат.
- Запись и наблюдение. Всё, что проходит через сессию, записывается; аудитор видит сессию вживую и может её прервать. Команды проверяются политиками контроля команд.
- Конец. Сессия заканчивается, когда пользователь выходит, истекает время простоя, кончается правило или аудитор прерывает её. Запись закрывается и подписывается, события попадают в журнал аудита и в SIEM.
Секреты и ключ шифрования
Пароли и ключи целевых серверов хранятся в базе в зашифрованном виде. Их шифрует мастер-ключ шлюза, который лежит в каталоге ключей /var/lib/bursu-pam/keys, а не в базе. Поэтому копия базы без каталога ключей бесполезна — ни один секрет и ни одна запись из неё не читаются. Мастер-ключ защищается одним из двух способов, который выбирается в мастере первоначальной настройки:
- Protected by the operating system (рекомендуется) — ключ лежит в файле, который может прочитать только служба шлюза; после перезагрузки шлюз запускается сам.
- Sealed with a passphrase — после каждого перезапуска службы администратор вводит парольную фразу на странице
/unseal; пока шлюз «запечатан», он не работает. См. «Запечатанный режим».
На случай потери ключа или забытой фразы мастер один раз показывает ключ восстановления. Его нужно распечатать и хранить офлайн, в сейфе, — не на сервере шлюза.
Журнал аудита и записи
Каждое событие (вход, изменение настройки, начало и конец сессии, команда, передача файла…) записывается в журнал аудита. Записи связаны в цепочку хешей: каждая содержит хеш предыдущей, а шлюз регулярно ставит контрольные точки. Если кто-то изменит или удалит строку прямо в базе, проверка целостности это покажет. Записи сессий хранятся в каталоге /var/lib/bursu-pam/recordings вместе с подписанными описаниями (манифестами) и хешами.
Изоляция графических сессий
Каждая сессия RDP и VNC и каждая задача отрисовки записи (живой просмотр, плеер, экспорт MP4) выполняется в отдельном процессе-«работнике» с жёсткими ограничениями ядра Linux: своя контрольная группа (cgroup v2) с лимитами памяти, процессов и процессора, Landlock (запрет доступа к файлам) и seccomp (фильтр системных вызовов). Поэтому шлюзу нужны эти возможности ядра — см. «Требования». SSH-сессии и веб-консоль от них не зависят.
Шлюз защищает доступ, пока к целевым серверам нельзя подключиться напрямую. Настройте на целевых серверах (или на сетевом экране между сегментами) правило: SSH, RDP, VNC, Telnet и порты СУБД принимаются только с адреса шлюза. Без этого человек, узнавший пароль другим путём, подключится мимо шлюза, и такая сессия не будет записана.
Требования
Сервер шлюза
| Что | Требование |
|---|---|
| Операционная система | Ubuntu 24.04 LTS, amd64 (ядро GA или HWE). Пакет — один файл bursu-pam_1.0.0_amd64.deb; среда .NET входит в пакет, ставить её отдельно не нужно. |
| Память | Не меньше 4 ГиБ: задачам отрисовки записей по умолчанию отводится до 2 ГиБ (renderMemoryBudgetMb), остальное — шлюзу, PostgreSQL и сессиям. Каждая идущая сессия RDP или VNC может занять до 512 МиБ и до одного ядра процессора — учитывайте это, когда рассчитываете сервер под число одновременных графических сессий. На машине меньше 4 ГиБ уменьшите renderMemoryBudgetMb (минимум 1024), см. gateway.json. |
| Диск | Не меньше 5 ГиБ свободного места в /var/lib/bursu-pam — с меньшим проверка bursu-pam-check предупреждает. Записи графических сессий занимают много места: планируйте диск по числу сессий и сроку хранения записей. Для резервных копий базы перед обновлением нужен запас в /var/backups/bursu-pam — вдвое больше размера базы. |
| Ядро Linux | Смонтированная иерархия cgroup v2 с контроллерами memory, pids и cpu; учёт подкачки по cgroup (memory.swap.max) или отсутствие подкачки; Landlock в списке активных модулей безопасности; seccomp. Стандартное ядро Ubuntu 24.04 всё это даёт. Без Landlock и cgroup v2 не запустятся сессии RDP и VNC (SSH и консоль работают). Проверяется командой sudo bursu-pam-check. |
| Идентификатор машины | Файл /etc/machine-id не пустой — лицензия привязывается к нему. |
| Время | Синхронизация времени (systemd-timesyncd или chrony). Точное время нужно для кодов TOTP, Kerberos, журнала аудита и лицензии. |
| Имя хоста | Для входа по Kerberos — полное доменное имя (FQDN), например pam.example.org. |
| Права | Установка — от root (sudo). Сам шлюз работает под системной учётной записью bursu-pam, никогда от root. |
База данных
Нужен PostgreSQL 15 или новее. Проще всего — локальный PostgreSQL 16 из архива Ubuntu: пакет подтянет его сам и создаст базу bursu_pam и роль bursu-pam, которая входит через Unix-сокет без пароля (peer-аутентификация). Можно использовать и внешний сервер PostgreSQL — тогда на шлюзе нужен только клиент PostgreSQL, и поставить его надо до пакета (иначе apt сам подтянет полный сервер PostgreSQL), а строка подключения передаётся отдельно (см. «База на другом сервере»).
Порты
| Порт по умолчанию | Для чего | Кто подключается |
|---|---|---|
443/tcp | Веб-консоль и API клиентов (HTTPS) | Все пользователи консоли и клиенты BURSUcm |
2222/tcp | SSH-вход шлюза (также SFTP, SCP и Telnet-устройства) | Все, кто подключается к SSH- и Telnet-серверам |
3389/tcp | RDP-вход (если включён) | Пользователи Windows-серверов |
5900/tcp | VNC-вход (если включён) | Пользователи VNC-серверов |
15432/tcp, 13306/tcp, 11433/tcp | Входы PostgreSQL, MySQL/MariaDB, SQL Server (если включены) | Пользователи баз данных |
Порт 22 остаётся у собственного SSH-сервера машины (для её администрирования), порт 5432 — у собственного PostgreSQL. Номера можно поменять командой bursu-pam-configure. Пакет не трогает сетевой экран — порты открываете вы, см. «Сеть и брандмауэр».
Исходящие соединения шлюза: к целевым серверам (их порты SSH, RDP, VNC, Telnet, СУБД), к контроллерам домена (LDAPS и Kerberos, если используется вход из каталога), к SMTP-серверу и адресам веб-хуков (уведомления), к приёмнику SIEM, и — только если вы сами нажмёте кнопку онлайн-активации или включите ежедневную проверку — к https://bursucm.com (см. «Лицензия»). Без интернета шлюз работает полностью; лицензия активируется кодом запроса.
Сертификат
Без настройки шлюз сам создаёт самоподписанный сертификат (ECDSA P-256, на два года), и браузер при первом входе предупредит о нём — это ожидаемо. Для работы в организации лучше выпустить сертификат вашим удостоверяющим центром на имя шлюза (например pam.example.org) — см. «Сертификат шлюза». Если включён VNC, имя, по которому клиенты обращаются к шлюзу, обязано быть в сертификате.
Рабочие места пользователей
- Браузер — любой современный, для консоли. Консоль работает и без JavaScript.
- Приложение-аутентификатор на телефоне для кодов TOTP (6 цифр, 30 секунд, SHA-1): Google Authenticator, Microsoft Authenticator, FreeOTP, Aegis и подобные.
- BURSU Connection Manager (по желанию) — Windows или Linux/macOS, режим PAM Gateway. Либо обычные клиенты: OpenSSH, PuTTY, WinSCP, FileZilla, mstsc, VNC-просмотрщик, psql, mysql, sqlcmd.
Быстрый старт: от пустого Ubuntu до первой записанной сессии
Этот путь проходится примерно за полчаса. Нужен сервер Ubuntu 24.04 (amd64) с постоянным адресом, доступ к нему по SSH с правами sudo и интернет-доступ к архиву пакетов Ubuntu (пакет подтягивает PostgreSQL и библиотеки). В примерах адрес шлюза — 192.0.2.10; подставьте свой.
- Подготовьте сервер. Обновите систему (
sudo apt update && sudo apt upgrade), проверьте время (timedatectl— строка System clock synchronized: yes) и, если будет вход по Kerberos, задайте полное имя хоста (sudo hostnamectl set-hostname pam.example.org). - Скопируйте пакет и проверьте его подлинность. Скопируйте на сервер всю папку выпуска, которую вы получили от BURSUsofts (в ней
.deb,SHA256SUMS,SHA256SUMS.ascи ключbursu-pam-release.gpg), и в этой папке выполните проверку из раздела «Проверка пакета». - Установите пакет одной командой.
Пакет создаст учётную записьsudo apt install ./bursu-pam_1.0.0_amd64.debbursu-pam, каталоги, базуbursu_pamи файл/etc/bursu-pam/gateway.json, а затем сам задаст несколько вопросов про адрес и порты. Нажимайте Enter на каждом вопросе — значения по умолчанию дают рабочий шлюз на одном сервере, — и в конце ответьте y на Apply?. Подробно — «Порты и протоколы». - Запишите адрес и код настройки. Последние строки установки выглядят так:
Код одноразовый; если потеряли —Open in a browser: https://192.0.2.10/setup Setup code: XXXX-XXXX-XXXXsudo cat /var/lib/bursu-pam/setup-code. - Откройте порты. Если на сервере включён ufw, установщик напечатал готовые команды
sudo ufw allow …/tcp— выполните их. Если между пользователями и шлюзом есть другой сетевой экран — откройте те же порты там. См. «Сеть и брандмауэр». - Пройдите мастер первоначальной настройки. Откройте
https://192.0.2.10/setupв браузере, согласитесь продолжить несмотря на предупреждение о самоподписанном сертификате и пройдите 7 шагов: код настройки → язык → режим ключа → ключ восстановления (распечатайте его) → первый администратор → TOTP и коды восстановления → готово. Подробно — «Первоначальная настройка». - Войдите и включите лицензию. Нажмите Go to sign-in, войдите паролем и кодом из приложения, откройте Settings → Licence. Есть интернет — Start the 7-day trial online → Send this one call. Нет — Start the 7-day trial в блоке Request codes (offline), затем код вводится на bursucm.com с любого компьютера. Пока лицензии нет, шлюз не пропускает ни одной сессии и не даёт ничего менять. Подробно — «Лицензия».
- Добавьте сервер. Servers → Create server: имя, протокол SSH, адрес и порт. На карточке сервера подтвердите ключ хоста. Подробно — «Серверы».
- Добавьте учётную запись сервера. На карточке сервера, вкладка учётных записей (или Accounts → Add account): логин на целевом сервере и его пароль или SSH-ключ. Шлюз сохранит секрет зашифрованным; показать его потом нельзя. См. «Учётные записи и секреты».
- Создайте пользователя. Users → Create user: логин, имя, роль User, временный пароль. При первом входе он сменит пароль и привяжет TOTP. См. «Пользователи».
- Создайте правило доступа. Access rules → Create rule: кто (пользователь или группа), к чему (сервер и учётная запись), что разрешено (терминал, файлы). См. «Правила доступа».
- Подключитесь. Из BURSUcm: режим хранения PAM Gateway, адрес шлюза, вход пользователя — сервер появится в каталоге, двойной щелчок открывает сессию (подробно). Или из любого терминала:
гдеssh -p 2222 ivanov:web01@192.0.2.10ivanov— логин пользователя шлюза,web01— имя сервера в консоли; шлюз спросит пароль пользователя и код TOTP (подробно). - Посмотрите запись. Войдите в консоль администратором: Sessions показывает идущую сессию (её можно смотреть вживую и прервать), а после выхода — запись с поиском по набранному тексту. См. «Сессии и записи».
Закройте целевым серверам доступ со всех адресов, кроме шлюза; настройте резервное копирование (база + /var/lib/bursu-pam + ключ восстановления в сейфе); при необходимости подключите Active Directory, SIEM, уведомления и купите лицензию до конца пробного периода.
Установка пакета
Проверка пакета
Выпуск поставляется папкой, а не одним файлом. В ней лежат: пакет bursu-pam_1.0.0_amd64.deb, inputs.manifest (из чего собран пакет), lintian.txt (отчёт проверки пакета), отчёт тестов suite-report.<коммит>.txt, список контрольных сумм SHA256SUMS, его подпись SHA256SUMS.asc и открытый ключ BURSUsofts bursu-pam-release.gpg. Скопируйте на сервер всю папку и в ней выполните:
gpg --show-keys --with-colons bursu-pam-release.gpg | grep '^fpr'
gpgv --keyring ./bursu-pam-release.gpg SHA256SUMS.asc SHA256SUMS && sha256sum -c SHA256SUMS
- Первая команда печатает отпечаток ключа. Сверьте его с отпечатком, который BURSUsofts сообщила вам по другому каналу (письмом, по телефону), — а не с тем, что лежит рядом с пакетом:
gpgvдоверяет любому ключу из переданного ему файла. - Вторая команда должна закончиться без ошибок:
gpgvпишет Good signature, аsha256sum -c— OK у каждого из четырёх файлов. BAD signature означает, что список сумм подменён; FAILED у файла — что подменён или повреждён сам файл. В обоих случаях не устанавливайте пакет и свяжитесь с поставщиком. - Если вы скопировали только
.deb,sha256sum -cсообщит о трёх отсутствующих файлах — это не повреждение, а неполная папка.
Установка
sudo apt install ./bursu-pam_1.0.0_amd64.deb
Обязательно с ./ перед именем файла — иначе apt будет искать пакет в репозиториях. apt сам доставит зависимости из архива Ubuntu: PostgreSQL 16, библиотеки Kerberos (libgssapi-krb5-2), ICU, OpenSSL, jq и другие.
Что делает пакет
После распаковки файлов пакет запускает программу bursu-pam-setup (её можно запускать и повторно — второй запуск ничего не меняет). По порядку:
- Учётная запись. Создаёт локальную системную учётную запись
bursu-pam: без пароля, без оболочки входа, со своей группой, в которой никого больше нет, и без дополнительных групп. Если учётная запись с таким именем уже есть, но не соответствует этим требованиям (например, состоит в группеdockerили имеет оболочку), установка останавливается и называет команду, которой это исправить. - Каталоги.
/etc/bursu-pam(root:bursu-pam, 0750),/var/lib/bursu-pam(bursu-pam, 0700),/var/backups/bursu-pam(root, 0700). Содержимое существующих каталогов не трогает никогда. - База данных. На первом работающем локальном кластере PostgreSQL версии 15+ создаёт роль
bursu-pam(только LOGIN, без пароля и без особых прав) и базуbursu_pam, которой владеет эта роль и к которой больше никто не имеет доступа. Файлыpg_hba.confиpostgresql.confне меняет. - Проверка входа. Убеждается, что роль входит в свою базу через Unix-сокет по peer-аутентификации — без пароля.
- Конфигурация. Пишет
/etc/bursu-pam/gateway.json(root:bursu-pam, 0640) — только если его ещё нет. Существующий файл никогда не перезаписывается; если пакет предложил бы другое содержимое, оно кладётся рядом вgateway.json.proposed.
Затем пакет запускает проверку bursu-pam-check --quiet (печатает только предупреждения и ошибки, установку не прерывает), включает службу bursu-pam-gateway и — при новой установке в терминале — задаёт вопросы про порты (следующая глава), после чего запускает шлюз.
При первом запуске шлюз сам создаёт в базе свои таблицы, в каталоге данных — самоподписанный сертификат и файл с одноразовым кодом настройки /var/lib/bursu-pam/setup-code.
Что и где лежит
| Путь | Что там |
|---|---|
/opt/bursu-pam/ | Сам шлюз (вместе со средой .NET). Принадлежит root, служба писать туда не может. |
/opt/bursu-pam/workers/ | Работники сессий: RdpWorker, bursu-pam-vnc-launch, bursu-pam-vnc. |
/etc/bursu-pam/gateway.json | Конфигурация (адреса, порты, база). Не входит в пакет и не перезаписывается при обновлении. См. справочник. |
/var/lib/bursu-pam/ | Единственное место, куда пишет служба: keys/ (мастер-ключ), recordings/ (записи сессий), журнал, состояние лицензии licence-state.json, сертификат gateway.pfx, код настройки setup-code. |
/var/backups/bursu-pam/ | Резервные копии базы, которые пакет делает перед каждым обновлением (хранятся две последние). |
/usr/sbin/bursu-pam-setup, bursu-pam-configure, bursu-pam-check | Подготовка хоста, вопросы про порты, проверка хоста. |
/usr/lib/systemd/system/bursu-pam-gateway.service | Служба systemd. |
/usr/share/doc/bursu-pam/ | Краткая справка README.Debian, пример gateway.json.example с комментариями, лицензии сторонних компонентов, список файлов сборки. |
/run/bursu-pam/ | Временные файлы Kerberos (в памяти, исчезают при остановке службы). |
Пакет не содержит ни паролей, ни ключей, ни сертификатов, ни лицензии.
Как выглядит установка в терминале
Пример вывода новой установки на сервере с адресом 192.0.2.10 (собран по текстам установочных скриптов; строки самого apt сокращены). Ваши строки могут немного отличаться — например, набором предупреждений проверки.
$ sudo apt install ./bursu-pam_1.0.0_amd64.deb
…
Setting up bursu-pam (1.0.0) ...
bursu-pam-setup: account bursu-pam: created (system account, no login shell, no password)
bursu-pam-setup: /etc/bursu-pam: created root:bursu-pam 0750
bursu-pam-setup: /var/lib/bursu-pam: created bursu-pam:bursu-pam 0700
bursu-pam-setup: /var/backups/bursu-pam: created root:root 0700
bursu-pam-setup: PostgreSQL 16/main: role bursu-pam created (LOGIN only, no password)
bursu-pam-setup: PostgreSQL 16/main: database bursu_pam created, owned by bursu-pam, closed to PUBLIC
bursu-pam-setup: peer authentication of bursu-pam over /var/run/postgresql: ok
bursu-pam-setup: /etc/bursu-pam/gateway.json: written (root:bursu-pam 0640)
WARN hostname: the host name pam is not fully qualified; Kerberos needs the FQDN (…)
bursu-pam postinst: a few questions follow (Enter takes the default; Ctrl+C keeps the defaults; later: sudo bursu-pam-configure)
BURSU PAM gateway - listeners and ports
Press Enter to take the value in [brackets]. Nothing changes until you confirm at the end.
… (вопросы — см. следующую главу)
Open in a browser: https://192.0.2.10/setup
Setup code: XXXX-XXXX-XXXX
(lost it? sudo cat /var/lib/bursu-pam/setup-code)
(the browser will warn about the self-signed certificate - expected; continue)
apt сохраняет всё, что печатает установщик, в /var/log/apt/term.log (читают root и группа adm). Код настройки лежит там, пока вы не завершите мастер /setup; после этого шлюз удаляет код, и строка в журнале ничего не стоит. Поэтому пройдите мастер сразу после установки.
Установка без вопросов
Вопросы задаются, только если это новая установка, вывод идёт в терминал, systemd работает, и не задано ни DEBIAN_FRONTEND=noninteractive, ни BPAM_NO_WIZARD=1. В остальных случаях (автоматизированная установка, обновление) шлюз запускается с портами по умолчанию (консоль 443, SSH 2222; RDP, VNC и входы баз данных выключены), а вместо кода печатается только команда, которая его покажет:
sudo DEBIAN_FRONTEND=noninteractive apt install -y ./bursu-pam_1.0.0_amd64.deb
sudo bursu-pam-configure --next-steps # адрес для браузера и код настройки
Порты можно задать позже той же командой sudo bursu-pam-configure.
База на другом сервере
Если база будет на отдельном сервере PostgreSQL (версии 15+), создайте там роль и базу сами (владелец базы — эта роль; лишних прав роли не давайте) и передайте шлюзу строку подключения Npgsql.
Пакет зависит от «PostgreSQL 15+ или клиента PostgreSQL 15+», и apt выбирает первый вариант: если на шлюзе нет клиента, он поставит полный сервер PostgreSQL, создаст на нём локальную базу и запишет gateway.json с ней — шлюз заработает на локальной базе, а позднее переданная строка подключения будет только записана рядом как gateway.json.proposed. Поэтому на шлюзе сначала выполните sudo apt install postgresql-client и только после этого ставьте пакет: он напишет provisioned except the database, не создаст gateway.json и не запустит шлюз. Если пакет уже поставлен с локальной базой, а нужна внешняя, исправьте connectionString в /etc/bursu-pam/gateway.json вручную; данные локальной базы при этом сами не переносятся.
Строку с паролем передавайте только через стандартный ввод, чтобы она не попала в список процессов. Перенаправление < выполняет ваша оболочка, а не sudo, поэтому файл со строкой должен быть доступен вам самому: положите его в свой домашний каталог с правами только для вас.
(umask 077; nano ~/pam-connstring.txt) # одна строка, см. ниже
sudo bursu-pam-setup --connection-string - < ~/pam-connstring.txt
rm ~/pam-connstring.txt
sudo systemctl enable --now bursu-pam-gateway
sudo bursu-pam-configure
В файле — одна строка, например:
Host=db.example.org;Port=5432;Database=bursu_pam;Username=bursu_pam;Password=…;SSL Mode=VerifyFull
Файл удаляйте сразу после записи конфигурации (вторая команда). Помните: в этом случае пароль базы хранится в gateway.json (файл читают только root и служба), а пакет не делает автоматическую копию базы перед обновлением — копию делаете вы на сервере базы.
Если при установке на хосте не оказалось работающего PostgreSQL (или не нашлось клиента), пакет сообщит provisioned except the database и не запустит шлюз — после исправления выполните sudo bursu-pam-setup ещё раз и sudo systemctl enable --now bursu-pam-gateway.
Порты и протоколы: bursu-pam-configure
bursu-pam-configure — короткий мастер в терминале, который задаёт адрес шлюза и порты. При новой установке его вызывает сам пакет; позже его можно запускать сколько угодно раз:
sudo bursu-pam-configure # вопросы; Enter — значение в [скобках]
sudo bursu-pam-configure --next-steps # только: куда идти в браузере и код настройки
До ответа y на последний вопрос ничего не меняется. При повторном запуске значениями по умолчанию становятся текущие настройки.
Вопросы
| Вопрос | По умолчанию | Что ответить |
|---|---|---|
| 1. Address — адрес, по которому люди и программы обращаются к шлюзу | при повторном запуске — текущий vncAdvertisedName из gateway.json; иначе первый IPv4-адрес сервера, а если его нет — полное имя хоста | DNS-имя (pam.example.org) или IP-адрес. Он попадает в ссылку на консоль и становится именем для VNC (vncAdvertisedName). Лучше DNS-имя: его можно перенести на другой адрес. |
| 2. Console HTTPS port | 443 | Порт веб-консоли и API клиентов. |
| 3. SSH port (not 22: the server's own SSH keeps it) | 2222 | Порт SSH-входа шлюза. Не 22 — он остаётся у собственного SSH-сервера машины. |
| 4. Let people open RDP (Windows remote desktop) sessions through the gateway? → RDP port | да, 3389 | Нужен, если будут Windows-серверы. |
| 5. Let people open VNC (remote screen of Linux and macOS desktops) sessions through the gateway? → VNC port | да, 5900 | VNC слушает на конкретном IP-адресе сервера (не на всех сразу) — так требует шлюз. |
| 6. Offer PostgreSQL through the gateway? → PostgreSQL front port | да, 15432 | Вход для клиентов PostgreSQL. Порт 5432 не предлагается: его занимает собственный PostgreSQL шлюза. |
| Offer MySQL / MariaDB through the gateway? → MySQL front port | нет, 13306 | Вход для клиентов MySQL/MariaDB. |
| Offer Microsoft SQL Server through the gateway? → SQL Server front port | нет, 11433 | Вход для клиентов SQL Server. |
| Apply? This restarts the gateway; open sessions are closed. | нет | y — применить. Идущие сессии при этом обрываются. |
Мастер не даст выбрать порт, который уже занят другой программой (назовёт её и номер процесса), порт, выбранный дважды, и порт 5432. При повторном запуске выключенный ранее протокол по умолчанию предлагается выключенным.
Если включён VNC, а самодельный сертификат шлюза не содержит выбранного адреса, мастер спросит Let the gateway make a new certificate? (the old one is kept as a .bak file). Ответ y откладывает старый сертификат в сторону (копия gateway.pfx.bak-…), и шлюз создаёт новый с этим адресом. Браузеры и клиенты BURSUcm, которые уже доверяли старому сертификату, один раз спросят подтверждение снова. При ответе n VNC остаётся записанным в настройках, но шлюз его не откроет (на Settings → VNC будет написано Address not in the certificate), пока в сертификате нет этого имени; в конце мастер напишет, что VNC пока не слушает. Если вы поставили собственный сертификат (certificatePath), этот вопрос не задаётся — имя в вашем сертификате должно быть заранее.
Что происходит после «y»
- Текущий
gateway.jsonкопируется в/etc/bursu-pam/gateway.json.bak-<время UTC>. - В
gateway.jsonзаписываются только ответы; все остальные параметры остаются как были. - Шлюз перезапускается; мастер ждёт до 20 секунд, пока ответит порт консоли (при первом запуске, пока шлюз готовит базу, — до 60 секунд и пишет об этом).
- Если шлюз не поднялся, прежний файл (и прежний сертификат) возвращается на место, шлюз перезапускается с ним, и мастер показывает последние 30 строк журнала службы — по ним видно, что не так. Код выхода 1.
- Если поднялся — мастер сообщает, какие порты уже слушаются. SSH, RDP, VNC и входы баз данных открываются только после завершения мастера
/setup(а в запечатанном режиме — после распечатывания), поэтому до этого он пишет opens once the first-run setup in the console is finished. - В конце — строки проверки хоста, нумерованные следующие шаги (с готовыми командами
sudo ufw allow …/tcp, если ufw включён; сам мастер сетевой экран не меняет) и адрес консоли с кодом настройки.
Пример диалога (Enter везде, кроме последнего вопроса):
1. The address people and their programs use to reach this gateway: a DNS name (pam.example.org) or an IP address.
The console link and VNC sessions use it.
Address [192.0.2.10]:
2. The web console (administration, and where users sign in) is served over HTTPS.
Console HTTPS port [443]:
3. SSH: people connect their SSH client (ssh, PuTTY) to the gateway, which signs in to the target server for them.
SSH port (not 22: the server's own SSH keeps it) [2222]:
4. Let people open RDP (Windows remote desktop) sessions through the gateway? [Y/n]:
RDP port [3389]:
5. Let people open VNC (remote screen of Linux and macOS desktops) sessions through the gateway? [Y/n]:
VNC port [5900]:
6. Database fronts: people connect their usual database tool to the gateway, which signs in to the database server for them.
Port 5432 is not offered: this server's own PostgreSQL, which holds the gateway's data, uses it.
Offer PostgreSQL through the gateway? [Y/n]:
PostgreSQL front port [15432]:
Offer MySQL / MariaDB through the gateway? [y/N]:
Offer Microsoft SQL Server through the gateway? [y/N]:
Summary:
Address 192.0.2.10
Console (HTTPS) https://0.0.0.0:443
SSH 0.0.0.0:2222
RDP 0.0.0.0:3389
VNC 192.0.2.10:5900
PostgreSQL front 192.0.2.10:15432
MySQL front off
SQL Server front off
Apply? This restarts the gateway; open sessions are closed. [y/N]: y
Saved. The previous file is /etc/bursu-pam/gateway.json.bak-20261102T101500Z. Restarting the gateway...
The gateway runs with the new settings.
SSH (port 2222) opens once the first-run setup in the console is finished.
RDP (port 3389) opens once the first-run setup in the console is finished.
VNC (port 5900) opens once the first-run setup in the console is finished.
PostgreSQL front (port 15432) opens once the first-run setup in the console is finished.
Checking this server (bursu-pam-check --quiet):
Next steps:
1. Open https://192.0.2.10/setup in a browser.
2. Enter the one-time setup code (below).
3. In the console: create the administrator, then install the licence.
4. The firewall (ufw) is on. Let the gateway's ports in:
sudo ufw allow 443/tcp
sudo ufw allow 2222/tcp
sudo ufw allow 3389/tcp
sudo ufw allow 5900/tcp
sudo ufw allow 15432/tcp
----------------------------------------------------------------------------------------------
Open in a browser: https://192.0.2.10/setup
Setup code: XXXX-XXXX-XXXX
(lost it? sudo cat /var/lib/bursu-pam/setup-code)
(the browser will warn about the self-signed certificate - expected; continue)
Когда мастер /setup уже пройден, вместо адреса /setup и кода печатается Console: https://…/.
Коды выхода
| Код | Значение |
|---|---|
| 0 | Настройки применены, шлюз работает с ними. |
| 1 | Шлюз не поднялся с новыми настройками, прежние возвращены. |
| 2 | Мастер не может начать: запущен не от root, нет терминала, не установлен jq, нет gateway.json, файл — символическая ссылка или не чистый JSON (мастер не читает комментарии и висячие запятые), неизвестный аргумент. |
| 3 | Ничего не изменено: на Apply? ответили «нет». |
| 4 | Никто не ответил (конец ввода; при вызове из установки — нет ответа за 5 минут). Ничего не изменено. |
| 130 | Прервано Ctrl+C. До записи файла ничего не менялось. Если прервали во время проверки запуска, прежние настройки возвращены. Если шлюз уже поднялся с новыми настройками (или ещё запускается с ними), они остаются — мастер пишет об этом. Так же завершается мастер при сигналах TERM (143) и HUP (129). |
Первоначальная настройка (мастер /setup)
Пока шлюз не настроен, в нём есть только одна страница — https://<адрес>/setup; любой другой адрес ведёт на неё. Мастер из семи шагов создаёт ключ шифрования, первого администратора и основные настройки. Первым он спрашивает одноразовый код — чтобы шлюз не «захватил» тот, кто первым откроет страницу.
Шаг 1 · Setup code
Введите код из вывода установки (формат XXXX-XXXX-XXXX, 12 символов; дефисы и регистр не важны). Если вывод потерян: sudo cat /var/lib/bursu-pam/setup-code или sudo bursu-pam-configure --next-steps. Файл читают только служба и root; путь к нему пишется и в журнал службы (сам код — никогда). Неверный код: The setup code did not match. Попыток с одного адреса — не больше 10 в минуту.
Шаг 2 · Language
Default console language — язык консоли по умолчанию: English, Русский, Українська, ქართული, Deutsch, Español, Português, Português (Brasil). Каждый пользователь потом выбирает свой язык в профиле и на странице входа.
Шаг 3 · Key mode
Где хранить ключ, которым шлюз шифрует секреты учётных записей:
- Protected by the operating system (recommended) — ключ лежит в каталоге ключей, его может прочитать только служба. После перезагрузки шлюз запускается сам. Выбирайте этот вариант, если не уверены.
- Sealed with a passphrase — после каждого перезапуска службы администратор вводит парольную фразу на странице
/unseal. Надёжнее при краже диска, но пока шлюз запечатан, он не работает (никто не может подключиться). Задайте Passphrase и Repeat the passphrase — не короче 12 символов.
Режим можно сменить позже в Settings → Encryption key (подробно).
Шаг 4 · Recovery key
Мастер показывает ключ восстановления — один раз. Без него секреты не восстановить, если файл ключа потеряется или забудется парольная фраза.
- Нажмите Download .txt или Print и сохраните ключ офлайн: распечатку — в сейф, файл — на носитель, который хранится отдельно от сервера. Не храните ключ на самом шлюзе.
- Отметьте I have saved the key in a safe place.
- В поле Last 4 characters of the key введите последние 4 символа ключа — это проверка, что ключ действительно записан.
Если пропадут и файл ключа в /var/lib/bursu-pam/keys, и ключ восстановления, ни один сохранённый пароль и ни одна запись сессии больше не прочитаются. Никто, включая BURSUsofts, их не вернёт.
Шаг 5 · Administrator
Первый администратор; остальных пользователей он создаст в консоли.
| Поле | Что вводить |
|---|---|
| Login | До 64 символов: латинские буквы, цифры, точка, дефис, подчёркивание. |
| Name | Отображаемое имя, до 128 символов. |
| Password, Repeat the password | Не короче 12 символов (минимум задаётся в Sign-in and MFA). |
Первый администратор — локальная учётная запись шлюза. Даже когда пользователи входят через Active Directory, она продолжает входить, если каталог недоступен. Храните её пароль и коды восстановления так же бережно, как ключ восстановления.
Шаг 6 · Two-factor sign-in
- Отсканируйте QR-код приложением-аутентификатором или введите ключ вручную (параметры: SHA-1, 6 цифр, 30 секунд).
- Введите в Code from the app текущий шестизначный код и нажмите Next. The code did not match. Check the time on the phone. — проверьте время на телефоне.
- Мастер покажет десять кодов восстановления — каждый работает один раз, на случай потери телефона. Сохраните их отдельно от телефона, отметьте I have saved the recovery codes и нажмите Next.
Шаг 7 · Done
Итог: режим ключа, администратор с настроенным вторым фактором, и Setup code — no longer valid, the file is deleted. Две кнопки: Go to sign-in — обычная страница входа, и Next: start the 7-day trial or install a licence — Settings → Licence. Шлюз не пропускает ни одной сессии, пока у него нет лицензии — сразу переходите к «Лицензии».
Если мастер прервался
Ход мастера хранится только в памяти шлюза и привязан к браузеру; через 30 минут без действий, при перезапуске службы или при вводе кода настройки заново он стирается. Если закрыть окно, откройте /setup, введите код настройки снова (он действует до конца мастера) и снова выберите язык. Дальше мастер продолжит с того места, которое определяется уже сделанным: если ключ создан, на шаге 3 появится выбор; если создан администратор — мастер сразу перейдёт к шагу 6. Не закрывайте страницу, пока не сохранили ключ восстановления: он показывается один раз и после закрытия вкладки на шаге 4 повторно не покажется. Если ключ уже был создан в прошлый раз, на шаге 3 появится выбор: Continue with this key (если вы сохранили его ключ восстановления) или Create the key again — старый ключ и его ключ восстановления удаляются; это возможно, только пока нет ни администратора, ни одного секрета. Если в каталоге ключей остались файлы от удалённого ключа, мастер назовёт их — перенесите их в другое место и повторите.
Запечатанный режим и /unseal
Страница /unseal появляется в двух случаях. Пока она открыта, консоль и подключения к серверам недоступны.
The gateway is sealed
Вы выбрали режим Sealed with a passphrase, и служба перезапустилась (перезагрузка сервера, обновление пакета, systemctl restart). Введите Passphrase и нажмите Unseal. Шлюз откроется и запустит все входы (SSH, RDP, VNC, базы данных).
Если фраза забыта, нажмите Recover with the recovery key: введите Recovery key, задайте New passphrase и Repeat the passphrase, нажмите Recover and unseal.
The encryption key is unavailable
Режим «защищён ОС», но файла ключа нет или он не подходит к этой базе (например, базу восстановили на новый сервер без каталога /var/lib/bursu-pam/keys). Введите ключ восстановления и нажмите Recover the key. Если после восстановления шлюз пишет The key was recovered и перечисляет проблемы каталога ключей — исправьте их до следующего перезапуска службы; ключ восстановления остаётся действительным.
Не больше 5 попыток в минуту с одного адреса; каждая попытка, удачная или нет, записывается в журнал аудита. Ошибки: The passphrase did not match., The recovery key did not match.
В запечатанном режиме автоматическая перезагрузка (например, после обновлений безопасности) оставит шлюз закрытым до прихода администратора. Если это неприемлемо, используйте режим «защищён ОС» и шифрование диска.
Лицензия
Шлюз лицензируется по числу активных серверов (включённых в консоли); число пользователей не ограничено. Лицензия — подписанный BURSUsofts файл (.bpl), который шлюз проверяет сам, без связи с интернетом. Она привязана к установке (Installation ID) и к этому серверу (отпечаток на основе /etc/machine-id).
Сразу после мастера /setup лицензии нет: вход в консоль работает, но ни одна сессия не начнётся и любое изменение (добавить сервер, пользователя, правило) будет отклонено с сообщением The gateway has no licence: changes are refused. Start the trial or install a licence on Settings → Licence. Первое, что делает администратор после входа, — включает пробную лицензию.
Страница: Settings → Licence (/system/licence), только для Administrator. Она работает в любом состоянии лицензии. Каждое действие на ней требует свежего подтверждения: шлюз может ещё раз спросить ваш пароль и код (You may be asked for your password and code again first.).

Карточка Status
| Строка | Что значит |
|---|---|
| Customer | Организация, которой принадлежит установка на портале bursucm.com; Not claimed yet — установка ещё ни за кем не закреплена (нормально для пробной). |
| Serial | Серийный номер действующей лицензии. |
| Kind | Trial (пробная) или Paid (платная). |
| Valid | Срок действия; у платной может быть ещё Grace ends — конец льготного периода. |
| Days left | Сколько дней осталось. |
| Issued, Signing key | Когда выпущена и каким ключом подписана. |
| Active servers | «6 of 25» — сколько серверов включено и сколько разрешает лицензия; при превышении — Over the limit. |
| Installation ID | Идентификатор этой установки (кнопка Copy) — его спросят при покупке и в поддержке. |
| This host | Отпечаток этого сервера и совпадает ли он с лицензией: matches this host; second host (paid slot) — второй сервер по оплаченному месту; activated on another host: N of M grace days used — лицензия выпущена для другого сервера, идёт льготный период переезда. |
| Background check-in, Last check-in | Включена ли ежедневная проверка обновлений лицензии и когда была последняя. |
| Pending renewal | Получена следующая лицензия, которая вступит в силу позже. |
| Clock | Появляется, если часы сервера ушли вперёд или назад относительно времени лицензии. |
Состояния (метка в углу карточки): No licence, Trial, Active, Ends soon (у платной лицензии — до конца 7 дней и меньше), In grace (только у платной), Ended, Activated on another host, Released.
Пробная лицензия на 7 дней
Пробная лицензия даёт все функции на 7 дней и до 25 активных серверов; льготного периода после неё нет. Для одной установки пробную лицензию можно получить один раз; по условиям портала — и одна пробная лицензия на организацию (офлайн-пробная выдаётся через учётную запись bursucm.com). Метки Ends soon у пробной лицензии нет: она показывает Trial до последнего дня и затем сразу Ended, поэтому запишите дату её окончания заранее.
С интернетом — одна кнопка
- В блоке Online — one call per click нажмите Start the 7-day trial online.
- Окно покажет, что именно будет отправлено (What is sent): идентификатор установки, отпечаток сервера, версия шлюза, число активных серверов, время шлюза, когда завершена настройка, одноразовое число, порядковый номер лицензии и открытый ключ шлюза — с подписью шлюза. Никаких имён, адресов и данных организации.
- Нажмите Send this one call. Через несколько секунд: The 7-day trial licence is installed.
Шлюз обращается к bursucm.com только когда вы нажимаете кнопку; в остальное время он ничего не отправляет. Если доступ в интернет только через прокси — задайте его в блоке Proxy server (см. ниже).
Без интернета — код запроса
- В блоке Request codes (offline) нажмите Start the 7-day trial, затем Make the request code.
- Шлюз покажет Request code и его QR-код (можно Download as .txt). Код принимается порталом один раз; шлюз запомнил запрос — пока ответа нет, на странице видно Waiting for an answer: ….
- С любого компьютера с интернетом войдите на
https://bursucm.com/pam/activate(нужна учётная запись bursucm.com), вставьте код (или отсканируйте QR телефоном) и получите файл лицензии.bpl. - Перенесите файл в закрытую сеть и установите его: Install a licence → Licence file (или вставьте текст в Or paste the licence) → Install. Готово: The licence was installed.
Платная лицензия
При покупке вы получаете ключ активации вида BPK- и 20 символов. Чтобы купить лицензию для конкретной установки, продавцу может понадобиться Claim code этой установки (блок Claim code на странице): он закрепляет установку за вашей организацией на bursucm.com/pam/licences. Блок виден, пока действует пробная лицензия (или лицензия без названия организации); после платной лицензии с названием организации код забывается и блока нет. Для самого пробного периода код не нужен. Храните claim code в тайне — любой, у кого он есть, может закрепить установку за собой.
- Онлайн: Activate with an activation key → введите Activation key → Send this one call → The licence from your activation is installed.
- Офлайн: Activate a paid licence → Make the request code → код вводится на
https://bursucm.com/pam/activate, где вы выбираете оплаченное право (entitlement) → полученный файл ставится через Install a licence. - Готовый файл. Если BURSUsofts прислала файл
.bpl, просто установите его через Install a licence. Читается только блок между строками BEGIN и END, подпись проверяется.
Продление и ежедневная проверка
Новую лицензию (продление, больше серверов) устанавливают так же: файлом, онлайн-кнопкой Check now (одно обращение — забрать готовую лицензию, если она есть) или включив Background check-in: Turn the background check-in on — шлюз раз в сутки сам спрашивает bursucm.com о продлениях. По умолчанию проверка выключена. Если она не удаётся неделю подряд, в колокольчике появится предупреждение.
Полученная автоматически лицензия, которая хуже действующей (меньше серверов, короче срок, короче льготный период, меньше серверов-хостов, не включает этот сервер), не устанавливается сама: страница скажет The licence … was received but not installed, because it … — установите её вручную, если она действительно нужна.
Прокси
Если шлюз выходит в интернет только через HTTP-прокси, введите его в Proxy address (empty = the system's setting), например http://proxy.example.org:3128, и нажмите Save the proxy. Use the system default — вернуть системную настройку. Прокси с логином и паролем не поддерживается; адрес — только http://хост:порт или https://хост:порт.
Перенос на другой сервер
Лицензия привязана к серверу. Если вы перенесли шлюз (восстановили из копии на новую машину), состояние станет Activated on another host. Для платной лицензии действует льготный период переезда — не меньше 14 дней (или больше, если так записано в лицензии), в течение которого всё работает; страница показывает, сколько дней использовано. За это время перенесите лицензию: Move the licence to this host online (одно обращение) или офлайн-код Move the licence to this host. Число переносов ограничено условиями лицензии. После окончания льготного периода новые сессии и изменения отклоняются.
Освобождение установки
Прежде чем вывести шлюз из эксплуатации, освободите лицензию, чтобы активировать её на другом сервере: Release… → введите серийный номер действующей лицензии для подтверждения → один из вариантов:
- Release and show the release code — шлюз ничего не отправляет и показывает Release code, который вы вводите на портале сами. Код показывается только один раз — скопируйте его, прежде чем уйти со страницы.
- Release and tell bursucm.com now (one call) — освобождение сразу сообщается порталу, код не нужен.
С этого момента шлюз не пропускает ни одной сессии и не даёт ничего менять, кроме входа и страницы лицензии, пока не будет установлена новая лицензия.
Когда лицензия кончается: что останавливается, а что работает
Окончание лицензии — это «мягкая остановка», а не выключение. У платной лицензии за 7 дней до конца появляется метка Ends soon и предупреждение в колокольчике; после окончания действует льготный период (In grace, его длина записана в лицензии), когда всё ещё работает. У пробной лицензии нет ни метки, ни предупреждения, ни льготного периода: Trial до последнего дня, затем сразу Ended. После окончания (и льготного периода платной лицензии):
| Перестаёт работать | Продолжает работать |
|---|---|
| Новые сессии (SSH, RDP, VNC, базы данных) — пользователь видит отказ; текст зависит от входа (см. «Лицензия» в главе «Неисправности»), например The gateway's licence does not allow new sessions now. Contact the administrator. Изменения в консоли: создание и правка серверов, пользователей, правил, настроек. | Вход в консоль, свой профиль и язык. Просмотр журналов, сессий и записей, проверка целостности, отправка в SIEM. Изменения, которые отнимают доступ: выключить сервер или правило, отозвать доступ, ужесточить контроль команд, сменить ключ шифрования. Прерывание идущих сессий. Страница лицензии. |
Если включено больше серверов, чем разрешает лицензия, после льготного периода сессии пропускаются только к серверам в пределах лимита, а изменения отклоняются, пока лишние серверы не будут выключены. Включить сервер сверх лимита сразу нельзя: The licence allows … active servers. Switch off a server or extend the licence.
Шлюз не доверяет своему времени
Шлюз следит за тем, чтобы лицензию нельзя было продлить переводом часов или откатом базы. Если файл состояния лицензии /var/lib/bursu-pam/licence-state.json пропал или повреждён и одновременно не сходится подписанная отметка времени в журнале аудита, если база оказалась старше файла состояния (восстановлена из старой копии), или из журнала пропали строки, страница пишет The gateway cannot trust its own time: новые сессии и изменения отклоняются, перезапуск не помогает. Выход один — лицензия, выпущенная в ответ на запрос, сделанный после начала этого состояния:
- если действует платная лицензия — Request a support licence (офлайн-код или онлайн-кнопка) и отправка его в BURSUsofts;
- иначе — запрос активации (Activate a paid licence); пробная лицензия из этого состояния не выводит.
Если часы шлюза ушли вперёд, может появиться кнопка Re-base the licence to this gateway's time — она пересчитывает лицензии под текущее время шлюза. Поэтому восстанавливайте базу вместе с каталогом /var/lib/bursu-pam из одной и той же копии (см. «Резервное копирование»).
Licences received
Таблица всех полученных лицензий: Serial, Seq, Kind, Servers, Term, Received (как получена — uploaded, online, check-in, restored from the state file; кем и когда) и Status — In force, Pending, Superseded, Released, Ended.
Все сообщения страницы лицензии и что с ними делать — в главе «Неисправности → Лицензия».
Файл gateway.json
/etc/bursu-pam/gateway.json хранит только то, что шлюзу нужно знать до подключения к базе: где база, на каких адресах и портах слушать, где сертификат и каталоги. Всё остальное настраивается в консоли и хранится в базе. Файл создаёт bursu-pam-setup, порты в нём меняет bursu-pam-configure; вручную его правят только для параметров, которых нет в мастере.
- Формат — JSON; шлюз допускает комментарии
//и висячие запятые, ноbursu-pam-configureиbursu-pam-checkчитают только чистый JSON — не добавляйте комментарии, если пользуетесь мастером. - Неизвестный параметр шлюз отвергает и не запускается — так опечатка не превращается молча в значение по умолчанию. Имена параметров не чувствительны к регистру.
- Права:
root:bursu-pam 0640(файл может содержать пароль базы). Проверяетbursu-pam-check. - После правки:
sudo systemctl restart bursu-pam-gateway(идущие сессии оборвутся). Если шлюз не поднялся —journalctl -u bursu-pam-gateway -n 50назовёт неверный параметр. - Пример с комментариями:
/usr/share/doc/bursu-pam/gateway.json.example.
Файл, который создаёт установка:
{
"connectionString": "Host=/var/run/postgresql;Port=5432;Database=bursu_pam;Username=bursu-pam",
"listenUrl": "https://0.0.0.0:443",
"dataDirectory": "/var/lib/bursu-pam",
"keyDirectory": "/var/lib/bursu-pam/keys",
"sshListen": "0.0.0.0:2222",
"rdpWorkerPath": "/opt/bursu-pam/workers/RdpWorker",
"vncWorkerPath": "/opt/bursu-pam/workers/bursu-pam-vnc",
"vncLauncherPath": "/opt/bursu-pam/workers/bursu-pam-vnc-launch"
}
Параметры
| Параметр | По умолчанию | Что задаёт |
|---|---|---|
connectionString | обязателен | Строка подключения к базе (формат Npgsql). Таблицы создаются и обновляются при запуске шлюза. |
listenUrl | https://0.0.0.0:443 | Адрес и порт консоли: https:// и IP-адрес (0.0.0.0, [::] или адрес сервера). |
sshListen | 0.0.0.0:2222 | Адрес и порт SSH-входа. |
rdpListen | нет (RDP выключен) | Адрес и порт RDP-входа, например 0.0.0.0:3389. Работает только вместе с rdpWorkerPath. |
vncListen | нет (VNC выключен) | Адрес и порт VNC-входа с конкретным IP-адресом сервера, например 192.0.2.10:5900 (0.0.0.0 не принимается). Требует vncAdvertisedName и vncWorkerPath/vncLauncherPath. |
vncAdvertisedName | нет | Имя, по которому клиенты подключаются к VNC-входу. Обязано быть в сертификате шлюза (в списке альтернативных имён), иначе VNC-вход не включится. Самоподписанный сертификат получает это имя, только если оно задано до его создания — см. «Самоподписанный сертификат». |
dbListen | нет | Входы баз данных: { "postgresql": "192.0.2.10:15432", "mysql": "192.0.2.10:13306", "mssql": "192.0.2.10:11433" }. Каждый — с конкретным IP-адресом; отсутствующий — выключен. Не используйте 5432 на адресе, где слушает собственный PostgreSQL. |
certificatePath | <dataDirectory>/gateway.pfx | Сертификат консоли и всех TLS-входов: файл PKCS#12 или, вместе с certificateKeyPath, сертификат PEM. Абсолютный путь. См. «Сертификат». |
certificateKeyPath | нет | Закрытый ключ PEM к сертификату PEM. |
certificatePassword | нет | Пароль файла PKCS#12 или зашифрованного ключа PEM. |
dataDirectory | /var/lib/bursu-pam | Каталог данных: код настройки, сертификат, журнал, состояние лицензии. |
keyDirectory | /var/lib/bursu-pam/keys | Каталог мастер-ключа и ключей сессий консоли. |
recordingsDirectory | <dataDirectory>/recordings | Где хранить записи сессий. Каталог вне /var/lib/bursu-pam требует дополнения к службе — см. «Записи на другом диске». |
sshPublicHost, sshPublicPort | имя, по которому клиент открыл консоль; порт sshListen | Какой адрес и порт SSH сообщать клиентам BURSUcm и показывать в строке known_hosts. Задайте, если шлюз за NAT или пробросом портов. |
rdpPublicHost, rdpPublicPort | sshPublicHost или имя консоли; 3389 | То же для RDP (адрес в файле .rdp и в ответе клиенту). |
dbPublicHost | имя, по которому открыта консоль | Имя, которое консоль показывает пользователям для подключения клиентов баз данных. |
trustedProxies | [] | IP-адреса или сети (CIDR) обратных прокси перед консолью, чьим заголовкам X-Forwarded-For/X-Forwarded-Proto шлюз верит. Без этого в журнале будет адрес прокси, а не пользователя. |
displayTimeZone | часовой пояс ОС | Пояс для показа времени в консоли, например Asia/Tbilisi. Хранится время всегда в UTC. |
renderMemoryBudgetMb | 2048 | 1024–65536. Память (МиБ), которую вместе могут занимать задачи отрисовки RDP/VNC-записей: живой просмотр, плеер, экспорт MP4. Один человек занимает не больше половины (но всегда может запустить одну задачу любого размера). Задача, которая не помещается, получает ответ «занято» — её запускают позже. Значение 2048 рассчитано на сервер с 4 ГиБ и больше; на меньшем уменьшите. Сами сессии в этот бюджет не входят. |
rdpWorkerMemoryMb, rdpWorkerMaxPids, rdpWorkerCpuPercent | 512, 128, 100 | Ограничения одного работника сессии RDP или VNC: память (МиБ), число процессов и потоков, доля процессора (100 = одно ядро). |
rdpWorkerPath, vncWorkerPath, vncLauncherPath | пути в /opt/bursu-pam/workers | Пути к работникам сессий. Не меняйте. |
kerberosRuntimeDirectory, kerberosReplayCachePath, kerberosKeytabFiles | для пакета Ubuntu не трогать | Служебные пути Kerberos; служба systemd уже настроена под значения по умолчанию. |
Сертификат шлюза
Один сертификат обслуживает консоль (HTTPS) и все TLS-входы шлюза (VNC с TLS, входы баз данных). Клиенты BURSUcm запоминают (закрепляют) сертификат шлюза при первом подключении и спрашивают подтверждение снова, если он сменился.
Самоподписанный сертификат
Если certificatePath не задан, при первом запуске шлюз создаёт /var/lib/bursu-pam/gateway.pfx: ECDSA P-256, SHA-256, имя CN=<имя машины>, срок два года; если включён VNC, в него добавляется vncAdvertisedName. Браузеры предупреждают о таком сертификате — это ожидаемо; проверьте отпечаток и продолжите. Для постоянной работы лучше сертификат вашего удостоверяющего центра.
Созданный файл шлюз дальше только читает: он не продлевает сертификат по истечении двух лет и не добавляет в него имя VNC, если VNC включили позже. Срок виден на Settings → Status. Чтобы получить новый самоподписанный сертификат (после истечения срока или после включения VNC), отложите старый файл и перезапустите службу — шлюз создаст новый:
sudo mv /var/lib/bursu-pam/gateway.pfx /var/lib/bursu-pam/gateway.pfx.old
sudo systemctl restart bursu-pam-gateway
Пользователи BURSUcm увидят новый сертификат и один раз подтвердят его.
Свой сертификат
- Выпустите сертификат на имя шлюза (например
pam.example.org; если пользователи ходят и по IP — добавьте IP в альтернативные имена). Если включён VNC — в нём обязательно должно быть имя изvncAdvertisedName. - Положите файлы так, чтобы их мог прочитать
bursu-pam, но не другие пользователи. Каталог/etc/bursu-pamдля службы только для чтения — это подходит: файл должен уже существовать.sudo install -d -o root -g bursu-pam -m 0750 /etc/bursu-pam/tls sudo install -o root -g bursu-pam -m 0640 gateway.pfx /etc/bursu-pam/tls/gateway.pfx - Добавьте в
gateway.jsonвариант PKCS#12:
или PEM:"certificatePath": "/etc/bursu-pam/tls/gateway.pfx", "certificatePassword": "пароль-файла"
("certificatePath": "/etc/bursu-pam/tls/gateway.crt", "certificateKeyPath": "/etc/bursu-pam/tls/gateway.key"certificatePassword— только если ключ зашифрован). Шлюз читает из.crt(и из.pfx) только первый сертификат — свой, с закрытым ключом; цепочку из файла он не собирает и клиентам не отдаёт. Поэтому клиенты должны сами доверять промежуточному центру сертификации (например, раздайте его на рабочие места групповой политикой или пакетом доверенных сертификатов). sudo systemctl restart bursu-pam-gatewayи откройте консоль — браузер должен показать ваш сертификат. Пользователей BURSUcm предупредите: клиент один раз попросит подтвердить новый сертификат.
Продление: замените файл тем же путём и перезапустите службу.
Сеть и брандмауэр
Пакет и мастер никогда не меняют сетевой экран сервера. Откройте порты сами.
ufw
Если ufw включён (sudo ufw status → Status: active), bursu-pam-configure печатает готовые команды для выбранных портов. Типичный набор:
sudo ufw allow 443/tcp # консоль и клиенты BURSUcm
sudo ufw allow 2222/tcp # SSH, SFTP, SCP, Telnet-устройства
sudo ufw allow 3389/tcp # RDP (если включён)
sudo ufw allow 5900/tcp # VNC (если включён)
sudo ufw allow 15432/tcp # вход PostgreSQL (если включён)
Лучше ограничить источники сетью пользователей: sudo ufw allow from 10.20.0.0/16 to any port 2222 proto tcp. Не забудьте оставить доступ к порту 22 для администрирования самого сервера, прежде чем включать ufw (sudo ufw allow 22/tcp).
Целевые серверы
На целевых серверах разрешите служебные порты только с адреса шлюза. Пример для Linux с ufw: sudo ufw allow from 192.0.2.10 to any port 22 proto tcp и запрет остальным; для Windows — правило брандмауэра Windows для RDP (3389) с удалённым адресом шлюза. Сделайте то же для VNC, Telnet и портов СУБД.
Обратный прокси и NAT
Если перед консолью стоит обратный прокси, перечислите его адрес в trustedProxies. Если шлюз опубликован через NAT или проброс портов, задайте внешние адреса в sshPublicHost/sshPublicPort, rdpPublicHost/rdpPublicPort и dbPublicHost — их шлюз сообщает клиентам.
Обслуживание
Служба и журналы
systemctl status bursu-pam-gateway # работает ли
sudo systemctl restart bursu-pam-gateway # перезапуск (сессии обрываются; в запечатанном режиме — снова /unseal)
journalctl -u bursu-pam-gateway -n 100 # последние строки журнала
journalctl -u bursu-pam-gateway -f # журнал в реальном времени
journalctl -u bursu-pam-gateway --since today
Журнал службы не содержит паролей, кодов настройки и строк подключения. Журнал аудита (кто что сделал) — в консоли, см. «Журнал аудита».
Проверка хоста: bursu-pam-check
sudo bursu-pam-check # по строке на проверку: OK, WARN или FAIL
sudo bursu-pam-check --quiet # только WARN и FAIL
Только читает, ничего не меняет и не ходит в сеть. Код выхода 1, если есть хотя бы один FAIL. Запускайте от root — иначе часть проверок не выполнится.
| Проверка | Уровень при ошибке | Что проверяет и как исправить |
|---|---|---|
cgroup2 | FAIL | /sys/fs/cgroup — единая иерархия cgroup v2. Иначе загрузите систему с systemd.unified_cgroup_hierarchy=1. |
controllers | FAIL | Контроллеры memory, pids и cpu доступны работникам, учёт подкачки (memory.swap.max) есть или подкачки нет. Иначе выключите подкачку или загрузите с swapaccount=1. |
landlock | FAIL | Landlock активен. Без него не запускаются сессии RDP и VNC (SSH и консоль работают). Загрузите с lsm=...,landlock. |
machine-id | FAIL | /etc/machine-id есть и читается службой; лицензия к нему привязана. Создаётся командой systemd-machine-id-setup. |
config | FAIL | gateway.json существует, права 640 root:bursu-pam, корректный JSON, не задана среда Development. |
postgres | FAIL | Роль входит в свою базу через локальный сокет. Удалённую базу и строку с паролем не проверяет (только предупреждает). |
cgroup.kill, seccomp | WARN | Возможности ядра для изоляции и уборки работников. |
libs | WARN | Установлены библиотеки Kerberos, LDAP и ICU (их ставит пакет). |
ports | WARN | Порты консоли и SSH свободны или заняты самим шлюзом; называет программу, которая их держит. |
clock | WARN | Время синхронизировано (systemd-timesyncd); при chrony проверьте сами командой chronyc tracking. |
disk | WARN | Свободно не меньше 5 ГиБ в /var/lib/bursu-pam. |
hostname | WARN | Имя хоста полное (FQDN) — нужно для Kerberos. |
Обновление
sudo apt install ./bursu-pam_<новая версия>_amd64.deb
- Пакет останавливает шлюз (все сессии обрываются) — проводите обновление в окно обслуживания и предупредите пользователей.
- До замены файлов делает копию базы:
/var/backups/bursu-pam/pre-upgrade-<старая версия>-<время>.dump(хранятся две последние). Нужно свободное место — вдвое больше размера базы, иначе обновление останавливается и называет оба числа. - Если копию сделать не удалось (нет места, база недоступна) или шлюз не остановился, обновление отменяется: вы увидите строку NOT upgrading - …, ошибку dpkg, а старая версия снова запущена.
- Новая версия при запуске обновляет схему базы.
gateway.jsonи данные не трогаются; вопросы про порты при обновлении не задаются. - В запечатанном режиме после обновления откройте
/unseal.
Для удалённой базы пакет копию не делает (пишет об этом одной строкой) — сделайте копию сами до обновления.
Обновления схемы идут только вперёд. Старая версия шлюза отказывается работать с базой, которую уже обновила новая: в журнале появится критическая строка с номерами миграций, шлюз не откроет ни одного порта, и systemd будет перезапускать его каждые 5 секунд. Ничего не удаляйте из таблицы schema_migrations — это лишь скроет расхождение. Выход — новая версия пакета или восстановление копии, сделанной до обновления (ниже).
Откат на предыдущую версию
Только для базы на этом же сервере. Всё, что записано после обновления, будет потеряно — сначала скопируйте файл копии в другое место.
Каталог /var/backups/bursu-pam и файл копии принадлежат root и закрыты для остальных, а перенаправление < выполняет оболочка того, кто набирает команду, а не sudo. Поэтому выполняйте блок от root: сначала sudo -i, дальше команды без sudo.
sudo -i
systemctl stop bursu-pam-gateway
runuser -u postgres -- psql -c 'DROP DATABASE bursu_pam'
bursu-pam-setup # создаёт пустую bursu_pam с владельцем bursu-pam
runuser -u bursu-pam -- env -i PATH=/usr/sbin:/usr/bin:/sbin:/bin \
pg_restore -h /var/run/postgresql -d bursu_pam --exit-on-error < /var/backups/bursu-pam/pre-upgrade-<старая>-<время>.dump
apt-get install -y --allow-downgrades /путь/к/bursu-pam_<старая версия>_amd64.deb
exit # вернуться в свою оболочку
Резервное копирование и восстановление
Для восстановления нужны три вещи, и все три обязательны:
- База
bursu_pam— каталог, пользователи, правила, журнал аудита; - каталог
/var/lib/bursu-pam— мастер-ключ (keys/), записи сессий, состояние лицензии, сертификат; - ключ восстановления из мастера
/setup— офлайн, в сейфе, никогда не на этом сервере.
( # подоболочка: umask не останется в вашей оболочке
umask 077
sudo runuser -u bursu-pam -- pg_dump -Fc -h /var/run/postgresql bursu_pam > bursu_pam.dump
sudo tar -C /var/lib -czf bursu-pam-data.tar.gz bursu-pam
)
Архив содержит ключи — храните его так же надёжно, как сами ключи, отдельно от копии базы. Без мастер-ключа из keys/ ни секреты, ни записи из копии базы не читаются; копия базы без каталога данных бесполезна. Делайте обе части в одно время: база, восстановленная из более старой копии, чем файл состояния лицензии, переводит шлюз в состояние «не доверяет своему времени» (см. «Лицензия»).
Восстановление на новом сервере: установите тот же пакет, остановите службу, восстановите базу (DROP DATABASE, bursu-pam-setup, pg_restore — как в откате выше), распакуйте архив в /var/lib (владелец bursu-pam), запустите службу. Если файла ключа нет или он не подходит, шлюз откроет страницу /unseal для ключа восстановления. Лицензию затем нужно перенести на новый сервер («Перенос»).
Записи на другом диске
Служба может писать только в /var/lib/bursu-pam. Чтобы держать записи на отдельном диске:
sudo install -d -o bursu-pam -g bursu-pam -m 0700 /srv/pam-recordings
sudo systemctl edit bursu-pam-gateway
# [Service]
# ReadWritePaths=/srv/pam-recordings
# в gateway.json: "recordingsDirectory": "/srv/pam-recordings"
sudo systemctl restart bursu-pam-gateway
Или проще — смонтируйте отдельный диск прямо в /var/lib/bursu-pam/recordings.
Обновления Ubuntu и перезапуски
Пакет кладёт /etc/needrestart/conf.d/bursu-pam.conf, чтобы утилита needrestart после apt upgrade не перезапускала шлюз сама (перезапуск обрывает все сессии). После обновления библиотек sudo needrestart -b покажет шлюз как ожидающий перезапуска — перезапустите его в окно обслуживания.
Удаление
sudo apt remove bursu-pam # останавливает службу, удаляет только файлы пакета
sudo apt purge bursu-pam # то же, плюс состояние службы; больше НИЧЕГО
Ни remove, ни purge не удаляют /var/lib/bursu-pam (ключи и записи), /etc/bursu-pam, /var/backups/bursu-pam, базу bursu_pam, роль и учётную запись bursu-pam — повторная установка подхватит их. Окончательное удаление необратимо; выполняйте его, только убедившись, что записи и ключи больше никому не нужны:
sudo runuser -u postgres -- psql -c 'DROP DATABASE bursu_pam'
sudo runuser -u postgres -- psql -c 'DROP ROLE "bursu-pam"'
sudo rm -r /var/lib/bursu-pam /etc/bursu-pam /var/backups/bursu-pam
sudo deluser --system bursu-pam
Перед выводом из эксплуатации освободите лицензию («Освобождение установки»).
Веб-консоль
Консоль — это веб-страницы самого шлюза. В ней администратор заводит пользователей, серверы и правила доступа, аудитор читает журналы, согласующий решает по запросам, а обычный пользователь смотрит, к чему у него есть доступ. Консоль открывается в браузере по адресу шлюза; адрес и сертификат задаются при установке (см. разделы Сеть и порты и Сертификат шлюза). Консоль работает и без JavaScript. Каждая форма защищена от подделки запроса, страницы не сохраняются в кэше браузера.
Что человек видит в консоли, зависит от его ролей. Роли описаны в разделе Роли; пункты меню, которых роль не может открыть, не показываются совсем (они не «серые», а скрыты).
Вход: страница «Sign in to the console»
Адрес страницы — /signin. На неё попадает каждый, кто открыл консоль без действующего сеанса. Если до этого он хотел открыть конкретную страницу, после входа шлюз вернёт его именно на неё.

| Поле или кнопка | Что вводить | Примечания |
|---|---|---|
| Login | Логин. Локальный пользователь вводит свой логин. Пользователь каталога вводит имя@суффикс, NETBIOS\имя или просто имя. | Регистр не важен. Имя без суффикса сначала ищется среди локальных пользователей, потом в каталоге, отмеченном как Default directory (см. Каталоги). |
| Password | Пароль. Пользователь каталога вводит свой доменный пароль. | Пароль каталога шлюз не хранит и не записывает в журналы: он нужен только для одной проверки у каталога. |
| Language | Язык интерфейса: English, Deutsch, Español, Português (для Португалии), Português (Brasil), Русский, Українська, ქართული. | Выбор запоминается в cookie на год и действует до входа; после входа язык берётся из профиля человека (см. Язык интерфейса). |
| Sign in | Кнопка отправки. | Не больше 10 отправок в минуту с одного адреса (общий лимит для входа, ввода кода и повторного подтверждения). |
| Sign in with Windows | Кнопка под словом or. | Показывается, только если хотя бы один каталог Active Directory готов к входу через Kerberos (см. Вход через Windows (Kerberos)). |
Над формой может быть баннер: текст, который администратор задал в настройке Banner text (Sign-in and MFA). Обычно в нём пишут предупреждение о том, что работа ведётся под контролем.
Шлюз отвечает на ошибки входа одной и той же фразой, чтобы по ответу нельзя было узнать, есть ли такой логин: Incorrect login or password. Так отвечает и на неверный пароль, и на неизвестный логин, и на отключённого пользователя, и на человека, который не состоит ни в одной сопоставленной группе каталога. Исключение — блокировка: Account temporarily locked until {0}. (время в часовом поясе шлюза). Все тексты ошибок входа собраны в главе «Неисправности».
Шаги входа и порядок страниц
Вход состоит из нескольких шагов. Каждый следующий шаг показывается только тогда, когда он нужен.
| № | Шаг | Страница | Когда показывается |
|---|---|---|---|
| 1 | Логин и пароль | /signin | Всегда. |
| 2 | Код второго фактора (TOTP) | /signin/totp | Если у человека уже настроено приложение-аутентификатор. |
| 3 | Смена временного пароля | /signin/password | Если пароль выдал администратор (при создании пользователя или при сбросе пароля). |
| 4 | Настройка TOTP | /signin/enrol | Если у человека ещё нет приложения-аутентификатора, а настройка Require TOTP включена. |
| 5 | Консоль | Стартовая страница роли | После всех шагов. |
Стартовая страница: администратор и аудитор попадают в Overview (если шлюз ещё не лицензирован, администратор сначала попадает на страницу Licence); согласующий — в Approvals; все остальные — в My profile.
Пока человек не прошёл все шаги, шлюз не пускает его никуда, кроме страницы текущего шага. Любая другая страница возвращает его на этот шаг.
После правильного пароля на ввод кода даётся 5 минут. На смену пароля и на настройку TOTP вместе даётся 15 минут с момента правильного пароля, сколько бы шагов ни было. Если время вышло, человек просто окажется на странице входа и начнёт заново.
Код из приложения: страница «Two-factor sign-in»
Адрес — /signin/totp. Под заголовком написан логин, под которым идёт вход. На странице:
- шесть окошек 6-digit code (цифры можно набирать подряд или вставить целиком), подсказка «Enter the 6-digit code from the authenticator app.» и кнопка Confirm;
- ссылка Enter a recovery code: страница переключается на поле Recovery code (образец
xxxxx-xxxxx) и текст «Enter one of your recovery codes. Each code works once.»; обратно ведёт ссылка Enter a code from the app; - кнопка Sign in as another user: завершает начатый вход и возвращает на страницу входа.

Код — шестизначный, из приложения-аутентификатора (RFC 6238: SHA-1, 6 цифр, шаг 30 секунд). Один и тот же код нельзя использовать дважды. Если код не подошёл, страница пишет The code did not match. Проверьте, что время на телефоне точное.
Пятый неверный код завершает вход: человек возвращается на страницу входа с сообщением Too many wrong codes. Sign in again. Каждый неверный код, кроме того, считается как неверный пароль для блокировки учётной записи (см. Блокировка). Если блокировка наступила именно от неверных кодов, страница входа всё равно показывает то же сообщение «Too many wrong codes», а о блокировке человек узнает при следующей попытке ввести пароль.
Смена временного пароля: страница «Choose your password»
Адрес — /signin/password. Показывается человеку, которому пароль выдал администратор. Текст: «The administrator gave you a temporary password. Choose your own to continue.» Поля:
| Поле | Что вводить | Ограничения |
|---|---|---|
| New password | Новый пароль. | Не короче, чем задано в настройке Minimum password length (по умолчанию 12 символов, не меньше 12). Под полем написано: «At least N characters.» |
| Repeat the password | Тот же пароль ещё раз. | Должен совпасть, иначе: The passwords do not match. |
| Change password | Кнопка. | После неё шлюз сразу продолжает вход (настройка TOTP, если она нужна, иначе консоль). |
Если слишком короткий: The password must be at least N characters long. Длина считается в символах после стандартной нормализации Unicode.
Пользователю каталога (доменному) эта страница вместо формы показывает заголовок Change your domain password (для LDAP — Change your directory password), текст о том, где сменить пароль, и единственную кнопку Sign out. Шлюз никогда не пишет в каталог, поэтому пароль меняется только средствами самого каталога.
Настройка TOTP: страница «Set up two-factor sign-in»
Адрес — /signin/enrol. Вход в консоль защищён вторым фактором — кодом из приложения на телефоне. Страница показывается человеку, у которого его ещё нет, если настройка Require TOTP включена (по умолчанию включена). Шаги:
- Отсканируйте код. В блоке 1. Scan the code in the authenticator app показан QR-код. Если сканировать нечем, введите ключ вручную: он показан под подписью «Or enter the key by hand:», ниже — «Account: логин» и параметры «SHA-1, 6 digits, 30 seconds».
- Введите код. В поле 2. Code from the app введите шесть цифр из приложения и нажмите Next. Если цифры не подошли, страница пишет The code did not match. Check the time on the phone.
- Сохраните коды восстановления. После правильного кода показываются десять одноразовых кодов (блок Save your recovery codes). Они нужны, если телефон потерян. Каждый код работает один раз. Кнопки Download .txt (файл
bursu-pam-recovery-codes.txt) и Print. Храните коды отдельно от телефона. - Подтвердите. Отметьте I have saved the recovery codes и нажмите Next. Без отметки кнопка не сработает.
QR-код, ключ и коды восстановления — секреты. Их нельзя показывать на снимках экрана, в переписке и в отчётах. Коды восстановления показываются только один раз.
Секрет привязан к тому сеансу, который его показал. Если одновременно открыть эту страницу ещё раз в другом окне, новый секрет заменит прежний, а на старой странице появится предупреждение: «Another session of this account started a new authenticator setup, so the code shown here before no longer works.» Если за это время настройка уже завершена в другом окне, этот вход закрывается и человек возвращается на страницу входа. После подтверждения шлюз завершает все остальные сеансы этого человека.
Вход через Windows
Кнопка Sign in with Windows ведёт на страницу /signin/windows. Браузер должен сам отправить шлюзу билет Kerberos. После билета всё равно нужен второй фактор: если у человека нет TOTP, ему сразу предлагается настройка (даже при выключенной настройке Require TOTP); если есть — ввод кода, если только браузер не «запомнен» (см. настройку One code covers Windows sign-ins for (hours)). Если вход не удался, страница возвращает на форму входа с одной из фраз; все они перечислены в главе «Неисправности». Подробно о настройке — в разделе Вход через Windows (Kerberos).
Повторное подтверждение: страница «Confirm it is you»
Адрес — /reauth. Для опасных действий шлюз просит ввести пароль и код ещё раз, даже если человек уже вошёл. Такое подтверждение действует 10 минут и привязано к текущему сеансу. После подтверждения шлюз возвращает человека на ту страницу, откуда его отправили.

| Поле | Что вводить |
|---|---|
| Password | Свой пароль (доменный — для пользователя каталога). |
| Code from the app | Шесть цифр из приложения. Показывается, только если у человека настроен TOTP. |
| Or a recovery code | Вместо кода из приложения можно ввести код восстановления. |
| Confirm | Кнопка. |
Ошибка одна для пароля и кода: The password or the code did not match. Неверный пароль или неверный код считаются так же, как при входе, и приводят к блокировке учётной записи. Когда пароль и код верны, счётчик неудач сбрасывается.
Подтверждение требуется для: смены ролей, установки пароля другому человеку и сброса его второго фактора; добавления, изменения и удаления каталога и сопоставлений его групп; смены ключа шифрования и режима ключа; создания нового приложения-аутентификатора и новых кодов восстановления в профиле; ослабления настроек входа; и для ряда действий в других частях консоли (правила, лицензия, SIEM и т. п. — они описаны в своих разделах).
Выход: страница «Sign out»
Пункт Sign out в меню пользователя завершает сеанс сразу, без вопроса. Страница /signout с вопросом «End your console session?» и кнопкой Sign out открывается, только если перейти на этот адрес напрямую (например, по закладке). После выхода сеанс закрыт на шлюзе, а не только в браузере. Выход также «забывает» этот браузер для входа через Windows (запомненное устройство).
Сроки жизни сеанса
| Что | Срок | Где меняется |
|---|---|---|
| Ввод кода после пароля | 5 минут | Не меняется. |
| Смена пароля и настройка TOTP (вместе) | 15 минут | Не меняется. |
| Рабочий сеанс: простой | 30 минут по умолчанию; от 5 до 720 минут | Console idle time before sign-out, min |
| Рабочий сеанс: общий предел | 12 часов, в любом случае | Не меняется. |
| Повторное подтверждение | 10 минут | Не меняется. |
| Токен BURSUcm | 8 часов по умолчанию; от 1 до 168 часов | BURSUcm token lifetime, h |
| Один код покрывает входы через Windows | 1 час по умолчанию; от 0 до 24 часов | One code covers Windows sign-ins for (hours) |
Конец сеанса не сопровождается сообщением: человека просто переносит на страницу входа, а после входа — на ту страницу, на которой он был. Идентификатор сеанса лежит в cookie __Host-bpam-session (только для HTTPS, недоступен скриптам). На каждом шаге входа шлюз выдаёт новое значение cookie.
Блокировка учётной записи
Пять неверных паролей подряд блокируют учётную запись на 15 минут. Оба числа — настройки (Failed attempts before a lockout и Lockout length, min), они читаются при каждом входе. Особенности:
- Считаются не только неверные пароли, но и неверные коды второго фактора и неудачные повторные подтверждения.
- Правильный пароль сам по себе счётчик не сбрасывает; счётчик сбрасывается, когда вход завершён полностью или когда повторное подтверждение прошло с паролем и кодом.
- Если с последней неудачи прошло больше времени, чем длится блокировка, счёт начинается заново.
- Заблокированный человек видит Account temporarily locked until {0}. Администратор может снять блокировку досрочно кнопкой Unlock в карточке пользователя.
- Блокировка пользователя каталога действует так же. Кроме того, действует и собственная блокировка каталога: она выглядит как «Incorrect login or password».
Устройство окна
Каждая страница консоли состоит из верхней панели, бокового меню и рабочей области.
Верхняя панель
- Слева: кнопка Menu (на узком экране — открывает боковое меню) и название BURSU PAM; оно ведёт на стартовую страницу.
- Alerts — колокольчик (см. Колокольчик).
- Language — выпадающий список языков. Выбор сохраняется сразу.
- Switch theme — кнопка с луной: переключает светлую и тёмную тему.
- Меню пользователя (User menu): имя человека. В нём три пункта: My profile, Language and theme и Sign out.
Боковое меню
Меню составлено по ролям и показывает только то, что человек может открыть. Кнопка Collapse menu внизу сворачивает меню. У согласующего рядом с пунктом Approvals стоит число запросов, ожидающих его решения. Пункт My profile показывается в боковом меню, только если кроме общих пунктов (My access и Help) человеку ничего не доступно, то есть у него одна роль User; всем остальным «My profile» доступен в меню пользователя сверху.

Меню и разделы настроек: английский и русский
Консоль переведена на восемь языков. На снимках и в этом руководстве показан английский интерфейс. Ниже — все пункты бокового меню и все плитки раздела Settings с английскими и русскими подписями из файлов перевода (nav.*, sethub.*, role.*) и с указанием, кто их видит.
Русские, украинские и грузинские строки консоли ещё ждут утверждения владельцем продукта. Немецкие, испанские и обе португальские строки — хороший перевод, но не вычитаны носителем языка. Если подпись в вашем языке кажется неточной, ориентируйтесь на английскую: именно она показана на снимках руководства.
Боковое меню
| Группа меню (EN) | Пункт (EN) | Пункт (RU) | Адрес | Кто видит |
|---|---|---|---|---|
| Mine / Моё | My access | Мой доступ | /access | любой вошедший |
| — | Overview | Обзор | /overview | Administrator Auditor |
| Users / Пользователи | Users | Пользователи | /users | Administrator |
| Users / Пользователи | Groups | Группы | /groups | Administrator |
| Resources / Ресурсы | Servers | Серверы | /servers | Administrator |
| Resources / Ресурсы | Device profiles | Профили устройств | /servers/profiles | Administrator Auditor |
| Resources / Ресурсы | Accounts | Учётные записи | /accounts | Administrator |
| Access / Доступ | Access rules | Правила доступа | /rules | Administrator |
| Access / Доступ | Approvals | Согласования | /approvals | Approver |
| Access / Доступ | Command control | Контроль команд | /commands | Administrator Auditor |
| Audit / Аудит | Sessions | Сессии | /audit/sessions | Administrator Auditor |
| Audit / Аудит | Emergency access | Аварийный доступ | /audit/breakglass | Administrator Auditor Approver |
| Audit / Аудит | File transfers | Передача файлов | /audit/files | Administrator Auditor |
| Audit / Аудит | Clipboard | Буфер обмена | /audit/clipboard | Administrator Auditor |
| Audit / Аудит | VNC sessions | Сессии VNC | /audit/vnc-sessions | Administrator Auditor |
| Audit / Аудит | Statements | Запросы | /audit/statements | Administrator Auditor |
| Audit / Аудит | Sign-in log | Журнал входов | /audit/logins | Administrator Auditor |
| Audit / Аудит | Audit log | Журнал аудита | /audit | Administrator Auditor |
| Audit / Аудит | Integrity check | Проверка целостности | /audit/integrity | Administrator Auditor |
| System / Система | Settings | Настройки | /settings | Administrator |
| Help / Справка | File transfer | Передача файлов | /help/files | любой вошедший |
| Help / Справка | Database clients | Клиенты баз данных | /help/databases | любой вошедший |
| Help / Справка | VNC viewers | Просмотрщики VNC | /help/vnc | любой вошедший |
| Help / Справка | Command control | Контроль команд | /help/commands | любой вошедший |
| — | My profile | Мой профиль | /profile | любой вошедший |
Пункты группы «Audit» и страницы «Approvals», «Command control», «Device profiles» и «Emergency access» описаны в частях руководства об аудите, запросах и ресурсах. Пункт My access — в части для пользователей.
Плитки раздела «Settings»
| Группа плиток (EN / RU) | Плитка (EN) | Плитка (RU) | Адрес | Подпись под названием (EN) |
|---|---|---|---|---|
| Security / Безопасность | Sign-in and MFA | Вход и MFA | /system/auth | Two-factor sign-in, lockouts, password rules and idle time. |
| Security / Безопасность | Directories | Каталоги | /system/directories | Active Directory and LDAP servers whose users sign in. |
| Security / Безопасность | Encryption key | Ключ шифрования | /system/key | The key that encrypts account secrets, and its mode. |
| Security / Безопасность | Gateway SSH key | SSH-ключ шлюза | /system/ssh | The host key SSH clients see when they connect. |
| Security / Безопасность | RDP file signing | Подпись файлов RDP | /system/rdp-signing | The certificate that signs .rdp files. |
| Sessions and protocols / Сессии и протоколы | Sessions | Сессии | /system/sessions | Recording, idle time, banner, RDP limits and file transfers. |
| Sessions and protocols / Сессии и протоколы | VNC | VNC | /system/vnc | Limits, listener and video export for VNC sessions. |
| Sessions and protocols / Сессии и протоколы | Databases | Базы данных | /system/databases | Pass lifetimes, limits and protections for database connections. |
| Integrations / Интеграции | SIEM export | SIEM-экспорт | /system/siem | Send the audit log to a SIEM over syslog. |
| Integrations / Интеграции | Notifications | Уведомления | /system/notifications | E-mail and webhook alerts for requests and emergency use. |
| System / Система | Status | Состояние | /system/status | Certificate, address and trusted proxies (read only). |
| System / Система | Licence | Лицензия | /system/licence | The licence in force, the server limit and activation. |
Названия ролей
| Ключ | Роль (EN) | Роль (RU) |
|---|---|---|
role.administrator | Administrator | Администратор |
role.auditor | Auditor | Аудитор |
role.approver | Approver | Согласующий |
role.user | User | Пользователь |
Колокольчик «Alerts»
Колокольчик — значок в верхней панели. Число на нём — количество текущих проблем. Он есть у администратора, аудитора и согласующего, а также у любого человека, у которого есть собственные оповещения о запросах. Нажатие открывает список; если проблем нет, написано No current problems. Пункт со ссылкой ведёт на страницу, где проблему можно разобрать; человеку, которому эта страница недоступна, пункт показывается без ссылки.

Сам перечень проблем (здесь — общая картина, детали есть в разделах, к которым пункты ведут):
- Собственные записи человека: Requests waiting for your decision: {0}, Your requests that were decided: {0}, Commands waiting for your confirmation: {0}, а также об аварийном доступе (Emergency access used and not yet reviewed: {0} и Emergency access reviews overdue: {0}).
- Общие проблемы для администратора и аудитора: ключ шифрования закрыт или устарел, заблокированные пользователи за последний час, очередь локального журнала, смена ключа хоста у сервера, каталоги без наблюдения или без подтверждённого корневого сертификата, сбои записи сессий, нехватка места на диске, расхождение часов, сбой SIEM-экспорта, проблемы лицензии, нарушение цепочки журнала и другие (полный список состояний — в разделе Status).
Полосы над содержимым
- Предупреждение о лицензии. Красная или жёлтая полоса, которую видит каждый вошедший, пока лицензия закончилась, находится в льготном периоде, привязана к другому серверу или не установлена. У администратора в полосе есть ссылка Open the licence page. Тексты и действия — в разделе «Лицензия».
- Полоса аварийного доступа. Пока у человека действует его собственный аварийный доступ, на каждой странице написано: «Emergency access is active until {0}. This use is recorded and will be reviewed.»
- Результат действия. После сохранения, удаления или другого действия над страницей на короткое время показывается зелёная (успех) или жёлтая (предупреждение) полоса с сообщением: например, Saved., Deleted., Created.
- Водяной знак. Если включена настройка Watermark, по всему окну консоли диагонально повторяется «логин (Имя)» вошедшего человека.
Язык интерфейса
Язык консоли выбирается для каждого человека отдельно. Шлюз выбирает язык в таком порядке — берётся первое подходящее:
- язык, сохранённый в профиле человека (после первого выбора в консоли);
- cookie с языком браузера (выбор на странице входа или в верхней панели);
- заголовок браузера Accept-Language;
- язык по умолчанию, выбранный при первоначальной настройке шлюза;
- английский.
Доступны восемь языков: English (en), Deutsch (de), Español (es), Português — Portugal (pt), Português — Brasil (pt-br), Русский (ru), Українська (uk), ქართული (ka). Выбор в верхней панели или на странице Language and theme записывается в профиль и в cookie (на год) и попадает в журнал аудита как «Language changed».
Страница «Language and theme»
Адрес — /preferences. Открывается из меню пользователя и доступна каждому вошедшему. Две формы:
| Форма | Что внутри | Что делает |
|---|---|---|
| Console language | Карточки языков (по одной на язык, надпись на самом языке). Кнопка Save. | Сохраняет язык в профиле и в cookie. |
| Theme | Три карточки: As in the system, Light, Dark. Кнопка Save. | Сохраняет тему только в cookie этого браузера. Значение «As in the system» следует за настройкой операционной системы. |

Страница «My profile»
Адрес — /profile. Открыть её может любой вошедший. Для человека только с ролью User это вся консоль, кроме «My access» и справки. Что на странице:

| Блок | Что в нём |
|---|---|
| Password | Поля Current password, New password, Repeat и кнопка Change password. Длина — не меньше значения настройки Minimum password length. После смены: «Password changed. Your other sessions have ended.» — все остальные сеансы человека закрываются. Если текущий пароль неверен: The current password did not match. (такая попытка считается в блокировку). Пользователь каталога вместо формы видит пояснение «Your password is your domain password. Change it in Windows.» (для LDAP — «Your password is your directory password. Change it where your organisation manages directory passwords, or ask your administrator.»). |
| Two-factor sign-in | Строка TOTP со статусом on и датой настройки («Set up on {0}») или not set up. Если TOTP включён, ещё две строки: Authenticator app с кнопкой Set up again и Recovery codes с числом оставшихся кодов («N of 10 recovery codes left») и кнопкой Create new ones. |
| Remembered devices | Браузеры и приложения, для которых вход через Windows не спрашивает код (см. настройку One code covers Windows sign-ins for (hours)). Колонки Browser or app, Remembered, Until; кнопки Forget (одно устройство) и Forget all devices. Если ничего не запомнено: «No device is remembered.» |
| BURSUcm tokens | Входы приложения BURSUcm через шлюз. Колонки Issued, Expires, State (active, expired, revoked). Кнопка Revoke с подтверждением «Revoke the token issued on {0}? The app loses access at once.» отзывает токен немедленно. Без токенов: «No tokens yet.» |
| My access | Только чтение: серверы, к которым у человека есть доступ по правилам (Server, Address, Accounts, Granted, Valid until). Доступ выдаётся администратором через правила. Если ничего нет: «No access to servers yet.» |
Новое приложение-аутентификатор: страница «New authenticator app»
Адрес — /profile/totp (кнопка Set up again). Нужно повторное подтверждение (10 минут). Шаги: нажмите Start, отсканируйте новый QR-код, введите код из нового приложения и нажмите Confirm. До подтверждения продолжает работать прежнее приложение. После подтверждения шлюз выдаёт новые десять кодов восстановления («New recovery codes replace the old ones»), завершает все остальные сеансы человека и забывает его запомненные устройства. Кнопка Done возвращает в профиль.
Новые коды восстановления: страница «New recovery codes»
Адрес — /profile/codes (кнопка Create new ones). Нужно повторное подтверждение. Нажмите Create new codes: прежние коды перестают работать сразу, новые десять показываются один раз. Сохраните их кнопкой Download .txt или распечатайте (Print).
В профиле нет кнопки «настроить TOTP впервые»: кнопки Set up again и Create new ones показываются только человеку, у которого TOTP уже есть. Если администратор выключил настройку Require TOTP, а человек вошёл без второго фактора, он сможет настроить его, только когда настройку включат снова (при следующем входе ему будет предложена страница настройки). Если вам нужен второй фактор для всех, оставьте Require TOTP включённой.
Общие элементы списков
Списки пользователей, групп и многих других объектов устроены одинаково:
- Quick filters — «чипы» над таблицей. У каждого справа число записей. Выбранный чип подсвечен; All снимает фильтр.
- Строка поиска (поле Search с подсказкой, например «Login, name, group»). Клавиша / переводит курсор в строку. Поиск обрезается до 200 символов; символы шаблонов не имеют особого смысла.
- Кнопка создания (например, Create user), меню Actions с групповыми действиями (появляется после отметки строк флажками), CSV (выгрузка списка целиком с учётом фильтра и поиска; выгрузка записывается в журнал аудита как «audit.export») и Refresh.
- Клик по заголовку колонки сортирует по ней; повторный клик меняет направление.
- Внизу: «Total: N», выбор Per page (15, 30, 50 или 100; по умолчанию 15) с кнопкой Apply и номера страниц.
- Групповое действие над отмеченными строками спрашивает подтверждение: «Apply this action to the selected rows?» Если ничего не отмечено — «Nothing was selected.» Если фильтр ничего не нашёл — «Nothing matches this filter.»
Подтверждения и несохранённые изменения
Опасные действия (отключение, удаление, сброс) спрашивают подтверждение в окне с кнопками Confirm и Cancel. Если JavaScript выключен, то же подтверждение показывается на самой странице, в блоке «Confirm the action». Формы с полями предупреждают, если закрыть страницу с несохранёнными изменениями. Кнопка Reset возвращает поля к тем значениям, с которыми страница открылась.
Время и часовой пояс
Шлюз хранит время в UTC, а показывает в часовом поясе, который задан в gateway.json параметром displayTimeZone (например, Asia/Tbilisi). Если параметр не задан, берётся часовой пояс операционной системы шлюза. Дата и время выводятся в формате выбранного языка. Этот пояс одинаков для всех пользователей; в профиле он не меняется. См. раздел gateway.json.
Пользователи
Раздел Users (адрес /users) — список людей, которые входят в консоль и подключаются к серверам через шлюз. Раздел доступен только администратору (Administrator). Пользователи бывают двух видов:
- Локальные. Их создаёт администратор. Логин и пароль хранятся в базе шлюза (пароль — только в виде необратимого хеша). Первый администратор создаётся мастером первоначальной настройки (см. раздел Мастер первоначальной настройки).
- Пользователи каталога (Active Directory или LDAP). Они появляются сами при первом успешном входе. У них нет пароля на шлюзе; имя, роли и членство в группах приходят из каталога (см. Каталоги).
Список пользователей
Адрес — /users. Над таблицей — быстрые фильтры (Quick filters), каждый показывает число людей:
| Фильтр | Кого показывает |
|---|---|
| All | Всех. |
| Locked | Заблокированных после неудачных попыток входа (блокировка ещё не закончилась) и не отключённых. |
| Without MFA | Тех, у кого не настроен TOTP. |
| Disabled | Отключённых. |
| No sign-in for 30+ days | Тех, кто не входил больше 30 дней, и тех, кто не входил никогда. |

Поиск (Login, name, group) ищет по логину, имени и названию группы. Колонки таблицы:
| Колонка | Что показывает |
|---|---|
| Login | Логин; ссылка ведёт в карточку. У пользователя каталога логин выглядит как NETBIOS\имя (Active Directory) или имя@название-каталога (LDAP). |
| Name | Имя. Под именем пользователя каталога — метка с видом и названием каталога («Active Directory: имя»). |
| Roles | Роли через запятую. |
| Groups | Число групп; ссылка открывает вкладку Groups карточки. |
| MFA | TOTP — настроен; Not set up — не настроен. |
| State | Active, Locked или Disabled. Отключение сильнее блокировки. |
| Last sign-in | Время последнего завершённого входа в консоль или never. |
Сортировка есть у колонок Login, Name, Groups, State и Last sign-in. Справа в строке — кнопка Edit (у пользователей каталога её нет) и меню More actions: Open the card, Access (вкладка «Access» карточки), Log (вкладка «Log»). Кнопка CSV выгружает список с учётом фильтра и поиска; выгрузка попадает в журнал аудита.
Групповые действия. Отметьте строки флажками и откройте меню Actions: Enable и Disable. Для Disable шлюз просит подтверждение. Строки, которым действие ничего не меняет, пропускаются без записи в журнал. Если вы включили пользователя каталога, которого каталог по-прежнему отключает, шлюз предупредит: «Done for the selected rows. Users the directory disables stay disabled.»
Создание пользователя
Кнопка Create user открывает страницу /users/new («Create user»). Подсказка к странице: «A user created by an administrator changes the password and sets up TOTP at the first sign-in.»

| Поле | Что вводить | По умолчанию / ограничения |
|---|---|---|
| Login * | Логин: латинские буквы, цифры, точка, подчёркивание, дефис. | От 1 до 64 символов. Заглавные буквы приводятся к строчным. Двоеточие и @ запрещены, потому что логин входит в SSH-имя (логин:сервер:учётная запись). Менять нельзя после создания. Ошибка: «A login is 1-64 characters: latin letters, digits, dot, underscore, hyphen.» |
| Name * | Имя и фамилия (подсказка «First and last name»). | От 1 до 128 символов. Ошибка: «A name is 1-128 characters.» |
| Адрес для связи. | До 254 символов. Только для связи: вход идёт по логину. | |
| Groups | Группы, в которые войдёт человек (поле с поиском и метками). | Права по правилам групп добавляются к собственным правам человека. Пусто — ни в какой группе. |
| Roles * | Флажки Administrator, Auditor, User, Approver. | По умолчанию отмечена только User. Нужно отметить хотя бы одну роль: «Choose at least one role.» Administrator и Approver вместе не выбираются (см. Роли). Флажки недоступны, пока вы не подтвердили себя (кнопка-ссылка Confirm who I am, см. Повторное подтверждение); без подтверждения новый пользователь получит только роль User. |
| Temporary password | Пароль, который администратор передаёт человеку. Кнопка Generate подставляет случайный. | Пусто — шлюз сам создаст пароль (не короче 20 символов, без похожих знаков 0/O, 1/l/I). Свой пароль не короче значения настройки Minimum password length. Пароль меняется при первом входе. |
| Change password at the first sign-in | Флажок включён и недоступен для изменения. | Всегда включён для пользователей, созданных администратором. После смены пароля человек настраивает TOTP. |
| Active | Переключатель «Can sign in to the console and connect». | Включён. Выключенный — пользователь создаётся отключённым. |
| Create, Reset, Cancel | Create создаёт пользователя; Reset возвращает поля формы; Cancel возвращает к списку. | |
(Звёздочка отмечает обязательные поля.)
После нажатия Create страница показывает «User {0} is created.» Если пароль сгенерирован шлюзом, ниже появляется блок Temporary password: «Give it to the user separately from the login. It is shown only now; they change it at the first sign-in.» Пароль показывается один раз; записать его нужно сразу. Кнопки: Open the card и Create user (создать ещё одного). Если вы ввели пароль сами, блока с паролем нет.
Не снимайте экран с временным паролем и не отправляйте его вместе с логином в одном сообщении. Отправьте логин и пароль разными каналами.
Что пишется в журнал аудита: создание пользователя (User created) с ролями, группами и признаком «пароль сгенерирован». Если группа, в которую вы добавили человека, названа в шаблоне запросов как группа согласующих, пишется и событие о новом согласующем.
Изменение пользователя
Кнопка Edit (список или карточка) открывает /users/{id}/edit («Edit user {0}»). Поля те же, что при создании, кроме логина (он только для чтения) и блока паролей. Различия:
- Roles. Флажки доступны только в течение 10 минут после повторного подтверждения. Пока подтверждения нет, под флажками написано «Changing roles needs you to confirm who you are.» со ссылкой Confirm who I am. Если роли изменены без подтверждения, форма откажет: «Confirm who you are before changing roles.»
- Temporary password. Пусто — пароль остаётся прежним («Leave empty to keep the current password.»). Если ввести пароль, нужно повторное подтверждение: «Confirm who you are before setting a password.» Новый пароль человек должен сменить при следующем входе; все его сеансы закрываются, а блокировка входа, если она была, снимается (если вы меняете пароль себе, остаётся только текущий сеанс).
- Active. Выключатель отключает или включает пользователя.
- Форма несёт номер версии записи. Если другой администратор успел изменить того же человека, сохранение откажет: «The record was changed by another administrator — open it again.»
После Save шлюз возвращает в карточку с сообщением Saved. В журнал пишется одно событие на каждое изменение: сведения о человеке, добавление и удаление групп, смена ролей (со старым и новым значением), включение или отключение, сброс пароля.
Пользователей каталога изменить здесь нельзя: кнопки Edit у них нет, а переход по адресу ведёт в карточку с пояснением «This is set by the directory for domain users and cannot be changed here.»
Карточка пользователя
Адрес — /users/{id}. В заголовке: имя, логин, метка каталога (для пользователя каталога), кнопка Edit (кроме пользователей каталога) и кнопка Disable / Enable. Вкладки: Main, Groups, Access, Tokens, Log.

Вкладка Main состоит из двух блоков.
Блок Details: Login, Name, E-mail, Roles, Groups (метки-ссылки на группы), State (для заблокированного — «until {0}»; для пользователя каталога — пояснение «disabled in the directory», «expired in the directory», «in no mapped group» или «no longer in the directory»), Two-factor sign-in (TOTP и «recovery codes left: N of 10» или Not set up), Last sign-in, Created, Change password at the next sign-in. У пользователя каталога вместо последнего — блок Source с пояснением «Roles, directory groups, name and password of a domain user come from the directory.» и ссылкой Group mappings на карточку каталога.
Блок Quick actions:
| Строка | Кнопка | Что делает |
|---|---|---|
| Active «A disabled user cannot sign in; their tokens and sessions end at once.» | Disable / Enable | Отключение спрашивает подтверждение: «Disable {0}? They lose access to every server at once and their BURSUcm tokens are revoked. The audit log keeps their events.» Результат: «The user is disabled.» или «The user is enabled.» Если каталог по-прежнему отключает человека: «Enabled in the console, but the directory still disables this user.» Нельзя отключить самого себя и последнего активного локального администратора с TOTP. |
| Lock «Locked until {0} after failed attempts» или «Not locked» | Unlock | Снимает блокировку входа. Кнопка активна только у заблокированного. Результат: «The lock is lifted.» |
| Two-factor sign-in «Needs you to confirm who you are» | Reset MFA | Нужно повторное подтверждение, затем подтверждение действия: «Reset two-factor sign-in of {0}? At the next sign-in they set up TOTP again.» Удаляет приложение и коды восстановления, забывает запомненные устройства. Результат: «Two-factor sign-in is reset.» Кнопка недоступна, если TOTP не настроен. Откажет, если это последний администратор с TOTP. |
| Password «Temporary, changed at the next sign-in. Leave empty to generate one.» | Set (рядом Generate) | Нужно повторное подтверждение. Строки нет у пользователей каталога. Если поле пусто, шлюз создаёт пароль и показывает его один раз в блоке Temporary password. Пароль, введённый вами, не показывается: «Saved.» Все сеансы человека закрываются, блокировка входа снимается. |
| Console sessions «Sign out on every device at once» | End | После подтверждения «End every console session of {0}?» завершает все сеансы консоли этого человека и забывает его запомненные устройства. Результат: «The user's console sessions have ended.» |
Вкладка Groups — «The user's groups»: таблица (Name, Description, Rules — число правил группы). Справа вверху — выбор группы и кнопка Add to group. Кнопка Remove спрашивает: «Remove {0} from the group {1}? The group's rules stop applying to them.» У группы, в которой человек состоит благодаря каталогу, стоит метка from the directory; если членство только от каталога, кнопки Remove нет — оно управляется сопоставлением групп каталога. Если человек не в группах: «The user is in no group.»
Вкладка Access — «Access to servers»: «From every rule in effect and every future one, directly and through groups.» Колонки: Server, Address, Accounts, How (напрямую или через группу), Rule (ссылка), Valid until. Если правил нет: «No rule gives this user access.» Это вкладка только для чтения. Напомним: ходить на серверы может только человек с ролью User.
Вкладка Tokens — «BURSUcm tokens» (входы приложения BURSUcm через шлюз): колонки Issued, Expires, State; кнопка Revoke отзывает токен немедленно («Token revoked.»). Ниже — Remembered devices (устройства, запомненные для входа через Windows) и кнопка Forget devices (нужно повторное подтверждение и подтверждение действия: «Forget every remembered device of this person? Their next Windows sign-in asks the code.»).
Вкладка Log — последние события журнала аудита по этому человеку и ссылка на весь журнал.
Забыл пароль: на вкладке Main задайте новый временный пароль (Set). Потерял телефон: нажмите Reset MFA; при следующем входе человек настроит новое приложение. Заблокирован: Unlock. Человек сам может сменить пароль в «My profile».
Пользователи каталога
- Учётная запись появляется при первом успешном входе человека, который состоит хотя бы в одной сопоставленной группе. В журнал пишется «Directory user created».
- Роли и группы шлюза такого человека определяются сопоставлениями групп (см. Сопоставление групп). Вручную в консоли можно только добавить его в группу шлюза (это отдельное, «ручное» членство, которое каталог не трогает), отключить в консоли, сбросить MFA и завершить сеансы.
- Состояние в каталоге: disabled in the directory, expired in the directory, in no mapped group, no longer in the directory. Во всех этих случаях человек не может войти. Отключение в каталоге сразу обрывает его сеансы; блокировка в каталоге не пускает на новые входы, но уже идущие сеансы не обрывает.
- Если сопоставление группы каталога называет только группу шлюза (без роли), роли у человека не появятся, а на серверы ходит только роль User (см. Роли). Чтобы человек из каталога мог подключаться к серверам, хотя бы одно из его сопоставлений должно давать роль User.
- Пароль пользователя каталога меняется в каталоге.
Группы
Группа собирает людей, чтобы одно правило доступа действовало на всех сразу — и на нынешних участников, и на тех, кто присоединится позже. Раздел Groups (адрес /groups) виден только администратору. Группа шлюза не связана с группой каталога, пока вы не сопоставите их (см. Сопоставление групп).
Список групп
Адрес — /groups. Если групп ещё нет, показан экран «No groups yet» с пояснением «A group gathers users so one access rule covers all of them, now and when people join later.» и кнопкой Create group.

| Элемент | Что делает |
|---|---|
| Поиск Name, description | Ищет по названию и описанию. |
| Колонки | Name (ссылка в карточку), Members (ссылка на вкладку участников), Access rules (ссылка на вкладку правил), Description. Сортировка — по названию, числу участников, числу правил. Кнопка Edit в строке. |
| Actions → Delete | Групповое удаление отмеченных групп. Подтверждение: «Delete the selected groups? Their members stay, but lose the access the groups' rules give.» |
| CSV | Выгрузка списка (запись в журнале аудита). |
Создание и изменение группы
Кнопка Create group открывает /groups/new, кнопка Edit — /groups/{id}/edit («Edit group {0}»). Форма:
| Поле | Что вводить | Ограничения |
|---|---|---|
| Name * | Название группы. | От 1 до 128 символов («A group name is 1-128 characters.»). Название должно быть уникальным без учёта регистра: «This name is already taken.» |
| Description | Для чего группа. | До 1000 символов («A description is at most 1000 characters.»). |
| Create / Save, Reset, Cancel | Создать или сохранить; вернуть поля; отменить. Если запись уже изменил другой администратор: «The record was changed by another administrator — open it again.» | |
Карточка группы
Адрес — /groups/{id}. Кнопки в заголовке: Edit и Delete. Вкладки:
- Main: блок Details (название, описание, число участников и правил, дата создания) и последние события журнала по группе.
- Members: выбор людей в поле Add members («New members get the group's access at once.») и кнопка Add members. В таблице участников: Login, Name, State и кнопка Remove (с подтверждением «Remove {0} from the group {1}? The group's rules stop applying to them.»). Метка from the directory стоит у участников, пришедших из каталога; если членство только от каталога, кнопки Remove нет. Пока участников нет: «The group has no members.»
- Rules: правила, в которых названа группа (Name, Valid until, State — Enabled или Disabled). Если ни одно правило не называет группу: «No rule names this group.» Правила создаются в разделе «Access rules» (см. Правила доступа).

Удаление группы
Кнопка Delete в карточке спрашивает: «Delete the group {0}? Its members ({1}) stay, but lose the access its rules ({2}) give.» Удалить нельзя, если:
- группа использована в сопоставлении каталога: The group is used by a directory mapping. Remove the mapping first.;
- на группу ссылаются политики контроля команд: Command policies still apply to this: {0}. Edit the policies first. (сначала измените политики; см. раздел Контроль команд).
При удалении люди остаются, но теряют доступ, который давали им правила этой группы. В журнал пишется «Group deleted».
Журнал аудита фиксирует: создание, изменение и удаление группы, добавление и удаление участника («Member added», «Member removed»). Если член группы благодаря этому становится согласующим, пишется ещё и событие о новом согласующем (оно же даёт пункт в колокольчике).
Роли
Роль определяет, что человек видит в консоли и что может в ней менять. У человека может быть несколько ролей. Роли задаются в форме пользователя (Users) и для пользователей каталога — в сопоставлениях групп (Directories). Названия ролей в интерфейсе: Administrator, Auditor, Approver, User.
| Роль | Для кого | Что даёт |
|---|---|---|
| Administrator — «Users, servers, rules and settings» | Тот, кто настраивает шлюз. | Пользователи, группы, серверы, учётные записи, правила доступа, профили устройств, контроль команд, настройки, лицензия; чтение всех журналов и обзора. Сам к серверам через шлюз не подключается — для этого нужна роль User. |
| Auditor — «Overview and logs, read only» | Служба безопасности, проверяющие. | Обзор, журналы (сессии, передача файлов, буфер обмена, запросы баз данных, входы, журнал аудита, проверка целостности), профили устройств и контроль команд — только чтение; страница аварийного доступа с правом отмечать проверку. Ничего не меняет. |
| Approver — «Decides on access requests; cannot also be an Administrator» | Руководитель, который решает по запросам на доступ. | Страница Approvals, решения по запросам, страница аварийного доступа (проверка). Консоль администратора ему недоступна. |
| User — «Connects to servers by the rules; “My profile”» | Обычный сотрудник. | Подключения к серверам по правилам доступа (SSH, SFTP, RDP, VNC, базы данных), страницы My access, Help и My profile. |
Роли и разделы консоли
В таблице: «да» — видит и может менять; «чтение» — видит, но не меняет; «—» — раздел скрыт.
| Раздел | Administrator | Auditor | Approver | User |
|---|---|---|---|---|
| My access, Help, My profile, Language and theme | да | да | да | да |
| Overview | да | чтение | — | — |
| Users, Groups | да | — | — | — |
| Servers, Accounts, Access rules | да | — | — | — |
| Device profiles | да | чтение | — | — |
| Command control | да | чтение | — | — |
| Approvals | — | — | да | — |
| Группа Audit: Sessions, File transfers, Clipboard, VNC sessions, Statements, Sign-in log, Audit log, Integrity check | чтение | чтение | — | — |
| Emergency access (журнал) | чтение | чтение и проверка | чтение и проверка | — |
| Settings (все плитки, включая Sign-in and MFA, Directories, Encryption key, Status) | да | — | — | — |
| Подключение к серверам через шлюз | — | — | — | да |
У аудитора кнопок «изменить» и «удалить» нет вообще. Вся работа аудитора — просмотр, фильтры и выгрузка CSV. Права администратора на подключение к серверам нет: если вашему администратору нужно ходить на серверы, дайте ему ещё и роль User.
Administrator и Approver несовместимы
Один человек не может быть одновременно администратором и согласующим. Смысл правила: тот, кто управляет правилами доступа, не должен сам утверждать запросы по ним. Что происходит:
- В форме пользователя при выборе обеих ролей шлюз откажет: Approver and Administrator exclude each other: nobody approves requests while managing the rules. Choose one of the two. Ту же причину называет и общая ошибка A person cannot be both an Administrator and an Approver.
- В каталоге: если группы человека дают обе роли, роль Approver не выдаётся, а в колокольчике появляется предупреждение Directory roles refused (Administrator wins over Approver): {0}. Исключение: если у человека уже есть Approver (и нет Administrator), а сопоставления теперь дают обе, остаётся та роль, которая уже была, то есть Approver, а отклоняется Administrator. Подробнее — в разделе Сопоставление групп.
Локальный администратор («аварийный вход»)
Шлюз всегда держит хотя бы одного активного локального администратора с настроенным TOTP. Это правило проверяется при любом изменении, которое могло бы нарушить его. Роль администратора пользователя каталога в расчёт не берётся, потому что каталог может отобрать её в любой момент (например, при недоступности каталога вы всё равно должны суметь войти). Поэтому:
- нельзя убрать у себя роль администратора («You cannot remove your own Administrator role.»);
- нельзя отключить самого себя («You cannot disable yourself.»);
- нельзя отключить, лишить роли или сбросить MFA у последнего активного локального администратора с TOTP: At least one active administrator with two-factor sign-in must remain.
Администратор, созданный мастером первоначальной настройки, — локальный. Не удаляйте и не отключайте его, пока не создадите другого локального администратора с TOTP. Не путайте эту «аварийную» учётную запись с функцией Emergency access (аварийный доступ к серверу по правилу), которая описана в части о запросах (см. Аварийный доступ).
Если в организации администраторы входят только через каталог, а каталог недоступен или отозвал роль, в консоль не сможет войти никто. Всегда держите минимум одного локального администратора с рабочим TOTP и кодами восстановления в сейфе.

Каталоги (Active Directory и LDAP)
Каталог позволяет сотрудникам входить в шлюз своим доменным паролем, не заводя отдельную учётную запись и пароль на шлюзе. Шлюз поддерживает Active Directory и обычные LDAP-серверы (OpenLDAP, 389 Directory Server, FreeIPA). Раздел находится в Settings → Directories (адрес /system/directories) и доступен только администратору. Одновременно можно подключить несколько каталогов.
Как это работает:
- Шлюз ходит в каталог под служебной учётной записью (bind): ищет человека по логину и читает его группы. Пароль человека проверяется отдельным «bind» от его имени и нигде не сохраняется.
- Соединение только по LDAPS (шифрованное). Доверие к серверу устроено «закреплением корня»: администратор подтверждает один корневой сертификат, и шлюз принимает только серверы, чей сертификат выдан под этим корнем. Системные удостоверяющие центры не используются.
- Роли и группы шлюза человек получает через сопоставления групп: «группа каталога → роль и/или группа шлюза». Человек, не состоящий ни в одной сопоставленной группе, войти не может.
- Шлюз следит за каталогом и реагирует на изменения: отключённый в каталоге человек теряет доступ сразу, изменение членства в группах применяется за секунды.
(1) служебную учётную запись только на чтение: ей достаточно искать пользователей и группы и читать их атрибуты; (2) адрес контроллера домена с LDAPS (порт 636); (3) корневой сертификат удостоверяющего центра, которым подписан сертификат контроллера (файл .cer, .crt, .pem или .der); (4) названия групп каталога, которые будут давать роли.
Список каталогов
Адрес — /system/directories. Подсказка: «Active Directory domains and LDAP servers whose users sign in to the gateway. Roles and gateway groups come from the directory groups mapped here.» Если каталогов нет, написано: «No directory is connected. Only local users sign in.» Кнопка Add directory создаёт каталог.

| Колонка | Что показывает |
|---|---|
| Name | Название; ссылка в карточку. |
| Kind | Active Directory или LDAP. |
| Servers | Адреса серверов через запятую. |
| Default | Да или нет: по умолчанию ли этот каталог. |
| State | Состояние наблюдения за каталогом (см. таблицу ниже). |
| Состояние | Что означает | Что делать |
|---|---|---|
| off | Каталог выключен (Turned on снято). Никто не входит из него; открытые сеансы продолжаются. | Включите в форме каталога, когда нужно. |
| certificate not confirmed | Корневой сертификат ещё не подтверждён. Шлюз к каталогу не подключается, входы через него отклоняются. Колокольчик показывает ошибку. | Откройте карточку и подтвердите или загрузите корень (Подтверждение сертификата). |
| connecting | Шлюз подключается; состояние кратковременное. | Подождите; если не проходит — кнопка Check connection покажет причину. |
| watched | Шлюз подписан на изменения каталога. Нормальное состояние. | Ничего. |
| not watched | Не удаётся наблюдать за каталогом (например, нет связи). Изменения доступа в нём будут видны только при следующем входе человека или проверке билета и при восстановлении наблюдения. Колокольчик показывает ошибку. | Проверьте связь и сертификат кнопкой Check connection. |
| does not report changes | Этот сервер не умеет сообщать об изменениях: «This directory does not report changes; access is re-checked at the next sign-in or connection.» | Ничего; доступ проверяется при каждом входе и в ходе периодической сверки (до 15 минут). |
Добавление и изменение каталога
Кнопка Add directory открывает /system/directories/new («Add directory»); кнопка Edit в карточке — /system/directories/{id}/edit («Change directory»). Обе страницы требуют повторного подтверждения (10 минут).

| Поле | Что вводить | Ограничения |
|---|---|---|
| Секция «Directory» | ||
| Name * | Короткое название каталога строчными буквами, как имя домена. | Не больше 63 символов: латинские буквы, цифры, точки и дефисы. Для LDAP-пользователей это ещё и часть логина: вход как имя@это-название. Должно быть уникальным среди каталогов. Ошибка: «Use 1–63 lower-case letters, digits, dots and hyphens.» |
| Kind * | Active Directory или LDAP. | Для AD поля LDAP-атрибутов скрыты и не используются; для LDAP скрыты суффиксы UPN и NetBIOS. |
| Default directory | Переключатель: «A login without a domain is looked up here after the local users.» | Только один каталог может быть каталогом по умолчанию. Если логин введён без домена, шлюз ищет его сначала среди локальных пользователей, затем в этом каталоге. |
| Turned on | Переключатель: «When off, nobody signs in from this directory; open sessions continue.» | По умолчанию включён. |
| Секция «Connection» | ||
| Servers * | От одного до восьми серверов: host или host:port, по одному в строке («tried in order», то есть шлюз пробует по порядку). Порт по умолчанию 636. | Допускаются только DNS-имена и адреса IPv4 (IPv6 — в квадратных скобках). Порты 389 и 3268 (обычный LDAP) запрещены: «Port 389 and 3268 are plain LDAP. Use LDAPS (636 or 3269).» Ошибка формата: «Give one to eight servers as host or host:port.» Префикс ldap:// не принимается. Имя сервера должно совпадать с именем в его сертификате. |
| Users base DN * | Корень поиска пользователей, например OU=People,DC=pam,DC=example,DC=ge. | Должен быть DN (до 1024 символов). Ошибка: «This is not a distinguished name.» |
| Groups base DN * | Корень поиска групп. | Тот же формат. Если вложенные группы лежат вне этой ветки, используйте корень домена (см. Ограничения). |
| UPN suffixes | Только AD. Суффиксы UPN через запятую, например pam.bursu.test. | Каждый суффикс — DNS-имя. Ошибка: «A UPN suffix looks like pam.bursu.test.» Нужен для входа как имя@суффикс. Суффикс не может принадлежать двум каталогам. |
| NetBIOS domain name | Только AD. Короткое имя домена, например PAM. | Обязательно для AD: до 15 букв, цифр и дефисов («Active Directory needs its NetBIOS name: up to 15 letters, digits and hyphens.»). Позволяет входить как NETBIOS\имя. Уникально среди каталогов. |
| Extra user filter | Необязательно. Один LDAP-фильтр в скобках, который ограничивает, кто считается пользователем, например (!(employeeType=contractor)). | Ошибка: «The filter must be one LDAP filter in parentheses.» |
| Секция «Service account» | ||
| Bind DN * | DN служебной учётной записи (или UPN-подобное имя, принятое каталогом как DN). | Должен быть DN. Ошибка: «This is not a distinguished name.» |
| Bind password * | Пароль служебной записи. | Только для записи (write-only): хранится зашифрованным и больше нигде не показывается. Не длиннее 256 символов. При создании обязателен («Enter the service account's password.»). При изменении пустое поле оставляет прежний пароль, но если вы меняете серверы, Bind DN или вид каталога, пароль нужно ввести снова. |
| Секция «LDAP attributes» (только для вида LDAP) | ||
| Login attribute | Атрибут логина. По умолчанию uid. | Имя атрибута начинается с буквы и состоит из букв, цифр и дефисов (до 64 символов). Ошибка: «An attribute name starts with a letter and has letters, digits and hyphens.» Активный каталог эти поля игнорирует. |
| E-mail attribute | По умолчанию mail. | |
| Name attribute | По умолчанию cn. | |
| Identifier attribute | Неизменяемый идентификатор записи. По умолчанию entryUUID. | |
| Member-of attribute | Атрибут «в каких группах состоит». По умолчанию memberOf. | |
| Member attribute | Атрибут «кто входит в группу». По умолчанию member. | |
| Create / Save, Cancel | Создать или сохранить. Если запись уже изменил другой администратор: «The record was changed by another administrator — open it again.» Если суффикс, NetBIOS-имя или название уже заняты другим каталогом: Another directory already uses this UPN suffix, NetBIOS name or name. | |
(Звёздочка отмечает обязательные поля.)
Если вы изменили список серверов, подтверждённый корневой сертификат сбрасывается: каталог перейдёт в состояние «certificate not confirmed», и его надо будет подтвердить заново, как при создании. Пока этого не сделано, входы через каталог отклоняются.
После Create шлюз открывает карточку с сообщением «Directory added.» В журнал пишется «Directory added» (вид, число серверов, признак «по умолчанию»); при изменении — «Directory changed» с перечнем изменённых полей, признаком сброса сертификата и признаком смены пароля (сам пароль в журнал не попадает).
Карточка каталога
Адрес — /system/directories/{id}. В заголовке: Edit и Delete (см. Удаление и отключение). Блоки карточки:
- Connection: вид, серверы, оба DN, суффиксы и NetBIOS (для AD), признак по умолчанию, Bind DN, Turned on, State, Last change seen (когда каталог в последний раз сообщил об изменении) и Gateway users from it (сколько пользователей шлюза пришли из этого каталога).
- Root certificate: подтверждённый корень (отпечаток SHA-256 или «Not confirmed yet»), кнопка Check connection, представленный сервером корень, кнопка Confirm this certificate и загрузка файла корня.
- Windows sign-in (Kerberos) — только у AD (см. Вход через Windows).
- Group mappings (см. Сопоставление групп).

Действия на карточке, которые что-то меняют (подтверждение и загрузка сертификата, сопоставления, удаление, отключение), требуют повторного подтверждения (10 минут); без него шлюз перенаправит вас на страницу подтверждения и вернёт назад. Кнопка Check connection и поиск групп повторного подтверждения не требуют. Действия, которые обращаются к каталогу, ограничены: 10 нажатий в минуту с одного адреса, поиск групп — 20 в минуту на сеанс.
Проверка подключения
Кнопка Check connection ничего не меняет. Она пробует войти под служебной записью, выполнить поиск пользователей и узнать, умеет ли сервер сообщать об изменениях, и заодно читает сертификат, который предъявляет сервер. Результат в записи журнала «Directory connection checked». Успех выглядит так: «Signed in as the service account; entries found: N.» и, ниже, «The directory reports changes.» (или «This directory does not report changes; access is re-checked at the next sign-in or connection.»). Если не удалось, показано одно из сообщений (все они перечислены и в главе «Неисправности»):
| Сообщение | Что произошло |
|---|---|
| The directory cannot be reached. | Не удалось соединиться ни с одним сервером, или за отведённое время нет ответа. |
| The certificate is not under the confirmed root. | Сервер предъявил сертификат, который не выдан под подтверждённым корнем или не называет этот сервер. |
| No root certificate is confirmed yet: confirm the presented one or upload the root below. | Корень ещё не подтверждён: проверять нечем. |
| The directory refused the service account. | Неверный Bind DN или пароль, либо служебная запись заблокирована. |
| The service account cannot search the users base. | Вход прошёл, но поиск в ветке Users base DN не удался (ветки нет или нет прав на чтение). |
| This Linux gateway was started without LDAPNOINIT=1, … | Проблема не в каталоге, а в окружении шлюза на Linux (см. Linux и LDAPNOINIT). |
Подтверждение корневого сертификата
Пока корень не подтверждён, шлюз каталог не использует: он никогда не доверяет сертификату сервера «на слово». Подтвердить корень можно двумя способами.
- Нажмите «Check connection». Если сервер прислал цепочку сертификатов вместе с корнем, под результатом появятся Presented root (отпечаток SHA-256) и Answered by (какой сервер ответил). Сверьте отпечаток с эталоном, полученным по независимому каналу (у владельца удостоверяющего центра), и нажмите Confirm this certificate. Шлюз прочитает цепочку ещё раз и сохранит корень, только если он тот же, что вы видели, и если сертификат каждого настроенного сервера построен под ним и называет этот сервер.
- Загрузите файл корня. Контроллер домена Active Directory обычно присылает только свой собственный сертификат, без корня («The directory did not send its root certificate. Upload it (.cer or .pem).»). Экспортируйте корневой сертификат удостоверяющего центра домена (DER или Base-64) и загрузите его в поле Root certificate file кнопкой Upload. Принимаются файлы
.cer,.crt,.pem,.derразмером до 64 КБ, и только самоподписанный сертификат удостоверяющего центра.
Результат: «The certificate is confirmed.» и запись в журнале «Directory certificate confirmed». Возможные отказы:
| Сообщение | Причина |
|---|---|
| This file is not a root CA certificate. | Файл не читается или это не самоподписанный сертификат удостоверяющего центра. |
| The directory now presents another certificate; check again. | Пока вы подтверждали, сервер предъявил другой корень. Повторите проверку. |
| The certificate {0} presents is not issued under this root or does not name {0}. Nothing was stored. | Сертификат сервера не выдан под этим корнем или не называет этот сервер (проверяется имя в расширении SAN; CN не используется). Нужен другой корень или другое имя сервера в настройке. |
| {0} cannot be reached. A root is checked against the certificate each server presents, so every server must answer. Nothing was stored. | Корень проверяется по сертификату каждого сервера из списка; недоступный сервер задерживает подтверждение. |
| The directory presents a different root certificate than the confirmed one. | Предупреждение: сервер теперь предъявляет иной корень, чем подтверждённый. Либо корень сменили намеренно (подтвердите новый), либо это подмена — выясните прежде, чем подтверждать. |
Подтверждённый корень — основа доверия: если подтвердить чужой, шлюз станет отправлять пароли сотрудников на чужой сервер. Сравните отпечаток с тем, что дал владелец удостоверяющего центра.
Сопоставление групп
Блок Group mappings на карточке каталога: «A person in a mapped group signs in with the role and joins the gateway group given here. A person in no mapped group cannot sign in.» Для каждой группы каталога выбираются роль и/или группа шлюза (достаточно чего-то одного: «Choose a role or a gateway group.»). Блок доступен только после подтверждения корня («Confirm the root certificate first: until then the gateway does not search this directory.»).

- Найдите группу. В поле Find a directory group введите часть названия (до 128 символов) и нажмите Search. Если групп нет: «No group matches.» Группа, которая уже сопоставлена, помечена already mapped. Группа поиска возвращает ограниченное число совпадений; уточняйте запрос.
- Выберите, что она даёт. В списке Role — no role, User, Auditor, Approver или Administrator; в списке Gateway group — no group или одна из групп шлюза.
- Нажмите «Map». Сопоставление сохранено: «Mapping saved.» Шлюз сразу заново читает людей каталога: «what the mapping gives reaches them within seconds». Если каталог в этот момент не читается: «Mapping saved. The directory cannot be read now: what the mapping no longer gives is already taken away; what it gives arrives once the directory can be read again.»
Существующее сопоставление можно изменить прямо в таблице (списки Role и Gateway group, кнопка Save) или удалить (Delete, подтверждение «Remove the mapping of {0}?»). Изменение и удаление применяются ко всем людям каталога сразу: то, что сопоставление перестало давать, отбирается немедленно; то, что оно даёт, приходит, когда каталог прочитан.
Как складываются права:
- Человек получает объединение всего, что дают сопоставления групп, в которых он состоит (в том числе во вложенных группах).
- Одна группа каталога сопоставляется только один раз. Основная группа пользователя (например, Domain Users в AD) сопоставлена быть не может: «A user's primary group (Domain Users) cannot be mapped: Active Directory does not list it as a membership.»
- Членство в группе шлюза, полученное от каталога, помечено в карточке как from the directory и снимается автоматически вместе с сопоставлением. Ручное членство (добавленное администратором в консоли) каталог не трогает.
- Администратор и согласующий несовместимы (Роли). Если сопоставления дают обе роли сразу, выдаётся Administrator, а Approver отклоняется. Если у человека уже есть Approver (и нет Administrator), а сопоставления теперь дают обе роли, остаётся Approver, а отклоняется Administrator. Отклонённая роль показывается в колокольчике: Directory roles refused (Administrator wins over Approver): {0}. Заметьте, что подсказка на карточке («A person whose groups give both Administrator and Approver gets Administrator only») описывает только первый случай.
- Группу шлюза, на которую ссылается сопоставление, удалить нельзя, пока сопоставление не снято (The group is used by a directory mapping. Remove the mapping first.).
Наблюдение и сверка
- Для каждого включённого каталога с подтверждённым корнем шлюз держит подписку на изменения в ветках пользователей и групп (уведомления Active Directory; для LDAP — syncrepl или persistent search). Изменение приходит в течение секунд. Состояние watched означает, что подписка работает.
- Кроме того, шлюз периодически заново сверяет всех людей каталога (не реже чем раз в 15 минут), а также при каждом входе человека и при проверке его билета для подключения к серверу.
- Отключение или удаление человека в каталоге, потеря им всех сопоставленных групп, смена пароля в каталоге приводят к завершению его сеансов и отзыву токенов. Блокировка в каталоге не пускает на новые входы, но уже идущие сеансы не обрывает.
- Если каталог недоступен, шлюз не «разрешает на всякий случай»: доступ, который отбирают, отбирается; доступ, который выдают, ждёт возможности прочитать каталог. Если каталог недоступен при входе, человек видит «The directory is not available. Try again later or contact the administrator.» Локальные пользователи, в том числе аварийный администратор, входят всегда.
Удаление и отключение каталога
Кнопка Delete в заголовке карточки спрашивает: «Delete directory {0}?» Она видна только тогда, когда из этого каталога ещё никто не входил. Если из каталога уже входили люди, удалить его нельзя: «Users signed in from this directory exist. Turn the directory off instead of deleting it.» Вместо этого на карточке есть кнопка Turn off с вопросом «Turn off directory {0}? Its users cannot sign in until it is turned on again.» (после неё: «Users signed in from this directory exist, so it cannot be deleted. It is turned off; turn it on again in its settings.»). Включить каталог можно в форме изменения (Turned on). В журнал пишется «Directory deleted» либо «Directory changed».
Вход через Windows (Kerberos)
Для Active Directory на странице входа можно включить кнопку Sign in with Windows: сотрудник, вошедший в домен, попадает в консоль без ввода пароля (затем шлюз всё равно просит второй фактор). Кнопка появляется на странице входа, только если хотя бы для одного включённого каталога AD всё готово (SPN, доменная учётная запись или keytab, проверка прошла).
Блок Windows sign-in (Kerberos) на карточке AD показывает, включён ли вход, SPN, номер версии ключа (kvno) и типы шифрования, и ведёт на страницу /system/directories/{id}/kerberos («Windows sign-in (Kerberos)»).

| Поле | Что вводить | Ограничения |
|---|---|---|
| Windows sign-in on | Переключатель. | Выключен по умолчанию. |
| Realm | Область Kerberos: DNS-имя домена заглавными буквами, например PAM.EXAMPLE.GE. | Ошибка: «A realm is the domain's DNS name in capitals, such as PAM.EXAMPLE.GE.» Одна область не может принадлежать двум каталогам. |
| Service name (SPN) | HTTP/ и полное DNS-имя шлюза, например HTTP/pam.example.ge. | Только имя, никогда не IP-адрес: «The SPN is HTTP/ followed by the gateway's full DNS name — never an address.» Это то же имя, по которому сотрудники открывают консоль. |
| Save | Кнопка. | Нужно повторное подтверждение. Пока загружен keytab, область и SPN не меняются: «Remove the keytab before changing the realm or the SPN.» |
Шлюз на Linux: файл ключей (keytab)
На Linux шлюзу нужен файл keytab с ключами служебного имени HTTP/…. Блок Keytab показывает Principal (SPN и область), Key version (kvno), Encryption types, Uploaded (когда и кем) и, после замены ключа, «Previous key (kvno N) kept until» (прежний ключ остаётся ещё на 10 часов, чтобы уже выданные билеты продолжали работать). Кнопки: Upload keytab (поле выбора файла .keytab) и Remove keytab (подтверждение «Remove the keytab of {0}? Windows sign-in through this directory stops.»). Файл хранится на шлюзе зашифрованным; в консоли его содержимое не видно.
Как администратору получить keytab. Ключи должны быть «посолены» так, как солит их контроллер домена для учётной записи, на которой висит SPN. Для учётной записи пользователя соль равна ОБЛАСТЬ + sAMAccountName. Любой из трёх способов (шлюз показывает ту же подсказку на странице):
- MIT ktutil (в Active Directory ничего менять не нужно):
Здесьktutil addent -password -p HTTP/<host>@<REALM> -k <kvno> -e aes256-cts-hmac-sha1-96 -s <REALM><account> addent -password -p HTTP/<host>@<REALM> -k <kvno> -e aes128-cts-hmac-sha1-96 -s <REALM><account> wkt gateway.keytab<kvno>— значениеmsDS-KeyVersionNumberучётной записи,<account>— её sAMAccountName (без домена). - msktutil. Утилита сама вычисляет нужную соль и версию ключа для служебной учётной записи; её параметры смотрите в документации утилиты.
- ktpass с параметрами +setpass +setupn на контроллере домена. Помните, что ktpass задаёт учётной записи новый пароль и повышает версию ключа, поэтому другие keytab этой записи перестают подходить.
Ключи такого keytab посолены иначе, чем ключи учётной записи в домене, и билеты по нему не расшифровываются. Проверка Check Kerberos сообщит: «The keytab's keys do not match the account. It was probably made with ktpass -setpass -setupn; make it again as the help shows.»
Требования к файлу: формат версии 0x0502 (его пишут ktpass и ktutil); хотя бы одна запись; все записи для области этого каталога и для SPN этого каталога; размер до 64 КБ; только ключи AES (RC4, DES и 3DES отклоняют весь файл). Если в файле только AES128, он принимается с предупреждением (рекомендуется AES256). После загрузки шлюз сразу проверяет ключ пробным билетом. Журнал: «Kerberos keytab changed» (без содержимого ключа).
Шлюз на Windows
На Windows keytab не нужен: служба шлюза запускается под доменной учётной записью (рекомендуется gMSA), а на ней регистрируется SPN. Страница вместо блока Keytab показывает The service runs as (под какой учётной записью работает служба) и Host joined to the domain (включён ли компьютер в домен). Для тех, кто будет входить, на компьютере шлюза должно быть право «Access this computer from the network» (доступ к компьютеру из сети); если групповая политика уровня Tier-0 его запрещает, вход через Windows у этих людей не работает.
Кнопка «Check Kerberos»
Кнопка Check Kerberos запускает проверку и показывает строки с уровнем (ok, info, warn, bad): годен ли keytab и окружение, кто держит SPN, совпадают ли kvno, не разрешены ли слабые типы шифрования, не включено ли делегирование, не состоит ли служебная запись в группах, принимается ли пробный билет с привязкой к каналу, недоступен ли порт 88 контроллера, расходятся ли часы (при расхождении 3 минуты — предупреждение, 5 минут — вход перестаёт работать). Все строки перечислены в главе «Неисправности». Проверка пишет в журнал «Directory connection checked».
Дополнительные подсказки на странице:
- Браузеры отправляют билет только тем именам, которые есть в их политике: зона «Местная интрасеть» или
AuthServerAllowlistдля Edge и Chrome,network.negotiate-auth.trusted-urisдля Firefox. Настройте это групповой политикой. - Вход через Windows требует, чтобы шифрованное соединение TLS заканчивалось на шлюзе (только сквозная передача TCP). Если в
gateway.jsonуказаны доверенные прокси, страница предупреждает об этом. - Настройка Channel binding for console sign-ins (Sign-in and MFA) определяет, нужна ли привязка к каналу. Значение по умолчанию — обязательна.
Linux и переменная LDAPNOINIT
На Linux шлюз должен запускаться через свой модуль systemd (bursu-pam-gateway.service): он задаёт LDAPNOINIT=1, без которого вход через каталог не работает. Причина: без этой переменной библиотека LDAP читает системный файл /etc/ldap/ldap.conf, а там на Ubuntu указан системный набор удостоверяющих центров; тогда шлюз доверял бы любому публичному центру, а не только подтверждённому вами корню. Поэтому шлюз без переменной отказывается соединяться с каталогами (безопасный отказ):
- доменные входы отвечают «The directory is not available…»;
- колокольчик показывает каталог как «не наблюдаемый» (Directories not watched);
- Check connection пишет, что на Linux-шлюзе не задан
LDAPNOINIT=1.
Решение: запускайте шлюз единицей systemd, которую ставит пакет. Локальные учётные записи, в том числе аварийный администратор, входят и так. На Windows ничего дополнительного не нужно: корень проверяется собственным механизмом шлюза. У каждого каталога на диске есть своя папка доверия <dataDirectory>/directories/<id>/, которую шлюз переписывает сам; не кладите туда файлы.
Известные ограничения входа через каталог
- Вложенные группы вне ветки групп. Члены вложенных групп находятся через цепочку (AD
LDAP_MATCHING_RULE_IN_CHAIN). Но если промежуточная группа лежит вне ветки Groups base DN, её изменение не приходит уведомлением и применяется при следующей сверке (не позже чем через 15 минут) либо при следующем входе или проверке билета. Держите такие группы внутри ветки групп или укажите корень домена. - LDAP без наложения ppolicy. Без атрибута
pwdChangedTimeсмена пароля в каталоге не обнаруживается: старые сеансы человека не закрываются, а просроченный пароль выглядит как неверный. В обоих случаях шлюз отказывает, а не разрешает. На OpenLDAP и 389-DS включите ppolicy. - Блокировка в каталоге не пускает на новые входы и новые билеты, но не завершает уже идущие сеансы (так же ведёт себя Windows с сеансами заблокированной учётной записи); отключение завершает.
Раздел «Settings»: настройки шлюза
Все настройки шлюза собраны на одной странице Settings (адрес /settings). Это единственный пункт бокового меню для всего, что администратор настраивает на шлюзе. Страница видна только администратору: у остальных ролей пункта Settings нет. Подсказка на странице: «Everything an administrator configures on the gateway, in one place. Each tile opens its page; changes are audited as before.»
Страница состоит из плиток, собранных в четыре группы. Каждая плитка — ссылка на страницу настройки с короткой подписью. Сами страницы по-прежнему находятся по адресам /system/…: закладки браузера и ссылки из колокольчика работают как раньше.

| Группа | Плитка | Подпись на плитке | Адрес | Где описано |
|---|---|---|---|---|
| Security | Sign-in and MFA | Two-factor sign-in, lockouts, password rules and idle time. | /system/auth | Sign-in and MFA |
| Directories | Active Directory and LDAP servers whose users sign in. | /system/directories | Каталоги | |
| Encryption key | The key that encrypts account secrets, and its mode. | /system/key | Encryption key | |
| Gateway SSH key | The host key SSH clients see when they connect. | /system/ssh | Gateway SSH key | |
| RDP file signing | The certificate that signs .rdp files. | /system/rdp-signing | RDP file signing | |
| Sessions and protocols | Sessions | Recording, idle time, banner, RDP limits and file transfers. | /system/sessions | Sessions |
| VNC | Limits, listener and video export for VNC sessions. | /system/vnc | VNC | |
| Databases | Pass lifetimes, limits and protections for database connections. | /system/databases | Databases | |
| Integrations | SIEM export | Send the audit log to a SIEM over syslog. | /system/siem | SIEM export |
| Notifications | E-mail and webhook alerts for requests and emergency use. | /system/notifications | Notifications | |
| System | Status | Certificate, address and trusted proxies (read only). | /system/status | Status |
| Licence | The licence in force, the server limit and activation. | /system/licence | Лицензия |
Адрес и порт шлюза, сертификат TLS, подключение к базе данных, доверенные прокси и часовой пояс отображения задаются в файле gateway.json и применяются после перезапуска службы (gateway.json, Сертификат, Сеть). На странице Status они только показаны.
Общие правила для страниц настроек:
- Каждая запись настройки попадает в журнал аудита вместе со старым и новым значением.
- Настройки, которые снижают защиту (например, отключение двухфакторного входа), требуют повторного подтверждения личности (повторное подтверждение). Усиление защиты подтверждения не требует.
- Если другой администратор успел сохранить ту же страницу раньше вас, шлюз ничего не записывает и сообщает: «The record was changed by another administrator — open it again.» Откройте страницу заново и повторите изменение.
- Перед уходом со страницы с несохранёнными правками браузер предупреждает о потере изменений.
Sign-in and MFA: вход и двухфакторная защита
Страница Sign-in and MFA (адрес /system/auth, только администратор) задаёт правила входа в консоль для всех людей: обязательность кода TOTP, блокировку после неудачных попыток, длину пароля, время простоя, срок жизни токенов BURSUcm, текст на странице входа, водяной знак и параметры входа через Windows. Подсказка вверху страницы: «Every change goes into the audit log with the old and the new value.»

Все поля сохраняются одной кнопкой Save и применяются сразу (кроме уже идущих входов на промежуточных шагах). Кнопка Reset возвращает в форме значения, которые были при её открытии. После сохранения страница показывает «Saved.».
| Поле | Что вводить и что оно делает | По умолчанию / ограничения |
|---|---|---|
| Блок «Two-factor sign-in» | ||
| Require TOTP (переключатель «For every user») | Если включено, каждый человек обязан настроить одноразовые коды TOTP при первом входе. Подсказка: «Without it a user may skip setting up TOTP at the first sign-in.» Если выключено, человек может пропустить настройку TOTP и входить по одному паролю, пока сам её не включит. | Включено. Выключение снижает защиту всех: «Turning this off lowers the security of every user, so you are asked to confirm who you are first.» Нужно повторное подтверждение. Не влияет на вход через Windows: после него второй фактор всегда обязателен. |
| Блок «Lockout» | ||
| Failed attempts before a lockout | Сколько неудачных попыток подряд (неверный пароль, неверный код TOTP, неверный пароль при повторном подтверждении) блокируют учётную запись. Предупреждение: «More attempts or a shorter lockout make guessing passwords easier.» | 5. Целое число от 3 до 100. Увеличение — снижение защиты, нужно повторное подтверждение. |
| Lockout length, min | На сколько минут блокируется учётная запись. Администратор может снять блокировку раньше (карточка пользователя). | 15. Целое число от 1 до 1440. Уменьшение — снижение защиты, нужно повторное подтверждение. |
| Блок «Passwords and sessions» | ||
| Minimum password length | Минимальная длина пароля, который человек задаёт себе и который администратор задаёт при создании или сбросе. Подсказка: «Never less than 12.» Относится к новым паролям, действующие пароли не проверяются. | 12. Целое число от 12 до 128. Уменьшение — снижение защиты, нужно повторное подтверждение. |
| Console idle time before sign-out, min | Сколько минут без действий человек остаётся в консоли. Подсказка: «A console session ends after 12 h in any case; then a new sign-in is needed.» (число часов подставляет шлюз). Двенадцать часов абсолютного срока изменить нельзя. | 30. Целое число от 5 до 720. Увеличение — снижение защиты, нужно повторное подтверждение. |
| BURSUcm token lifetime, h | Срок жизни токена, который BURSUcm получает при входе человека на шлюз (сколько часов клиент работает без нового входа). | 8. Целое число от 1 до 168. Увеличение — снижение защиты, нужно повторное подтверждение. |
| Блок «Windows sign-in (Kerberos)» | ||
| One code covers Windows sign-ins for (hours) | После входа через Windows шлюз просит код TOTP. Если здесь не 0, шлюз запоминает устройство, и в течение этого времени код не спрашивают. Подсказка: «0 asks the code every time; at most 24 (NIST SP 800-63B). Lowering it shortens every remembered device at once.» | 1. Целое число от 0 до 24. Увеличение — снижение защиты, нужно повторное подтверждение. |
| Channel binding for console sign-ins | Список из двух значений: Required (recommended) и When the browser sends it. Привязка к каналу защищает от передачи билета Kerberos третьему лицу. Подсказка: «“When the browser sends it” lets Chrome and Firefox on Linux and macOS sign in with Windows, but gives up relay protection for them; each such sign-in is audited. BURSUcm always binds.» | Required (recommended). Переход на When the browser sends it — снижение защиты, нужно повторное подтверждение. |
| Блок «Sign-in page and watermark» | ||
| Banner text | Текст, который показан над формой входа (например, предупреждение об ответственности). Подсказка: «Shown above the sign-in form. Empty means no banner.» | Пусто (баннера нет). До 2000 символов, без управляющих символов; иначе: «The banner is up to 2000 characters, without control characters.» Подтверждение не нужно. В журнале текст длиннее 200 символов записывается как отпечаток и длина. |
| Watermark (переключатель «Show “login (Name)” over the console») | Диагональная надпись с логином и именем человека поверх всей консоли. Подсказка: «The diagonal text makes it hard to photograph the screen anonymously.» | Включено. Выключение — снижение защиты, нужно повторное подтверждение. |
| Save, Reset | Сохранить все поля одной операцией или вернуть значения в форме. | |
Какие изменения требуют повторного подтверждения
Изменение, которое снижает защиту, нельзя сделать только по украденному сеансу. Если вы пытаетесь снизить защиту без свежего подтверждения личности (10 минут), страница не сохраняется и рядом с каждым таким полем показывается сообщение «Confirm who you are before this change: …. It lowers sign-in protection.» (для выключения TOTP: «Confirm who you are before turning two-factor sign-in off.») со ссылкой Confirm who I am. Пройдите подтверждение и вернитесь на страницу; введённые значения придётся повторить.
- Требуют подтверждения: выключение Require TOTP, увеличение числа попыток, уменьшение длины блокировки, уменьшение минимальной длины пароля, увеличение времени простоя, увеличение срока токена, выключение водяного знака, увеличение времени «запоминания» кода Windows, переход на When the browser sends it.
- Не требуют: любое усиление, а также изменение текста баннера.
Пять неверных кодов TOTP подряд (это число не настраивается) прерывают вход, и человек видит «Too many wrong codes. Sign in again.», даже если при этом сработала блокировка по числу попыток. Подробнее — в разделе «Блокировки и лимиты».
Encryption key: ключ шифрования
Шлюз хранит пароли и ключи учётных записей серверов (раздел Accounts) в зашифрованном виде. Ключом шифрования служит «главный» ключ шлюза. Страница Encryption key (адрес /system/key, только администратор) показывает его состояние и позволяет сменить сам ключ или способ его защиты. Подсказка: «The key the gateway encrypts account secrets with. Changing the key or its mode needs a fresh confirmation and a typed word.»
Первое создание ключа и режим выбираются при первоначальной настройке (Первоначальная настройка); ввод парольной фразы при каждом запуске описан в разделе «Разблокировка».
Два режима защиты ключа
| Режим | Как устроен | Когда выбирать |
|---|---|---|
| Protected by the OS | Подпись на странице: «DPAPI (Windows) / service file permissions (Linux)». Ключ хранится в файле в каталоге ключа и защищён средствами операционной системы: на Windows через DPAPI, на Linux правами доступа к файлу. Шлюз сам открывает ключ при запуске. | Когда шлюз должен запускаться без участия человека (после перезагрузки сервера, ночью). Тот, кто получил доступ к файлам сервера под учётной записью службы, получает и ключ. |
| Sealed | Подпись: «Every restart needs the unseal passphrase». Ключ в файле зашифрован парольной фразой, которой на сервере нигде нет. После каждого запуска шлюз «закрыт» (locked), и никто не может подключиться к серверам, пока администратор не введёт фразу на странице разблокировки. | Когда нужна защита и от того, кто скопировал файлы сервера. Цена: после любой перезагрузки шлюз недоступен, пока человек не введёт фразу. |
Парольной фразы нет нигде на сервере, а ключ восстановления шлюз показывает один раз. Если потеряны и фраза, и ключ восстановления, зашифрованные секреты прочитать нельзя. Храните ключ восстановления отдельно от сервера (например, в сейфе, на бумаге).
Что показывает страница

| Строка | Что показывает |
|---|---|
| Mode | Protected by the OS или Sealed и пояснение к режиму. |
| State | unsealed — ключ открыт, шлюз работает; locked — шлюз закрыт, нужна разблокировка. |
| Created | Когда ключ был создан. |
| Last change | Когда и кем ключ менялся последний раз. |
| Recovery key | present (с датой) или missing. Если «missing» — смените ключ, чтобы получить новый ключ восстановления. |
| Key directory | Путь к каталогу, где лежат файлы ключа на сервере. |
| Encrypted secrets | Сколько секретов зашифровано этим ключом. |
| Actions | Кнопки Change the key («A new key, secrets re-encrypted, a new recovery key shown once») и Change the mode («OS ↔ passphrase. Needs the recovery key»). Под ними: «If the recovery key is lost, make a new one by changing the key — while the gateway runs.» |
Дополнительные сообщения на странице:
- Красная врезка «The encryption key was changed, and this gateway still holds the previous one in memory. Restart the gateway (a sealed gateway will need its passphrase).» — вместо кнопок действий. Пока службу не перезапустят, запись новых секретов не работает. Перезапустите службу и проверьте журнал аудита.
- Предупреждение «These key files were set aside in the key directory. One may be the old key from before a change: delete it once you are sure it is not another database's key.» со списком файлов и пояснением «The console cannot remove them: an administrator of the server's operating system can archive or delete them.» Старые файлы ключа после смены откладываются, а не удаляются: удалять их нужно вручную на сервере, убедившись, что файл не нужен.
Смена ключа (Change the key)
Страница /system/key/rotate («Change the encryption key»). Нужны повторное подтверждение (10 минут) и набранное слово. Операция не чаще 5 раз в минуту.

Блок «What happens» перечисляет последствия:
- «The gateway makes a new key and re-encrypts all N secrets with it.»
- «The old recovery key stops working; the new one is shown once.»
- «Connections are not accepted during the change (seconds).»
- «The change goes into the audit log.»
- Откройте форму. На странице Encryption key нажмите Change the key. Если шлюз в режиме Sealed, в форме есть поле Current unseal passphrase.
- Введите данные. Для режима Sealed — текущую парольную фразу. Затем наберите слово подтверждения в поле «Type … to continue» — оно показано в подписи поля. Слово зависит от языка интерфейса: в английском это
CHANGE, в русском —СМЕНИТЬ. Набирайте его точно, заглавными буквами и на том языке, что показан на странице; пробелы по краям игнорируются. - Нажмите «Change the key». Шлюз создаёт новый ключ, перешифровывает все секреты и показывает блок New recovery key с предупреждением «The key is shown once. The old recovery key no longer works.»
- Сохраните новый ключ восстановления. Кнопка Download .txt скачивает файл
bursu-pam-recovery-key.txt; кнопка Print печатает ключ. Храните отдельно от сервера. - Отметьте «I have saved the new key» и нажмите «Done». Без отметки шлюз не продолжит: «Tick “I have saved it” first.» Результат: «The encryption key is changed.»
Ключ восстановления показан один раз. Если вы закрыли страницу, не сохранив его, смените ключ ещё раз: так вы получите новый ключ восстановления. Сообщение «The key was already changed after this page was opened. If the new recovery key was not saved, change the key again to get a new one.» появляется, если ключ уже успели сменить в другой вкладке или другим администратором.
| Сообщение | Что делать |
|---|---|
| Type CHANGE to continue. | Слово не набрано или набрано неверно. В сообщении названо нужное слово; оно зависит от языка интерфейса (CHANGE в английском, СМЕНИТЬ в русском). |
| The unseal passphrase did not match. | Текущая парольная фраза введена неверно. |
| The encryption key is not available. | Ключ в этот момент не открыт. Откройте разблокировку. |
| The outcome of the key change is unknown — check the audit log and the key state; do not repeat the change until you are sure. | База данных не подтвердила завершение. Не повторяйте смену. Откройте журнал аудита и страницу ключа; затем перезапустите службу (см. ниже). |
Смена режима (Change the mode)
Страница /system/key/mode. Режим переключается между Protected by the OS и Sealed. Нужны повторное подтверждение, ключ восстановления и набранное слово; не чаще 5 раз в минуту. Целевой режим определяется текущим: из OS-режима страница ведёт в Sealed (Switch to sealed mode), из Sealed — в OS-режим (Switch to OS-protected mode).

| Поле | Что вводить | Ограничения |
|---|---|---|
| Recovery key | Ключ восстановления, выданный при создании или последней смене ключа. | Неверный: «The recovery key did not match.» Каждый неверный ввод пишется в журнал аудита как неудача. |
| Passphrase (только при переходе в Sealed) | Новая парольная фраза. | Не короче 12 символов (иначе «The passphrase must be at least 12 characters long.»). Это значение не зависит от настройки Minimum password length. |
| Repeat the passphrase (только при переходе в Sealed) | Та же фраза ещё раз. | Иначе «The passphrases do not match.» |
| Слово «Type CHANGE MODE to continue» | Наберите слово, показанное в подписи поля: в английском интерфейсе CHANGE MODE, в русском — СМЕНИТЬ РЕЖИМ. | Иначе «Type CHANGE MODE to continue.» (с нужным словом для вашего языка интерфейса). |
| Change the mode, Cancel | Выполнить смену или вернуться. | |
Тексты страниц: при переходе в Sealed — «After this every restart of the gateway needs the passphrase you set here; until then nothing can connect.»; при переходе в OS-режим — «After this the gateway opens the key at start by itself; the passphrase is no longer used.» Результат: «The key is now sealed. Keep the passphrase safe: every restart needs it.» или «The key is now protected by the OS.»
Если после смены режима остались файлы ключа, которые не удалось убрать, страница перечисляет их: «These key files hold the key without the passphrase and could not be deleted; delete them by hand:» (после перехода в Sealed) или «The key file could not be written: after a restart the gateway will ask for the recovery key. Check the key directory's permissions:» (после перехода в OS-режим). В первом случае удалите перечисленные файлы вручную на сервере; во втором проверьте права на каталог ключа.
Если режим ключа успел измениться, пока страница была открыта, шлюз ничего не делает и пишет: «The mode of the key changed after this page was opened, so nothing was done. Open the page again and check the current mode.»
Если исход смены неизвестен
Если база данных не подтвердила завершение операции, страница пишет: «The outcome of the key change is unknown — check the audit log and the key state; do not repeat the change until you are sure.» Затем следует пояснение: «If the change did happen, the key held in the gateway's memory is out of date: restart the gateway (a sealed gateway then needs its passphrase) and check the key's state on the encryption key page and in the audit log.» Кнопки на странице ведут в Encryption key и в журнал аудита (Audit log). Не повторяйте смену, пока не убедились по журналу, что она не прошла.
Status: состояние шлюза
Страница Status (адрес /system/status, только администратор) только показывает состояние шлюза и ничего не меняет. Подсказка: «Read only. The certificate, the address and the trusted proxies are changed in gateway.json, then the service is restarted.» Вверху указан путь к рабочему файлу конфигурации: «Changed in gateway.json (… on this system), then a restart of the service. There is no certificate upload through the console in the first version.» Замена сертификата — в разделе «Сертификат».

Блок «Gateway»
| Строка | Что показывает |
|---|---|
| Version | Версия шлюза. |
| Running | Сколько работает шлюз: «N d N h N min», и время запуска («since …»). |
| Listens on | Адрес и порт, на которых шлюз принимает консоль (из gateway.json). |
| Database | Хост, порт и имя базы данных (без пользователя и пароля), версия PostgreSQL и состояние: connected, unreachable или unknown (база не ответила за 5 секунд). |
Ниже в том же блоке идут строки проверок. У каждой есть цвет: зелёный — в порядке, жёлтый — внимание, красный — неисправность, серый — выключено. Те же проверки видны в колокольчике (Колокольчик). Показаны только строки, которые относятся к настроенному:
| Строка | Что означает |
|---|---|
| Encryption key | «protected by the OS» или «unsealed, sealed mode» — в порядке; «locked — the gateway is sealed» — красное (нужна разблокировка); сообщение о том, что ключ в памяти устарел, — красное (перезапустите службу, Encryption key). |
| SIEM export | «not set up» — серое; «queue N · last delivery …» — в порядке; красное, если доставка не удаётся (SIEM export). |
| Last chain check | Последняя проверка целостности журнала: «intact: No. 1–N · время» — в порядке; «break at event No. N» — красное; «not checked yet» — жёлтое; «the last check could not run» — красное (Integrity check). |
| Clock | «skew N s against the database». Расхождение часов шлюза и базы до 2 секунд — в порядке, больше — красное. Исправьте время на сервере. |
| Disk | «N % free». Свободно не менее 10 % — в порядке, меньше — красное. «free space unknown» — жёлтое. |
| Session recording | «Recording works» или «Recording fails: new sessions are refused until there is room.» (Sessions). |
| RDP file signing | Состояние сертификата, которым подписываются .rdp-файлы; предупреждение за 30 дней до окончания (RDP file signing). |
| File copies | Показано, если за последний час не удалось сохранить копию переданного файла (причина — нет места или ошибка копирования). Подробности — в журнале передач файлов. |
| Database access | Показано, если настроен доступ к базам данных: «Listening: …» — в порядке; «Not listening: …. See the service log.» — красное (Databases). |
| VNC | Состояние VNC-прослушивателя, если он настроен (VNC). |
| Licence | Одна или несколько строк о лицензии: «active until …; N of M servers active», «trial until …», «ends on …» и другие. Если лицензии нет, шлюз ничего не обслуживает. Описание всех состояний — в разделе «Лицензия». |
Блок «Certificate»
| Строка | Что показывает |
|---|---|
| Subject | Кому выдан сертификат шлюза. |
| Issuer | Кто выдал. |
| Valid until | Дата окончания и остаток: «N days left» (зелёное); жёлтое, если осталось не более 30 дней; expired — красное. Срок меняется заменой сертификата (Сертификат). |
| SHA-256 fingerprint | Отпечаток сертификата. Сверяйте его с тем, что показывает браузер, и отдавайте клиентам, которые закрепляют сертификат. |
| Trusted proxies | Адреса обратных прокси, которым шлюз доверяет (none, если их нет). |
| Client address | Откуда шлюз берёт адрес клиента: «from the connection itself (no proxy is trusted)» или «from X-Forwarded-For, only from the trusted proxies». От этого зависят адреса в журнале аудита и лимиты числа попыток (Сеть). |
Серверы
Сервер в BURSU PAM — это машина или устройство, к которому люди подключаются через шлюз: Linux-сервер по SSH, Windows-сервер по RDP, сетевое оборудование по Telnet или SSH, рабочий стол по VNC, база данных PostgreSQL, MySQL или SQL Server. Шлюз хранит для каждого сервера адрес, порт, протокол, папку и проверенный «отпечаток» сервера (ключ хоста или сертификат). Логины и пароли, под которыми шлюз входит на сервер, хранятся отдельно — это учётные записи.
Работа с серверами выполняется в консоли в группе меню Resources, пункт Servers (адрес /servers). Страницу видит и меняет только Administrator. Аудитору (Auditor) эти страницы не показываются; он видит только профили устройств.
Сервер должен принимать подключения только от шлюза
Шлюз записывает сессии и подставляет пароль сам: человек не должен знать пароль сервера. Но если сервер по-прежнему принимает подключения от рабочих мест, любой, кто узнает пароль (старый, подсмотренный, записанный на бумаге), войдёт напрямую в обход шлюза — без записи, без правил доступа, без аудита. Поэтому на каждом целевом сервере (или на сетевом экране перед ним) разрешите входящие подключения по нужному порту (22, 3389, 5900, 5432, 3306, 1433 и т. д.) только с адреса шлюза и запретите их со всех остальных адресов.
Шлюз не может сделать это за вас: правило межсетевого экрана настраивается у вас в сети. Консоль проверяет доступность сервера со стороны шлюза (кнопка Test the connection), но не проверяет, закрыт ли сервер для остальных. Проверьте это сами: с обычного рабочего места подключение к целевому серверу должно не проходить.
Для Telnet это особенно важно: Telnet передаёт всё, включая пароль, открытым текстом. Используйте его только в управляющей сети, куда попадает один шлюз (см. Telnet).
Список серверов и папки
Страница Servers разделена на две части. Слева — дерево папок (Folders): строка All servers и ваши папки с числом серверов в каждой. Справа — таблица серверов выбранной папки; над таблицей написан путь папки и пометка with subfolders: выбрав папку, вы видите и серверы вложенных папок.

| Элемент | Что делает |
|---|---|
| Create server | Открывает форму нового сервера (/servers/new). Когда выбрана папка, новый сервер предлагается положить в неё. |
| Поле поиска (Name, address, description) | Ищет по имени, адресу и описанию. |
| Список All protocols и кнопка Apply | Оставляет серверы одного протокола: SSH, Telnet, RDP, VNC, PostgreSQL, MySQL или SQL Server. |
| Столбцы Name, Address:port, Protocol, Folder, Accounts, Rules | Имя сервера (ссылка на карточку), адрес и порт, протокол, папка, число учётных записей (ссылка на вкладку учётных записей) и число правил, которые его охватывают. По имени, адресу, папке, числу учётных записей и числу правил можно сортировать. |
| Метка inactive | Сервер выключен: ни одно правило до него не дотягивается, подключиться нельзя. |
| Метки Not encrypted to the server, Weak sign-in allowed, Unencrypted | Предупреждения об ослабленной защите связи шлюза с сервером: Telnet; слабый вход в базу данных; база данных без шифрования. |
| Кнопка Edit в строке | Открывает форму изменения сервера. |
| Флажки в строках и панель действий над таблицей | Групповые действия: Move to folder (выберите папку в списке Folder и подтвердите) и Delete. Перед удалением консоль спрашивает: Delete the selected servers (N)? Their accounts and secrets are deleted with them. |
Когда в папке нет серверов, консоль пишет, что серверы — это машины, к которым подключаются через шлюз, и предлагает создать первый сервер или перенести существующие командой Move to folder.
Папки
Папки нужны, чтобы выдавать доступ сразу группе серверов: правило на папку охватывает её подпапки и серверы, которые вы добавите позже. Папки образуют дерево любой глубины.
Меню Folder actions (три точки над деревом) создаёт папку верхнего уровня (New folder). Меню у строки папки (Actions for the folder …) содержит:
| Действие | Что делает |
|---|---|
| New subfolder | Создаёт вложенную папку. Поле Folder name: до 128 символов, без символа «/». Поле Put it in показывает родителя. |
| Rename | Меняет имя. Правила, которые ссылаются на папку, не меняются. |
| Move | Переносит папку в другую (поле Put it in). Подсказка консоли: Rules on the new parent then cover this folder too. То есть после переноса на папку начинают действовать правила нового родителя. Папку нельзя перенести в саму себя или в свою подпапку (A folder cannot be moved into itself or into one of its subfolders.). |
| Delete | Удаляет только пустую папку. Консоль напоминает: Only an empty folder can be deleted. Rules that name it lose it. Если в папке есть серверы или подпапки, будет отказ: Only an empty folder can be deleted: move or delete its servers and subfolders first. |
Каждое действие с папкой записывается в журнал аудита (folder.create, folder.rename, folder.move, folder.delete), а перенос и удаление ещё и заставляют шлюз заново проверить права открытых сессий.
Создание сервера: общие поля
Кнопка Create server открывает форму /servers/new. Форма изменения (/servers/<id>/edit) такая же. В ней две секции: Main и State. Часть полей появляется только для определённых протоколов — остальные скрыты.
| Поле | Что вводить | По умолчанию / ограничения |
|---|---|---|
| Name | Имя сервера. Его видят администраторы; пользователи вводят его в имени входа (логин:имя_сервера). | Обязательное. 1–64 символа: латинские буквы, цифры, точка, подчёркивание, дефис. Имя должно быть уникальным, регистр букв не учитывается (Web1 и web1 — одно имя): иначе This name is already taken. |
| Address | Имя или IP-адрес, по которому шлюз достучится до сервера (подсказка в поле: 10.20.0.11 or web-01.example.ge). | Обязательное. До 253 символов, без пробелов и невидимых символов, не начинается с «-». |
| Protocol | Список: SSH, Telnet, RDP, VNC, PostgreSQL, MySQL, SQL Server. | SSH. После смены протокола поле Port само принимает порт нового протокола, если в нём ещё стоял порт прежнего по умолчанию. |
| Port | Порт сервера. | Число 1–65535. Порты по умолчанию: SSH 22, Telnet 23, RDP 3389, VNC 5900, PostgreSQL 5432, MySQL 3306, SQL Server 1433. |
| Device profile | Профиль устройства (только для SSH и Telnet). См. Профили устройств. | Для Telnet обязателен (пункт «None — a regular server» убирается). Для SSH нужен только если на учётных записях сервера включён привилегированный режим. |
| Terminal character set | Только для SSH и Telnet. Как контроль команд читает не-ASCII текст в терминале: Automatic (from the client) (по переменным LANG / LC_*, которые передал клиент), UTF-8 (Unicode) или C / single-byte. | Automatic (from the client). Если клиент не передаёт кодировку (Windows OpenSSH, PuTTY), каждая строка с таким текстом оценивается только по набранным клавишам. Выбор UTF-8 (Unicode) (и возврат с C / single-byte на Automatic) ослабляет контроль команд, поэтому требует свежего подтверждения личности. |
| Folder | Папка сервера. Подсказка: Rules on this folder and the folders above it cover the server. | Без папки (верхний уровень), если не выбрана. |
| Description | Свободный текст. | До 1000 символов. |
| Active (секция State) | Переключатель. Подсказка: An inactive server is in no rule's reach. | Включён. Для RDP, VNC с TLS-входом и баз данных с TLS новый сервер всё равно создаётся выключенным до подтверждения сертификата (см. ниже). |
Кнопки формы: Create (при изменении — Save), Reset (вернуть значения, с которыми форма открылась), Cancel.
Часть настроек ослабляет защиту (Telnet, NTLM для RDP, слабые типы входа VNC, слабый или нешифрованный вход в базу данных, кодировка терминала UTF-8). Для каждой нужно отметить флажок-подтверждение, а затем консоль перенаправит вас на страницу повторного ввода пароля и кода (Confirm who I am, действует 10 минут). После подтверждения вы вернётесь на форму: все поля восстановлены, кроме флажков-подтверждений — их нужно отметить заново.

Сервер SSH
Это основной случай: Linux, Unix, macOS, а также сетевое оборудование с SSH. Поля — общие (см. выше); отдельных полей у SSH нет, кроме необязательного Device profile. Выберите профиль устройства только если для учётных записей сервера нужен привилегированный режим (команда enable и т. п.): тогда нужен встроенный профиль сетевого устройства.
Что должен поддерживать целевой SSH-сервер. Шлюз подключается к целям с таким набором алгоритмов (список зафиксирован в шлюзе и не настраивается):
- ключ хоста сервера: ECDSA nistp256 / nistp384 / nistp521, RSA с SHA-512 или SHA-256 (
rsa-sha2-512,rsa-sha2-256). Ключ Ed25519 шлюз не принимает: сервер, у которого есть только ключ хоста Ed25519, шлюз не сможет проверить; - обмен ключами: ECDH nistp384 / nistp256, Diffie-Hellman group16-sha512 / group14-sha256;
- шифры: AES-256-GCM и AES-256-CTR; имитовставки HMAC-SHA2-256 и HMAC-SHA2-512; без сжатия.
Во время работы со стороны шлюза на сервер ведётся одно подключение на сессию. До подтверждения ключа хоста сессии на этот сервер не открываются: на странице сервера написано Not confirmed — sessions are refused until it is.
Подробно про получение и подтверждение ключа хоста — в подразделе Ключ хоста SSH. Входы по паролю и по закрытому ключу учётных записей описаны в разделе Учётные записи.
Сервер Telnet
Telnet передаёт всё, включая пароль, открытым текстом между шлюзом и сервером. Консоль так и предупреждает: Telnet sends everything, the password included, in clear text between the gateway and the server. Use it only on a management network that only the gateway reaches. Пользователь же подключается к шлюзу по SSH, и его сессия защищена; открытым остаётся только участок шлюз — сервер.
Для Telnet-сервера:
- обязателен Device profile: он описывает, как шлюз распознаёт приглашения устройства и вводит логин и пароль (см. Профили устройств). Если профиль не выбран: A Telnet server needs a device profile. При выборе Telnet консоль сама подставляет профиль по умолчанию (Generic Unix);
- учётные записи входят только по паролю. Если у сервера уже есть учётные записи с закрытым ключом, переключить его на Telnet нельзя: This server has key accounts; a Telnet server signs in with a password only. Delete them first.;
- идентичности сервера у Telnet нет, поэтому ключа хоста нет и подтверждать нечего (Not checked — Telnet has none);
- для создания нужно отметить флажок The password crosses the network between the gateway and this server in clear text и подтвердить личность. Если флажок не отмечен: Tick the acknowledgement to use Telnet. Если подтверждения личности нет: Confirm who you are before making this server use Telnet. Сохранение уже существующего Telnet-сервера повторно этого не требует.
В списке и на карточке у Telnet-сервера стоит метка Not encrypted to the server.
Сервер RDP
Шлюз открывает RDP-сессию на сервере от имени учётной записи с паролем, а пользователь подключается к шлюзу своим RDP-клиентом (файл .rdp можно скачать на странице «My access», см. Мой доступ).
Отдельные поля формы:
| Поле | Что вводить | По умолчанию / ограничения |
|---|---|---|
| Allow NTLM on the target leg (from the gateway to this server) | Переключатель. В этой версии шлюз подключается к каждому RDP-серверу с аутентификацией NTLM (Kerberos и другие способы не используются). NTLM считается слабой аутентификацией, поэтому разрешение даётся отдельно для каждого сервера. Консоль: In this version the gateway reaches every RDP server with NTLM, which is a weak authentication (MD4, HMAC-MD5, RC4). Until NTLM is allowed here, the server cannot be checked or connected to. The switch is per server and off by default. | Выключено. Пока выключено, сервер нельзя ни проверить, ни подключиться к нему. |
| I understand that NTLM is weak authentication and accept it for this server. | Флажок-подтверждение. | Без него сохранить включённый NTLM нельзя: Tick the acknowledgement to allow NTLM on this server. Без свежего подтверждения личности: Confirm who you are before allowing NTLM on this server. |
Ещё условия:
- учётные записи RDP-сервера входят только по паролю. Если есть записи с ключом: This server has key accounts; an RDP server signs in with a password only. Delete them first.;
- RDP-сервер создаётся выключенным, пока не подтверждён его сертификат: консоль напоминает Saved, but the server is inactive: confirm the RDP server's certificate.;
- на цели должен работать RDP с TLS: шлюз использует защиту уровня TLS/CredSSP (NLA); «стандартную» защиту RDP (без TLS) шлюз не применяет. Если сервер предлагает только её, проверка скажет: The server offers no TLS: only the old RDP security, which the gateway does not use.
Подтверждение сертификата и работа кнопок описаны в подразделе Сертификаты и отпечатки. Что именно разрешено RDP-сессии (диски, буфер обмена, принтеры, USB, звук), задают правила и страница Политика файлов, буфера обмена и устройств.

Сервер VNC
Для VNC на форме обязательно выберите, как шлюз входит на сервер (поле Sign-in to the server). Значения по умолчанию нет: выбор делает человек. Шесть вариантов:
| Вариант на форме | Что это | Защита |
|---|---|---|
| TLS, user name and password | Сервер просит имя и пароль внутри TLS (TigerVNC с PAM). | Шифрование есть. Нужен сертификат: сервер неактивен, пока его не подтвердят. |
| TLS, VNC password | Сервер просит пароль VNC внутри TLS. Значим только первые 8 символов пароля. | Шифрование есть. Нужен сертификат. |
| TLS, no sign-in | TLS до сервера, но сервер никого не проверяет. | Слабый тип. Консоль требует подтверждения: Anyone who reaches this server's port sees its desktop. |
| VNC password (not encrypted) | Классический пароль VNC (ответ на вызов) по нешифрованному соединению. Значимы первые 8 символов. | Слабый тип без шифрования: The screen, keyboard and password cross the network between the gateway and this server unprotected. |
| Mac user name and password (not encrypted) | Вход Apple (тип 30) по нешифрованному соединению; для Mac через обычный RFB. | Слабый тип без шифрования. |
| No sign-in (not encrypted) | Ни проверки, ни шифрования. | Слабый тип без шифрования. |
Для четырёх слабых типов (строки 3–6 таблицы) в форме появляется флажок I understand and accept this вместе с текстом о конкретной опасности. Без флажка: Tick the box to accept the weak connection to this server. Без свежего подтверждения личности: Confirm who you are before making this server use a weak connection. Если выбрать другой тип, флажок снимается.
Нужно точно знать три вещи:
- учётные записи VNC-сервера входят только по паролю; ключи не поддерживаются (This server has key accounts; a VNC server signs in with a password only. Delete them first.). Для типов «TLS, no sign-in» и «No sign-in (not encrypted)» учётная запись создаётся без пароля (тип записи No sign-in);
- если вы меняете тип входа, а существующие учётные записи ему не подходят: An account of this server does not fit the new sign-in type. Change or delete it first.;
- VNC-сервер с любым TLS-типом создаётся выключенным: A VNC server with a TLS sign-in type stays inactive until its certificate is confirmed after saving.
Подключение пользователя к шлюзу по VNC устроено иначе: клиент входит одноразовым кодом из консоли или из BURSUcm (раздел Подключение по VNC).

Серверы баз данных: PostgreSQL, MySQL, SQL Server
Для баз данных шлюз выступает прокси: пользователь подключается своим клиентом (psql, DBeaver, SSMS и т. п.) к шлюзу и вводит «пропуск» (pass) вместо пароля. Шлюз сам входит на базу с учётной записью сервера. Входит он только SQL-логином и паролем; вход Windows (SSPI), Entra ID и сертификатом не поддерживаются.
В списке протоколов база называется PostgreSQL, MySQL или SQL Server. Отдельного пункта для MariaDB нет: сервер MariaDB, говорящий на протоколе MySQL, выбирается как MySQL.
| Поле | Для каких баз | Что вводить | По умолчанию / ограничения |
|---|---|---|---|
| Default database | Все три | База, к которой подключаться, если клиент не назвал свою. Подсказка: Used when the client names none (PostgreSQL needs it). | Для PostgreSQL обязательна: A PostgreSQL server needs a default database. До 128 символов, без управляющих символов: A default database is at most 128 characters, without control characters. |
| Encryption towards the server | SQL Server | Список: Mandatory (шифрование обязательно) или Strict (TDS 8.0, TLS с самого начала). | Mandatory. |
| Allow weak sign-in to this server (md5, cleartext over TLS, mysql_native_password) | PostgreSQL, MySQL | Разрешает шлюзу входить на сервер слабым способом, если сервер другого не предлагает. Для SQL Server слабого входа нет: SQL Server has no weak sign-in to allow. | Выключено. Нужен флажок I understand that the server's own sign-in is weaker than SCRAM or caching_sha2. (Tick the acknowledgement to allow a weak sign-in.) и подтверждение личности (Confirm who you are before allowing a weak sign-in to this server.). |
| Allow an unencrypted connection to this server | Только PostgreSQL | Разрешает подключение шлюза к серверу без шифрования. Остальные базы так подключить нельзя: Only a PostgreSQL server can be reached without encryption. | Выключено. Нужен флажок I understand that statements and results cross the network between the gateway and this server unencrypted. Only SCRAM is ever sent. (Tick the acknowledgement to allow an unencrypted connection.) и подтверждение личности (Confirm who you are before allowing an unencrypted connection to this server.). |
Что важно:
- шлюз всегда шифрует соединение с базой (TLS) и проверяет «отпечаток» ключа сертификата базы (SPKI SHA-256). Пока отпечаток не подтверждён, сервер неактивен: A database server stays inactive until its certificate is confirmed. Исключение — PostgreSQL с включённым «Allow an unencrypted connection»: сертификата нет и подтверждать нечего;
- учётные записи баз входят только по паролю: This server has key accounts; a database server signs in with a password only. Delete them first.;
- для доступа «только чтение» создайте на самой базе пользователя с минимальными правами и заведите его отдельной учётной записью сервера. Карточка сервера подсказывает, как (для PostgreSQL: роль только с CONNECT и SELECT; для MySQL: SELECT на схему; для SQL Server: логин с ролью
db_datareader); - логин человека, имя сервера и имя учётной записи вместе образуют имя пользователя для клиента. Если оно слишком длинное для протокола базы, пропуск выдать нельзя: The person's login, the server and the account together are too long for this database protocol. Shorten the server or account name.

Карточка сервера
Клик по имени сервера открывает карточку (/servers/<id>). В заголовке — кнопки Edit и Delete, у выключенного сервера рядом метка состояния. Вкладки:
| Вкладка | Что показывает |
|---|---|
| Main | Два блока. Details: протокол, адрес и порт, папка, описание, профиль устройства (SSH/Telnet), для баз данных — база по умолчанию и шифрование, «идентичность сервера» (ключ хоста или сертификат), дата создания и метки ослабленной защиты. Quick actions: переключатель Active (подсказка: An inactive server is in no rule's reach), перенос в другую папку (подсказка: Moving it changes which folder rules cover it) и проверка соединения Test the connection. |
| Accounts | Учётные записи этого сервера (Login, Secret type, Secret), кнопка Add account, заметка о том, что секреты только для записи. См. Учётные записи. |
| Who can reach it | Кто может подключиться к серверу: люди, способ (How: напрямую или через группу) и правило (Rule), с учётом действующих правил, будущих правил и правил на папки выше. Если нет никого: Nobody can reach this server. Для выключенного сервера: The server is inactive: nobody can reach it until it is switched on. |
| Log | Последние события аудита по этому серверу. |
Удаление сервера (Delete) спрашивает подтверждение: Delete the server … and its N accounts with their secrets? Rules that name it directly stop leading to it. Учётные записи и их секреты удаляются вместе с сервером, правила, называвшие сервер напрямую, перестают к нему вести (в правиле останется «Nowhere», если больше ничего не выбрано). Открытые сессии на этот сервер сразу прекращаются.

Ключ хоста SSH: как получить, подтвердить и что меняется
Ключ хоста — «паспорт» SSH-сервера. Шлюз запоминает его при первом знакомстве (метод «доверие при первом использовании», TOFU) и затем при каждом подключении проверяет, что сервер предъявил тот же ключ. Если ключ изменится (подмена сервера, переустановка), шлюз откажет в подключении, и секрет учётной записи на такой сервер не будет отправлен.
- Откройте карточку сервера. Пока ключ не подтверждён, в блоке Host key написано Not confirmed — sessions are refused until it is, а в списке серверов у имени стоит метка Key not confirmed.
- Нажмите «Test the connection». Шлюз подключится к адресу и порту сервера (не дольше 20 секунд), прочитает предъявленный ключ и покажет блок Connection check с отпечатком в строке Presented host key. Если вы выбрали учётную запись в списке Sign in as, шлюз попробует войти; вариант Key only, no sign-in означает «только прочитать ключ». Вход выполняется только на уже подтверждённый ключ — иначе шлюз не отправит пароль: Confirm the key first; the sign-in is tested against a confirmed key only.
- Сверьте отпечаток. Консоль подсказывает: Before confirming, compare it with ssh-keygen -lf /etc/ssh/ssh_host_ecdsa_key.pub on the server itself. То есть на самом сервере выполните
ssh-keygen -lf /etc/ssh/ssh_host_ecdsa_key.pub(для RSA —ssh_host_rsa_key.pub) и сравните строкуSHA256:…с показанной консолью. Шлюз предпочитает ключ ECDSA; если у сервера его нет, будет показан ключ RSA — тогда сравнивайте сssh_host_rsa_key.pub. Сравнивайте всегда с ключом того же типа, который показал шлюз. - Нажмите «Confirm this key». Шлюз заново подключится к серверу и сохранит ключ, только если сервер предъявит именно его. Если за это время сервер показал другой ключ: The server now presents another key than the one you checked. Check again. После успеха: Host key confirmed. Подтверждение ключа SSH не требует повторного ввода пароля, но записывается в аудит (
hostkey.confirm).
Результат проверки после подтверждения читается так:
| Строка результата | Значение |
|---|---|
| Matches the confirmed key | Сервер предъявил подтверждённый ключ. |
| Differs from the confirmed key … | Сервер предъявил другой ключ. Сессии на него отклоняются, пока вы не выясните причину и не подтвердите новый ключ кнопкой Confirm this key. |
| Sign-in succeeded | Шлюз вошёл на сервер с выбранной учётной записью. |
| Sign-in failed: the server refused the stored secret | Сервер не принял пароль или ключ. Замените секрет (Замена секрета) или поправьте учётную запись на самом сервере. |
| The stored private key cannot be used (RSA and ECDSA keys only) | Закрытый ключ учётной записи не подходит. Ключи Ed25519 не поддерживаются. |
| The server could not be reached | Нет связи, сервер не ответил за 20 секунд или не говорит по SSH. |
Что меняется, когда ключ сбрасывается: при изменении адреса (Address) или порта сервера подтверждённый ключ удаляется, и консоль пишет Saved. The host or port changed: confirm the host key again. Сменив адрес или порт, пройдите шаги 2–4 заново. Протокол SSH нельзя «подтвердить заранее»: ключ можно подтвердить, только увидев его.

Сертификаты и отпечатки: RDP, VNC и базы данных
Для серверов с TLS шлюз проверяет «отпечаток» сертификата так же, как ключ хоста SSH: при первом знакомстве его показывают администратору, администратор сверяет его с самим сервером и подтверждает, и после этого шлюз принимает только его. Сводка:
| Протокол | Что запоминается | Нужен ли повторный ввод пароля и кода для подтверждения | Состояние нового сервера |
|---|---|---|---|
| SSH | Отпечаток ключа хоста (SHA256) | Нет | Активен, но сессии отклоняются, пока ключ не подтверждён. |
| Telnet | Ничего: идентичности нет | — | Активен. |
| RDP | Отпечаток SHA-256 всего сертификата | Да | Неактивен, пока сертификат не подтверждён и сервер не включён. |
| VNC с TLS-типом входа | Отпечаток SHA-256 открытого ключа сертификата (SPKI) | Да | Неактивен, пока сертификат не подтверждён. |
| VNC без TLS (слабые нешифрованные типы) | Ничего | — | Активен. |
| PostgreSQL, MySQL, SQL Server | Отпечаток SHA-256 открытого ключа сертификата (SPKI) | Да | Неактивен, пока сертификат не подтверждён (кроме PostgreSQL без шифрования). |
Подтверждение сертификата не включает сервер автоматически. После Confirm this certificate консоль пишет Certificate confirmed. Switch the server on to use it.; включите переключатель Active на карточке (кнопка Active в блоке Quick actions) или в форме изменения.
Сертификат подтверждается заново (шлюз сам об этом скажет), если вы изменили адрес, порт или протокол сервера, а для VNC — ещё и тип входа. Подтверждённая запись при этом удаляется, и сервер выключается: Saved. The address, port or protocol changed: check the connection and confirm the certificate again. (для VNC: Saved. The address, port or sign-in type changed, so the confirmed certificate was removed.). Простое изменение описания, папки или имени сертификат не трогает.
RDP
- Разрешите NTLM для сервера. Без этого проверка отказывается: Not checked: this RDP server is not marked as allowing NTLM, and in this version an RDP server is reached with NTLM only.
- Откройте карточку и нажмите «Test the connection». Подсказка к кнопке: Connects and shows the server's TLS certificate; no sign-in is tried. Шлюз подключается, проходит согласование защиты и TLS-рукопожатие и ничего не отправляет дальше: ни пароль, ни учётные данные. Показывается Presented certificate.
- Сверьте отпечаток. Консоль: Before confirming, compare it with the SHA-256 fingerprint of the Remote Desktop certificate on the server itself. На Windows-сервере, например, в PowerShell:
Сравнивайте шестнадцатеричные цифры, регистр и разделители значения не имеют. Если в хранилище несколько сертификатов, сверяйте с тем, который использует служба удалённых рабочих столов.$c = Get-ChildItem 'Cert:\LocalMachine\Remote Desktop' | Select-Object -First 1 ([BitConverter]::ToString([Security.Cryptography.SHA256]::Create().ComputeHash($c.RawData)) -replace '-','').ToLower() - Нажмите «Confirm this certificate». Консоль попросит подтвердить личность (повторный пароль и код), затем заново подключится к серверу и сохранит сертификат, только если сервер предъявил точно его. Иначе: The server now presents another certificate than the one you checked. Check again. Событие записывается в аудит (
rdp.cert.confirm). - Включите сервер (Active).
Результат проверки: Matches the confirmed certificate — сервер предъявил подтверждённый сертификат; Differs from the confirmed certificate … — предъявлен другой (обновление сертификата или подмена; подтвердите заново только после проверки). Ошибки проверки: The server offers no TLS: only the old RDP security, which the gateway does not use, The server did not answer as an RDP server, The TLS handshake with the server failed, The server could not be reached (см. Неисправности).
Кнопка Clear the certificate (после подтверждения личности и запроса Clear the confirmed certificate of …? The server is switched off until a certificate is confirmed again.) снимает подтверждение и выключает сервер. Используйте её, когда нужно вынужденно переподтвердить сертификат (например, на сервере выпустили новый).

VNC
Для VNC на карточке есть блок Check connection и блок Server certificate (Subject, Public key (SHA-256), Confirmed …). Если сертификат не подтверждён, написано Not confirmed. This server cannot be used until its certificate is confirmed.
- Нажмите «Check connection». Подсказка: Shows what the server offers and its certificate; it signs in only with an account, and on a TLS server only once its certificate is confirmed. Шаги проверки перечислены в таблице ниже.
- Сверьте сертификат с тем, что установлен на самом VNC-сервере (Before confirming, compare the certificate's SHA-256 fingerprint with the certificate on the VNC server itself.). Консоль показывает SHA-256 открытого ключа сертификата.
- Нажмите «Confirm this certificate» (потребуется подтверждение личности). Сертификат закрепляется, если сервер предъявил точно его. Сообщение: The certificate is pinned. Switch the server on to use it.
- Включите сервер.
Чтобы проверить ещё и вход, в списке Also sign in with the account выберите учётную запись; вариант Offered types only, no sign-in означает «только прочитать предложения сервера». Секрет учётной записи отправляется только на подтверждённый сертификат (для TLS-серверов) или на нешифрованный сервер, если вы приняли этот риск. Для слабых типов входа перед входом спрашивается подтверждение личности (Confirm who you are before the gateway signs in to this server.).
| Шаг проверки | Что показывает |
|---|---|
| Connect | Удалось ли подключиться. |
| Version | Версия протокола VNC, предъявленная сервером. |
| Sign-in types offered | Какие типы входа предлагает сервер (Offered: …). |
| TLS sign-in types offered | Какие типы входа сервер предлагает внутри TLS. |
| Certificate | Сертификат сервера и совпадение с подтверждённым. |
| Sign in | Вход учётной записи (только если она выбрана). |
| Screen size | Размер экрана, который сообщил сервер. |
Состояние каждого шага: ok, failed, skipped, not reached. Если шаг не удался, консоль объясняет причину (список причин — в главе Неисправности). Кнопка Clear the certificate снимает закрепление и выключает сервер (The certificate pin was removed and the server switched off.).
Если рабочий процесс сессии VNC для этого сервера завершается аварийно, в карточке появляется предупреждение: The session worker for this server crashed N times in the last 24 hours.

Базы данных
На карточке сервера базы данных кнопка проверки называется Check connection (подсказка: Connects and shows the server's certificate and version; no sign-in is tried). Шлюз показывает Subject, Issuer, Valid, Key (SPKI SHA-256), Certificate SHA-256 и версию сервера (Server version). Подтверждение — кнопка Confirm this certificate (для замены уже подтверждённого — Confirm the new certificate), с повторным вводом пароля и кода. Чтобы сверить отпечаток на самом сервере по файлу сертификата, можно выполнить: openssl x509 -in server.crt -pubkey -noout | openssl pkey -pubin -outform DER | openssl dgst -sha256.
- Если сервер показывает другой ключ, чем подтверждён: The server now shows a different certificate key. Connections are refused until you confirm it.
- Если у PostgreSQL включён режим «без шифрования», а сервер действительно не предлагает шифрование: The server offers no encryption; it is reached unencrypted, as the switch on its form allows.
- SQL Server со своим «запасным» сертификатом: This is SQL Server's own fallback certificate: it changes at every service start, and each restart needs a new confirmation. Provision a certificate (mssql-conf set network.tlscert on Linux, SQL Server Configuration Manager on Windows). Установите на сервер постоянный сертификат, иначе после каждого перезапуска придётся подтверждать заново.
Кнопка Test sign-in проверяет вход выбранной учётной записи (список Sign in as). Подсказка: Signs in with the stored password of the account you choose; you are asked to confirm who you are first. Результат: The account signed in. или The account could not sign in: … с короткой причиной (список причин — в главе Неисправности). Пароль отправляется только на подтверждённый сертификат или (PostgreSQL без шифрования) в защищённом SCRAM-обмене.

Лимит лицензии на активные серверы
Лицензия шлюза ограничивает число активных серверов. Создать активный сервер, включить выключенный или сохранить форму так, что сервер стал бы активным, сверх лимита нельзя: The licence allows N active servers. Switch off a server or extend the licence. Отказ записывается в журнал аудита (licence.limit). Выключить сервер можно всегда. Состояние лицензии и её продление — на странице Licence (раздел «Лицензия»).
Если срок лицензии истёк, лицензии нет или активных серверов больше, чем разрешено, а льготный срок закончился, консоль вообще отказывает в изменениях (в том числе серверов), например: The licence has ended: changes are refused. Upload a licence on Settings → Licence. Полный список — в главе Неисправности.
Серверы, которые вы создали «про запас», лучше держать выключенными: неактивные серверы лимит не расходуют.
Что происходит с открытыми сессиями при изменении сервера
После сохранения, выключения, переноса в другую папку или удаления сервера, а также после очистки его сертификата шлюз заново проверяет права всех открытых сессий (на SSH, RDP, VNC и базы). Сессия, права которой пропали (сервер выключен или удалён, сертификат снят), закрывается с понятным пользователю сообщением. Изменение имени или описания открытые сессии не затрагивает.
Любое изменение сервера записывается в журнал аудита: server.create, server.update, server.delete, server.test (проверка соединения, с результатом), hostkey.confirm, rdp.cert.confirm, rdp.cert.clear, vnc.cert.confirm, vnc.cert.clear, server.db_tls_pin, server.db_test. В событиях нет паролей и ключей; для проверки Telnet фиксируются только достигнутые шаги.
Профили устройств
Профиль устройства — набор «подсказок» для шлюза, как войти на Telnet-сервер и как включить привилегированный режим на сетевом устройстве. Telnet не имеет единой процедуры входа: каждое устройство пишет своё приглашение («Username:», «login:», «Password:») и по-своему сообщает об ошибке. Профиль описывает, какие строки шлюз должен узнать, чтобы вовремя ввести логин и пароль.
Страницы профилей находятся в группе меню Resources, пункт Device profiles (/servers/profiles). Administrator видит и меняет профили. Auditor видит список и карточки профилей только для чтения: так аудитор может проверить, по каким правилам шлюз входит на устройства. Кнопки создания, изменения, удаления, дублирования и проверки по записи ему не показываются.
Список профилей
Таблица содержит столбцы Name (со значком Built-in у встроенных), Line end sent и Wait per step, seconds. Кнопка New profile создаёт свой профиль; кнопка Edit в строке есть только у своих профилей. Подсказка страницы: How the gateway signs in on a Telnet server, and enters privileged mode on a network device.
Встроенные профили поставляются со шлюзом, обновления их сохраняют, изменить или удалить их нельзя (Built-in profiles are kept by updates and cannot be changed; duplicate one to adapt it.). Их шесть:
| Профиль | Для чего | Привилегированный режим |
|---|---|---|
| Cisco IOS / IOS-XE | Маршрутизаторы и коммутаторы Cisco IOS. | Команда enable |
| Cisco NX-OS | Коммутаторы Cisco Nexus. | Команда enable |
| Juniper Junos | Оборудование Juniper. | Нет |
| MikroTik RouterOS | Оборудование MikroTik. Шлюз добавляет к имени пользователя суффикс +t и сам отвечает на вопросы устройства при входе (о лицензии и «нажмите Enter»). | Нет |
| Huawei VRP | Оборудование Huawei. Ожидание на шаг — 20 секунд. Отвечает «N» на предложение сменить пароль. | Команда super |
| Generic Unix | Обычный Unix/Linux-хост по Telnet. Это профиль по умолчанию для нового Telnet-сервера. | Нет |
На карточках встроенных профилей, кроме Generic Unix, написано: Checked against vendor documentation samples only, not yet against a real device. Перед началом работы проверьте профиль на своём устройстве (кнопка Test the connection на карточке Telnet-сервера показывает достигнутые шаги входа) и при необходимости сделайте копию и подправьте шаблоны.

Карточка профиля и копирование
Карточка профиля (/servers/profiles/<id>) показывает все его поля: Name, User name prompt, Password prompt, Signed-in prompt, Refused login, Wait per step, seconds, Line end sent, а у встроенных ещё Privileged step, User name suffix, Fixed answers. Строка Servers using it перечисляет серверы, которые используют профиль.
Кнопка Duplicate делает копию под именем «Copy of …» (если такое имя занято — «Copy of … 2», «Copy of … 3» и т. д.) и открывает её на изменение. Привилегированный шаг, суффикс имени пользователя и фиксированные ответы при копировании не переносятся: они доступны только у встроенных профилей. Консоль об этом предупреждает: Privileged mode is available only with the built-in profile. Поэтому копия подходит для обычных устройств с входом по логину и паролю; для устройства, которому нужен привилегированный режим, используйте встроенный профиль.
Кнопка Delete у своего профиля спрашивает Delete profile …?. Профиль, которым пользуется хотя бы один сервер, удалить нельзя: The profile is used by these servers: … Встроенный профиль удалить нельзя: A built-in profile cannot be changed or deleted.
Создание и изменение своего профиля
Кнопка New profile открывает форму /servers/profiles/new. Значения шаблонов — регулярные выражения. Шлюз применяет их к концу последней принятой строки и сравнивает по безопасному алгоритму, который не зависает на «тяжёлых» выражениях.
| Поле | Что вводить | По умолчанию / ограничения |
|---|---|---|
| Name | Имя профиля. | 1–64 символа. Имя уникально (иначе This name is already taken.). Некорректное имя: A value was not accepted. Check the form. |
| User name prompt | Шаблон приглашения на ввод имени (например, (?i)(user ?name|login):\s*\z). | Обязательное. Это .NET-регулярное выражение, не более 512 символов. |
| Password prompt | Шаблон приглашения на ввод пароля. | Обязательное, те же правила. |
| Signed-in prompt | Шаблон приглашения, по которому шлюз понимает, что вход удался. | Обязательное, те же правила. |
| Refused login | Шаблон сообщения об отказе. Подсказка: Optional. Without it a prompt shown again or a timeout is the failure. | Необязательное. Без него отказом считается повторное появление приглашения или превышение времени. |
| Wait per step, seconds | Сколько секунд шлюз ждёт каждого шага входа. | 10. Допустимо 3–60. |
| Line end sent | Что шлюз отправляет в конце строки: CR LF или CR NUL (devices that run a command twice on CR LF). | CR LF. |
Подсказка под шаблонами: A .NET regular expression, at most 512 characters, matched at the end of the last line. Backreferences, lookarounds and atomic groups are not supported. Возможные ошибки шаблона: This is not a valid regular expression., At most 512 characters., Backreferences, lookarounds and atomic groups are not supported., This regular expression is too costly to check against device output. Simplify its repetitions. Правки при открытой форме защищены от «потерянного обновления»: если профиль изменил другой администратор, будет The record was changed by another administrator — open it again.
Проверка профиля по записи сеанса
Под формой профиля (и на карточке) находится блок Test against a transcript: вы вставляете то, что показывает устройство, а шлюз проверяет, вошёл бы он с этим профилем. Для проверки не нужно подключаться к устройству и не используются настоящие пароли. Подсказка: Paste what the device shows; mark where the gateway types with ⟨user⟩ and ⟨password⟩, or paste a TelnetProbe capture.
- Скопируйте вывод устройства в поле Transcript: приглашения и ответы, как их видит человек.
- Отметьте места, где шлюз вводит данные, маркерами
⟨user⟩(имя) и⟨password⟩(пароль). Для привилегированного шага —⟨privileged⟩. Перед каждым маркером шлюз выдерживает короткую паузу (200 мс). - Нажмите «Run the test». Шлюз проиграет запись «в виртуальном времени» и покажет таблицу: Step, Pattern, Matched text, Result по каждому шагу (User name prompt, Password prompt, Signed in, Refused, Privileged password prompt, Privileged mode, Fixed answer; рядом — номер строки записи). Результат каждого шага: Matched, Not matched, Timed out или Skipped.
- Прочитайте итог: The gateway would sign in with this profile. или The gateway would not sign in with this profile.
Запись не может быть больше 64 КиБ (A transcript is at most 64 KiB.); пустая или не читаемая запись даёт A value was not accepted. Check the form. Ничего из проверки не сохраняется. Проверку по форме можно делать до сохранения профиля: она использует шаблоны, которые вы ввели в форме. Проверка по карточке использует сохранённые шаблоны. Запускать проверку может только Administrator.


Учётные записи
Учётная запись сервера — это логин и секрет (пароль или закрытый ключ), под которыми шлюз входит на сервер вместо человека. Человек секрета не знает и не может его узнать: шлюз подставляет секрет сам в момент подключения. У одного сервера может быть несколько учётных записей (например, root и deploy). Какие из них доступны человеку, решают правила.
Учётные записи видит и меняет только Administrator. Они доступны в двух местах: на вкладке Accounts карточки сервера (записи одного сервера) и в общем списке Accounts группы меню Resources (/accounts, записи всех серверов — удобно искать по логину).
Secrets are write-only: nobody can view or copy them, in the console or through the API. The gateway puts them in itself when it connects. Консоль не показывает сохранённый пароль или ключ ни администратору, ни кому-либо ещё: можно только заменить секрет новым. Сохранённый секрет хранится зашифрованным ключом шлюза (см. раздел Ключ шифрования), в аудите записывается только факт замены и тип секрета.
Список учётных записей
Страница /accounts (подсказка: Every account of every server, to find one by login. Secrets are write-only.):
| Элемент | Что делает |
|---|---|
| Поиск (Login or server) | Ищет по логину и имени сервера. |
| Фильтры Passwords, Keys, Unchanged for 14+ days | Только записи с паролем; только записи с ключом; записи, секрет которых не менялся 14 дней и больше (помогает контролировать плановую смену паролей). |
| Столбцы Login, Server, Secret type, Secret, Secret changed | Логин; сервер (ссылка); тип секрета (Password или Private key); состояние секрета (Password set · changed …, Key set · changed …); у записей с привилегированным режимом ещё строка Privileged-mode password set · changed … или пометка Same as the login password. |
| Строка → Replace secret | Открывает страницу замены секрета. |
| Строка → Open the server | Переходит на карточку сервера. |
| Строка → Delete | Удаляет запись. Вопрос: Delete the account … on …? Its secret is erased; rules that name it no longer allow signing in with it. |
| Групповое действие Delete | Для отмеченных записей. Вопрос: Delete the selected accounts (N)? Their secrets are erased; rules that name them no longer allow signing in with them. |

Создание учётной записи
Кнопка Add account на вкладке Accounts карточки сервера открывает форму /accounts/new (в общем списке /accounts кнопки создания нет — список только для поиска, замены секретов и удаления). Сервер, с карточки которого вы пришли, уже выбран.
| Поле | Что вводить | По умолчанию / ограничения |
|---|---|---|
| Server | Сервер, на котором существует эта учётная запись. | Обязательно: Choose a server. |
| Login | Логин, под которым шлюз входит на сервер. Подсказка: The login the gateway uses on the server: latin letters, digits, dot, underscore, hyphen. | 1–64 символа: латинские буквы, цифры, точка, подчёркивание, дефис. Иначе: A login is 1-64 characters: latin letters, digits, dot, underscore, hyphen. На одном сервере логины не повторяются, регистр не учитывается: Root и root — одна запись (This name is already taken.). |
| Secret type | Password или Private key. Для VNC-сервера, который никого не проверяет, вместо этого No sign-in. Тип нельзя изменить после создания (The type of an account stays as created. To change it, delete the account and add it again.). | Password. |
| Password и Repeat the password | Пароль дважды. | От 1 до 16384 символов. Пустой пароль: Enter the password. Не совпали: The two passwords differ. Слишком длинный: The password is too long. |
| Private key (OpenSSH or PEM) | Текст закрытого ключа целиком, начиная со строки -----BEGIN OPENSSH PRIVATE KEY-----. | Не более 16384 символов. Принимаются только ключи RSA и ECDSA. Ключ проверяется при сохранении: если шлюз не может им подписать, он не сохраняется. |
| Key passphrase | Парольная фраза к ключу. Подсказка: Only if the key has one. | Необязательно. |
| Privileged mode | Только для серверов с профилем сетевого устройства; см. ниже. | Off. |
Под полями секрета консоль пишет: The old secret cannot be viewed. The new one is stored encrypted; the change goes into the audit log. Кнопки: Create, Cancel. После создания вы возвращаетесь на вкладку Accounts карточки сервера. В аудит пишется событие account.create (логин, сервер, тип секрета, режим; сам секрет не записывается).

Закрытые ключи: какие подходят
- Типы ключей: RSA и ECDSA (nistp256/384/521). Ed25519 пока не поддерживается: Ed25519 keys are not supported yet. Use an ECDSA or RSA key. Создайте подходящий ключ:
ssh-keygen -t ecdsa -b 384илиssh-keygen -t rsa -b 4096. - Форматы: OpenSSH (
BEGIN OPENSSH PRIVATE KEY) и PEM. Зашифрованный PKCS#8 (BEGIN ENCRYPTED PRIVATE KEY) прочитать нельзя; консоль советует: Convert the key to the OpenSSH format with ssh-keygen -p -f <file> and paste it again. - Если парольная фраза неверна или ключ другого типа: This key cannot be used: the passphrase is wrong, or it is not an RSA or ECDSA key. Если поле пустое или в нём не ключ: A private key in OpenSSH or PEM format is required.
- Ключом можно входить на SSH-серверы. Серверы Telnet, RDP, VNC и баз данных принимают только пароль (см. сообщения в разделе Серверы).
Замена секрета
Меню строки → Replace secret открывает страницу /accounts/<id>/secret (кнопка Replace). На ней показан только тип секрета и дата последней смены, сам секрет не показывается. Введите новый пароль (дважды) или новый ключ с парольной фразой по тем же правилам. После сохранения: The secret is replaced. В аудит пишется account.secret с типом секрета (password или key), без значений. Замена не прерывает уже открытые сессии: они продолжаются на старом входе, новые используют новый секрет.
У записей VNC-серверов под полем пароля есть пояснение: для типов «VNC password» значимы только первые 8 символов; для «Mac user name and password» имя и пароль — не более 63 байт каждое (For a Mac, the name and the password are each at most 63 bytes.).

Привилегированный режим сетевого устройства
На маршрутизаторах и коммутаторах после входа часто нужно ещё «повысить» привилегии: Cisco — командой enable и вторым паролем, Huawei — super. Шлюз может выполнить этот шаг сам, чтобы человек не знал второго пароля. Режим включается для учётной записи при создании или на странице /accounts/<id>/privileged (кнопка Save privileged mode) и доступен только если у сервера выбран встроенный профиль сетевого устройства (Cisco IOS / IOS-XE, Cisco NX-OS, Huawei VRP). Иначе: Privileged mode is available only with a built-in network-device profile.
| Значение поля Privileged mode | Что делает |
|---|---|
| Off | Шаг не выполняется. |
| Own password | Шлюз вводит отдельный пароль (поле Privileged-mode password, хранится так же, как остальные секреты). Если поле пустое: Enter the privileged-mode password. На странице изменения режима можно оставить поле пустым, чтобы сохранить прежний пароль. Заменить его можно на странице секрета. |
| Same as the login password | Шлюз вводит тот же пароль, которым входил. Highest risk: the gateway types the login password itself, and that password signs in on its own. Prefer a dedicated enable secret. |
The privileged-mode password is typed into the account's terminal. Use a dedicated enable secret, not the login password, and an account whose login the person cannot change. Пароль привилегированного режима набирается в терминале записи; шлюз скрывает его от человека и от записи сессии, но его безопасность зависит от того, что человек не может сменить пароль учётной записи на самом устройстве.
Профиль сервера нельзя заменить на тот, у которого нет привилегированного шага, пока есть записи в привилегированном режиме: Accounts of this server use privileged mode: choose a built-in network-device profile, or turn their privileged mode off first. Изменение режима записывается в аудит (account.privileged: было и стало); пароль привилегированного режима не записывается.
Как учётные записи связаны с серверами и правилами
- Логин записи — это то, что правило называет в поле Logins. Правило разрешает вход «под любым из перечисленных логинов на любом из выбранных серверов».
- Если у сервера одна доступная человеку запись, он может не указывать её при подключении; если несколько — добавляет третью часть имени (
логин:сервер:учётная_запись, см. главу Подключение по SSH). - Удаление сервера удаляет его учётные записи вместе с секретами. Удаление записи не меняет правила, но они перестают разрешать вход этим логином.
- Если шлюз закрыт (ключ шифрования не открыт, см. Открытие шлюза), создать или заменить секрет нельзя: The encryption key is not available.
Правила доступа
Правило отвечает на вопрос «кому, куда, под какой учётной записью, на какой срок и с какими правами на данные». Любого доступа без правила нет: если ни одно правило не называет человека и сервер, подключиться нельзя. Формула из консоли: A rule = who × where × with which account × until when.
Правила видит и меняет только Administrator (группа меню Access, пункт Access rules, адрес /rules). Правило бывает двух типов:
- Standing access (постоянный доступ) — действует сразу и до конца срока. Подробно описан здесь.
- By request (по запросу) — человек подаёт запрос на ограниченное время, решают согласующие. Этот тип описан в разделе Запросы на доступ. Он использует тот же перечень «Кто», «Куда», «Учётные записи» и «Права на данные», что описан ниже.
Список правил
Таблица /rules показывает столбцы Name, Type, Users, Groups, Servers, Accounts (All или Specified (N)), Data (кратко: файлы, терминал, копии), Starts / Ends и State. Фильтры-чипы: In effect, Ending ≤ 7 d, Not started yet, Expired, Disabled. Поиск: Name, user, server. Кнопка Create rule создаёт правило. Групповые действия над отмеченными постоянными правилами: Enable, Disable, Delete.
Состояния правила в столбце State: In effect, Ends in N d (скоро закончится), Not started yet, Expired, Disabled. Пустой список: No access rules yet и пояснение, что правило говорит, кто может подключаться к каким серверам, с какими учётными записями и до какого срока.

Создание и изменение правила
Кнопка Create rule открывает форму /rules/new. Вверху переключатель типа: Standing access / By request (подсказка: Standing access applies at once. By request lets people ask for a limited time; approvers decide.). Тип правила выбирается при создании и потом не меняется (The type of a rule is chosen when it is created and cannot be changed.). Форма изменения (/rules/<id>/edit) — та же. Секции нумеруются по порядку:
| Секция / поле | Что вводить | По умолчанию / ограничения |
|---|---|---|
| Main → Name | Название правила. | Обязательное, до 200 символов (Give the rule a name (up to 200 characters).). |
| Description | Для чего правило (кто просил, номер заявки). | До 1000 символов; длиннее — A value was not accepted. Check the form. |
| Enabled | Переключатель. Подсказка: Disabling takes effect at once, like expiry. | Включено. |
| Who → Users, Groups | Люди и группы. Выбор через поиск (Search), убрать — крестик (Remove …). Группы описаны в разделе Группы. Правило действует на всех членов группы, в том числе добавленных позже. | Нужен хотя бы один человек или группа: Choose at least one user or group. |
| Where → Servers and folders | Серверы и папки. Подсказка: A folder covers its subfolders and servers added later. | Нужен хотя бы один: Choose at least one server or folder. |
| Accounts → Which | Переключатель All (любая учётная запись на выбранных серверах) или Specified. | All. |
| Logins | При «Specified»: выберите известные логины из списка или впишите свои в поле Other logins, separated by spaces. Подсказка: An account with such a login on any of the chosen servers fits. A login that does not exist yet may be typed. | Нужен хотя бы один логин: Name at least one login, or choose “All”. Недопустимый логин: “…” is not a valid login. Логины указаны, но выбрано «All»: Logins are chosen, but the mode is “All”: choose “Specified” or remove the logins. |
| Term → Valid from | Дата и время начала в часовом поясе консоли (подсказка: Time zone: …). | Обязательное, по умолчанию — текущий момент. Пустое/ошибочное: Enter a date and time. |
| Valid until | Дата и время окончания. Рядом кнопки +1 day, +1 week, +1 month (отсчёт от момента начала или от текущего, если начало уже прошло) и No end. Подсказка: Optional: empty means no end. At that moment open sessions are cut. | Пусто = без срока. Конец должен быть позже начала: The end must be after the start. |
| Data movement | Права на файлы, терминал, буфер обмена, устройства, параметры запросов к БД, ввод в VNC. Подробно — в разделе Политика файлов, буфера обмена и устройств. | Файлов нет; терминал включён; буфера обмена нет; копий нет; из RDP-устройств включён только звук с сервера; управление экраном VNC включено; параметры запросов БД не пишутся. |
| Actions → Allowed | Единственное действие — Connect (флажок отмечен и недоступен). | — |
Кнопки формы: Create / Save, Reset, Cancel. Правила времени простые: только «с» и «до». Повторяющихся окон («по будням с 9 до 18») в правилах нет; для разовых работ задайте срок, для периодических — заведите правила на нужные интервалы или используйте доступ по запросу.
Если при сохранении правило позволяет двигаться больше данных, консоль просит подтвердить личность: Confirm who you are before saving: this rule lets more data move. и ссылка Confirm who I am. К расширениям относятся: добавление направления файлов, направления буфера обмена, включение терминала, копий файлов, записи текста буфера, любого устройства RDP, записи параметров запросов БД и управления экраном VNC. Для нового правила «расширением» считается любое отличие от значений по умолчанию (например, разрешённая передача файлов). Сужение прав (убрать направление, выключить устройство) подтверждения не требует.

Карточка правила
Клик по названию открывает карточку (/rules/<id>). Заголовок — название, метка состояния, кнопки Edit и Delete. Вкладки:
| Вкладка | Что показывает |
|---|---|
| Main | Блок Details: описание, кто, куда, учётные записи, права на данные (Data movement, Clipboard, Devices, Control the screen (keyboard and mouse), Record statement parameters), Valid from, Valid until, дата создания. Блок Quick actions: переключатель Enabled (Disable / Enable) и кнопки продления +1 week, +1 month (Extend — сдвигает «Valid until»; недоступны у правила без конца). |
| Who | Все, кого называет правило, прямо или через группу, и колонка Can connect: Yes или no (disabled or no User role) — человек отключён или у него нет роли User. |
| Where | Серверы с учётом раскрытых папок и подпапок (through folder …), их адрес, метка inactive у выключенных и учётные записи правила. |
| Log | События аудита по этому правилу. |
Если в правиле остались «нет никого» или «нигде» (Nobody / Nowhere) — например, группу или сервер удалили, — консоль предупреждает: This rule names nobody or nowhere (its group, user or server was deleted), so it gives no access. Edit it to name them, or delete it.

Что происходит с открытыми сессиями
Правило проверяется не только в момент входа. Шлюз заново оценивает права каждой открытой сессии, как только изменилось что-то, способное отнять доступ, и ещё в момент окончания срока правила, которое даёт сессии доступ:
- правило закончилось по сроку, отключено или удалено; отключён человек или сняты его роли; изменена или удалена группа; сервер выключен или удалён; удалена учётная запись; папка перенесена или удалена; человек сменил пароль (для прямых SSH-подключений) — сессия закрывается, человек видит сообщение (например, Your access to this server has ended. The session is closed.);
- если доступ даёт несколько правил, сессия живёт, пока действует хотя бы одно; шлюз проверяет доступ заново, а не следует «первому» правилу;
- правило сузили (убрали направление файлов или буфера обмена, выключили устройство или ввод): сужение действует сразу, открытая сессия получает новые права со следующего пакета. Если у SSH-сессии терминал выключен правилом, оболочка и команды закрываются сообщением Your access rule no longer allows a terminal on this server. The session is closed., а передача файлов остаётся доступной;
- правило расширили (добавили устройство или направление): устройство RDP, которое не было предложено при подключении, добавить в идущую сессию нельзя — расширение действует со следующего подключения (A device the session did not offer when it started cannot be added to it: a change that allows more takes effect at the next connection.);
- для доступа, выданного по запросу, человек за несколько минут до конца видит предупреждение, а при отзыве — кем отозван доступ.
Закрытие по сроку точное: у каждой сессии шлюз ставит таймер на ближайший конец правила, которое ей даёт доступ. Если база данных шлюза на время недоступна, открытые сессии продолжаются (отказ в проверке не считается «нет»), а новые не открываются.
Удаление правила (Delete) спрашивает: Delete the rule …? The access it gives ends at once. Правило по запросу, у которого уже есть запросы, удалить нельзя — его можно только отключить (A rule that has requests cannot be deleted; disable it instead.). Все изменения правил записываются в аудит (rule.create, rule.update, rule.enable, rule.disable, rule.extend, rule.delete) с описанием, что изменилось.
Политика файлов, буфера обмена и устройств
Эти права задаются в правиле доступа, в секции Data movement. Они отвечают на вопрос «что человек может унести с сервера и принести на него» и действуют на каждую сессию. Поля общие для всех протоколов; какие из них применимы к какому протоколу, показывает таблица.
| Поле правила | SSH | RDP | VNC | Базы данных | Telnet |
|---|---|---|---|---|---|
| File transfer (SFTP, SCP) | Да: SFTP и SCP | Да: файлы на перенаправленных дисках клиента и файлы через буфер обмена | Нет | Только MySQL LOAD DATA LOCAL | Нет (File transfer is not available for Telnet servers.) |
| Terminal | Да | Нет | Нет (Not used for VNC.) | Нет (Terminal applies to SSH and Telnet.) | Да |
| Keep copies of transferred files | Да | Да | Нет | Да, только для MySQL LOAD DATA LOCAL | Нет |
| Clipboard | Нет (у SSH нет буфера обмена) | Да | Да, только текст | Нет | Нет |
| Keep the text copied through the clipboard | Нет | Да | Да | Нет | Нет |
| Devices (RDP) | Нет | Да | Нет | Нет | Нет |
| Control the screen (keyboard and mouse) | Нет | Нет | Да | Нет | Нет |
| Record statement parameters | Нет | Нет | Нет | Да | Нет |
Поля и значения по умолчанию
| Поле | Значения и смысл | По умолчанию |
|---|---|---|
| File transfer (SFTP, SCP) | Четыре переключателя: No file transfer, Upload only (на сервер), Download only (с сервера), Upload and download. «Upload» — от человека на сервер, «Download» — с сервера к человеку. SFTP и SCP работают по этому правилу: при запрещённом направлении шлюз отвечает человеку сообщением (см. ниже). | No file transfer |
| Terminal | Переключатель Allow a shell and commands. Выключен: можно только передавать файлы; оболочка и команды отклоняются до того, как шлюз обратится к серверу. Подсказка консоли: Off: only file transfer is possible; a shell or a command is refused before the server is reached. scp still works, by the file rule. | Включён |
| Keep copies of transferred files | Переключатель Encrypted, beside the recordings. Шлюз сохраняет копию каждого переданного файла в зашифрованном виде рядом с записями сессий. Копии хранятся не дольше записей и удаляются вместе с ними (срок задаёт Sessions → Keep file copies, days). | Выключен |
| Largest file to keep, MB | Для включённых копий: максимальный размер сохраняемого файла, 1–4096 МБ. Подсказка: A larger file is transferred but not kept; its hash is still logged. Copies are deleted with the recordings. Другое значение: Enter a size from 1 to 4096 MB. | 100 |
| Clipboard | No clipboard, Into the session only (в сессию), Out of the session only (из сессии), Both ways. Только RDP и VNC; у VNC передаётся только текст. | No clipboard |
| Keep the text copied through the clipboard | Переключатель. Скопированный через буфер текст сохраняется в записи сессии и доступен аудиторам. Подсказка: Stored in the session record. Applies to RDP and VNC sessions. | Выключен |
| Devices (RDP) | Семь переключателей: Printers, Smart cards, Serial and parallel ports, USB devices, Camera, Microphone, Sound from the server. Шлюз предлагает серверу только то, что включено здесь, что бы ни отметил пользователь в клиенте Remote Desktop (The gateway offers the server only what is switched on here, whatever the Remote Desktop client has ticked.). | Всё выключено, кроме Sound from the server |
| Control the screen (keyboard and mouse) | Для VNC. Выключен: человек видит экран, но не может ни печатать, ни щёлкать. Включение позже — расширение прав (требует подтверждения личности). | Включён |
| Record statement parameters | Для баз данных. Сохраняются значения параметров, переданных вместе с запросом (а не только текст запроса). Предупреждение консоли: Parameters often carry personal data (names, personal numbers). Record them only when the purpose requires it (Law of Georgia on Personal Data Protection). | Выключен |
Как правила складываются
Если человеку доступ даёт несколько правил, итоговые права — объединение: направление файлов и буфера обмена — объединение направлений, Terminal, копии, запись текста буфера, устройства RDP и управление экраном — «хотя бы в одном правиле включено». Копии хранятся, если их требует любое правило, а предельный размер берётся наибольший из правил, где копии включены. Итог определяется при входе, запоминается на сессию и пересчитывается, когда правила меняются (см. Что происходит с открытыми сессиями).
Любое включение (направление файлов, буфер обмена, терминал, копии, устройство RDP, запись параметров, управление VNC) требует свежего подтверждения личности. Сужение прав подтверждения не требует и действует на открытые сессии сразу.
USB в RDP
Перенаправление USB передаёт устройство целиком (диски в том числе) и не подчиняется правилу для файлов. Поэтому его можно включить только вместе с Upload and download: USB devices can be allowed only together with “Upload and download” for files. Подсказка к полю: USB redirection moves whole devices, drives included, and does not follow the file rule. It can be switched on only together with “Upload and download” for files.
SFTP и SCP: чем отличаются от терминала
- Передача файлов идёт отдельным каналом, который шлюз разбирает сам: каждая операция проверяется по направлению, ведётся журнал (страница Передача файлов), считается хэш переданных данных, при необходимости сохраняется копия.
- Размер файла и общий объём за сессию ограничивают настройки Sessions → File transfer (Largest file, MB, All files in one session, MB). Превышение останавливает передачу.
- Если правило не разрешает терминал, работают только
sftpиscp; оболочка, команды,rsyncиsftp -sотклоняются. SCP в режиме WinSCP требует оболочку на сервере и поэтому тоже отклоняется (WinSCP нужно переключить на SFTP). - Telnet-серверам передача файлов не доступна.
(1) Если правило разрешает терминал, оболочка — не файловый канал: через cat, tar, sh -c данные можно переносить так, что политика файлов этого не видит. Настройка «File transfer» регулирует только SFTP и SCP; консоль предупреждает: With the terminal on, a person can still move files through commands. This setting governs SFTP and SCP only. Turn the terminal off to stop that. Чтобы закрыть этот путь, выключите Terminal. (2) Записанный хэш — это хэш байтов, прошедших через открытый файл, а не файла на сервере. (3) Шлюз не ограничивает пути в файловой системе сервера: ограничивайте права самой учётной записи на сервере. (4) Прерванная передача оставляет частично записанный файл на сервере.
Типовые схемы: только файлы — Terminal выключен, File transfer — «Upload and download» или одно направление; только оболочка — Terminal включён, файлы выключены (помните об ограничении 1); RDP без выноса данных — буфер обмена, файлы и устройства выключены (звук с сервера можно оставить).
Что видит пользователь при отказе, перечислено в главе Неисправности (группа «Передача файлов»). Как пользователю подключить SFTP и SCP, написано в разделе Подключение по SFTP и SCP.


Настройки: ключ SSH шлюза
Страница /system/ssh (меню System → Settings → плитка Gateway SSH key, группа «Security»). Видит только Administrator. Это страница для чтения: настроек на ней нет, кроме кнопок копирования. Подсказка страницы: The key SSH clients see when they connect to the gateway. BURSUcm and OpenSSH remember it on first use.
Это ключ самого шлюза (то, что видят SSH-клиенты людей), а не ключ какого-либо целевого сервера — ключи серверов описаны в разделе Серверы. Шлюз создаёт его один раз при первом открытии и использует тип ECDSA nistp256.
| Блок / поле | Что показывает |
|---|---|
| Host key → Fingerprint | Отпечаток ключа (SHA256:…). Если ключа ещё нет: The key is created once the gateway is open. |
| Public key | Открытый ключ (ecdsa-sha2-nistp256 AAAA…), кнопка Copy копирует его. |
| known_hosts line | Готовая строка для файла known_hosts клиентов, которую можно разослать. Пока порт не известен: The known_hosts line appears once the SSH port is known. |
| Заметка | Tell users to compare this fingerprint with the one their SSH client shows the first time. Сообщите людям этот отпечаток другим каналом (почтой, на бумаге): при первом подключении клиент покажет его, и человек сравнит. |
| SSH front end → State | Listening on port N или Not listening yet. |
| Listens on | Адрес и порт, на которых шлюз принимает SSH (параметр sshListen в gateway.json; по умолчанию 0.0.0.0:2222). |
| Host name given to clients, Port given to clients | Имя и порт, которые шлюз называет людям в подсказках и файлах (sshPublicHost, sshPublicPort). Если имя не задано, берётся адрес, по которому открыта консоль. Нужны за NAT или перенаправлением портов. |
| Key exchange offered | Алгоритмы обмена ключами, которые шлюз предлагает клиентам. |
| Connection limits | Например 1000 in all, 100 per address: общее число SSH-подключений и число с одного адреса. Не настраиваются в консоли. |
| Open connections, Running sessions | Сколько подключений открыто и сколько сессий идёт сейчас (число — ссылка на список сессий). |
Если ключ шлюза изменится (например, шлюз переустановлен на чистую базу), у всех клиентов, запомнивших прежний, появится предупреждение об изменении ключа. Это нормальная защита: человек должен сверить новый отпечаток с этой страницей.

Настройки: подпись файлов .rdp
Страница /system/rdp-signing (плитка RDP file signing, группа «Security»). Видит и меняет только Administrator. Заголовок страницы — Signing of .rdp files.
Когда человек скачивает файл .rdp со страницы «My access» (см. Мой доступ), шлюз может его подписать. Подписанный файл показывает в Remote Desktop, кто его издал, а изменение любой подписанной строки ломает подпись (A signed .rdp file shows Remote Desktop who published it, and a change to any signed line breaks the signature. The certificate must be trusted on the computers that open the file.). Без подписи Remote Desktop предупреждает человека при каждом открытии файла: There is no signing key: .rdp files are not signed, and Remote Desktop warns the person who opens one.
Подпись говорит «издатель известен» только если сертификат подписи (его корневой центр) установлен на компьютерах, которые открывают файл. Корпоративный сертификат из вашего центра сертификации подойдёт. Самоподписанный сертификат подойдёт, если вы добавите его в доверенные на этих компьютерах.
| Блок / поле | Что показывает или вводит |
|---|---|
| Details → State | Одно из состояний: No signing key, Signing, Certificate expires soon (за 30 дней до конца), Certificate expired, Certificate not valid yet, Not available (ключ сохранён, но прочитать его нельзя). |
| Publisher shown to the user, Thumbprint, Valid until | Издатель (поле Subject сертификата), отпечаток и дата окончания. Только открытые данные. |
| Заметка | The key is stored encrypted with the gateway's master key; it is never shown or exported. |
| Store the key → Certificate and private key (.pfx) | Файл PKCS#12 (.pfx или .p12) с сертификатом и закрытым ключом. |
| Passphrase of the file | Пароль к файлу .pfx. Оставьте пустым, если файл без пароля. |
| Кнопка Store the key | Сохраняет ключ. Меняется только после подтверждения личности (пароль и код): Changing the signing key needs your password and code again. При успехе: The signing key was stored. |
| Кнопка Remove the key | Удаляет ключ после вопроса Remove the signing key? .rdp files will then be unsigned. Сообщение: The signing key was removed. |
Какой сертификат подходит. Файл не больше 64 КиБ; внутри ровно один сертификат с закрытым ключом RSA не короче 2048 бит; сертификат допускает цифровую подпись (расширение «использование ключа» либо отсутствует, либо содержит digitalSignature); срок действия уже начался и ещё не закончился. Шлюз при загрузке сам подписывает пробный файл и сверяет подпись; если ключ не подходит к сертификату, он будет отклонён сразу, а не при каждом скачивании. Причины отказа — в таблице ошибок ниже и в главе Неисправности.
Шлюз подписывает файл только тогда, когда адрес в нём взят из конфигурации (параметр rdpPublicHost в gateway.json), а не из запроса браузера: иначе шлюз заверял бы своим сертификатом любой адрес, который назвал запрашивающий. Если ключ хранится, а rdpPublicHost не задан, на странице написано: Files are not signed until the gateway's public RDP host is set (rdpPublicHost in the configuration): the gateway never signs an address taken from the browser's request.
Сохранение и удаление ключа записываются в журнал аудита событием rdp.signing_key (отпечаток; для отказа — причина). Скорый конец срока сертификата выносится в предупреждения на странице обзора.

Настройки: сессии
Страница /system/sessions (плитка Sessions, группа «Sessions and protocols»). Видит и меняет только Administrator. Подсказка страницы: How sessions through the gateway are recorded and how long they may stay idle. Input recording, idle time and the banner apply to new sessions only; running sessions keep theirs.
Страница — одна форма с кнопками Save и Reset. Сохраняются все значения разом; каждое изменённое значение записывается в журнал аудита событием setting.change (прежнее и новое значение). Если за время правки форму сохранил другой администратор, будет The record was changed by another administrator — open it again.; откройте страницу заново. Неверное число: Enter a whole number from … to ….
| Секция / поле | Что вводить | По умолчанию / диапазон |
|---|---|---|
| Recording → Keep recordings, months | Сколько месяцев хранить записи сессий. Записи старше удаляются ежедневной очисткой; каждое удаление — событие аудита. Изменение вступает в силу при следующей очистке; консоль показывает её время (A changed term applies at the next sweep: …). | 12 месяцев; 1–120 |
| Record input | Переключатель Keep what users type, not only what they see. Для SSH сохраняются набранные символы. Предупреждение: This also keeps passwords typed at sudo prompts. Typed commands are visible anyway, because the server echoes them. | Выключен |
| Sessions → Close after no input, minutes | Через сколько минут без ввода шлюз закрывает сессию SSH. Человек видит причину. Относится к новым сессиям. | 30; 5–1440 |
| Banner before the shell | Текст, который видит человек в начале каждой сессии SSH; он же записывается. Пусто — встроенное уведомление о записи сессии на языке консоли по умолчанию. | Пусто; до 2000 символов, без управляющих символов, кроме перевода строки и табуляции (The banner is up to 2000 characters, without control characters.) |
| RDP sessions → Longest RDP session (hours, 0 = no limit) | Предельная длительность RDP-сессии. По истечении сессия завершается корректно, запись подписывается. | 0 (без ограничения); 0–168 |
| Close an RDP session after no input, minutes (0 = as for SSH) | Простой RDP-сессии. 0 — использовать время простоя SSH, указанное выше. | 0 (как для SSH) или от 5 до 1440 |
| Record keystrokes in RDP sessions | Переключатель Keep what users type in the remote desktop, not only what they see. Предупреждение: A recorded key can be part of a password: the signed recording is then readable evidence of it. Applies to new sessions. | Выключен |
| Index typed text for search | Переключатель Makes “who typed this” searchable; needs keystroke recording. Предупреждение: The index holds the typed text in readable form, passwords included, and is deleted with the recording. Layouts it does not know are counted, not read. | Выключен |
| File transfer → Largest file, MB (0 = no limit) | Размер файла, при котором передача останавливается. Строка файла в журнале сообщает об этом. Относится к новым сессиям. | 0 (без ограничения); 0–1048576 |
| All files in one session, MB (0 = no limit) | Сумма всех файлов одной сессии. | 0; 0–10485760 |
| Keep file copies, days | Сколько дней хранить копии файлов. Не дольше записей (предел показан в подсказке: срок записей × 30 дней). Удаляются ежедневной очисткой. Если вы увеличиваете срок свыше предела: Copies cannot be kept longer than the recordings (N days). | 90; 1–3650 |
Какие изменения требуют подтверждения личности
Изменение, которое ослабляет надзор или затрагивает приватность, требует свежего подтверждения личности (повторный ввод пароля и кода, 10 минут). Ужесточающие изменения подтверждения не требуют.
- включить запись ввода SSH (Recording what people type needs your password and code again.);
- включить запись нажатий в RDP (Recording keystrokes needs your password and code again.) или индекс набранного текста (Indexing typed text needs your password and code again.);
- уменьшить срок хранения записей; увеличить время простоя SSH; увеличить или снять предел длительности RDP-сессии; увеличить время простоя RDP; увеличить или снять предел размера файла и суммы за сессию; сократить срок хранения копий;
- изменить текст баннера (any change of the banner's text), потому что любой другой текст может убрать фразу «сессия записывается».
Остальные случаи: Confirm who you are before this change: … It lowers session protection. и ссылка Confirm who I am.
Индексы текста сессий (для SSH — всегда при включённой записи ввода; для RDP — при включённом «Index typed text for search») содержат набранное людьми, в том числе пароли, а поиск аудитора передаёт введённую им фразу параметром запроса. Если в PostgreSQL, где живёт база шлюза, включён журнал медленных запросов (log_min_duration_statement), он по умолчанию пишет такие запросы вместе с параметрами (log_parameter_max_length = -1). Тогда набранный текст и поисковые фразы попадают в журнал сервера PostgreSQL — за пределы срока хранения шлюза.
Задайте для базы шлюза log_parameter_max_length = 0 (и оставьте log_parameter_max_length_on_error по умолчанию, 0) либо держите журнал медленных запросов выключенным. В текстовых столбцах RDP статистика планировщика отключена (SET STATISTICS 0), чтобы ANALYZE не копировал частые набранные слова в pg_statistic.

Настройки: VNC
Страница /system/vnc (плитка VNC, группа «Sessions and protocols»). Видит и меняет только Administrator. Подсказка: Limits for VNC sessions through the gateway. A change applies to new sessions only; running sessions keep theirs.
Слушатель (Listener)
Первый блок показывает, готов ли шлюз принимать подключения VNC-клиентов. Он только для чтения: The listener is set in the gateway's configuration file (vncListen and vncAdvertisedName) and is changed there; it cannot be changed here. Поля: State, Host (имя, которое шлюз называет клиентам — vncAdvertisedName), Port.
| Состояние (State) | Что значит |
|---|---|
| Off | В gateway.json нет vncListen: VNC-доступ через шлюз выключен. |
| Listening | Шлюз принимает VNC-подключения. |
| Address not in the certificate | Имя из vncAdvertisedName не входит в сертификат шлюза: клиенты, проверяющие имя, откажутся подключаться. Сообщение: The VNC address clients are told is not in the gateway certificate. Выпустите сертификат с этим именем или поправьте имя. |
| Could not bind | Порт занят или недоступен. |
| The session worker cannot run on this host (socket hand-over). | На этом узле не работает отдельный рабочий процесс сессий VNC. |
Лимиты и параметры
| Секция / поле | Смысл | По умолчанию / диапазон |
|---|---|---|
| Connections and limits → VNC sessions at once | Сколько VNC-сессий одновременно на весь шлюз. | 64; 1–1000 |
| Idle timeout (minutes) | Сессия закрывается после стольких минут без ввода. | 30; 1–1440 |
| Longest session (hours, 0 = no limit) | Предельная длительность. | 0; 0–168 |
| Clipboard limit (KiB) | Наибольший размер текста, передаваемого через буфер обмена. | 1024; 1–20480 |
| Sign-in handshake limit (seconds) | Сколько секунд даётся клиенту на согласование и вход. | 10; 5–60 |
| Longest screen update (seconds) | Наибольшая пауза в обновлении экрана до закрытия сессии. | 60; 10–600 |
| Protection → A console ticket works only from the console's address | Одноразовый код для VNC действует только с того адреса, с которого открыта консоль. Выключение ослабляет защиту. | Включён |
| Live view and playback → Live view, frames per second | Предел частоты кадров живого просмотра. Медленный зритель получает меньше кадров, но не ошибку. | 8; 1–30 |
| Playback and export jobs at once per person | Сколько открытых картинок и экспортов может держать один человек. Лишние отклоняются и попадают в аудит. | 4; 1–64 |
| Hold an idle period longer than, seconds | Простой дольше этого показывается при просмотре и экспорте как одна пауза. | 5; 1–300 |
| Memory per live viewer, MiB | Память на одного зрителя живого просмотра. Зритель, отставший от потока, получает целые картинки вместо каждого изменения. | 16; 1–256 |
| Video export → Video export, frames per second | Частота кадров экспортируемого видео. Больше — крупнее файл. | 10; 1–30 |
| Video exports at once, whole gateway | Сколько экспортов одновременно на весь шлюз. | 2; 1–8 |
| Longest video, minutes (idle periods squeezed) | Экспорт, который был бы длиннее, останавливается и ничего не отдаётся. | 240; 1–1440 |
| Largest video file, MiB | Наибольший размер файла экспорта. Экспорт, превысивший предел, останавливается. | 2048; 1–65536 |
| Burn the capture time into exported videos | В угол каждого кадра записывается реальные дата и время записи. Меняет пиксели; на странице экспорта выбор можно переопределить. | Включён |
Значение вне диапазона: Enter a whole number from … to …. Увеличение пределов, которое ослабляет защиту (число сессий, время простоя, длительность, размер буфера, ограничения рукопожатия и обновления, число экспортов, память зрителя) и выключение привязки кода к адресу требуют подтверждения личности: Confirm who you are before weakening a limit. Снятие предела длительности (0) тоже ослабление. Параметры показа и экспорта частоты кадров, длительности и размера этого списка не затрагивают. После сохранения: Saved.

Настройки: базы данных
Страница /system/databases (плитка Databases, группа «Sessions and protocols»). Видит и меняет только Administrator. Подсказка: Limits, pass lifetimes and protections for database connections through the gateway. A change applies to passes and connections made after the save; ones already open keep what they started with.
Пользователь баз данных получает на странице «My access» «пропуск» (pass) и вводит его в клиенте как пароль (см. Подключение к базам данных). Пропуск показывается один раз, но не одноразовый: им можно открыть несколько подключений в течение срока действия (по умолчанию 8 часов, не более 16 подключений), а первое подключение нужно сделать в течение 2 минут после показа. Настройки задают время жизни пропусков, число подключений и защиту.
| Секция / поле | Смысл | По умолчанию / диапазон |
|---|---|---|
| Passes → First use of a pass within (seconds) | В течение скольких секунд после выдачи пропуск надо использовать в первый раз. | 120; 30–600 |
| A pass opens connections for (hours) | Сколько часов пропуск позволяет открывать подключения после первого использования. | 8; 1–24 |
| A pass ends after this many minutes with no open connection | Пропуск прекращается, если столько минут нет ни одного открытого подключения. | 30; 5–240 |
| Connections and limits → Connections per pass | Сколько подключений можно открыть одним пропуском. | 16; 1–64 |
| Database connections, gateway-wide | Всего подключений к базам данных через шлюз. | 500; 1–10000 |
| Database connections per person | Подключений на одного человека. | 32; 1–256 |
| Close a database connection after this many idle minutes | Простой, после которого подключение закрывается. | 60; 1–1440 |
| Longest database session (hours, 0 = no limit) | Предельная длительность сессии. | 0; 0–72 |
| Largest statement (MB) | Наибольшее сообщение клиента. | 64; 1–1024 |
| Gateway memory for statements in flight (MB) | Память шлюза под запросы «в пути», на весь шлюз. | 512; 64–8192 |
| Statement text kept in the log (KB) | Сколько килобайт текста запроса сохраняется в журнале. Подсказка: A smaller value keeps less evidence of what was run, so lowering it asks you to confirm who you are. | 64; 4–1024 |
| Protection → Require channel binding from PostgreSQL clients | Для PostgreSQL клиент обязан подтвердить привязку канала (SCRAM-SHA-256-PLUS). Защищает от подмены канала. Выключайте, только если клиент не умеет. | Включено |
| Require Encrypt=Strict from SQL Server clients | Для SQL Server клиент обязан подключаться в режиме Strict (TDS 8.0). Если выключить, пропуск открывает только одно подключение (This pass opens one connection only (Encrypt=Strict is off on this gateway).). | Включено |
| Version the gateway announces to MySQL clients | Строка версии MySQL, которую шлюз сообщает клиентам. Программы и сканеры читают её. Подсказка: Programs and scanners read this text to tell what they are talking to. Changing it asks you to confirm who you are. | 8.0.40-bursu-pam; 1–60 символов: буквы, цифры и . + _ - (Use 1 to 60 letters, digits and . + _ - only.) |
Новые значения действуют для пропусков и подключений, созданных после сохранения; уже открытые сохраняют прежние. Изменения записываются в аудит событием db.settings (изменения и список ослаблений). Увеличение предела, продление срока, отключение защиты (channel binding, Strict), уменьшение текста запроса и смена строки версии — ослабления: These changes weaken protection and need you to confirm your password: … и ссылка Confirm who I am. При одновременной правке двумя администраторами: The record was changed by another administrator — open it again.

Запросы доступа
Не всякому человеку нужен постоянный доступ к серверу. Для редких задач удобнее, чтобы человек сам попросил доступ на ограниченное время, а решение принял другой человек (согласующий). Так устроены запросы доступа. В этом разделе описана сторона пользователя: как попросить доступ, как следить за запросом, как продлить доступ или вернуть его досрочно. Сторона согласующего описана в разделе Согласование запросов, аварийный доступ без согласования — в разделе Аварийный доступ.
Как это устроено
- Правило «По запросу» (By request) создаёт администратор в разделе Правила доступа. Само по себе оно ничего не разрешает. Оно лишь определяет: кто вправе просить, к каким серверам и учётным записям, кто согласует, сколько согласований нужно, на какой срок можно просить и сколько ждать решения.
- Запрос — это просьба конкретного человека о доступе к конкретной учётной записи конкретного сервера на указанный срок. У запроса всегда есть причина (текст) и иногда номер заявки.
- Доступ появляется, когда запрос одобрен (или одобрен автоматически, если правило так настроено). Шлюз сам записывает отдельное разрешение на этот срок. Его нельзя изменить: оно либо закончится в свой срок, либо будет отозвано.
У вас должна быть роль User, учётная запись должна быть включена, а смена пароля не должна быть требуемой. Просить можно только то, что вам предлагает хотя бы одно правило «По запросу». Если ничего не предложено, в списке будет написано: No server can be requested now. Ask the administrator if you need access.
Состояния запроса
| Состояние | Что это значит |
|---|---|
| Waiting | Запрос подан, решения ещё нет. Если никто не решил за отведённое правилом время (по умолчанию 240 минут), запрос станет Expired. Если вы указали будущее время начала, а оно наступило раньше решения, запрос тоже истекает. |
| Approved | Запрос одобрен, доступ записан. Дальше по часам он бывает Scheduled (ещё не начался), Active (идёт) или Ended (срок вышел). Эти три стадии не хранятся отдельно, а вычисляются по времени. |
| Denied | Согласующий отказал. Достаточно одного отказа. Причина отказа видна в карточке запроса. |
| Cancelled | Запрос снят: вами, или шлюзом автоматически, если правило отключили либо оно перестало предлагать этот доступ. |
| Expired | Никто не ответил вовремя. |
| Revoked | Уже выданный доступ отозван до окончания срока (вами, администратором или согласующим). |
Запрос в веб-консоли
Страница /access/requests открывается из меню My access (вкладка Access requests). Её видит любой вошедший пользователь. Страница разбита на две вкладки: Available to request и My requests.

Вкладка «Available to request»
Таблица показывает всё, что вам можно просить. Столбцы: Server, Account, Limits (наибольший срок, например Up to 8 h), Approval и Access period (окно времени, в которое правило вообще разрешает доступ, если оно ограничено).
В столбце Approval написано одно из двух:
- Approvals needed: N и ниже Approvers who can decide: M — сколько согласований требуется и сколько людей сейчас вправе их дать.
- Granted at once; the reason is recorded — правило автоматическое: доступ выдаётся в момент запроса, но причина всё равно записывается.
В конце строки — кнопка Request access. Если по этой паре у вас уже есть ожидающий запрос, вместо кнопки стоит метка Request pending. Если администратор разрешил вам аварийный доступ к этой паре, рядом есть красная кнопка Emergency access (см. Аварийный доступ).
Окно «Request access»
Окно открывается по кнопке Request access. Вверху сказано: Server …, account ….
| Поле | Что вводить | По умолчанию / ограничения |
|---|---|---|
| Start | Когда доступ должен начаться. Два варианта: As soon as it is approved (сразу после одобрения) или At a time I state (появляются поля даты и времени). | По умолчанию — сразу после одобрения. Указанное время должно быть позже текущего и не дальше чем через 7 дней. Подсказка: At most 7 days ahead. The access period starts then, not when the request is approved. Весь запрошенный интервал должен лежать внутри окна времени, которое разрешает правило. |
| Duration | Выберите готовый срок: 30 min, 1 h, 2 h, 4 h, 8 h, 1 d — только те, что не больше предела правила. Для другого срока выберите Other, minutes и введите число минут. | Предлагаемое значение берётся из правила (по умолчанию 60 минут). От 1 минуты до предела правила (по умолчанию 480 минут, наибольший возможный предел — 20160 минут, 14 суток). Подсказка под полем: At most …. |
| Reason | Зачем вам нужен доступ. Это увидят согласующие и аудит. Пишите по существу: что за работа, на каком сервере, почему сейчас. | Обязательное. От 1 до 1000 символов; рядом счётчик ({0} of {1}, например 12 из 1000). |
| Ticket number | Номер заявки или инцидента во внешней системе. | Поле видно, только если правило его требует или разрешает. Если правило требует номер, он обязателен; если у правила задан формат, под полем стоит подсказка Format: … и номер должен ему соответствовать. Не более 64 символов, одна строка. Если правило номер не использует, поля нет. |
Кнопка Send request отправляет запрос. Результат — сообщение вверху страницы: Request … sent. (ждите решения) или Request … sent and approved automatically. (правило автоматическое, доступ уже выдан).

Что проверяет шлюз при подаче
- Не больше 10 ожидающих запросов на человека. Больше — отказ You have too many requests waiting. Wait for a decision or cancel one.
- Если по этой же паре у вас уже есть ожидающий запрос, второй не создаётся: шлюз покажет сообщение You already have a request waiting for this server account. и укажет на первый.
- Если вы и так уже вправе подключаться ко всему запрошенному интервалу, запрос отклоняется: You already have access to this server account for that whole period.
- Если людей, которые могут согласовать, меньше, чем нужно для кворума, запрос не принимается: Nobody can approve this request now. Contact the administrator. Сам вы никогда не считаетесь согласующим своего запроса.
- Если на пару действует несколько правил, главным считается самое строгое: сначала по наибольшему числу нужных согласований, затем по наименьшему сроку, затем самое старое.
- Если сервер сверх числа, на которое куплена лицензия, или лицензия закончилась, запрос не принимается (сообщения This server is beyond the number of servers the gateway's licence allows. Contact the administrator. и The gateway's licence has ended. Contact the administrator.).
Отказ записывается в журнал аудита как событие request.create с исходом «отказано». Список сообщений — в главе Неисправности.
Вкладка «My requests»
Ваши запросы, новые сверху. Столбцы: No., Server, Requested, Access period, State. Под строкой видно, кто и когда решил (Decided by …), а если доступ отозван — кто и почему (Revoked by …: …). Пока запрос ждёт, показано, до какого часа ждать: Decision due by …. Пустой список: You have made no requests.
| Кнопка | Когда есть | Что делает |
|---|---|---|
| Cancel request | Пока запрос в состоянии Waiting. | Спрашивает Cancel request …?, затем снимает запрос. Сообщение: Request cancelled. |
| Release access | Пока одобренный доступ не закончился: он идёт (Active) или ещё не начался (Scheduled). | Спрашивает End this access now? Your open sessions end at once. После подтверждения доступ завершается, открытые сессии закрываются. Сообщение: Access ended. Эта кнопка есть только у запрашивавшего; администратор и согласующие отзывают доступ другим способом (см. Когда доступ заканчивается или отзывается). |
| Extend | Пока доступ идёт (Active), по нему ещё нет ожидающего продления и какое-либо правило «По запросу» по-прежнему предлагает эту пару «сервер и учётная запись» (если правило отключили, кнопка пропадает). | Открывает то же окно Request access. Продление — это новый запрос, который начинается в момент окончания текущего доступа и рассматривается как любой другой: Extending files a new request that starts when this access ends; it is judged like any other. |
Когда вы открываете вкладку My requests, все решённые запросы отмечаются как просмотренные, и пропадает уведомление о них в колокольчике (Your requests that were decided: …).

Когда доступ заканчивается или отзывается
- В свой срок. Доступ действует ровно на согласованный интервал. По его окончании шлюз закрывает сессии, которые держались на этом доступе.
- Предупреждение. За несколько минут до конца (по умолчанию 5, настраивается на странице Notifications, 0–30; 0 отключает) шлюз пишет в открытую SSH-сессию строку
Your granted access ends in … minutes. File an extension request if you need more time.Клиент BURSUcm показывает такое же предупреждение всплывающим сообщением. - Отзыв. Вернуть доступ досрочно вправе: сам запрашивавший (Release access), администратор (страница
/rules/grants, заголовок Grants) и согласующий этого правила (вкладка Active grants на странице Approvals). Сессии на этом доступе закрываются сразу, в терминал пишетсяYour granted access was revoked by …. The session is closed.Продления, зависевшие от отозванного доступа, отменяются (ожидающие) или тоже отзываются (одобренные). - Правило отключили. Все ожидающие запросы по нему отменяются, о чём приходит письмо. Уже выданный доступ при этом остаётся, если администратор не отметил Also revoke access already granted from this rule.
Доступ, выданный по запросу, держит только те сессии, которые на нём основаны. Если у вас есть и постоянное правило, подключение продолжит работать после окончания запроса — шлюз закрывает только то, что держалось на закончившемся доступе.
Если вы подключаетесь по обычному SSH
Если доступа сейчас нет, но его можно запросить, шлюз отказывает в подключении и сам подсказывает путь: Access is not allowed now. You can request it in the web console: … (с адресом консоли) или, если адрес консоли не задан, … under My access, Access requests. Подайте запрос на странице /access/requests и подключитесь заново после одобрения.
Запрос из BURSUcm
Клиент BURSUcm (Windows и Universal) умеет подавать и отслеживать запросы без веб-консоли. Нужно, чтобы шлюз был подключён как источник каталога (см. BURSUcm).
- В дереве подключений появляется второй корень On request. Там перечислены серверы, к которым доступа нет, но его можно запросить. У каждой строки пояснение Access to this server is given on request. Состояние отражается значками: ожидание, Approved. Access starts … (одобрено, начнётся позже), либо until HH:mm у действующего доступа.
- Двойной щелчок или пункт Request access... открывает окно Request access (при продлении оно называется Extend access). Поля те же, что в консоли: Server (только чтение), Account (список, если учётных записей несколько), Start (When approved или At a set time с датой
ГГГГ-ММ-ДДи временемЧЧ:ММ), Duration (с вариантом Custom... и подсказкой minutes, 1 to …), Reason со счётчиком, Ticket (или Ticket (optional)) и Format: …. Кнопки: Cancel, красная Emergency access (только если разрешён аварийный доступ) и Send request. - Под заголовком окна клиент пишет, как будет рассматриваться запрос: Approved automatically; the request is recorded. либо Approvals needed: N. People who can approve: M., и ниже Rule: ….
- После отправки то же окно превращается в панель состояния: Waiting for approval · X of Y approved · expires …, Approved · starts …, Approved · active until …, а также итоговые строки This access has ended., The request was denied., The request was cancelled., Nobody answered in time; the request expired., The access was revoked. Кнопки панели — Cancel request и Connect now (когда доступ действует). Если шлюз недоступен, панель пишет cannot reach the gateway, trying again и повторяет опрос; если опрос прекращён — The status is no longer updated. Open My access requests to see it.
- Меню File → My access requests... открывает список ваших запросов (заголовок My access requests, подсказка Your requests, newest first. A running access can be given back or extended.) со столбцами Server, Account, State, Period, Answers и кнопками Refresh, Release, Extend..., Cancel request, Close. При возврате доступа клиент спрашивает: Give this access back now? Sessions running on it end. Пустой список: You have no access requests yet. Ask for access from the On request list.
- Стадии запроса в клиенте: Waiting for approval, Scheduled, Active, Ended, Denied, Cancelled, Expired, Revoked.
- Всплывающее предупреждение перед окончанием: Your access to … as … ends at …. Extend it in My access requests. После окончания: Your access to … as … has ended. с возможностью сразу запросить доступ снова.
Клиент проверяет поля сам до отправки и выводит понятные сообщения: A reason is required., The reason must be at most 1000 characters., Enter the ticket number., The ticket number must be at most 64 characters., The duration must be from 1 minute to …, The start must be later than now., The start can be at most 7 days ahead., The period must lie inside the time this access may be requested for. Ответы шлюза показываются теми же фразами, что и в консоли (см. Неисправности).
На сервере, где шлюз проверяет вводимые команды, клиент сам выключает tmux для этого подключения и ничего не вводит в оболочку от своего имени. Вкладка терминала показывает значок Command control is on. Подробности — в разделе Контроль команд.
Согласование запросов
Раздел для людей с ролью Approver. Он описывает страницу /approvals (меню Access → Approvals), на которой согласующий принимает решения по запросам доступа и подтверждает команды, задержанные контролем команд. Общий порядок рабочего дня согласующего — в разделе Роль «Approver».
Кто может согласовывать
Решать запрос может человек, который одновременно:
- включён и имеет роль Approver;
- назван в правиле «По запросу» как согласующий — лично или через группу (поле Approvers правила);
- не является автором этого запроса. Решение по собственному запросу невозможно: страница его просто не показывает.
Если запрос нельзя решать вам или его нет, страница отвечает одинаково — «не найдено» (HTTP 404). Так согласующий не узнаёт о чужих запросах, к которым не допущен. Администратор страницу Approvals не видит: роли Administrator и Approver несовместимы (подробнее — в разделе Роль «Approver»).
Вкладки страницы
Вкладки идут в таком порядке. Каждый список ограничен 100 строками.
| Вкладка | Что показывает |
|---|---|
| Waiting for me | Запросы, ожидающие вашего решения. Пустой список: No request waits for your decision. |
| Commands (в скобках число) | Командные строки, которые контроль команд задержал и ждёт подтверждения второго человека. См. Подтверждение команд. |
| Active grants | Действующие доступы по правилам, где вы согласующий, с кнопкой Revoke. Пустой список: No active grants. |
| History | Что уже решено: Decision, By, When. Пустой список: Nothing has been decided yet. |
Число на значке в боковом меню считает только запросы, ожидающие решения. Команды, ждущие подтверждения, в него не входят; о них говорят вкладка Commands и колокольчик.

Карточка запроса
Заголовок — Request №. В карточке: Requester, Server and account, Access period, Reason, Ticket, Rule, Approvals: X of Y и Decisions so far (кто уже одобрил или отказал, с комментариями; пока никого нет — None yet.). Для оценки добавлены две справки: This person's last five requests и This person's last five sessions on this server.
Если после подачи запроса условия правила изменились, над кнопками стоит предупреждение о том, что будет, когда вы одобрите: … now governs this access, so approving will cancel this request., No rule offers this access any more, so approving will cancel this request., The ticket no longer meets the rule's terms, so approving will cancel this request. или The rule now allows at most … minutes: the grant will be that long.
Одобрить или отказать
| Элемент | Что вводить | По умолчанию / ограничения |
|---|---|---|
| Shorter duration, minutes (optional) | Если вы согласны на меньший срок, чем просили, введите его. Подсказка: Never longer than requested. With several approvers the shortest proposal wins. | Пусто = как запрошено. От 1 минуты и короче запрошенного. |
| Comment | Пояснение к решению. | При одобрении необязателен. При отказе обязателен (A comment is required to deny a request.). Не более 1000 символов. |
| Approve | Кнопка одобрения. Спрашивает Approve access for … to …? | Требует свежего подтверждения личности (см. ниже). |
| Deny | Кнопка отказа. | Подтверждение личности не нужно. Одного отказа достаточно, чтобы закончить запрос. |
Одобрение требует, чтобы вы недавно подтвердили себя (окно действует 10 минут). Если подтверждения нет, страница пишет Approving needs you to confirm who you are first. Denying does not. и показывает ссылку Confirm who I am; после подтверждения вы возвращаетесь на тот же запрос.
Результаты: Your approval is recorded; more approvals are needed. (кворум ещё не набран), Approved. The access is granted. (кворум набран, доступ выдан), Request denied.
Кворум. Число нужных согласований задаёт правило (от 1 до 5, от разных людей). Запрос получает доступ, когда набрано нужное число одобрений от людей, которые к этому моменту ещё вправе согласовывать. Если кого-то из проголосовавших успели лишить роли или убрать из правила, его голос не считается; в истории это видно как Vote dropped: this approver no longer qualified at the final count. Когда согласующие предложили разный срок, выдаётся самый короткий из предложенных.
Ожидание. Если запрос не решён за время, заданное правилом (по умолчанию 240 минут), он истекает.
Вкладка «Active grants»
Для каждого доступа видны человек, сервер, учётная запись и срок. Кнопка Revoke спрашивает Revoke the access of … to …? Open sessions end at once. и принимает необязательное поле Reason (kept in the log) (не более 1000 символов). Отзыв закрывает открытые сессии, а продления, зависевшие от этого доступа, отменяются или отзываются. Сообщения: Access revoked. и Access revoked, and … extension(s) that depended on it. Если доступ уже закончился или отозван, будет сказано This access has already ended or was taken back.
Подтверждение команд
Если политика контроля команд содержит правило Ask a second person, строка, набранная пользователем, задерживается, пока подтверждающий не разрешит её (см. Контроль команд). Такие строки показаны на вкладке Commands. Список обновляется сам, без перезагрузки: New commands appear here as soon as they are held. The page does not need to be reloaded. Если связь потеряна: The live connection was lost. Reload the page to see what is waiting.
- Открывая вкладку, вы переходите на подтверждение личности, если свежего подтверждения нет. Страница показывает, сколько оно ещё действует: Your confirmation is valid for another …. Когда оно истекло: Your confirmation has run out, so Allow is off until you confirm again. Команда не ждёт, пока вы подтвердитесь, поэтому сделайте это заранее.
- Карточка: Command held for confirmation, Person, сервер и учётная запись, Policy and entry, Confirmations: X of Y, Time left: … s, Command (пароли и ключи скрыты там, где их удаётся распознать).
- Памятка: You confirm a text, not a program. Aliases, functions and key bindings can make a line do something other than what it says.
- Last screen rows — последние строки экрана сессии (если политика включает Show the last screen rows to the confirmer). Они подписаны From the target: их написал сам сервер, он может подделать любой вывод, поэтому они ничего не доказывают.
- Lines read earlier in this session — прежние строки сессии. Строки, которые меняют команды или клавиши (
alias,function,bind), помечены redefines a command or a key. - Ссылка Watch live есть только у человека, который одновременно Auditor: смотреть сессию вживую может только аудитор.
| Элемент | Что делает |
|---|---|
| Allow | Разрешает. Спрашивает Allow … to run this command on …?, требует свежего подтверждения личности, комментарий необязателен. Если нужны несколько подтверждающих: Your Allow is recorded. … more needed. Когда кворум набран: Allowed. The held line is released now. |
| Deny | Отказывает, комментарий обязателен (A comment is required to deny a command.). Подтверждение личности не нужно. Результат: Denied. The line was stopped. |
Свою собственную сессию подтверждать нельзя: This is your own session. Another person has to decide. Если время вышло, команда отклонена автоматически (таймаут — это отказ). Если строка изменилась, пока ждала, подтверждение недействительно: The held line is not the one you were shown, so it was refused. Сразу после перезапуска шлюза страница не принимает решений, пока не закончится проверка ожидающих команд: The decision could not be saved. Try again.

Колокольчик и уведомления
В верхней панели консоли находится колокольчик Alerts. У согласующего он есть всегда. Обычный пользователь видит его, только если у него есть что показать. Пункты, важные для этого раздела:
- Requests waiting for your decision: … — ссылка на вкладку Waiting for me.
- Commands waiting for your confirmation: … — ссылка на вкладку Commands.
- Your requests that were decided: … — у запрашивавшего; ссылка на My requests.
- Для администратора: Rules that no one can approve now: …, New approvers without a console change: …, Directory roles refused (Administrator wins over Approver): ….
Остальные пункты колокольчика описаны в разделах Аварийный доступ, Уведомления и Контроль команд.
Аварийный доступ
Аварийный доступ (по-английски break-glass, «разбить стекло») — способ попасть на сервер без согласования, когда работа не терпит ожидания. Он устроен так, чтобы им нельзя было пользоваться незаметно: человек подтверждает себя свежим кодом приложения-аутентификатора, указывает причину, а все ответственные сразу получают оповещение. Каждое применение позже обязательно проверяет другой человек.
Аварийный доступ пропускает согласующих. Включайте его только для тех людей и тех серверных записей, кому он действительно нужен, и не раньше, чем настроен хотя бы один канал оповещения (см. ниже).
Как администратор включает аварийный доступ
Аварийный доступ настраивается в правиле «По запросу» (раздел Правила доступа), в двух полях:
| Поле правила | Что вводить | По умолчанию / ограничения |
|---|---|---|
| Emergency access length (minutes) | На сколько минут даётся аварийный доступ. Подсказка: 15 to 240. Leave empty to switch emergency access off for this rule. The access ends at its time and is never extended. | Пусто — аварийный доступ по этому правилу выключен. От 15 до 240 минут. |
| Who may use emergency access | Отметьте людей из списка выше в форме правила. Подсказка: Mark people from the list above. They need a confirmed authenticator-app code, and the gateway asks for a new code at every use. | Никто не отмечен — никто и не может. |
Включить аварийный доступ можно только тогда, когда оповещение действительно дойдёт: если за последние сутки не доставил ни один канал (выгрузка в SIEM, почта или вебхук), шлюз отказывает: Cannot be switched on: no alarm channel (SIEM export, e-mail or webhook) has delivered in the last 24 hours. Set one up under System, send a test and try again. Сначала настройте каналы на странице Notifications. Расширение круга людей, серверов или учётных записей при включённом аварийном доступе требует свежего подтверждения личности.
Как человек пользуется аварийным доступом
Условия: вас отметили для этой пары «сервер — учётная запись», у вас подтверждено приложение-аутентификатор (TOTP; настраивается в профиле). Если приложения нет: Emergency access needs a confirmed authenticator app. Set one up in your profile first.
- Откройте окно. На странице
/access/requests, вкладка Available to request, нажмите красную кнопку Emergency access в строке нужной пары (в BURSUcm — кнопка Emergency access в окне запроса). - Прочтите предупреждение. This skips approval. You will be let in to … as … for … minutes. The use is recorded and must be reviewed afterwards. Use it only if the work cannot wait. Ниже сказано, кто будет оповещён: The moment you confirm, Approvers, Auditors and Administrators are told in the console, the emergency alarm recipients by e-mail or webhook, and the SIEM export records the event.
- Заполните поля. Они перечислены ниже.
- Подтвердите. Нажмите Use emergency access. При успехе: Emergency access granted until …. This use will be reviewed. Доступ действует с этого момента на срок, заданный правилом, и не продлевается.
| Поле | Что вводить | По умолчанию / ограничения |
|---|---|---|
| Reason | Что происходит и почему нельзя ждать согласования. Подсказка: At least 20 characters: what is happening and why it cannot wait for approval. | Обязательное, от 20 до 1000 символов. |
| Ticket number | Номер заявки, если правило его требует. | Как в обычном запросе; не более 64 символов. |
| Code from your authenticator app | Шестизначный код из приложения (пробел допускается). Подсказка: A new six-digit code, not the one you signed in with. A recovery code does not work here. | Нужен свежий код при каждом применении. Код, которым вы входили, и коды восстановления не подходят. Неверный код считается как неудачная попытка. |
| I understand that this use will be reviewed. | Флажок. | Обязателен. |
Ограничения
- Не больше 2 применений на человека за 24 часа (в консоли это значение не меняется).
- Не больше одного действующего аварийного доступа на человека и сервер: You already have emergency access to this server account.
- Неверные коды считаются. Если учётная запись заблокирована из-за неверных кодов, форма сообщает о блокировке и времени, когда она закончится. Кроме того, на отправку формы аварийного доступа действует предел 10 попыток в минуту на человека (ответ HTTP 429).
- Применение не отклоняется из-за того, что каналы оповещения молчат: событие всё равно записывается, а в журнале сохраняется, был ли канал живым.
- Лицензия проверяется, как и для обычного запроса.
Если применение отклонено, форма возвращается с сообщением, а поле кода очищается. Возможные сообщения: Emergency access is not available to you for this server account., Emergency access needs a confirmed authenticator app. Set one up in your profile first., Write a reason of at least 20 characters., Enter the six-digit code from your authenticator app., The code is wrong or was already used., You already have emergency access to this server account., The limit of emergency accesses is reached. Contact the administrator.
Что видят все во время и после
- Человек. В консоли на каждой странице виден баннер Emergency access is active until …. This use is recorded and will be reviewed. В SSH-сессии, которая держится только на аварийном доступе, в терминале строка
Emergency access: this use is recorded, the responsible people have been told, and it will be reviewed.Перед концом он получает такое же предупреждение, как и при обычном доступе; в BURSUcm оно звучит Your emergency access to … as … ends at …. It cannot be extended. Продлить аварийный доступ нельзя; кнопки Extend у него нет, есть только Release access. - Согласующие, аудиторы и администраторы. В колокольчике появляется красный пункт Emergency access used and not yet reviewed: …; администратор дополнительно видит Emergency access reviews overdue: ….
- Адресаты аварийной тревоги (список на странице Notifications) получают письмо
Emergency access was used: request #…и вебхук. - SIEM. Применение попадает в выгрузку как отдельное событие.
- Команды. Для сессий, которые держатся только на аварийном доступе, автоматически действует встроенная политика Break-glass audit (built in): шлюз записывает каждую строку, которую удаётся прочесть. Её нельзя изменить или удалить. Пароли, набранные при запросе
sudo, не сохраняются: ввод не записывается.
Проверка после применения
Каждое применение должно быть проверено в срок, который задан настройкой (по умолчанию 72 часа; изменить значение в консоли пока нельзя). Проверять вправе включённый Approver или Auditor, который не является тем, кто пользовался доступом. Один администратор проверять не может.
Страница /audit/breakglass (меню Audit → Emergency access) доступна ролям Administrator, Auditor и Approver. Три вкладки:
- Waiting for review — применения без проверки;
- All uses — все применения (по 30 на странице);
- Command list — строки команд, прочитанные шлюзом в сессиях выбранного применения.
Столбцы таблицы: Person, Server and account, Reason, Ticket, Used, Sessions, Review. Состояние проверки: Waiting for review (Review due by …), Overdue (Review overdue since …) или Reviewed (Reviewed by … on …). Ссылки Sessions и Command list видны только аудитору и администратору; согласующий видит текст команд только на этой странице. Пустая страница: Emergency access has not been used.

Кнопка проверки открывает окно Review this use:
| Поле | Что вводить | По умолчанию / ограничения |
|---|---|---|
| Verdict | Один из трёх вариантов: Justified (оправдано), Not justified (не оправдано), Needs follow-up (требует продолжения). | Обязательно. Вердикт Not justified записывается в аудит как неуспешное событие. |
| Note | Что вы проверили и что нашли. Подсказка: Say what you checked and what you found. A note is required and is kept with the verdict. | Обязательная, не более 1000 символов. |
Кнопка Close the review закрывает проверку: Review closed. Повторно закрыть нельзя (This use has already been reviewed.), свою проверку закрывать нельзя (You cannot review your own use.); тому, кто пользовался, страница сообщает: Another Approver or an Auditor reviews your use of emergency access; you cannot close the review. Проверка работает и при исчерпанной лицензии.
Уведомления
Страница /system/notifications (меню System → Settings → Notifications) — только для администратора. Здесь настраивается, как шлюз сообщает людям о запросах, решениях и аварийном доступе: электронной почтой и подписанным вебхуком. Отказ канала никогда не блокирует запрос: шлюз повторяет доставку и поднимает пункт в колокольчике.
Пароль почты и секрет вебхука только для записи: после сохранения они больше не показываются. Если значение сохранено, под полем написано A value is saved. Leave the field empty to keep it; type a new one to replace it.

Поля страницы
| Поле | Что вводить | По умолчанию / ограничения |
|---|---|---|
| Console address | Адрес консоли, по которому люди её открывают, например https://pam.example.ge. Он попадает в письма и в фразу отказа SSH. | Только https, без пути. Пусто — писем без ссылки. Ссылка никогда ничего не одобряет: решение требует входа в консоль. |
| SMTP server | Имя или адрес почтового сервера, без пробелов. | Нужно вместе с Sender address: Enter the SMTP server and the sender address together. |
| Port | Порт почтового сервера. | 587. Целое число от 1 до 65535. |
| Encryption | STARTTLS (usually port 587) или TLS from the start (usually port 465). | Без шифрования почта не отправляется никогда. Для STARTTLS сервер обязан его предложить, иначе письмо не уходит (защита от понижения). Сертификат должен быть действительным. |
| Sender address | Адрес отправителя, например pam@example.ge. | Вид name@example.ge, без отображаемого имени, пробелов и кавычек. |
| User name | Логин почтового сервера. Пусто — вход не нужен. | До 254 символов, без управляющих символов. |
| Password | Пароль почтового сервера. | Только запись. Пустое поле оставляет сохранённое значение. |
| Address (https) (вебхук) | Адрес приёмника, например https://chat.example.ge/hooks/pam. | Только https, без логина и пароля в адресе. Переадресации не выполняются. Ответ приёмника не показывается, решения через вебхук принять нельзя. |
| Signing secret | Секрет для подписи. | От 32 до 512 символов, без переводов строки. Только запись. |
| Allow a receiver on an internal network | Флажок. Включите, только если приёмник находится внутри вашей сети (10.x, 172.16–31.x, 192.168.x, 100.64.x, fc00::/7). | Выключен: адреса внутри вашей сети запрещены. Адреса самой машины шлюза (127.x, ::1), link-local и служебные диапазоны запрещены всегда. Включение требует свежего подтверждения личности. |
| Recipients (блок Emergency access alarm) | Адреса электронной почты через запятую; они получают тревогу при каждом применении аварийного доступа. | До 10 адресов. |
| Warn before a grant ends, minutes | За сколько минут до конца выданного доступа предупредить человека в открытой сессии. | 5. От 0 до 30; 0 отключает предупреждение. |
| Wait for a command confirmation, seconds | Сколько секунд команда ждёт подтверждения второго человека. | 120. От 10 до 600. Единое значение для всех политик. |
| Waiting for a decision, minutes и Longest access, minutes | Только для чтения: с чего начинаются новые правила. Менять нужно в самом правиле. | 240 и 480. |
Сохранение, которое отправляет данные в новое место, требует свежего подтверждения: смена сервера, порта или шифрования почты, нового адреса вебхука, включение «internal network», смена адреса консоли, новые получатели тревоги. Сообщение: Confirm who you are before this change: …. It sends notifications somewhere new.
Проверка и состояние доставки
- Send a test e-mail отправляет пробное письмо на адрес вашей учётной записи (тема
BURSU PAM test message). Тест использует уже сохранённые настройки: Save the settings first: the test uses the saved ones. Если у вашей учётной записи нет адреса: Your account has no e-mail address. Add one in your profile first. - Send a test webhook отправляет пробное сообщение на сохранённый адрес.
- Результат: The test message was sent. или The test message was not sent: … с причиной (список причин — в главе «Неисправности»). Пока лицензия не позволяет менять настройки, тесты отклоняются.
- Карточка Delivery показывает по каналам E-mail, Webhook и SIEM export состояние и время Last delivered (Never, если ещё не доставляли; not set up, если канал не настроен).
Какие события и кому
| Событие | Кому приходит письмо |
|---|---|
| Подан запрос, ждущий решения | Согласующим правила (не более 50 адресатов). Тема: Access request #… is waiting for your decision. |
| Запрос одобрен, отклонён, истёк, отозван, отменён шлюзом | Тому, кто просил. Темы: Access request #… was approved / … was denied / … expired without a decision / Access granted by request #… was revoked / … was cancelled. Если доступ отозвал сам запрашивавший, письмо ему не посылается. |
| Применён аварийный доступ | Адресатам аварийной тревоги. Тема: Emergency access was used: request #…; в письме указан срок проверки. |
Каждый адресат получает письмо на своём языке (язык его учётной записи), а если он не задан — на языке шлюза по умолчанию. В письме нет кнопки «одобрить»: оно ведёт в консоль и сообщает, что решать можно только после входа.
Вебхук получает каждое событие в виде JSON с полями id, event, at; если событие относится к запросу, добавляются request, state, requester, server, account, period и reason (длинная причина обрезается). Заголовки: X-Bursu-Timestamp (время в секундах Unix) и X-Bursu-Signature: v1=…, где значение — HMAC-SHA256 от строки «время, точка, тело» с вашим секретом. Принимающая сторона должна проверять подпись и отвергать старые сообщения. User-Agent — BURSU-PAM-webhook/1.
Доставка. Сообщения лежат в постоянной очереди и отправляются повторно при сбое: до 20 попыток с паузами от 1 секунды до 5 минут. Ожидание почтового сервера — 60 секунд, вебхука — 10.
Колокольчик
Пункты, связанные с этим разделом: Notifications are failing: … (канал не доставляет), No push channel (SIEM, e-mail, webhook) has delivered in the last 24 hours, so an alarm could go unheard. (тревога может остаться неуслышанной), Emergency access used and not yet reviewed: …, Emergency access reviews overdue: …. Обычный путь: открыть страницу Notifications, посмотреть карточку Delivery, отправить тест.
Контроль команд
Контроль команд — это защитный барьер и журнал для людей, которые работают на серверах через шлюз. Шлюз читает строки, которые человек вводит в терминале, и по правилам (политикам) разрешает, помечает, задерживает до подтверждения второго человека, отклоняет строку или закрывает сессию.
Контроль команд останавливает то, что честные люди вводят по ошибке или по привычке. Он не остановит решительного человека с оболочкой: интерпретатор, less с выходом в оболочку, псевдоним, заданный до сессии, и другие приёмы обходят его. Настоящая защита — ограниченная учётная запись на самом сервере (sudoers, ограниченная роль, TACACS+ на устройствах), доступ только к единичным командам и запись сессии. Полный перечень обходов — на странице /help/commands (ссылка What command control cannot stop) и ниже, в разделе «Чего контроль не видит».
Где что работает
| Подключение | Что делает контроль |
|---|---|
| SSH-оболочка с терминалом: bash, zsh, dash, BusyBox ash | Полный контроль. Шлюз задерживает Enter, читает строку с экрана, проверяет и набранные клавиши (побеждает более строгое чтение). Отклонённая строка отменяется нажатием Ctrl-C вместо Enter, и шлюз проверяет, что экран перерисовался так, как это делает оболочка после отмены. |
Разовая команда (ssh host 'команда') | Строка проверяется целиком до запуска. Это самый надёжный случай, здесь работают списки разрешённого. При отказе команда не запускается, на стандартный вывод ошибок выводится сообщение, код завершения 126. Подтверждение второго человека для разовых команд невозможно: такая команда отклоняется. |
| Telnet и командная строка сетевых устройств (Cisco, Huawei, MikroTik) | Проверяется целая однострочная команда. Строка, которую человек ещё редактирует, остановить пока нельзя: она только записывается и сообщается. |
| fish, а также всё внутри tmux, screen, byobu | Только запись и оповещение, остановить нельзя. |
| Базы данных | Только оповещения. Ничего не блокируется; тревога по одному и тому же правилу для одной сессии объединяется раз в минуту. |
| SFTP/SCP, RDP, VNC | Контроля команд нет. |
Пока действует политика, на сервер передаются только переменные окружения LANG, LC_* и TZ; остальные отбрасываются. Оболочка без терминала (ssh -T) отклоняется: нечего читать. Исключение — сессия, которая держится только на аварийном доступе: там работает лишь встроенная политика Break-glass audit (built in), и терминал не обязателен.
Страница «Command control»
Адрес /commands, меню Access → Command control. Страницу видят Administrator и Auditor; аудитор только читает, администратор изменяет. Сверху — пояснение, ссылка What command control cannot stop и счётчик Commands waiting for confirmation: …. Четыре вкладки: Policies, Pattern groups, Tester, Starter packs.

Как устроено: группы шаблонов и политики
- Группа шаблонов (Pattern group) отвечает на вопрос «что искать»: набор шаблонов, например все варианты команды удаления.
- Политика (Policy) отвечает на вопрос «что делать»: к кому и к каким серверам она относится и в каком порядке перечислены её записи (запись = группа шаблонов + действие). Первая подошедшая запись решает.
- На одного человека на одном сервере может действовать несколько политик. Каждая судит отдельно, побеждает наиболее строгий результат. Добавленная позже политика может только ужесточить.
Группы шаблонов
Вкладка Pattern groups: столбцы Group, Patterns, Syntax, Used by; кнопка New group. Пустой список: No pattern groups yet.
| Поле | Что вводить | По умолчанию / ограничения |
|---|---|---|
| Group name | Название. | Обязательно, до 64 символов, уникально (This name is already used.). |
| Syntax | Command (whole words) — шаблон из слов: rm -rf совпадает с rm -rf /tmp, но не с rmdir; перестановки флагов (rm -fr) не охватываются. Или Regular expression — регулярное выражение по последним 4 КиБ строки. | Для регулярных выражений: не более 512 символов, без lookaround и обратных ссылок; слишком «дорогое» выражение отклоняется при сохранении. |
| Ignore case | Флажок: не различать регистр. | — |
| Patterns | По одному шаблону в строке. | От 1 до 500 шаблонов, каждый до 512 символов. Ошибки выводятся с номером строки (Line …: …). |
Ссылка Try it in the tester открывает проверку. Группу, которую использует политика, удалить нельзя (A policy uses this group. Take it out of the policy first.).

Политики
Адреса: /commands/policies/new (создание), /commands/policies/{номер} (карточка), /commands/policies/{номер}/edit (правка). В карточке — Edit, переключатель включения (Enable / Disable), Delete и блок What this affects now (какие серверы и люди сейчас попадают под политику). Встроенную политику Break-glass audit (built in) изменить, выключить или удалить нельзя.
| Поле | Что вводить | По умолчанию / ограничения |
|---|---|---|
| Policy name | Название политики. | Обязательно, до 64 символов, уникально. Описание — до 1000 символов. |
| Protocols (при создании) | Shells and Telnet или Databases (alerts only). | Выбирается при создании и потом не меняется. Для баз данных можно только Allow и Alert. |
| Mode | Deny-list — что не подошло ни к одной записи, выполняется (подходит для оболочек). Allow-list — что не названо, отклоняется, и принимается только одна простая команда (подходит для разовых команд и устройств; ломает приглашения и программы). | Базы данных — всегда Deny-list. В Allow-list запись Allow принимает составные строки (конвейер, перенаправление, подстановка) только при флажке Compound lines allowed. |
| Enabled | Включена ли политика. | — |
| Блок Who and what it applies to: Everyone, People, Groups, Servers, Folders, Account names | Кому и где действует. Everyone — все люди, включая будущих (отмечайте осознанно). Account names — имена учётных записей на серверах, по одному в строке. | Нужно назвать и «кого» (люди, группы или Everyone), и «где» (серверы или папки): Name who it applies to (people, groups or Everyone) and where (servers or folders). Пустое поле Account names — любая запись. |
| Блок Entries | Записи по порядку. Для каждой: Pattern group + Action + Compound lines allowed. Кнопки Add an entry, Move up, Move down, Remove. | Не больше 200 записей; первая подошедшая решает. Нужна хотя бы одна запись (Add at least one entry.), если не включён флажок Record every line the gateway can read: политика только для записи строк может быть без записей. |
| When a line cannot be read | Alert and let it run или Refuse. Случаи: экран очищен, сменилось приглашение, эхо не успокоилось. | Для Allow-list и для любой политики с записью «Ask a second person» — Refuse; иначе Alert and let it run. |
| When the command cannot be resolved | То же для строки, в которой команда — переменная, подстановка, маска, ссылка на историю, eval или source. | Refuse только для Allow-list; иначе Alert and let it run. Запись «Ask a second person» на это значение не влияет: если нераспознанная команда не должна проходить мимо подтверждения, выберите Refuse явно. |
| Record every line the gateway can read | Записывать все прочитанные строки, а не только совпавшие. | Выключено. Подсказка предупреждает: включайте только там, где люди это ожидают, это «журнал нажатий клавиш под другим названием». Если в политике есть запись «Ask a second person», шлюз записывает все прочитанные строки в любом случае, как бы ни стоял флажок. |
| Confirmers | Люди и группы, которые подтверждают команды по записи «Ask a second person». Каждый обязан иметь роль Approver и никогда не подтверждает собственную команду. | Каждый должен быть включённым человеком с ролью Approver (Every confirmer must be an active person who holds the Approver role.). Если подтверждающих нет, команду подтвердить некому, и она отклоняется. |
| Confirmations needed | Сколько подтверждений нужно. | От 1 до 5. |
| Show the last screen rows to the confirmer | Показывать ли подтверждающему последние десять строк экрана (экранированных, до 2 КБ, не сохраняются). | Включено. |
Действия записи:
| Действие | Что происходит |
|---|---|
| Allow | Строка выполняется. В Allow-list записи Allow и есть список разрешённого. |
| Alert | Строка выполняется, создаётся событие, пункт колокольчика и сообщение в SIEM. |
| Ask a second person | Строка задерживается, пока другой человек не подтвердит её (раздел Подтверждение команд). Тот, кто набрал, подтвердить не может. |
| Refuse | Строка не выполняется: шлюз её отменяет и сообщает. |
| Refuse and end the session | То же, и сессия сразу закрывается с указанием политики. |
Сохранение, которое делает контроль слабее, требует свежего подтверждения: Confirm who you are before this change: …. It makes command control weaker. В списке причин, например: политика выключена, запись стала мягче, выключена запись всех строк, Allow-list превращён в Deny-list, ответ на нечитаемые строки стал мягче, область применения сузилась, нужно меньше подтверждений, добавлен подтверждающий, подтверждение ждёт дольше.
При выключении политики шлюз спрашивает Switch this policy off? The commands it checks run unchecked from the next moment., при удалении — Delete this policy? Its past events stay in the audit log.

Проверка строки
Вкладка Tester (Try a command line) показывает, как шлюз прочтёт строку. Ничего не запускается и ни одна сессия не затрагивается: Nothing is run and no session is touched.
| Поле | Что вводить | По умолчанию / ограничения |
|---|---|---|
| Command line | Строка для проверки. | До 4096 символов (That line is too long to test.). |
| Shell family | Семейство оболочки: POSIX shell (bash, zsh, dash, ash), Windows command prompt (cmd), PowerShell, fish shell, csh and tcsh, Network device command line (IOS, VRP, RouterOS). | — |
| Judge it by | all enabled policies, одна политика или одна группа шаблонов. | Все включённые политики. |
Кнопка Check the line показывает: Words (слова), Simple commands (простые команды), Without wrappers (sudo, env, nice and the like), Matching entry, Result. Возможные итоги: No entry matches., Nothing matched, so the line would run., Nothing matched, and an allow-list policy refuses what it does not list., The gateway cannot see what this line runs: …, The line is unfinished (…), This line cannot be shown safely to a confirmer, so it could not be confirmed. Лимит — 30 проверок в минуту на человека, иначе Too many checks in a minute. Wait a moment.

Готовые наборы
Вкладка Starter packs содержит 19 заготовок, сгруппированных по семействам: Linux (6), Cisco (3), Huawei (3), MikroTik (3), разовые команды (1) и базы данных (3). Каждая указывает, на что опирается (Relies on …). Кнопка Make a policy создаёт политику выключенной: Policy … was created disabled. Review it before you switch it on. Проверьте записи, задайте область и включите. Набора Allow-list для интерактивных оболочек нет: он ломает приглашения и программы.
Что видит пользователь в терминале
Шлюз пишет простым текстом в отдельной строке, без префикса, на языке шлюза по умолчанию (у SSH-сессии нет своего языка).
| Ситуация | Текст |
|---|---|
| Строка отклонена | Command not run: policy … does not allow it. |
| Политика закрыла сессию | The session was ended by policy …. |
| Строка ждёт второго человека | This command needs approval from a second person. Waiting up to … s. Ctrl-C to withdraw. Ctrl-C отзывает команду. |
| Подтвердили | A second person allowed the command; it runs now. |
| Отказали, не ответили вовремя, отозвали, нет второго человека | A second person refused the command; it was not run (policy …)., No second person answered in time, so the command was not run (policy …)., Withdrawn. The command was not run., No second person is available to confirm this command, so it was not run. |
| Строка изменилась или подтверждение отменено | The held line changed while it waited, so it was not run., The confirmation was cancelled, so the command was not run (policy …). |
| Слишком много ожидающих команд / нет базы | Too many commands are waiting for confirmation on this gateway; this one was not run. Try again shortly., Confirmation is not available right now (the gateway cannot reach its database), so the command was not run. |
| Отмена не подтверждена | The command was cancelled, but the gateway could not confirm that it did not run (policy …). Check what it did.; для строгих политик The session was ended: a command was cancelled but the gateway could not confirm that it did not run (policy …). |
| Клавиши переназначены | The keys were rebound in this session. The gateway can no longer promise to stop a command here; this is recorded. Для строгих политик: The session was ended: the keys were rebound, so policy … can no longer be applied. |
| Вставили много строк | Too many lines at once: a script is not typed. Nothing was sent. (более 16 новых строк сразу) |
| Слишком много нечитаемых строк | Too many lines could not be read, so commands are refused for the rest of this session (policy …). |
| Строку нельзя безопасно показать подтверждающему | This line cannot be shown safely to the person who would confirm it, so it was not run. |
| Остановить нельзя (fish, tmux, screen) | Command control cannot stop commands in this shell (fish, or inside tmux or screen): they are recorded and reported only. |
| Устройство | On this device a command being edited cannot be stopped yet: command lines are recorded and reported only. |
| При подключении без терминала | Commands on this server are checked and need a terminal. Connect with ssh -t. |
| Политику включили в ходе сессии | Command control now applies to this server and needs a terminal, so the session is closed. |
| Разовая команда отклонена | Command not allowed by policy …. (код завершения 126) |
| Шлюз не смог узнать политики | The gateway could not find out which command policies apply to you, so the session is refused. Try again, or contact the administrator. |
Нажатый и удержанный Enter не вызывает тайм-аут сессии: пока идёт проверка, сессия считается активной. Клавиши, набранные во время задержки, ставятся в очередь (до 4 КиБ) и проверяются по очереди после решения; если строку отклонили, очередь сбрасывается.
Подтверждение вторым человеком
Ждать подтверждения придётся не дольше значения Wait for a command confirmation, seconds (по умолчанию 120 секунд; задаётся на странице Notifications). Ожидание — это отказ. Подтверждающий видит команду на вкладке Commands страницы Approvals, см. Подтверждение команд. Если нет ни одного подходящего подтверждающего, команда отклоняется сразу: No second person is available to confirm this command, so it was not run. Одновременно может ждать подтверждения не больше одной команды сессии, трёх команд одного человека и пятидесяти на весь шлюз; сверх этого строка не выполняется и шлюз пишет Too many commands are waiting for confirmation on this gateway; this one was not run. Try again shortly.
Контроль команд и клиенты
BURSUcm (Windows и Universal) на сервере с контролем команд выключает свой tmux для этого подключения и не отправляет в оболочку строк интеграции. Из-за этого не работают переход панели «Files» вслед за каталогом оболочки и пометки команд у ИИ-помощника. На вкладке терминала появляется значок Command control is on с подсказкой: Command control is on: the gateway checks the commands typed on this server, and tmux is off for this connection. This app types nothing into the shell here, so Files does not follow the shell's folder and the AI assistant has no command marks.
Чего контроль не видит

- Интерпретаторы:
python -c,perl -e,awk,vi :!выполняют команды, которых строка не показывает. - Программы с выходом в оболочку:
less,man,find -exec,git. - Псевдонимы и функции, заданные раньше в сессии или в файле запуска оболочки.
- Приёмы с переменными и кавычками (команда в
$x), раскрытие истории (!!), скрипт, загруженный по SFTP и запущенный. sshдальше с целевого сервера на другой;stty -echoи переназначение клавиш (bind,bindkey,zle): шлюз замечает частые случаи, но не все.- Программы, читающие команды со своего ввода (
psql,mysql,sqlite3,gdb,expect,vim -es) и ввод в полноэкранных программах, редакторах и приглашениях пароля. Такие строки считаются «нечитаемыми» и учитываются.
Что шлюз записывает: прочитанная строка, совпавшая с политикой (или любая строка, если включена запись всех), попадает в список команд сессии с маскировкой паролей и ключей (маскировка не гарантирована) и удаляется вместе с записью. Журнал аудита текст команды не содержит — только отпечаток, политику и результат. Читают текст команд Auditor и Administrator; Approver — только то, что ему прислали на подтверждение, и проверки аварийного доступа.
Роль «Approver»
Роль Approver («согласующий») назначается человеку в разделе Users (или приходит из группы каталога). Согласующий не настраивает шлюз, а принимает решения: по запросам доступа, по задержанным командам и по проверкам аварийного доступа. Роль не даёт доступа к серверам сама по себе.
Несовместимость с администратором
Один и тот же человек не может быть одновременно Administrator и Approver: нельзя одобрять доступ и в то же время писать правила, по которым он выдаётся. При назначении формы выдаёт Approver and Administrator exclude each other: nobody approves requests while managing the rules. Choose one of the two. и, при записи, A person cannot be both an Administrator and an Approver. Если человек получает обе роли из групп каталога, то побеждает Administrator, роль Approver отклоняется и выводится в оповещениях (Directory roles refused (Administrator wins over Approver): …).
Администратору, которому нужно согласовывать, нужна отдельная учётная запись с ролью Approver.
Что видит и что может согласующий
| Что | Где |
|---|---|
| Решать запросы доступа, отзывать выданный доступ | Страница /approvals, вкладки Waiting for me, Active grants, History (раздел Согласование запросов) |
| Подтверждать или запрещать задержанные команды | Вкладка Commands страницы Approvals (если назначен подтверждающим политики) |
| Проверять применения аварийного доступа | Страница /audit/breakglass; текст команд — только здесь (раздел Аварийный доступ) |
| Видеть оповещения | Колокольчик у согласующего есть всегда |
| Подавать запросы и пользоваться доступом | Только если у человека есть и роль User; самому себе согласующий запрос не решает |
Чего согласующий не видит: страниц настройки (серверы, учётные записи, правила, пользователи, система), журнала аудита, записей сессий, команд вне подтверждения. Чужие запросы, к которым он не допущен, он не видит вовсе.
Рабочий день согласующего
- Войдите в консоль. В меню Access есть пункт Approvals с числом ожидающих запросов на значке. Колокольчик напоминает о запросах и о командах, ждущих подтверждения.
- Подтвердите личность. Для разрешения (одобрения запроса или команды) нужно подтверждение, действует 10 минут. Подтвердите заранее, особенно если дежурите на командах: ждущая команда не останавливается ради вас.
- Разберите «Waiting for me». Для каждого запроса прочтите причину, номер заявки, срок и посмотрите, что человек уже запрашивал и делал на этом сервере. Одобряйте, при необходимости с меньшим сроком, либо откажите с комментарием.
- Следите за вкладкой «Commands», если вы подтверждающий политики. Решите, сверяясь с карточкой; помните, что вы подтверждаете текст, а не программу.
- Проверьте «Active grants», если нужно досрочно отозвать доступ (человек закончил работу, подозрения, ошибка в запросе).
- Проверьте применения аварийного доступа на странице Emergency access и закройте проверку с вердиктом и заметкой. Свои собственные применения вы закрыть не можете.
Запрос, который не решён за отведённое правилом время, истекает. Пока нет достаточного числа согласующих, шлюз не принимает новые запросы по этому правилу, а администратору показывает в колокольчике Rules that no one can approve now: …. Убедитесь, что согласующие включены, имеют роль Approver и названы в правиле.
Обзор: состояние шлюза
Страница Overview (адрес /overview) — первое, что видят администратор и аудитор после входа. Она отвечает на два вопроса: «всё ли в порядке со шлюзом» и «что происходило последнее время». Страница ничего не меняет, она только показывает. Её видят роли Administrator и Auditor; пользователю с одной ролью User и согласующему (Approver) эта страница недоступна.
На все чтения страницы вместе отведено не больше пяти секунд, а каждое значение читается отдельно. Если какое-то значение прочитать не удалось или оно не успело прочитаться (например, база данных не ответила), вместо числа стоит прочерк «—» или слово unknown, а остальная страница работает как обычно. Прочерк — не ошибка шлюза, а сообщение «не удалось узнать»; через минуту обновите страницу.

Блок «Where to start»
Блок виден только администратору и только пока хотя бы один шаг не выполнен. Он перечисляет четыре шага до первого подключения: Add a server, Add a server account, Create a user, Create an access rule. Выполненный шаг отмечается галочкой сам; у невыполненного есть кнопка Open, которая ведёт на страницу создания. Счётчик справа показывает «{число выполненных} of 4». Когда все четыре шага выполнены, блок исчезает. Шаг «создать пользователя» считается выполненным, только когда есть включённый пользователь с ролью User: администратор, аудитор и отключённые учётные записи не считаются.
Карточки с числами
| Карточка | Что показывает | На что обратить внимание |
|---|---|---|
| Users | Сколько учётных записей пользователей всего. | Красная пометка locked: N — столько записей сейчас заблокировано (например, после неудачных входов). Если блокировок нет, написано none locked. Разблокировка — на странице пользователя (раздел «Пользователи»). |
| Servers | Сколько серверов в каталоге; под числом — in N folders. | Жёлтые пометки — это предупреждения о слабой защите: Servers reached in clear text: N (шлюз ходит на них без шифрования, например по Telnet), VNC servers that sign nobody in: N (VNC-серверы без входа), Database servers with a weak sign-in allowed: N, Database servers reached unencrypted: N. Это не авария, но повод пересмотреть настройки этих серверов (раздел «Серверы»). |
| Access rules | Сколько правил доступа сейчас действует (in effect). | Пометка ending ≤ 7 d: N — столько правил закончится в ближайшие семь дней. Если правило нужно сохранить, продлите его (раздел «Правила доступа»). |
| Sign-ins today | Сколько входов в веб-консоль сегодня прошло успешно (successful). | Красная пометка refused: N — сколько попыток входа отклонено сегодня. Подробности — в журнале входов. Резкий рост отказов может значить подбор пароля. |
| Sessions now | Сколько сессий идёт через шлюз прямо сейчас: SSH, Telnet, SFTP/SCP, RDP, базы данных и VNC вместе. Сессия, которую уже завершают, в число не входит. | Под числом написано «SSH through the gateway», хотя считаются и другие протоколы. Если идут VNC-сессии, добавляется VNC sessions running: N; красная пометка VNC worker crashes (24 h): N — столько раз за сутки аварийно завершался служебный процесс VNC-сессии: посмотрите в журнале аудита события типа VNC session worker failed. |
| Requests waiting | Сколько запросов на доступ ждут решения согласующего. | Если число не уменьшается, проверьте, есть ли активные согласующие (раздел «Запросы на доступ»). |
| Emergency reviews open | Сколько использований экстренного доступа ещё не разобрано. Раздел с разбором — страница Emergency access. | Когда число больше нуля, значок карточки становится жёлтым. Разбор делают согласующий или аудитор, который сам не использовал этот доступ (см. ниже). |
| Grants ending today | Сколько выданных по запросам доступов заканчивается сегодня (до полуночи по времени отображения). | Только информация. |
График входов и последние события
График Console sign-ins («Successful sign-ins and refusals per day») показывает по дням число успешных входов (Successful) и отказов (Refused) в веб-консоль. Переключатель Period — Week (7 дней, по умолчанию) или Month (30 дней). Дни считаются по часовому поясу отображения, заданному в gateway.json (displayTimeZone, см. gateway.json).
Блок Latest events — десять последних событий журнала аудита. Заголовок события — ссылка на его карточку. Кнопка Audit log открывает полный журнал.
Блок Health: что значит каждая плашка
Блок Health («Checked when the page opens (at most every 30 s)») — это самопроверка шлюза. Состояние читается при открытии страницы и не чаще чем раз в 30 секунд, поэтому после исправления неполадки плашка может позеленеть не сразу. У каждой плашки справа стоит слово состояния: fine (зелёное, в порядке), attention (жёлтое, нужно присмотреться), problem (красное, нужно действовать), off (серое, функция выключена). Слово — ссылка на страницу, где неполадку исправляют, если у вас есть право её открыть. Аудитор видит плашки, но ссылки на страницы настроек для него не работают (настройки доступны только администратору).
Всегда показываются шесть плашек:
| Плашка | Что написано и что это значит | Что делать |
|---|---|---|
| Encryption key | protected by the OS / unsealed, sealed mode / unsealed — ключ шифрования открыт, всё в порядке (так называется режим защиты ключа). Красное locked — the gateway is sealed — шлюз запечатан, сессии не принимаются, пока администратор не введёт пароль или ключ восстановления. Красное The encryption key was changed, and this gateway still holds the previous one in memory. Restart the gateway (a sealed gateway will need its passphrase). — ключ сменили, а этот процесс держит старый. Жёлтое unknown — состояние не удалось узнать. | При запечатанном шлюзе откройте страницу Encryption key и введите пароль или ключ восстановления (раздел «Ключ шифрования», Unseal). При смене ключа перезапустите службу шлюза. |
| SIEM export | not set up (серым) — отправка не включена. queue N · last delivery … (зелёным) — отправка работает; «queue» — сколько событий ещё не подтверждено приёмником. Красное — последняя попытка доставки не удалась. The export is stopping: … и Switching receiver: … — идёт выключение или смена приёмника, последние события ещё не доставлены прежнему приёмнику (жёлтое, красное — если приёмник не отвечает). | Откройте SIEM export и посмотрите «Last error» (раздел «Отправка в SIEM»). |
| Last chain check | intact: No. 1–N · дата (зелёное) — цепочка событий проверена, целая. not checked yet (жёлтое) — проверок ещё не было. break at event No. N (красное) — найден разрыв цепочки. the last check could not run (красное) — проверка не смогла завершиться. | При разрыве немедленно действуйте по разделу «Проверка целостности». |
| Clock | skew N s against the database — расхождение часов шлюза и сервера базы данных. До 2 секунд — зелёное, больше — красное. Жёлтое unknown — не удалось сравнить. | Синхронизируйте время (NTP) на сервере шлюза и сервере PostgreSQL. Расхождение времени портит время событий, коды TOTP и проверку срока действия. |
| Disk | N % free — свободное место на диске, где лежит каталог данных шлюза (dataDirectory). Меньше 10 % — красное. free space unknown (жёлтое) — не удалось определить. Если администратор вынес записи в отдельный каталог на другом диске (recordingsDirectory), плашка этот диск не измеряет. | Освободите место или увеличьте диск. По умолчанию записи сессий лежат в каталоге данных, на этом же томе; при нехватке места запись не идёт, и новые сессии отклоняются (см. следующую плашку). Сроки хранения записей — Sessions. |
| Session recording | Recording works (зелёное). Красное Recording fails: new sessions are refused until there is room. — шлюз не смог записать сессию и отказывает в новых, пока не появится место. | Проверьте плашку Disk, права на каталог записей и журнал службы. Страница настроек — Sessions. |
Остальные плашки появляются, только когда соответствующая функция настроена:
| Плашка | Когда появляется и что значит | Что делать |
|---|---|---|
| RDP file signing | Когда в шлюзе доступна подпись .rdp-файлов (страница RDP file signing). Signing — подпись работает (зелёное). The .rdp signing certificate expires on … — сертификат скоро кончится (жёлтое). Certificate not valid yet — срок действия сертификата ещё не начался, пока ничего не подписывается (жёлтое). Certificate expired и Not available (ключ сохранён, но шлюз не может его открыть) — файлы не подписываются (красное). Если ключа нет совсем, плашка серая и говорит: There is no signing key: .rdp files are not signed, and Remote Desktop warns the person who opens one. Если ключ есть, но не задан rdpPublicHost, плашка жёлтая: Files are not signed until the gateway's public RDP host is set (rdpPublicHost in the configuration): the gateway never signs an address taken from the browser's request. | См. «Подпись RDP-файлов». |
| File copies | В течение последнего часа не удалось сохранить копию файла: File copies stopped: the recordings volume is near its reserve. Sessions are still recorded. или A file copy could not be written. Sessions are still recorded. (жёлтое). Передача файла прошла, но копию шлюз не сохранил. | Освободите место. Какие копии не сохранены, видно в «Передачах файлов». |
| Database access | Когда настроены прослушиваемые адреса для баз данных. Listening: PostgreSQL, MySQL… — слушают. Красное Not listening: …. See the service log. — адрес занят, у сертификата нет нужного отпечатка или нет модуля протокола; клиенты не смогут подключиться. | Страница Status и журнал службы («Базы данных»). |
| VNC listener | Когда VNC включён. Зелёное Listening. Красное: Address not in the certificate, Could not bind, The session worker cannot run on this host (socket hand-over). | Адрес VNC задаётся в файле настроек шлюза (vncListen, vncAdvertisedName), см. «VNC». |
| Licence | Состояние лицензии: срок, число активных серверов, лимиты, расхождение часов, «activated on another host» и т. п. Красные состояния («no licence: nothing is served», «ended on …: new sessions and changes are refused») означают, что шлюз перестал принимать новые сессии. | См. «Лицензия». |
Колокольчик «Alerts»
В верхней панели каждой страницы есть колокольчик Alerts. В нём собраны только текущие проблемы: все жёлтые и красные плашки блока Health плюс ещё несколько сообщений, которых в блоке Health нет. Если проблем нет, написано No current problems. Сообщения видят и администратор, и аудитор; ссылку на страницу исправления получает только тот, кто вправе её открыть.
| Сообщение | Что это | Куда ведёт / что делать |
|---|---|---|
| Lockouts: «users locked out in the last hour: N» | Пользователи, заблокированные за последний час. | Журнал входов с отказами (/audit/logins?f=bad). |
| Local journal: «N records wait for the database» | База данных не принимает записи; шлюз временно хранит их в локальном журнале и повторит запись. Жёлтое, а если ждут дольше 10 минут — красное. | Проверьте PostgreSQL. Пока журнал не пуст, записи в аудите могут отставать. |
| A server's host key changed: «N refused connections in 24 h — check the server before confirming a new key» | Ключ сервера отличается от запомненного. Шлюз отказал в соединении — возможна подмена сервера. | Ведёт к событиям Server host key mismatch. Сначала выясните, менялся ли сервер, и только потом подтверждайте новый ключ на карточке сервера. |
| Directories | Каталог пользователей не отслеживается или у него не подтверждён корневой сертификат (входы через него отклоняются). | Раздел «Каталоги». |
| Typed passwords at risk: «Passwords the gateway typed were echoed or taken by an unexpected program: N in 24 hours.» | Шлюз вводил пароль на устройстве, а устройство его показало (эхо) или его перехватила посторонняя программа. | Ведёт к событиям A typed password was taken without a device's reply. Проверьте настройки устройства и учётной записи. |
| Command control | «Command policies that could not be loaded: N» (красное) и «Command alerts in the last hour: N» (жёлтое). | Раздел «Контроль команд»; подробности — события Command policy could not be loaded и Command alert в журнале. |
| Notifications | Канал уведомлений не доставляет, либо ни один канал (SIEM, почта, вебхук) не доставлял 24 часа, а экстренный доступ включён — сигнал тревоги может остаться неуслышанным. | Раздел «Уведомления». |
| Access requests, Approver | Правила, которые некому согласовать; новые согласующие, назначенные не через консоль; роли каталога, отклонённые из-за несовместимости «Administrator и Approver». | Раздел «Запросы на доступ». |
| Rules ending | Правила, которые закончатся в ближайшие 3 дня. | Только администратор может продлить: «Правила доступа». |
| Emergency access | «Emergency access used and not yet reviewed: N» и (для администратора) «Emergency access reviews overdue: N». | Страница Emergency access, см. ниже. |
Сессии: списки, наблюдение, завершение
Раздел Sessions группы Audit бокового меню отвечает на вопросы «кто сейчас работает на серверах» и «кто и когда работал раньше». Страницы раздела видят Administrator и Auditor. Согласующий (Approver) и обычный пользователь их не открывают. Аудитор может смотреть, искать, воспроизводить записи и завершать сессии, но ничего не настраивает (раздел «Аудитор»).
Как устроен раздел
В боковом меню у раздела один пункт — Sessions — для всех протоколов. Отдельных пунктов для SSH, RDP, VNC и баз данных нет. На каждой странице раздела заголовок один и тот же — Sessions, а под ним полоса из пяти вкладок:
| Вкладка | Адрес | Что в ней |
|---|---|---|
| Running | /audit/sessions | Идущие сейчас сессии всех протоколов вместе: SSH, Telnet, SFTP, SCP, RDP, VNC и базы данных. Завершённых сессий здесь нет. |
| SSH / Telnet / SFTP / SCP | /audit/ssh-sessions | Сессии SSH и Telnet и файловые сессии SFTP и SCP. |
| RDP | /audit/rdp-sessions | Сессии Remote Desktop. |
| VNC | /audit/vnc-sessions | Сессии VNC. |
| Databases | /audit/db-sessions | Подключения к PostgreSQL, MySQL и SQL Server через шлюз. |
У каждой из четырёх протокольных вкладок есть свой переключатель Running | Archive. Не путайте его с первой вкладкой полосы: вкладка Running показывает идущие сессии всех протоколов, а переключатель Running внутри вкладки протокола — только сессии этого протокола. Archive — завершённые сессии с записями. Адрес архива — адрес вкладки с добавкой ?tab=archive, например /audit/rdp-sessions?tab=archive. Старый адрес /audit/sessions?tab=archive открывает архив вкладки SSH / Telnet / SFTP / SCP, поэтому прежние закладки продолжают работать.

Вкладка Running: все идущие сессии
Список показывает всё, что идёт через шлюз в эту минуту, самые новые сверху. Если ничего не идёт, написано No session is running и поясняется, что завершённые сессии лежат в архиве вкладки своего протокола.
| Колонка | Что значит |
|---|---|
| User | Логин человека, который подключился через шлюз. |
| Server, Account | Сервер и учётная запись сервера, под которой шлюз вошёл на сервер. |
| Protocol | SSH, Telnet, RDP, VNC или PostgreSQL, MySQL, SQL Server. У файловой сессии рядом стоит тег SFTP или SCP. |
| Address | Сетевой адрес, с которого пришёл человек. |
| Started, Duration | Время начала по часовому поясу отображения и длительность. |
| Viewers | Сколько человек наблюдает за этой сессией прямо сейчас. Для сессий VNC стоит прочерк. |
| State | Колонка есть, только пока у какой-нибудь идущей сессии есть метка. Emergency access — сессия начата по экстренному доступу (раздел «Экстренный доступ»). Commands checked — шлюз проверяет вводимые команды по политике («Контроль команд»). Commands: alerts only — команды только отслеживаются и не блокируются (так бывает в оболочке fish или внутри tmux). Key bindings changed — в сессии переопределили клавиши, и шлюз больше не гарантирует остановку команды. Grant until … — доступ выдан по запросу до указанного срока. |
В последней колонке без заголовка стоят кнопки. Watch есть у каждой строки: она открывает живой просмотр (см. ниже). End завершает сессию. Она есть у сессий SSH, Telnet, SFTP, SCP, RDP и VNC. У строки базы данных кнопки End нет: сессию базы завершают из окна наблюдения, и там нужно заново подтвердить личность («Завершение сессии»).
Наблюдение вживую
Нажмите Watch, и откроется живое окно сессии. За сессией можно смотреть, не мешая человеку: то, что вы делаете в окне наблюдения, на сервер не попадает. Вот что важно знать:
- SSH и Telnet. Вы видите вывод терминала. Если вы присоединились, когда сессия уже шла, написано: You joined a running session: the picture completes with the program's next redraw. Your joining is in the audit log. Это значит, что экран полноэкранной программы (например,
top) дорисуется при её следующей перерисовке. Без JavaScript живой просмотр не работает: The live view needs JavaScript. - SFTP и SCP. Терминала у такой сессии нет, поэтому вместо него в окне показан список операций над файлами (блок Operations). Новые операции добавляются по мере выполнения: New operations appear in the list as they happen. Without JavaScript, reload the page to see them.
- RDP и VNC. Вы видите картинку рабочего стола. Над ней всегда подпись: у RDP Live picture, not yet verified. The signed recording is the evidence., у VNC Live picture — not evidence. The signed recording is. Живая картинка — это наблюдение, а доказательство — подписанная запись. Если после окончания сессии оказывается, что живая картинка отличалась от записи, будет показано The live picture differed from the recording. Надпись Watch only: nothing you do here reaches the remote desktop. напоминает, что щелчки и клавиши в окне наблюдения никуда не передаются. В окне VNC видно Watching now: N.
- Базы данных. Окно наблюдения (
/audit/db-sessions/{номер}/watch) показывает выполняемые команды SQL по мере появления. На нём же кнопка End.
Состояния окна наблюдения за картинкой: Connecting to the live picture — подключаемся; Catching up with the session: … — догоняем уже записанное; The session has ended. — сессия закончилась; The live connection was lost. — связь с консолью оборвалась (обновите страницу).
Каждое присоединение к просмотру записывается в журнал аудита (событие SSH session watched) до того, как вам отправят первый байт. Присоединение к просмотру не продлевает «последнюю активность» сессии, то есть наблюдатель не мешает сработать таймеру простоя.
Ограничения числа наблюдателей.
На одну сессию шлюз пускает не больше 8 наблюдателей, а на весь шлюз — не больше 64 (счёт общий для терминальных и картинных просмотров). Если лимит исчерпан, шлюз отказывает в просмотре, и такой отказ не записывается в журнал. Наблюдатель, который не успевает за потоком, отключается, и его страница переподключается сама. Живое окно привязано к вашему входу в консоль: выход, окончание срока сеанса или потеря роли сразу прекращают просмотр.
Если администратор включил переключатель Watermark (Settings → Sign-in and MFA, раздел «Вход и MFA»), поверх всех страниц консоли идёт диагональная надпись «логин (Имя)» того, кто сидит за консолью. Это защита от тайной съёмки экрана: на снимке видно, чей это экран. Знак показывается не только на страницах наблюдения, а на всех страницах консоли. Пояснение у переключателя: The diagonal text makes it hard to photograph the screen anonymously.
Живой просмотр картинки и память шлюза.
Картинки RDP и VNC при просмотре, воспроизведении и экспорте в видео собирает на сервере отдельный служебный процесс. Память, которую он может занять, ограничена параметром renderMemoryBudgetMb в gateway.json (gateway.json). По умолчанию 2048 МБ, допустимо от 1024 до 65536. Один человек может занять не больше половины этого бюджета, но не меньше, чем нужно для самой большой одиночной задачи. Число одновременных открытых записей и экспортов на человека задают в Sessions (RDP) и VNC. Когда доля исчерпана, показывается сообщение Your share of the gateway's picture capacity is in use. Close one of your open views or exports and try again. Закройте одну из ваших открытых картинок или экспортов и повторите. Остальные отказы перечислены в разделе «Неисправности».
Завершение сессии
Завершить идущую сессию могут Administrator и Auditor. Согласующий не может. Для сессий SSH, Telnet, SFTP, SCP, RDP и VNC повторный ввод пароля и кода не требуется. Для сессии базы данных он требуется: если вы не вводили пароль и код в последние 10 минут, шлюз сначала попросит их (страница Confirm it is you), а затем вернёт вас в окно наблюдения.
- Найдите сессию. Откройте Sessions, вкладка Running (все протоколы вместе) или переключатель Running на вкладке нужного протокола.
- Нажмите End. Кнопка есть в строке сессии SSH, Telnet, SFTP, SCP и VNC. В списке сессий RDP на вкладке RDP кнопки End нет: завершайте такую сессию из вкладки Running или из окна живого просмотра. Сессию базы данных завершают кнопкой End в окне наблюдения за ней.
- Подтвердите. Появится вопрос: End the session of {0} on {1}? They will see that you ended it. (вместо {0} — имя пользователя, вместо {1} — сервер). Без JavaScript вопрос показывается на странице, а не окном. Подтвердите.
- Прочитайте ответ. The session was ended. — сессия завершена. The session had already ended. — её успели закрыть раньше, делать ничего не нужно.
После End консоль возвращает вас на ту страницу, где вы нажали кнопку. Сессия сразу пропадает из всех списков Running — общего и вкладки своего протокола, — и счётчики на Overview сразу уменьшаются. В Archive своего протокола она появляется, как только шлюз запишет её завершение. Если сессии ещё нет в архиве, подождите немного и обновите страницу.
В журнале аудита появляется событие SSH session terminated (одно и то же название для SSH, RDP, баз данных и VNC) с вашим логином и адресом. Что увидит человек, чью сессию вы завершили:
| Протокол | Что видит пользователь |
|---|---|
| SSH, Telnet | The session was ended by … (с вашим логином). В записи ставится отметка о завершении. |
| SFTP, SCP | The file session was ended by … |
| Базы данных | An administrator ended this session. |
| VNC | The session was ended by an administrator. |
| RDP | Никакого сообщения нет: сессия просто закрывается, а запись запечатывается как завершённая. |
Вкладка SSH / Telnet / SFTP / SCP: идущие и архив
Переключатель Running показывает идущие сессии SSH, Telnet, SFTP и SCP. Колонки: User, Server (у файловой сессии рядом тег SFTP или SCP, у Telnet — тег Telnet), Account, Address, Via, Started, Duration, Viewers, при наличии меток — State (метки те же, что на вкладке Running) и кнопки Watch и End. В колонке Via стоит способ подключения: BURSUcm (через программу BURSUcm по одноразовому билету) или SSH client (обычным клиентом SSH). Если сессий нет, написано No SSH, Telnet or file session is running. Сессии RDP, VNC и баз данных в этом списке не показываются: у них свои вкладки.
Переключатель Archive показывает завершённые сессии. Фильтры над таблицей:
| Поле | Что вводить | По умолчанию / ограничения |
|---|---|---|
| Period (From, To) | Даты начала и конца. | Без ограничений. |
| User | Логин пользователя: текстовое поле, до 200 знаков. Если текст совпал с логином пользователя шлюза, страница показывает его сессии под всеми логинами, которые у него были, и сообщает об этом. | Пусто. |
| Server | Имя сервера: текстовое поле, до 200 знаков. | Пусто. |
| How it ended | Closed normally (закрыта штатно), Ended by a person or a rule (завершена человеком или правилом), Broken off (оборвалась). | Any. |
| Protocol | SSH или Telnet. Сессии SFTP и SCP идут как SSH; отдельно по ним отфильтровать нельзя. | Any. |
| End reason | Точная причина из списка ниже (в списке только причины, возможные для этих протоколов). | Any. |
| Text in the session | Слово или фраза, например rm -rf. | Пусто. Слова ищутся в этом порядке, знаки препинания не учитываются: Words in this order; punctuation is ignored, so “rm -rf” also finds “rm rf”. |
Кнопка Apply применяет фильтры. Кнопки сброса нет: чтобы снять фильтр, очистите поля и нажмите Apply или откройте вкладку заново. Список листается кнопкой Older, внизу стоит Total: N. Колонки архива: User, Server, Account, Started, Duration, Ended (причина завершения), Recording (состояние записи) и кнопка Play. Если в архиве ничего не нашлось, написано No finished SSH, Telnet, SFTP or SCP sessions match.
Как работает поиск по тексту.
Поиск идёт по тексту, который сервер вывел на экран во время сессии. Команды, которые человек набирал, в этом выводе видны, потому что сервер их «отражает» (эхо). Если вы нашли совпадение, у строки написано Found at m:ss и показан фрагмент, а кнопка Play запускает запись за 2 секунды до первого совпадения. Пароль, который человек ввёл в сессии, в записи есть только в двух случаях: сервер показал его на экране или в настройках сессий (Sessions) включено Record input (подробнее — в «Запись SSH и Telnet»). Поиск не заменяет вкладку команд (см. «Записи»), где команды разобраны построчно.
Причины завершения (End reason).
Одна и та же причина может встречаться на нескольких вкладках; у каждого протокола в списке End reason только свои причины.
| Что написано | Что произошло |
|---|---|
| Closed | Человек закрыл сессию сам или завершил программу. |
| Terminated from the console | Администратор или аудитор нажал End. |
| Access ended | Срок действия правила или выданного доступа закончился, либо правило отозвали, либо учётную запись отключили. |
| Idle timeout | Сессия простояла дольше разрешённого времени. Срок задаёт администратор в настройках сессий. |
| Recording failed | Шлюз не смог писать сессию (например, закончилось место) и закрыл её. |
| Server connection lost | Связь шлюза с сервером оборвалась. |
| Client disconnected | Связь с клиентом оборвалась. |
| Gateway stopped | Шлюз остановили или перезапустили. Запись при этом запечатывается, а последние секунды могут отсутствовать. |
| Protocol error | Клиент или сервер нарушил протокол. |
| Server login failed | Шлюз не смог войти на сервер (для Telnet и сетевых устройств). |
| Pass revoked | (базы данных) Разрешение на доступ отозвано. |
| Gateway limit | (базы данных, VNC и RDP) Сессия достигла лимита времени. |
| Session worker crashed | (VNC, RDP) Служебный процесс сессии аварийно остановился. |
| Command control | Сессию завершила политика контроля команд. |
| Rule change could not be applied | (VNC, RDP) Правило изменилось во время сессии, и шлюз не смог применить новую политику данных. |
file_operations_limit | (RDP) Достигнут предел числа изменений файлов. Эта причина показывается латинским кодом (см. врезку ниже). |
У нескольких причин завершения сессий RDP в списках, на карточке и в фильтре End reason вместо перевода показан внутренний код латиницей. Это значит: target_cert_unconfirmed — сертификат сервера не подтверждён; target_logon_failed — сервер не принял вход шлюза; target_redirect_refused — сервер просил перенаправить подключение, и шлюз отказал; admission_denied — шлюз не принял сессию (перегрузка или лимит); file_operations_limit — в сессии слишком много изменений файлов.


Вкладки RDP, VNC и Databases
У каждой из этих вкладок переключатель Running | Archive, как у вкладки SSH / Telnet / SFTP / SCP. Пустые списки сообщают: No RDP session is running и No finished RDP sessions match.; No VNC session is running и No finished VNC sessions match.; No database session is running и No finished database sessions match.
RDP (/audit/rdp-sessions).
- Running: колонки User, Server, Account, Address, Started, Duration, Viewers; кнопки Watch (живая картинка) и Details (карточка сессии). Кнопки End здесь нет: сессию RDP завершают на вкладке Running или в окне живого просмотра.
- Archive: фильтры Period (даты), User и Server (текстовые поля), End reason и, если включён индекс набранного текста, поле Text in the session. Оно ищет в тексте, набранном в сессии, и работает только для сессий, записанных с нажатиями клавиш: Searches the text typed in the session. Only sessions recorded with keystrokes have any. Колонки: User, Server, Account, Started, Duration, Desktop (размер рабочего стола), Keystrokes (Recorded или Not recorded; нажатия клавиш записываются, только если это включено в настройках, см. Sessions), Ended, Recording и кнопка Play. Внизу Total: N и кнопка Older.
VNC (/audit/vnc-sessions).
- Running: колонки User, Server (с тегом VNC), Account, Started, Duration; кнопки Watch live, Details и End.
- Archive: фильтры Period (даты), User, Server, Account (текстовые поля) и End reason. Колонки: User, Server, Account, Started, Duration, Screen (размер экрана), Sign-in (способ входа на VNC-сервер; тег View only — сессия только для просмотра, ввод блокируется), Ended и кнопка Details. Внизу Total: N и кнопка Older.
Databases (/audit/db-sessions).
- Running: колонки User, Server (рядом тег с типом сервера базы: PostgreSQL, MySQL или SQL Server), Account, Database, Client (программа клиента), Address, Started, Duration, Statements (число команд), Viewers и кнопка Watch. Пометка Emergency access стоит у сессии, начатой по экстренному доступу.
- Archive: фильтры Period (дата и время), User, Server, Account, Database (текстовые поля), Protocol (PostgreSQL, MySQL или SQL Server) и End reason. Колонки: User, Server, Account, Database, Client, Started, Duration, Statements · errors, Ended, Recording и кнопка Play. Число команд и число ошибок собраны в одну колонку: например, «55 · 0» — 55 команд и ни одной ошибки; если ошибки были, их число выделено красным. Внизу кнопки Newer и Older.






Записи сессий и проигрыватели
Каждая сессия записывается, и запись подписывается шлюзом. Страница сессии (карточка) показывает факты о ней и проигрыватель. Видеть записи могут Administrator и Auditor. Запись нельзя изменить незаметно: при каждом открытии шлюз проверяет её целиком и, если проверка не прошла, запись не показывает.
Состояния записи
| Состояние (колонка Recording) | Что значит |
|---|---|
| Being recorded | Сессия идёт, запись ещё не запечатана. Воспроизвести её картинкой нельзя — смотрите вживую или дождитесь окончания. |
| Signed | Запись закончена, подписана и цела. Её можно воспроизводить. |
| Damaged | Проверка не прошла. Запись не показывается. Причина названа на странице, а сама проверка записана в журнал аудита. |
| Deleted by retention | Запись удалена по сроку хранения. Факты о сессии и журнал аудита остаются. Сообщение: The recording was deleted by retention; the facts above and the audit log remain. |
Отдельного состояния «не подписана» в колонке Recording нет. Если сессия закончилась, а подпись ещё не поставлена (шлюз ждёт базу данных), это видно только на странице воспроизведения: там написано The recording has not been signed yet (it waits for the database). Подождите; если так остаётся долго, проверьте базу данных (плашка Local journal в колокольчике, «Колокольчик Alerts»).
Срок хранения записей задаёт администратор: Keep recordings, months на странице Settings → Sessions (Sessions). Записи старше срока удаляет ежедневная очистка (в 04:00 по времени отображения); каждое удаление — событие журнала Recording deleted by retention. Если срок изменили, новое значение вступает в силу при следующей очистке.
Как проверяется запись
При открытии записи шлюз проверяет по порядку: подпись подписанного описания записи (манифеста); размер и контрольную сумму каждой части; что в каталоге нет лишних файлов; что номер сессии внутри манифеста совпадает; что контрольная сумма манифеста совпадает с той, которую шлюз записал в журнал аудита во время сессии. Если что-то не сходится, показывается причина:
| Причина на странице | Что это значит |
|---|---|
| the signature does not verify against the gateway's key | Манифест подписан не ключом этого шлюза или был изменён. |
| a part of the recording was changed, removed or added after signing | Файл записи правили, удалили или подложили лишний. Это самое серьёзное из сообщений: запись нельзя считать доказательством. |
| the manifest differs from the one in the audit log | Описание записи подменено целиком (даже с правильной подписью, если ключ скомпрометирован). |
| the gateway's signing key is not available | Шлюзу нечем проверить подпись (ключ не открыт или недоступен). Откройте шлюз (Unseal) и повторите. |
| the recording could not be checked | Проверка не состоялась по иной причине (например, нет доступа к файлам). Подробности в журнале службы. |
Пример: The recording is not played: {0}. The check is in the audit log. Что делать при повреждении записи, см. «Проверка целостности». Неудачная проверка пишется в журнал событием Recording failed (для SSH, Telnet, SFTP, SCP, баз данных и VNC; то же событие пишется и тогда, когда запись не удалось сохранить на диск) или RDP recording failed (для RDP).
Запись сессии SSH и Telnet
Откройте Sessions, вкладку SSH / Telnet / SFTP / SCP, переключатель Archive, и нажмите Play у нужной сессии (адрес /audit/sessions/{номер}/play). Страница показывает факты о сессии: кто, на какой сервер и под какой учётной записью, когда, как долго, как закончилась (Exit status для разовой команды, Command), подпись записи (Manifest SHA-256), отметку input recorded, если записывался ввод, и для сетевых устройств — Device profile, Privileged mode (Entered, Already privileged, Refused — user level) и Login failure (причина неудачного входа на устройство).
- Проигрыватель. Воспроизводит терминал как кино. Запись можно скачать файлом: кнопка Download the .cast file (формат asciinema). Скачивание не требует повторного пароля, но, как и просмотр, записывается в журнал аудита: события Recording played и Recording downloaded пишутся до того, как вам отправят первый байт. Без JavaScript проигрыватель не работает: The player needs JavaScript.
- Find in the recording — поиск внутри записи; результат — список мест, при пустом результате Nothing was found in this recording.
- Метки в ленте. На ленте воспроизведения стоят отметки: команда запрещена политикой (Command refused by policy …), отмена команды без подтверждения (Command cancelled, not verified (policy …)), команда, ждущая второго человека (Command held for confirmation (policy …)), и слишком частое изменение размера окна (Window resized too often (sizes merged)).
Если в настройках сессий (Sessions) включено Record input, в запись попадает всё, что человек набирал, в том числе пароли, которые он вводит в терминале (например, на запросе sudo). Текстовый поиск по архиву ищет и по этому тексту. Относитесь к такой записи как к секретному материалу. В поле настройки об этом напоминает предупреждение: This also keeps passwords typed at sudo prompts. Typed commands are visible anyway, because the server echoes them.
Вкладка Commands
Если сессия с терминалом (оболочка, shell) или с разовой командой (exec), над проигрывателем две вкладки: Recording и Commands (?tab=commands). Вкладка Commands есть только для ролей, которым разрешено читать текст команд целиком (администратор и аудитор). Она показывает строки, которые шлюз разобрал в этой сессии: те, что попали под политику контроля команд, и все строки, если политика записывает их все или сессия была экстренной («Контроль команд»). Текст хранится только пока существует запись.
| Колонка / поле | Что значит |
|---|---|
| Time | Когда набрана строка. |
| Line | Сама команда. Части, похожие на пароль или токен, заменены на ********. Маскирование делается по мере возможности: Masking is best effort. Если строку нельзя безопасно скрыть, написано Not shown: this line could not be masked safely. Если часть строки не удалось разобрать, она скрыта целиком: Part of this line could not be read and is masked whole. |
| Policy | Какая политика сработала. |
| Result | Что сделал шлюз: пропустил, запретил, спросил второго человека. |
| Origin | Откуда взята строка. |
| Words in the lines | Фильтр по словам. Ищет в видимом тексте строк. |
| Look up an exact line и кнопка Look up | Находит строки сессии, набранные точно так же, как введённая вами, даже там, где в списке ********. Нужен, когда вы подозреваете конкретную команду, а в списке она скрыта. Результат: Lines found: N или No line of this session was typed exactly like this. Каждый поиск записывается в журнал (кто искал, но не что искал, событие Command text looked up), и один человек может сделать не больше 10 таких поисков в минуту: иначе Too many lookups in a minute. Try again in … s. |
Если политика для сессии не включена, на вкладке написано No command lines were recorded in this session.


Запись сессии RDP
Карточка сессии RDP (/audit/rdp-sessions/{номер}) открывается из архива RDP. Факты: учётная запись и адрес сервера, откуда пришёл человек, начало, конец, длительность, Desktop size, Colour depth, Data policy at the start (какие каналы данных — буфер обмена, диски, принтеры — были разрешены в начале), Keystrokes, запись и её подпись (Manifest SHA-256). Если нажатия клавиш записывались, показано предупреждение: Keystrokes were recorded in this session: the recording can contain passwords. Относитесь к такой записи как к секретному материалу.
Под таблицей фактов — три вкладки: Picture (воспроизведение), Clipboard и Files. Блок Typed text — не вкладка, а раздел страницы: он показан на вкладке Picture, если администратор включил индекс набранного текста и сессия записывалась с нажатиями клавиш. Ссылка Watch live показана, пока сессия идёт, и ведёт на живой просмотр. Кнопка Export as video появляется у завершённой и целой записи («Экспорт в видео»). Ссылка Open the integrity check ведёт на страницу проверки целостности и показывается только у записи, которая не прошла проверку или оборвана при остановке шлюза. Для разных состояний записи страница пишет:
| Сообщение | Что значит |
|---|---|
| The recording is signed and intact. | Всё в порядке. |
| The session is running: its recording is not sealed yet. | Сессия ещё идёт. |
| The recording was cut when the gateway stopped. What was written is kept and signed; the last moments may be missing. | Шлюз остановился во время сессии. Записанное сохранено и подписано, но последние секунды могут отсутствовать. |
| The recording is not signed yet (it waits for the database). | Нужно подождать. |
| The recording is damaged and is not played. | См. проверку записи. |
| This recording cannot be shown as a picture: it does not say how large the desktop was. Its facts and the audit log remain. | В записи нет размера рабочего стола, и картинку построить нельзя. Остальные сведения доступны. |
Проигрыватель картинки (RDP и VNC)
Картинку собирает на сервере отдельный служебный процесс, а браузер получает уже готовую. Проигрыватель управляется так:
- Play / Pause (или клавиша Space); стрелки ← и → двигают позицию. Подсказка: Space plays or pauses; the arrow keys move.
- Position — ползунок перемотки. Время на нём — «время съёмки», в котором долгие простои сжаты. Рядом показано реальное время: Real time: …, и сколько простоев сжато: Idle periods squeezed: N. Длинный простой показан как одна пауза (порог задаёт администратор в Sessions, поле Hold an idle period longer than, seconds).
- Speed — скорость от 0.5× до 8×.
- Started from the index / Play from the start to here. Для быстрой перемотки шлюз хранит опорные кадры (индекс). Если картинка восстановлена из опорного кадра, написано The picture was restored from a saved key frame. For evidence, play from the start. Если опорных кадров ещё нет, написано Not indexed yet: playback starts at the beginning and seeking replays from there. Проигрывание всё равно работает, перемотка медленнее.
- Если одна из частей записи не совпала с подписью, проигрывание останавливается: Playback stopped at part {0}: it does not match its signature.
- В конце записи: End of the recording. У VNC в ленте стоят метки: начало, нажатия в буфере обмена, смена политики данных, «только просмотр», простой, завершение, потеря доступа и сообщение, показанное пользователю; при пропусках картинки пишется No picture from … to … (…).
Текст, набранный в RDP-сессии.
Если администратор включил запись нажатий клавиш и индекс (Sessions: Record keystrokes in RDP sessions, Index typed text for search), в архиве RDP работает поиск по набранному, а на карточке показан список найденного (Typed text). Тексты читаются в раскладке, названной клиентом при подключении, с выключенным Caps Lock. Если раскладку или Caps Lock поменяли внутри удалённой сессии, это не записывается, и такие строки помечены layout assumed или case assumed. Нажатия, которым не нашлось символа, показаны как [unmapped keys: N]. Если текст не найден, причина названа: индекс не построен или не включался (Typed text is not indexed for this session…) либо достиг предела (The typed-text index of this session reached its limit…).
Индекс хранит набранное в читаемом виде, включая пароли, и удаляется вместе с записью. Кроме того, индексы текста сессий (SSH и RDP) и поисковая фраза аудитора передаются в PostgreSQL как параметры запроса. Если на сервере базы шлюза включён журнал медленных запросов (log_min_duration_statement), PostgreSQL по умолчанию запишет эти параметры в свой журнал, то есть набранный текст и искомые фразы окажутся вне срока хранения шлюза. Для базы шлюза задайте log_parameter_max_length = 0 (и оставьте log_parameter_max_length_on_error по умолчанию, 0) или не включайте журнал медленных запросов. Не включайте запись клавиш без необходимости.

Экспорт в видео (MP4)
Со страницы записи RDP (кнопка Export as video) и VNC (кнопка Export video) можно сделать файл MP4. Адреса: /audit/rdp-sessions/{номер}/export и /audit/vnc-sessions/{номер}/export.
- Откройте карточку. Запись должна быть завершена, подписана и цела.
- Нажмите кнопку экспорта. Шлюз попросит подтвердить, кто вы: Exporting needs your password and code again. Подтверждение действует 10 минут.
- Отметьте часы, если нужны. Флажок Burn the real capture time into the picture (VNC: Show the capture time in the video) впишет в угол каждого кадра настоящие дату и время съёмки. Начальное значение берётся из настройки администратора.
- Дождитесь файла. Видео делается сразу из подписанной записи с самого начала и нигде не хранится. Имя файла —
rdp-{номер}.mp4.
Что надо знать о файле: звука нет. Простои сжаты (Idle periods squeezed in the video: N), чтобы отличить сжатие от настоящего времени, в конце файла лежит небольшой блок, который проигрыватели игнорируют: он перечисляет места сжатия (The video file ends with a small block that players ignore…). Есть пределы: наибольшая длина в минутах и наибольший размер файла в МБ; запись длиннее или больше пределов не экспортируется целиком, и ничего не выдаётся (Longest video: N minutes. Largest file: N MB. A longer or larger recording is refused, and nothing is exported.). Пределы задаёт администратор в Sessions. Каждый экспорт записывается в журнал: экспорт записи RDP — событием RDP recording exported as video (rdp.export), экспорт записи VNC — событием Session video exported (session.export).
Если экспорт не удался, шлюз пишет причину. Все такие сообщения со значением и действиями собраны в таблице «Неисправности» (Troubleshooting). Если экспорт видео недоступен вообще (Video export is not available on this gateway.), на шлюзе нет программы кодирования видео.

Карточка сессии VNC
Карточка (/audit/vnc-sessions/{номер}) показывает факты (сервер, учётная запись, способ входа, размер экрана, причина завершения) и строку счётчиков Input dropped N · clipboard in N · out N · refused N: сколько событий ввода отброшено, сколько раз буфер обмена передан на сервер и с сервера, сколько передач отказано. Надпись под картинкой сообщает вердикт проверки записи:
| Сообщение | Что значит |
|---|---|
| Recording verified | Запись цела. |
| Recording changed after it was signed | Запись изменили после подписи. Это нарушение целостности, см. «Проверка записей». |
| Recording cut at a crash | Служебный процесс сессии аварийно остановился. Записанное сохранено, но конец записи обрезан. |
| Recording not signed yet | Нужно подождать базу данных. |
| Seal refused. Parts left unsealed: N | Шлюз не смог запечатать N частей записи. |
| Recording not found | Файлов записи нет на диске, хотя срок хранения не вышел. Их удалили мимо шлюза. |
| Recording deleted | Запись удалена по сроку хранения. |
Ниже — проигрыватель, список передач буфера обмена и кнопки: Verify this recording (проверить эту запись сейчас), Open the integrity check (страница проверки целостности), Export video (если на шлюзе есть программа кодирования). Если формат кадров не поддержан, в картинке сказано: Part of the picture could not be decoded here, An encoding this player does not know was skipped или A part outside the screen was left out.

Сессии баз данных
Карточка сессии базы (/audit/db-sessions/{номер}) показывает факты: кто, к какой базе, какой клиентской программой, сколько команд и ошибок, и состояние записи. Ниже таблица Statements of the session с колонками Time, Statement, Rows, Error, Duration. Её можно отфильтровать по Verb (тип команды: SELECT, INSERT и т. д.), тексту Text contains и флажку Errors only. Длинный список листается кнопкой Later statements, а длинный текст команды обрезан и раскрывается кнопкой Show all. Результаты запросов (строки, которые вернула база) не записываются никогда.
Если часть записи не совпала с подписью, её команды не показываются: Part {0} of this recording does not match its signature; its statements are not shown. Значения, похожие на пароль или токен, в тексте закрыты, и рядом сказано, сколько: {0} credential values masked. Если текст команды можно прочесть по-разному и безопасно скрыть значения нельзя, команда скрыта целиком с пометкой Hidden as a precaution: the text can be read in more than one way. Сквозной поиск по всем командам — на странице Statements.

Команды баз данных (Statements)
Страница Statements (/audit/statements) — единый список всех команд SQL из всех сессий баз данных (PostgreSQL, MySQL, SQL Server), новые сверху, по 50 на странице. Страницу видят Administrator и Auditor. Подпись страницы: «Every statement of every database session, newest first». Результаты запросов (то, что вернула база) шлюз не записывает никогда, только сами команды.

Фильтры
| Поле | Что вводить | По умолчанию / ограничения |
|---|---|---|
| Period (From, To) | Поля даты и времени начала и конца. | Без ограничений. |
| User, Server, Account | Текстовые поля, в которые вы вводите значение: кто выполнил, на каком сервере, под какой учётной записью (до 200 знаков). | Пусто. |
| Database | Текстовое поле: имя базы. | Пусто. |
| Protocol | Список: PostgreSQL, MySQL или SQL Server. | Any. |
| Verb | Текстовое поле: тип команды — первое слово: SELECT, INSERT, UPDATE и т. д. (до 32 знаков). | Пусто. |
| Text contains | Слово или кусок текста команды. | Пусто. |
| Errors only | Флажок: показать только команды, закончившиеся ошибкой. | Выключен. |
| Exact text и кнопка Find | Команда целиком, как она была отправлена. | Пусто. |
Столбцы списка: Time (время; это ссылка на карточку сессии, открытую на этой команде), User, Server, Database, Statement, Duration, Rows (число строк), Error. Текст в списке обрезан до 300 символов; полностью его видно на карточке сессии («Сессии баз данных»).
Поиск по точному тексту
Пароли и подобные значения в тексте команд закрыты звёздочками. Поэтому обычный поиск по словам не найдёт команду, в которой скрыт искомый пароль. Для этого сделан поиск Exact text: вы вводите команду целиком, и шлюз ищет её по защищённому отпечатку (HMAC) от текста. Введённый текст не сохраняется и не показывается повторно: The statement exactly as it was sent. It is not saved and not shown again; the gateway looks it up by a keyed fingerprint. После поиска страница показывает только найденное и подпись Showing only the statement you searched for by its exact text. со ссылкой Show all statements. Отпечаток есть и в выгрузке CSV (колонка text_mac), поэтому отпечаток, взятый из выгрузки, находит ту же команду.
Метки в строках: {0} credential values masked — сколько значений закрыто; Hidden as a precaution: the text can be read in more than one way — команда скрыта целиком, потому что её текст можно истолковать двумя способами и нельзя гарантировать, что пароль закрыт.
Выгрузка CSV
Кнопка Export CSV выгружает команды по текущему фильтру. Для неё нужно заново подтвердить, кто вы: если подтверждения нет (оно действует 10 минут), вас перенаправят на страницу Confirm it is you (/reauth), а после подтверждения вернут обратно. В файле, кроме текста, есть text_mac, text_sha256, masked, mask_ambiguous. Каждая выгрузка записывается в журнал событием Statements exported до того, как выдан первый байт; в событии хранится фильтр, но не искомые вами фразы.
Ячейки, которые Excel мог бы выполнить как формулу (начинаются с =, +, -, @), шлюз защищает апострофом. Файл — в UTF-8 с меткой BOM, разделитель строк — CRLF, как требует RFC 4180, поэтому Excel открывает его без «кракозябр».
Передачи файлов и буфера обмена
Все передачи данных между пользователем и сервером через шлюз собраны на двух страницах: File transfers (файлы SFTP, SCP и файлы сессий RDP) и Clipboard (буфер обмена сессий RDP и VNC). Страницы видят Administrator и Auditor. Правила, что разрешено передавать, задаёт администратор («Политика файлов»).
File transfers
Страница File transfers (/audit/files): «Every file that moved through the gateway over SFTP or SCP: who, which server, which direction, how many bytes and the SHA-256 of what passed.» Файлы сессий RDP (по перенаправленному диску или буферу обмена) тоже в списке: Files from Remote Desktop sessions (a redirected drive or the clipboard) are listed here too. The time opens the session.

| Поле фильтра | Что вводить | По умолчанию / ограничения |
|---|---|---|
| Period (From, To) | Дата и время. | Без ограничений. |
| User, Server, Account | Кто, на какой сервер, под какой учётной записью. | Все. |
| Direction | Upload (на сервер) или Download (с сервера). | Оба. |
| Protocol | SFTP, SCP, RDP drive, RDP clipboard. | Все. |
| Outcome | Completed, Partial, Failed, Stopped by a rule change, Over the size limit, Interrupted. | Все. |
| Hash | Состояние контрольной суммы: Whole file, Range, Out of order — no hash, No hash. | Все. |
| File name contains | Часть имени файла. | Пусто. |
| Exact SHA-256 | 64 шестнадцатеричных знака. Находит все передачи файла с такой суммой — удобно, когда нужно найти, куда ушёл конкретный файл. | Пусто. |
| Whole file only | Флажок: показать передачи, для которых сумма относится ко всему файлу. | Выключен. |
Столбцы: время, пользователь, Server с учётной записью, направление (стрелка), File (путь; при переименовании — renamed to …), Bytes, SHA-256, исход, Copy. Пометка к сумме подсказывает, что именно она описывает: File SHA-256 — сумма всего файла; SHA-256 of bytes {0}–{1} — только участка; SHA-256 of no bytes (empty range) — ничего не передавалось.
Сумма считается суммой всего файла, только если передача началась с первого байта, шла по порядку до конца и никто другой не менял файл. Шлюз считает сумму тех байтов, которые прошли через него, а не файла, лежащего на сервере. Если часть файла передавали не по порядку, суммы нет (Out of order — no hash), и копия не сохраняется (Not kept: out of order).
Причины отказа и сбоя.
Если передача не прошла, в строке указана причина. Это решение шлюза по вашим правилам, а не поломка:
| Причина | Что значит |
|---|---|
| No file transfer allowed | Правило доступа не разрешает передачу файлов. |
| Direction not allowed | Правило не разрешает такое направление. |
| Unsupported extension | Расширение файла запрещено политикой файлов. |
| File size limit | Файл больше допустимого (Largest file, MB в Sessions). |
| Session size limit | Сессия передала больше допустимого суммарно (All files in one session, MB). |
| Too many open files | Клиент открыл слишком много файлов одновременно. |
| Copy on the server | Попытка копирования файла внутри сервера через SFTP, а не между вами и сервером. |
| Malformed or unsupported request, Hostile input, Protocol error | Клиент или сервер прислал некорректный запрос. Если это повторяется, проверьте клиента (Hostile input может означать попытку атаки). |
| Not a plain scp command, File transfer tool, Command is not valid UTF-8 | Для SCP принимаются только простые команды; rsync и ручной запуск sftp-server запрещены. |
| Terminal not allowed | Правило разрешает только передачу файлов, но не терминал. |
| Server printed text before SFTP, Unsupported SFTP version | Сервер при входе пишет лишний текст (скрипт входа) или говорит на неподдерживаемой версии SFTP. |
| Path not allowed, Request type not allowed | RDP: путь или тип запроса к диску запрещены. |
| Too many file changes in one session | RDP: в сессии слишком много изменений файлов. |
Копии файлов.
Если политика файлов велит хранить копии («Политика файлов»), в колонке Copy стоит Kept и кнопка Download copy. Другие значения: Not kept, Too large to keep, Not kept: out of order, Not kept: write failed, Deleted (удалена по сроку: Keep file copies, days в Sessions, не дольше записей).
- Нажмите Download copy. Если вы давно не подтверждались, откроется страница ввода пароля и кода (
/reauth): «This action needs your password and a code again. The confirmation lasts 10 minutes.» - Подтвердитесь. Откроется скачивание.
Перед отправкой шлюз проверяет копию: контрольную сумму и подлинность каждого блока. Если копия не проходит проверку, она не отдаётся: The stored copy failed its integrity check and was not downloaded. Скачивание записывается в журнал событием Stored file copy downloaded до первого байта. Если сбой случился уже в середине передачи, соединение обрывается, а в журнал пишется второе событие с исходом «Failure». Скачанный файл может содержать вирус или секреты: открывайте его осторожно.
Подробный список операций сессии.
На странице файловой сессии SFTP/SCP есть блок Operations — перечень всех операций над файлами (создание, удаление, переименование и т. д.) с решением шлюза (Passed или Refused). Подпись внизу: The signed log of this session verifies. или The signed log of this session does not verify: {0}. The check is in the audit log. Если копия, записанная в подписанном журнале, исчезла с диска, не дожидаясь срока хранения, написано: A stored file copy that the signed log lists is gone, although retention did not delete it: it was removed from the disk past the gateway. The check is in the audit log. Список дополняется в реальном времени, без JavaScript обновите страницу. Для сессий RDP на странице File transfers, открытой для одной сессии (/audit/files?session=…), под списком есть таблица Bytes through redirected devices: сколько байт ушло To the server и To the user's device по перенаправленным устройствам (принтеры, порты, смарт-карты; диски показаны строками списка).
Кнопка выгрузки CSV сохраняет список по текущему фильтру в файл file-transfers.csv. Выгрузка записывается в журнал событием Export (audit.export) с фильтром до первого байта.
Clipboard
Страница Clipboard (/audit/clipboard) показывает всё, что прошло через буфер обмена сессий RDP и VNC: кто, на какой сервер, в какую сторону, какие данные, сколько байт, контрольная сумма. Содержимое не хранится, кроме текста, который велело сохранить правило (The content is not stored, except text a rule keeps.).
| Поле фильтра | Что вводить | По умолчанию |
|---|---|---|
| Period | Дата и время. | Без ограничений. |
| Person, Server | Кто и на каком сервере. | Все. |
| Direction | Into the server / From the server. | Оба. |
| Kind of data | Text, Image, Files, Other data. | Все. |
| Mechanism | Legacy или Extended — способ, которым клиент RDP передал данные. | Оба. |
| Outcome | Forwarded (передано) или Refused (отказано). | Все. |
| SHA-256 (exact) | 64 шестнадцатеричных знака. | Пусто. |
Столбцы: When, Person, Server, Protocol, Direction, Mechanism, Outcome, Reason, Bytes, SHA-256, Text. Причины отказа: Direction not allowed (направление запрещено правилом), Too large (слишком большой объём), View only (сессия только для просмотра), Not text (не текст, когда правило допускает только текст), Copy could not be kept (не удалось сохранить копию). Если список пуст, написано No clipboard transfers match. Кнопка Export CSV выгружает список и пишет событие Export.
Если правило велит хранить текст буфера, в колонке Text стоит Kept, а у строки есть кнопка Download text (скачать текст как файл clipboard-{номер}.txt). Другие состояния: Not kept, Too large to keep, Not text. Скачивание требует повторного подтверждения: Confirm who you are to read kept clipboard text. Сохранённый текст хранится в зашифрованном виде рядом с записью и удаляется вместе с ней; каждое чтение пишется в журнал (Stored file copy downloaded). Ошибки: The kept text is no longer on disk. (текст уже удалён или файл убран) и The stored copy failed its integrity check and was not downloaded.
Сохранённый текст буфера обмена способен содержать пароли и другие секреты. Не скачивайте его без нужды и не оставляйте скачанное на общих дисках.

Журнал аудита и журнал входов
Журнал аудита — главный документ, по которому проверяют, что происходило на шлюзе. В него попадает каждое значимое действие: вход, изменение настройки, начало и конец сессии, отказ, экспорт. Журнал устроен как цепочка: у каждого события хранится контрольная сумма (хэш) предыдущего, поэтому нельзя незаметно изменить или удалить событие в середине («Проверка целостности»). Журнал и страницы ниже видят Administrator и Auditor. Изменить журнал из консоли нельзя никому.
Страница Audit log
Страница Audit log (/audit) открывается пунктом бокового меню Audit log. Подпись: «Every gateway event in one hash chain: each keeps the hash of the one before. Exporting the current filter is itself written to the log.» По умолчанию показаны события за последние 7 дней, по 30 на странице; листается кнопками Newer и Older. Внизу — Total: N.

| Поле | Что вводить | По умолчанию / ограничения |
|---|---|---|
| Period (From, To) | Даты начала и конца. | Последние 7 дней. |
| User | Логин, чьи действия показать (выбор из списка). | Все. |
| Event | Тип события (выбор из списка; названия — в таблице ниже). | Все. |
| Object type | С чем действие. В списке только те виды, что есть в журнале; возможные: User, Group, Token, Access rule, Server, Folder, Account, Setting, Encryption key, SIEM export, List, Audit log, Session, Directory, Pass, Device profile, Access request, Grant, Command policy, Command pattern group, Clipboard, Command confirmation, Licence. | Все. |
| Result | All, Success или Refused. Выбор Refused показывает все события, которые не закончились успехом (отказы и сбои). | Все. |
| Строка поиска (User, object, address) | Слово или его часть. Хотя в подсказке названы пользователь, объект и адрес, поиск идёт ещё и по коду типа события и по тексту подробностей. Регистр не важен. | Пусто. |
Кнопка Apply применяет фильтры. Кнопки сброса нет: чтобы снять фильтры, очистите поля и нажмите Apply или откройте /audit заново. Кроме полей, страница понимает ссылки вида /audit?type=hostkey.mismatch (фильтр по коду события) и About: … (события об одном объекте; кнопка Show everything снимает фильтр). Такими ссылками пользуются другие страницы консоли.
| Колонка | Что значит |
|---|---|
| No. | Номер события в цепочке. Он не меняется и не повторяется. |
| Time | Время по часовому поясу отображения (gateway.json). |
| User | Кто выполнил действие. Слово system — действие сделал сам шлюз (например, ежедневная проверка). |
| Event | Название события. |
| Object | Над чем выполнено. |
| Object type | Вид объекта (пользователь, сервер, сессия и т. д.). |
| Address | Сетевой адрес, с которого пришёл человек. |
| Result | Success — успешно. Failure — не получилось из-за сбоя. Refused — шлюз отказал по правилам или проверке. |
| Details | Значок со ссылкой на карточку события. |
CSV.
Кнопка выгрузки сохраняет в файл все события по текущему фильтру (не одну страницу). Формат: UTF-8 с меткой BOM, строки разделены CRLF, ячейки в соответствии с RFC 4180; значения, начинающиеся с =, +, -, @, защищены апострофом, чтобы Excel не выполнил их как формулу. Сама выгрузка записывается в журнал событием Export с вашим фильтром ещё до того, как вам отправят первый байт. Скрыть факт выгрузки нельзя.
Карточка события
Строка события — ссылка на карточку /audit/{номер}, заголовок Event No. {0}. На карточке:
| Поле | Что значит |
|---|---|
| No. in the chain | Номер события. |
| Время, пользователь, событие, объект, Object type, Object id, Address, результат | Кто, когда, над чем и откуда выполнил действие. Address — сетевой адрес, с которого пришёл человек. |
| Session | Ссылка на сессию, к которой относится событие, если оно относится к сессии. |
| Details | Подробности в виде JSON: что именно изменено, какой фильтр применён, какая причина отказа. Секреты (пароли, ключи, коды) в журнал не попадают. |
| Hash, Previous hash | Хэш этого события и хэш предыдущего. Эти значения проверяют цепочку. Для сверки с копией журнала в SIEM сравнивайте именно хэш. |
Кнопки «No. N» (предыдущее и следующее событие) и Back перемещают по цепочке. Если событие, которое вы открыли, составляет часть разрыва цепочки, откройте его карточку со страницы целостности («Проверка целостности»).

Журнал входов (Sign-in log)
Страница Sign-in log (/audit/logins) — удобный срез журнала аудита, только про входы: «A filtered view of the audit log: console sign-ins and BURSUcm tokens.» Здесь собраны события Console sign-in, Second factor, Identity confirmed, User locked out, BURSUcm sign-in: password, BURSUcm sign-in: code, Token issued, Token revoked, SSH sign-in и Ticket used.
Над таблицей — переключатели с числами: All, Successful, Refused, а также каналы Web console, BURSUcm, SSH. Строка поиска (User, address) ищет не только по логину и адресу, но и по коду типа события и по тексту подробностей события; регистр не важен. Есть выгрузка CSV (она тоже записывается как Export). Колонки: User, Method, Channel, Address, Result, Reason, Time.
| Способ (Method) | Что значит |
|---|---|
| password | Вход по паролю. |
| password + TOTP | Пароль и одноразовый код. |
| recovery code | Вход по коду восстановления. |
| confirmation (password + code) | Повторное подтверждение личности перед опасным действием. |
| token | Вход из BURSUcm по токену. |
| Windows (Kerberos), Windows (Kerberos) + TOTP, Windows (Kerberos) + remembered device | Вход под учётной записью Windows без пароля (и с кодом, или с запомненным устройством). |
Причины отказа (Reason).
| Что написано | Что делать |
|---|---|
| wrong login or password | Ошибся человек. Если повторяется много раз с одного адреса — возможен подбор пароля. |
| wrong password / wrong code | Неверный пароль или код. Несколько неверных кодов подряд блокируют учётную запись. |
| account locked / locked after failed attempts | Учётная запись заблокирована. Разблокирует администратор («Пользователи») или блокировка снимется сама по сроку. |
| user disabled | Пользователь отключён администратором. |
| step expired | Человек слишком долго вводил код; пусть начнёт вход заново. |
| too many attempts from this address | С этого адреса слишком много попыток; подождите. |
| sign-in not set up (password or two-factor) | У пользователя не настроен пароль или второй фактор. Он должен пройти настройку в консоли. |
| no access to that server | SSH: нет правила доступа на этот сервер. |
| refused by the licence | Вход запрещён состоянием лицензии («Лицензия»). |
| a VNC server, reached with a VNC viewer | Человек попытался открыть VNC-сервер SSH-клиентом; VNC открывают через «Connect» в консоли или BURSUcm. |
| in no mapped directory group / directory not available / the directory account name cannot be a gateway login / locked in the directory / directory error / no longer in the directory | Проблемы входа через каталог: человека нет в сопоставленной группе, каталог не отвечает, имя учётной записи каталога не годится для логина, учётная запись заблокирована или удалена в каталоге («Каталоги»). |
| Windows offered NTLM (refused); clocks differ too much; the gateway's Kerberos key does not match; the secure connection could not be confirmed; a ticket presented again (replay); the Windows sign-in token was refused; the domain is not connected; Windows sign-in is not set up; no such person in the directory; network logon denied on the gateway host; ticket refused as modified (klist purge, then sign in again); Windows refused the credentials (a policy may deny network logon) | Причины сбоя входа Windows (Kerberos): NTLM не принимается, время на компьютере и сервере расходится, ключ (keytab) устарел, повтор билета, домен не подключён и т. п. Для «ticket refused as modified» человеку надо выполнить klist purge и войти заново. Остальное исправляет администратор («Каталоги»). |

Справочник типов событий
В таблицах ниже — все 196 типов событий, которые шлюз умеет писать, по группам. В колонке «Событие» — название, как оно показано в журнале; в колонке «Код» — внутренний код события, который виден в карточке и в SIEM (поле «тип») и по которому можно искать (/audit?type=…).
События SSH session terminated и SSH session watched записываются и для сессий RDP, баз данных и VNC. Для разбора смотрите тип объекта и подробности события.
Вход, выход и подтверждение личности
| Событие | Код | Что произошло |
|---|---|---|
| Console sign-in | console.signin | Вход в веб-консоль паролем (успех или отказ). Причина отказа видна в подробностях и на странице «Sign-in log». |
| Second factor | console.signin.mfa | Ввод кода второго фактора при входе в консоль. |
| Sign-out | console.signout | Выход из консоли. |
| Identity confirmed | console.reauth | Повторное подтверждение личности (пароль и код) перед опасным действием: экспортом, скачиванием копии, сменой настроек. |
| Own password changed | console.password.change | Человек сменил собственный пароль. |
| Other sessions ended | console.sessions.revoke | Человек завершил свои прочие сеансы консоли. |
| TOTP setup refused | console.enrol.refused | Настройка TOTP отклонена (например, неверный код или срок шага истёк). |
| BURSUcm sign-in: password | api.signin | Вход из программы BURSUcm: проверка пароля. |
| BURSUcm sign-in: code | api.signin.mfa | Вход из программы BURSUcm: проверка кода. |
| Token issued | token.issue | Выдан токен для программы BURSUcm. |
| Token revoked | token.revoke | Токен отозван. |
| SSH sign-in | ssh.signin | Вход клиентом SSH на шлюз (успех или отказ). |
| Ticket issued | ticket.issue | Выдан одноразовый билет на подключение к серверу. |
| Ticket used | ticket.redeem | Билет предъявлен шлюзу и использован (или отклонён). |
| Device remembered for Windows sign-in | device.remember | Устройство запомнено для входа Windows (Kerberos), второй фактор для него не спрашивается. |
| Remembered device forgotten | device.forget | Запомненное устройство забыто. |
Пользователи, группы и двухфакторная защита
| Событие | Код | Что произошло |
|---|---|---|
| User created | user.create | Создан пользователь. |
| User changed | user.update | Изменены данные пользователя. |
| Roles changed | user.roles | Изменены роли пользователя. |
| User disabled | user.disable | Пользователь отключён. |
| User enabled | user.enable | Пользователь включён. |
| User unlocked | user.unlock | Блокировка пользователя снята вручную. |
| User locked out | user.lockout | Пользователь заблокирован после неудачных попыток входа. |
| Language changed | user.language | Пользователь сменил язык интерфейса. |
| MFA reset | user.mfa.reset | Администратор сбросил второй фактор пользователя. |
| Temporary password set | user.password.reset | Администратор задал временный пароль. |
| Sessions ended | user.sessions.end | Администратор завершил все сеансы пользователя в консоли. |
| TOTP set up | mfa.enrol | Пользователь настроил TOTP. |
| Authenticator replaced | mfa.replace | Пользователь заменил приложение-аутентификатор. |
| TOTP setup started | mfa.enrol.start | Начата настройка TOTP. |
| Authenticator replacement started | mfa.replace.start | Начата замена аутентификатора. |
| New recovery codes | mfa.codes.new | Выданы новые коды восстановления. |
| TOTP accepted after the clock went back | mfa.step_rollback | Код TOTP принят после того, как часы сервера ушли назад. Проверьте время на шлюзе. |
| Group created | group.create | Создана группа пользователей. |
| Group changed | group.update | Изменена группа. |
| Group deleted | group.delete | Группа удалена. |
| Member added | group.member.add | В группу добавлен участник. |
| Member removed | group.member.remove | Из группы удалён участник. |
Каталог ресурсов и правила доступа
| Событие | Код | Что произошло |
|---|---|---|
| Folder created | folder.create | Создана папка серверов. |
| Folder renamed | folder.rename | Папка переименована. |
| Folder moved | folder.move | Папка перемещена. |
| Folder deleted | folder.delete | Папка удалена. |
| Server created | server.create | Добавлен сервер. |
| Server changed | server.update | Изменён сервер. |
| Server deleted | server.delete | Сервер удалён. |
| Server connection checked | server.test | Проверено соединение шлюза с сервером. |
| Account created | account.create | Добавлена учётная запись сервера. |
| Secret replaced | account.secret | Заменён секрет (пароль или ключ) учётной записи. Сам секрет в журнал не попадает. |
| Account deleted | account.delete | Учётная запись сервера удалена. |
| Privileged mode of an account changed | account.privileged | Изменён режим привилегированного доступа учётной записи (для сетевых устройств). |
| Device profile created | device_profile.create | Создан профиль устройства. |
| Device profile changed | device_profile.update | Профиль устройства изменён. |
| Device profile deleted | device_profile.delete | Профиль устройства удалён. |
| Rule created | rule.create | Создано правило доступа. |
| Rule changed | rule.update | Правило изменено. |
| Rule enabled | rule.enable | Правило включено. |
| Rule disabled | rule.disable | Правило выключено. |
| Rule extended | rule.extend | Срок правила продлён. |
| Rule deleted | rule.delete | Правило удалено. |
| Server host key confirmed | hostkey.confirm | Администратор подтвердил ключ сервера. |
| Server host key mismatch | hostkey.mismatch | Ключ сервера не совпал с запомненным; соединение отклонено. Возможна подмена сервера. |
| Server host key not confirmed | hostkey.unconfirmed | Ключ сервера ещё не подтверждён; соединение отклонено. |
| RDP server certificate confirmed | rdp.cert.confirm | Администратор подтвердил сертификат RDP-сервера. |
| RDP server certificate cleared | rdp.cert.clear | Запомненный сертификат RDP-сервера сброшен. |
| VNC server certificate confirmed | vnc.cert.confirm | Администратор подтвердил сертификат VNC-сервера. |
| VNC server certificate cleared | vnc.cert.clear | Запомненный сертификат VNC-сервера сброшен. |
| Database server certificate confirmed | server.db_tls_pin | Подтверждён сертификат сервера базы данных. |
| Database server sign-in tested | server.db_test | Проверен вход шлюза на сервер базы данных. |
Запросы доступа и согласования
| Событие | Код | Что произошло |
|---|---|---|
| Access requested | request.create | Пользователь запросил доступ. |
| Request decided on by an approver | request.review | Согласующий принял решение по запросу. |
| Access granted by request | request.grant | Доступ выдан по запросу. |
| Request denied | request.deny | Запрос отклонён. |
| Request cancelled | request.cancel | Запрос отменён автором. |
| Request expired | request.expire | Запрос истёк без решения. |
| Granted access revoked | request.revoke | Выданный доступ отозван. |
| Granted access ended | grant.end | Срок выданного доступа закончился. |
| New approver | approver.added | Появился новый согласующий. |
| Notification failed | notify.fail | Уведомление не доставлено. |
| Test notification sent | notify.test | Отправлено проверочное уведомление. |
Экстренный доступ
| Событие | Код | Что произошло |
|---|---|---|
| Emergency access used | breakglass.use | Использован экстренный доступ. |
| Emergency access refused: limit reached | breakglass.limit | В экстренном доступе отказано: исчерпан лимит. |
| Emergency access reviewed | breakglass.review | Использование экстренного доступа разобрано (разбор закрыт). |
| Emergency access review overdue | breakglass.overdue | Разбор экстренного доступа просрочен. |
Сессии SSH, Telnet и баз данных
| Событие | Код | Что произошло |
|---|---|---|
| SSH session started | session.start | Началась сессия (SSH, Telnet, SFTP, SCP). |
| SSH session ended | session.end | Сессия закончилась. Причина — в подробностях. |
| SSH session terminated | session.terminate | Сессию завершил администратор или аудитор (то же событие для SSH, RDP, баз данных и VNC). |
| SSH session ended: access lapsed | session.expire | Сессия закрыта, потому что доступ закончился. |
| SSH session watched | session.watch | Кто-то подключился к живому просмотру сессии (то же событие для SSH, RDP, баз данных и VNC). |
| Session data policy changed | session.policy | Изменилась политика данных идущей сессии. |
| Server login by the gateway | session.login | Шлюз вошёл на устройство (для Telnet и сетевых устройств). |
| Privileged mode on the server | session.privileged | Шлюз включил привилегированный режим на устройстве. |
| Session video exported | session.export | Из записи сессии сделано видео (VNC). |
| SSH request refused | ssh.refused | Запрос SSH отклонён шлюзом. |
| Telnet negotiation trouble | telnet.negotiation | Проблема при согласовании параметров Telnet. |
| The server echoed a typed password | login.secret_echo | Устройство показало пароль, который шлюз ввёл. Запись скрыта; проверьте настройки устройства. |
| A typed password was taken without a device's reply | login.secret_capture | Введённый шлюзом пароль перехватила посторонняя программа на устройстве. |
| Database pass issued | db.pass.issue | Выдан пропуск для подключения к базе данных. |
| Database pass revoked | db.pass.revoke | Пропуск к базе данных отозван. |
| Database connection refused | db.refused | Подключение к базе данных отклонено. |
| MySQL local file load refused | db.local_infile_denied | MySQL: загрузка локального файла отклонена. |
| Statements exported | db.statements.export | Выгружены команды баз данных в CSV. |
| Database settings changed | db.settings | Изменены настройки баз данных. |
Записи сессий
| Событие | Код | Что произошло |
|---|---|---|
| Recording signed | recording.signed | Запись сессии подписана (SSH, Telnet, SFTP, SCP, базы данных, VNC; у RDP своё событие rdp.recording.signed). |
| Recording failed | recording.fault | Запись сессии (SSH, Telnet, SFTP, SCP, базы данных, VNC) не прошла проверку или её не удалось записать на диск. |
| Recording deleted by retention | recording.retention | Запись удалена по сроку хранения. |
| Recording played | recording.play | Запись сессии открыта для просмотра (любой тип сессии, включая RDP; пишется до первого байта). |
| Recording downloaded | recording.download | Запись SSH-сессии скачана файлом .cast. |
| Recordings verified | recording.verify | Проверка записей на странице целостности (VNC). |
| Command text looked up | command.search | Поиск точной строки команды в сессии (сам запрос не записывается). |
Передачи файлов
| Событие | Код | Что произошло |
|---|---|---|
| File transferred | file.transfer | Передан файл (SFTP или SCP). |
| File operation refused | file.refused | Операция с файлом отклонена. |
| Stored file copy downloaded | file.copy.download | Скачана сохранённая копия файла или текст буфера обмена. |
| Stored file copy deleted | file.copy.delete | Сохранённая копия файла удалена по сроку. |
Сессии RDP
| Событие | Код | Что произошло |
|---|---|---|
| RDP request refused | rdp.refused | Запрос RDP отклонён. |
| RDP session started | rdp.session.start | Началась сессия RDP. |
| RDP session ended | rdp.session.end | Сессия RDP закончилась. |
| RDP data policy changed | rdp.policy | Изменилась политика данных RDP. |
| RDP capture key stored | rdp.recording.key | Сохранён ключ записи RDP. |
| RDP recording part sealed | rdp.recording.part | Запечатана часть записи RDP. |
| RDP recording signed | rdp.recording.signed | Запись RDP подписана. |
| RDP recording failed | rdp.recording.fault | Запись RDP повреждена или не прошла проверку. |
| RDP clipboard transfer refused | rdp.clipboard_denied | Передача буфера обмена в RDP отклонена. |
| RDP drive access refused | rdp.drive_denied | Доступ к перенаправленному диску RDP отклонён. |
| RDP device refused | rdp.device_denied | Устройство RDP отклонено. |
| RDP channel blocked | rdp.channel_blocked | Канал RDP заблокирован. |
| RDP recording exported as video | rdp.export | Запись RDP выгружена в видео. |
| RDP recording indexed | rdp.index | Запись RDP проиндексирована для быстрой перемотки. |
| RDP playback job refused | rdp.render_refused | Задача воспроизведения RDP отклонена (лимит, нехватка ресурсов). |
| RDP picture larger than the recording declares | rdp.render_picture | Картинка в записи RDP больше, чем заявлено в записи; шлюз не стал её строить. |
| RDP file signing key changed | rdp.signing_key | Изменён ключ подписи .rdp-файлов. |
Сессии VNC
| Событие | Код | Что произошло |
|---|---|---|
| VNC connection refused | vnc.refused | Подключение VNC отклонено. |
| VNC clipboard transfer refused | vnc.clipboard_denied | Передача буфера обмена в VNC отклонена. |
| VNC protocol error | vnc.protocol | Ошибка протокола VNC. |
| VNC session worker failed | vnc.worker | Служебный процесс сессии VNC завершился аварийно. |
| VNC settings changed | vnc.settings | Изменены настройки VNC. |
| Capture part sealed | vnc.capture.part | Запечатана часть записи VNC. |
| VNC playback job refused | vnc.render_refused | Задача воспроизведения VNC отклонена. |
| VNC picture larger than the recording declares | vnc.render_picture | Картинка в записи VNC больше, чем заявлено в записи. |
Контроль команд
| Событие | Код | Что произошло |
|---|---|---|
| Command refused | command.denied | Команда отклонена политикой. |
| Session ended by a command policy | command.terminate | Сессия завершена политикой контроля команд. |
| Command cancelled, cancellation not verified | command.abort_unverified | Команда отменена, но шлюз не смог подтвердить, что она не выполнилась. |
| Command alert | command.alert | Сработало предупреждение политики (команда не блокировалась). |
| Command line not readable | command.unread | Строка команды не прочитана шлюзом. |
| Many unreadable command lines | command.unreadable_burst | Много непрочитанных строк подряд. |
| Command policy created | command.policy.create | Создана политика команд. |
| Command policy changed | command.policy.update | Политика команд изменена. |
| Command policy deleted | command.policy.delete | Политика команд удалена. |
| Command policy could not be loaded | command.policy.fault | Политику команд не удалось загрузить. Команды этой политики не контролируются, пока ошибка не исправлена. |
| Command pattern group created | command.group.create | Создана группа шаблонов команд. |
| Command pattern group changed | command.group.update | Группа шаблонов изменена. |
| Command pattern group deleted | command.group.delete | Группа шаблонов удалена. |
| Command events lost | command.events.dropped | События команд потеряны (очередь переполнена). |
| Command held for confirmation | command.confirm.ask | Команда задержана до подтверждения вторым человеком. |
| Command allowed by a second person | command.confirm.allow | Второй человек разрешил команду. |
| Command refused by a second person | command.confirm.deny | Второй человек запретил команду. |
| Command confirmation timed out (refused) | command.confirm.timeout | Подтверждения не дождались, команда отклонена. |
| Command confirmation cancelled | command.confirm.abort | Подтверждение отменено. |
Каталоги пользователей (LDAP, AD)
| Событие | Код | Что произошло |
|---|---|---|
| Directory user created | directory.signin | Создан пользователь из каталога при первом входе. |
| Directory change applied | directory.sync | Изменение из каталога применено. |
| Directory not available | directory.unavailable | Каталог недоступен. |
| Directory watch | directory.watch | Наблюдение за каталогом (потеряно или восстановлено). |
| Directory added | directory.create | Каталог добавлен. |
| Directory changed | directory.update | Каталог изменён. |
| Directory deleted | directory.delete | Каталог удалён. |
| Directory group mapping changed | directory.mapping | Изменено сопоставление групп каталога. |
| Directory connection checked | directory.test | Проверено подключение к каталогу. |
| Directory certificate confirmed | directory.certificate | Подтверждён сертификат каталога. |
| Kerberos keytab changed | directory.keytab | Изменён файл ключей Kerberos (keytab). |
Аудит, настройки и ключ шифрования
| Событие | Код | Что произошло |
|---|---|---|
| Export | audit.export | Выгрузка списка в CSV (с фильтром). |
| Integrity check | audit.verify | Проверка цепочки журнала (ежедневная или ручная). |
| Audit chain checkpoint signed | audit.checkpoint | Контрольная точка цепочки: подписана целостность журнала до события N. |
| Local journal replayed | audit.journal | Записи из локального журнала шлюза перенесены в базу данных после перебоя. |
| Setting changed | setting.change | Изменена настройка. Секреты не записываются. |
| SIEM test event | siem.test | Проверочное событие, отправленное в SIEM. |
| SIEM receiver switched without delivery | siem.switch_forced | Приёмник SIEM сменили без доставки последних событий предыдущему. |
| SIEM export stopped without delivery | siem.stop_forced | Отправку в SIEM остановили без доставки последних событий. |
| Encryption key created | key.init | Создан ключ шифрования. |
| Unseal | key.unseal | Шлюз открыт (введён пароль или ключ восстановления). |
| Encryption key changed | key.rotate | Ключ шифрования сменён. |
| Key recovered / mode changed | key.recover | Ключ восстановлен или изменён режим его защиты. |
| Key created again | key.reset | Ключ создан заново. |
| Existing key kept | key.keep | Существующий ключ оставлен. |
| Setup code | setup.code | Операция с кодом первоначальной настройки. |
| Setup finished | setup.complete | Первоначальная настройка завершена. |
Лицензия
| Событие | Код | Что произошло |
|---|---|---|
| Licence installed | licence.install | Установлена лицензия. |
| Gateway clock checked against licence time | licence.clock | Часы шлюза сверены со временем лицензии. |
| Licence time recorded | licence.time | Записано доверенное время лицензии. |
| Licence state changed | licence.state | Изменилось состояние лицензии. |
| Licence clock offset decided for this host | licence.offset | Определена поправка часов лицензии для этого узла. |
| Licence used on a host it does not list | licence.host | Лицензия использована на узле, которого нет в ней. |
| More active servers than the licence allows | licence.over_limit | Активных серверов больше, чем позволяет лицензия. |
| Licence request made | licence.request | Сделан запрос лицензии. |
| Installation released | licence.release | Установка освобождена (лицензия снята с узла). |
| Server activation refused by the licence | licence.limit | Активация сервера отклонена лицензией. |
| Refused by the licence state | licence.denied | Операция отклонена из-за состояния лицензии. |
| Online licence call | licence.online | Обращение шлюза к серверу лицензий. |
Проверка целостности
Страница Integrity check (/audit/integrity) отвечает на вопрос «не изменил ли кто-нибудь журнал аудита и записи задним числом». Её видят Administrator и Auditor. Подпись страницы: «Recomputes the audit log's hash chain from event No. 1. Runs by itself every day at 03:00.»
Как это устроено
У каждого события журнала есть хэш — контрольная сумма, в которую входит хэш предыдущего события. Если событие в середине изменить или удалить, хэши после него перестанут сходиться, и проверка укажет первое событие, где цепочка разорвана. Проверка пересчитывает цепочку с самого первого события. Каждую ночь в 03:00 по времени отображения шлюз делает её сам. Если цепочка цела, он подписывает контрольную точку — событие Audit chain checkpoint signed со ссылкой на номер последнего проверенного события. Подпись ставится тем же ключом, что и подпись записей сессий. Если цепочка нарушена или проверка не смогла завершиться, контрольная точка не пишется. В консоли нет страницы, которая сверяет подписи контрольных точек: это событие просто хранится в журнале и уходит в SIEM, и сверить его может любой, у кого есть публичный ключ шлюза.
Проверка цепочки журнала
Карточка The audit log's hash chain («Every event keeps the hash of the one before. An event changed or deleted afterwards breaks the chain.»).
- Кнопка Check запускает проверку вручную. Идёт полоса прогресса Checked {0} of {1}; страницу можно не закрывать.
- Строка Chain head: event No. {0} — compare it with the copy in the SIEM показывает номер последнего события. Сверьте его (и хэш в карточке этого события) с копией журнала в SIEM: если кто-то удалил хвост журнала на шлюзе, внутри самого шлюза это не видно, а в SIEM остаётся полная копия.
- Результат: Chain intact: events No. 1–{0}. и строка Checked {0} in {1} s. — всё в порядке.
- Если же цепочка нарушена: Break at event No. {0}: expected hash {1}…, found {2}… (expected: — какой хэш должен быть, found: — какой найден) и текст Events from No. {0} on cannot be taken as confirmed. The event may have been changed or deleted directly in the database. Рядом кнопка Open event No. {0}.
- The last check could not finish; run it again. — проверка не дошла до конца (например, пропала база данных). Это не нарушение, а сбой: запустите её снова.
- The chain has not been checked yet. — проверок ещё не было.
- This result could not be written to the audit log. It is shown from the gateway's memory and is lost on a restart: run the check again once the database accepts writes. — результат показан, но записать его в журнал не удалось.
Таблица Check history хранит последние 10 проверок: When, Who (запустил человек; для ночной проверки — on schedule), Range (No. 1–N), Duration, s и состояние (intact или break).

Это серьёзный сигнал: журнал могли изменить напрямую в базе данных. Не пытайтесь «починить» его. Порядок действий:
- Запишите номер. Выпишите номер события из сообщения Break at event No. … и время проверки.
- Откройте событие. Нажмите Open event No. …, сохраните карточку (хэш, предыдущий хэш, время).
- Сравните с SIEM. Найдите то же событие в SIEM (по номеру и хэшу): копия в SIEM независима от базы шлюза. Расхождение с копией показывает, что именно изменено.
- Сообщите ответственному за безопасность. Все события, начиная с указанного номера, нельзя считать подтверждёнными. Проверьте, кто имеет доступ к серверу PostgreSQL шлюза.
- Проверьте плашку. Плашка Last chain check на странице Overview останется красной, пока следующая проверка не найдёт цепочку целой, но разрыв уже существующих событий сам не исчезнет.
Проверка записей
Карточка Recordings («Checks that a recording is whole, in order and exactly as it was signed, and names the first part that is not. The result goes to the audit log.») с кнопкой Verify recordings. В версии 1.0.0 она проверяет только записи VNC, начиная с новых (идёт счётчик Verifying recordings: {0} of {1}). Записи SSH и RDP проверяются каждый раз при открытии. Если записей VNC ещё нет, написано No VNC recordings to verify yet. После проверки видны итог ({0} verified, {1} cut at a crash, {2} failed), время последней проверки и таблица Session / Result. Результат каждой записи:
| Результат | Что значит |
|---|---|
| Verified | Запись цела. |
| Cut at a crash; what was written is signed | Сессия прервалась из-за аварии, записанное подписано. Это не вмешательство. |
| Failed и First bad part: {0} | Запись нарушена. Первая плохая часть названа. Причина — одна из следующих. |
| Skipped: the recording was deleted by retention | Запись удалена по сроку хранения, проверять нечего. |
| Причина | Что значит |
|---|---|
| A byte of the part was changed. | Содержимое части записи изменилось после подписи. |
| A part is missing. | Часть записи пропала. |
| A file is there that the signed manifest does not list. | В каталоге записи лежит файл, которого нет в подписанном описании. |
| The part belongs to another session. | Часть записи подложена из другой сессии. |
| The manifest differs from the one the audit log's hash chain recorded. | Описание записи не совпадает с тем, что шлюз записал в журнал во время сессии. |
| A stored file copy does not match the signed manifest. | Сохранённая копия файла не совпадает с подписанным описанием (для проверки файловых записей). |
Результат пишется в журнал событием Recordings verified (число проверенных и первая плохая часть). Проверить одну запись можно и кнопкой Verify this recording на её карточке (VNC). Если проверка записи не прошла, действуйте как при нарушении цепочки: ничего не удаляйте, сохраните сведения, сравните с копией события в SIEM и сообщите ответственному.
Отправка событий в SIEM
Шлюз умеет отправлять журнал аудита во внешнюю систему мониторинга (SIEM) по протоколу syslog. Это даёт независимую копию журнала: даже если кто-то испортит базу шлюза, в SIEM останется оригинал. Страница SIEM export (/system/siem, меню Settings → Integrations) доступна только Administrator. Аудитор видит состояние отправки на странице Overview и в колокольчике, но настроек не меняет.

Поля страницы
| Поле | Что вводить | По умолчанию / ограничения |
|---|---|---|
| Enabled (Send events) | Флажок: включить отправку. | Выключен. |
| Host | Имя или адрес приёмника. Обязателен при включённой отправке: Enter the receiver's host. | До 253 знаков, без пробелов, не начинается с «-». |
| Port | Порт приёмника. | От 1 до 65535. По умолчанию 6514. |
| Transport | UDP, TCP или TLS. | TLS. Подсказки: TLS: syslog over TLS, RFC 5425 (port 6514). TCP: without encryption (port 514). и UDP has no delivery confirmation: losses go unnoticed, and a message over 8192 bytes is cut. |
| CA certificate | Сертификат центра, подписавшего сертификат приёмника, в формате PEM (-----BEGIN CERTIFICATE-----). Нужен для TLS, если приёмник использует собственный центр сертификации. | Пусто = системное хранилище. Если не PEM: The CA certificate is not PEM. |
| Format | CEF, LEEF или JSON (формат сообщения; см. ниже). | CEF. |
| Send every database statement to the SIEM (text cut to 1 KB, credentials masked) | Флажок: отправлять в SIEM ещё и каждую команду баз данных. | Выключен. Команды уходят после событий журнала, начиная с момента включения; не позже чем через минуту после выполнения. Текст такой, как в консоли: пароли закрыты по мере возможности, данные остаются, обрезается до 1 КБ. Параметры запросов не отправляются никогда. |
Кнопка Save сохраняет настройки. Кнопка Send a test event отправляет пробное событие (тип siem.test) с теми значениями, что стоят в форме, сохранены они или нет. Курсор доставки при этом не двигается. Результат: The test event was sent. или The test event was not sent: {0} (вместо {0} — причина из таблицы ниже). Тестовое событие также записывается в журнал аудита (SIEM test event) как обычное звено цепочки, в том числе когда отправить его не удалось. Рекомендуется всегда проверять приёмник кнопкой теста до включения.
Карточка Delivery state
| Строка | Что значит |
|---|---|
| Queue | Сколько событий ещё не подтверждено приёмником ({0} events). |
| Last sent | Номер последнего подтверждённого события (No. {0}). Это «курсор». |
| Last successful pass | Время последней удачной передачи. |
| Last error | Что пошло не так в последней попытке (см. ниже). |
| State | off — не включено; in order — работает; failing — последняя попытка не удалась, шлюз повторяет; The export is stopping: the latest events have not been delivered yet; Switching receiver: the latest events have not been delivered to the previous receiver yet. |
| Последняя ошибка | Что делать |
|---|---|
| the connection was refused (nothing is listening on that port) | На приёмнике ничего не слушает этот порт или его закрывает межсетевой экран. Проверьте порт и службу. |
| the receiver did not answer in time | Приёмник не ответил вовремя. Проверьте сеть, маршрут и нагрузку приёмника. |
| the host name could not be resolved | Имя не разрешилось. Проверьте имя в поле Host и DNS шлюза. |
| the TLS handshake failed or the receiver's certificate was not accepted | Не удалось согласовать TLS или сертификат приёмника не принят: проверьте CA certificate, срок сертификата и что имя в Host совпадает с именем в сертификате. |
| delivery failed for another reason; details are in the service log | Смотрите журнал службы шлюза. |
Выключение и смена приёмника
Выключение отправки, смена приёмника у работающей отправки и выключение отправки команд баз данных требуют повторного подтверждения личности (пароль и код, 10 минут), потому что это ослабляет защиту журнала. Шлюз напомнит: Confirm who you are before turning the SIEM export off., Confirm who you are before changing the receiver of a running export., Confirm who you are before turning the sending of statements off. Ссылка Confirm who I am ведёт на страницу ввода.
Пока последние события (в том числе событие о самом выключении) не доставлены прежнему приёмнику, менять настройку нельзя: The last events are still being delivered to the previous receiver, so the export cannot be changed now. Wait until that has finished. A stop is cancelled by switching the export on again. Выключение нужно делать отдельно от смены приёмника: Turn the export off on its own: the last events still go to the receiver saved now. Change the receiver after the export has stopped.
Если старый приёмник недоступен и последние события ему не доставить, есть два аварийных выхода. Оба требуют подтверждения личности и согласия в окне, а в журнал пишется, что осталось недоставленным:
- Stop without delivery — остановить отправку без доставки (Stop the export without delivering the last events to the receiver?). Событие журнала SIEM export stopped without delivery.
- Switch without delivery — переключиться на новый приёмник (Switch to the new receiver without delivering the last events to the previous one?). Событие SIEM receiver switched without delivery.
В обоих случаях курсор остаётся на месте, поэтому новый приёмник при следующем включении получит всё, что прежний не подтвердил. Каждое изменение настроек пишется событием Setting changed; сертификат центра сертификации записывается только отпечатками, не самим текстом.
Как доставляются события
- Не меньше одного раза. Очередь — это сама цепочка журнала; шлюз запоминает номер последнего подтверждённого события и после сбоя начинает с него. Событие может прийти дважды, но ни одно не пропускается. Для отсева повторов используйте номер события и хэш.
- Подтверждение — закрытие соединения. Для TCP и TLS приёмник ничего не подтверждает по ходу передачи, поэтому шлюз считает события принятыми, когда закрыл своё соединение и дождался закрытия со стороны приёмника. Курсор сохраняется в конце каждой передачи и после каждых 10 пакетов по 500 событий. При обрыве шлюз повторно отправит не более 5000 событий.
- Приёмник обязан закрыть свою сторону, когда её закрывает шлюз. rsyslog, syslog-ng и приёмники на Netty так делают. Если приёмник этого не делает, каждая передача будет заканчиваться ошибкой на первом же подтверждении.
- UDP ничего не подтверждает. Потери незаметны, а сообщение длиннее 8192 байт обрезается и заканчивается меткой
…[truncated]. - Повторы при сбое. Пауза между попытками растёт с 1 секунды до 5 минут и сбрасывается при изменении настроек. Новые события шлюз замечает сразу.
Формат сообщения — syslog по RFC 5424: facility 13 (log audit), имя приложения bursu-pam, MSGID — код события. TCP использует кадрирование по RFC 6587 (счётчик октетов), TLS — RFC 5425, версии TLS 1.2 и 1.3; шлюз проверяет имя приёмника, но не проверяет отзыв сертификата. Содержимое по форматам — ниже.
Важность события. Шлюз определяет её по типу события. В CEF она записана числом от 0 до 10 в заголовке сообщения. В syslog она записана уровнем по RFC 5424 в приоритете сообщения (это касается всех трёх форматов; у LEEF и JSON собственного поля важности нет). Пересчёт: 9–10 — critical, 7–8 — error, 5–6 — warning, 3–4 — informational, 0–2 — debug. Для большинства событий действует общее правило: успех — 3 (informational), любой другой исход, то есть отказ или сбой, — 6 (warning). У части событий важность задана отдельно:
| События | CEF | syslog |
|---|---|---|
breakglass.use (использован экстренный доступ) | 9 | critical |
breakglass.limit, breakglass.overdue, command.terminate, command.abort_unverified, command.unreadable_burst, command.policy.fault; breakglass.review с вердиктом Not justified (или любым неуспешным исходом); изменения правил (rule.create, rule.update, rule.enable, rule.extend), где среди субъектов правила есть администратор | 7 | error |
request.revoke, command.alert, command.confirm.allow, command.confirm.deny, command.confirm.timeout, command.confirm.abort | 5 | warning |
command.denied, command.events.dropped, approver.added; все остальные события с исходом, отличным от успеха | 6 | warning |
request.grant, command.confirm.ask, command.search, создание, изменение и удаление политик и групп шаблонов команд | 4 | informational |
request.create, request.review, request.deny, request.cancel, request.expire, notify.fail, notify.test, остальные breakglass.review; все остальные успешные события | 3 | informational |
grant.end (срок выданного доступа закончился), command.unread | 2 | debug |
Таблица полезна, чтобы настроить в SIEM правила тревоги: например, реагировать на critical и error сразу, а debug не показывать.
Содержимое сообщения по форматам:
| Формат | Что внутри |
|---|---|
| CEF | Заголовок CEF:0|BURSUsofts|BURSU PAM|версия|тип|тип|важность и пары: rt (время), externalId (номер события), outcome, suser (пользователь), cs1 (вид объекта), cs2 (объект), cs3 (сессия), src (адрес), поля файла для передач, flexString1 (номер запроса), flexString2 (политика), cs4 (подробности), cs5 (хэш события). |
| LEEF | LEEF 2.0, разделитель — символ табуляции (в настройке записывается x09). Ключи: devTime, devTimeFormat, cat, outcome, usrName, resource, sessionId, src, auditId (номер события), details, eventHash. |
| JSON | Поля: id, time, type, outcome, actor, targetKind, targetId, sessionId, source, details, hash. |
Номер события лежит в externalId (CEF), auditId (LEEF) и id (JSON); хэш события — в последнем ключе каждого формата.
Пример приёмника на rsyslog
Ниже — типовая настройка rsyslog для приёма по TLS (порт 6514). Она собрана по документации rsyslog; именно с этим шлюзом она в документации не проверялась, поэтому испытайте её кнопкой Send a test event.
global(
DefaultNetstreamDriver="gtls"
DefaultNetstreamDriverCAFile="/etc/rsyslog.d/ca.pem"
DefaultNetstreamDriverCertFile="/etc/rsyslog.d/siem-cert.pem"
DefaultNetstreamDriverKeyFile="/etc/rsyslog.d/siem-key.pem"
)
module(load="imtcp" StreamDriver.Name="gtls" StreamDriver.Mode="1" StreamDriver.AuthMode="anon")
input(type="imtcp" port="6514")
if $programname == 'bursu-pam' then /var/log/bursu-pam.log
& stop
Сертификат приёмника (siem-cert.pem) должен быть выдан на то имя, которое вы вписали в поле Host, а сертификат центра сертификации — тот, что вы вставили в CA certificate (если он не из системного хранилища шлюза). Режим anon означает, что приёмник не требует сертификата от шлюза. rsyslog закрывает соединение, когда это делает шлюз, то есть подходит под условие подтверждения.
Повторное подтверждение личности
Некоторые действия (выключить отправку, сменить приёмник, скачать копию файла, экспорт в CSV команд баз данных, экспорт видео) просят заново ввести пароль и код: страница Confirm it is you с текстом «This action needs your password and a code again. The confirmation lasts 10 minutes.» Поля: Password, Code from the app (или Or a recovery code), кнопка Confirm. Ошибка The password or the code did not match. означает неверный пароль или код; неверный код считается попыткой входа и при повторах блокирует учётную запись.
Роль аудитора
Роль Auditor создана для человека, который проверяет, что делают другие, и сам ничего не меняет. Аудитору ничего не надо настраивать: он смотрит, ищет, воспроизводит записи, выгружает отчёты и закрывает разборы экстренного доступа. Права определяет политика консоли «чтение аудита», которая даётся роли Administrator или Auditor после полного входа (с паролем и вторым фактором).
Что видит аудитор
| Что | Адрес | Можно ли |
|---|---|---|
| Overview | /overview | Смотреть. Блок «Where to start» не показывается. |
| Sessions (вкладки Running, SSH / Telnet / SFTP / SCP, RDP, VNC, Databases) | /audit/sessions, /audit/ssh-sessions, /audit/rdp-sessions, /audit/vnc-sessions, /audit/db-sessions | Смотреть, искать, воспроизводить, наблюдать вживую, завершать сессии (End). Завершение сессии базы данных требует заново ввести пароль и код, если вы не подтверждались в последние 10 минут. |
| Emergency access | /audit/breakglass | Смотреть и закрывать разборы (см. ниже). |
| File transfers, Clipboard, Statements | /audit/files и др. | Смотреть и выгружать CSV. Копии файлов и текст буфера — после повторного подтверждения. |
| Sign-in log, Audit log, Integrity check | /audit/logins, /audit, /audit/integrity | Смотреть, выгружать, запускать проверки. |
| Профили устройств и контроль команд | /servers/profiles, /commands | Только чтение. |
| Настройки, пользователи, серверы, правила | /settings и др. | Нет: страницы открываются только администратору. |
Аудитор не может: менять настройки, включать и выключать SIEM, создавать пользователей, серверы, правила, согласовывать запросы на доступ. Роли Administrator и Approver нельзя выдать одному человеку; роли Auditor и Administrator можно совмещать, но так аудитор перестаёт быть независимым, поэтому в организации с жёстким разделением обязанностей этого лучше избегать.
Всё, что делает аудитор, пишется в журнал: просмотр сессии вживую, воспроизведение и скачивание записи, поиск точной строки команды, выгрузка CSV, скачивание копии файла. Об этом полезно знать самому аудитору: его работа проверяема.
Разбор экстренного доступа
Экстренный доступ позволяет войти на сервер, минуя согласование, если дело не терпит отлагательства (раздел «Экстренный доступ»). Каждое такое использование надо разобрать. Страница Emergency access (/audit/breakglass) доступна администратору, аудитору и согласующему. Вкладки: Waiting for review (ждут разбора), All uses (все) и Command list (строки команд использования). В таблице: Person, Server and account, Reason (причина, которую человек написал), Ticket, Used, Sessions, Review (Review due by …, Review overdue since … или Reviewed by … on …). Состояния: Waiting for review, Reviewed, Overdue.
- Откройте использование. Прочитайте причину и откройте связанные сессии (Sessions) и список команд (Command list).
- Проверьте, что было сделано. Воспроизведите запись, прочитайте команды. Сопоставьте с причиной.
- Заполните форму Review this use. Поле Verdict: Justified (оправдано), Not justified (не оправдано) или Needs follow-up (нужна доработка). В Note напишите, что вы проверили и что нашли; заметка обязательна и хранится вместе с вердиктом.
- Нажмите Close the review. Сообщение Review closed., использование получает статус Reviewed.
Нельзя разбирать собственное использование: You cannot review your own use. или Another Approver or an Auditor reviews your use of emergency access; you cannot close the review. Разбор делают согласующий или аудитор; администратор разборы только читает. Ошибки формы: Write a note., Choose a verdict., This use has already been reviewed. Просроченные разборы виснут в колокольчике красным: Emergency access reviews overdue: N (видно администратору).

Рабочий день аудитора
- Начните с Overview. Прочитайте блок Health и колокольчик: ключ, SIEM, Last chain check, диск, запись. Красное — повод немедленно действовать (см. «Обзор»).
- Проверьте ночную проверку цепочки. На Integrity check должно быть Chain intact за 03:00. Сверьте номер Chain head с копией журнала в SIEM.
- Закройте разборы экстренного доступа. Откройте Emergency access → Waiting for review.
- Просмотрите отказы. В Sign-in log выберите Refused: повторы с одного адреса, блокировки. В Audit log задайте Result → Refused. Отдельно посмотрите
/audit?type=hostkey.mismatch: каждое такое событие — отказ в соединении из-за изменившегося ключа сервера. - Выборочно разберите сессии. Откройте записи привилегированных сессий и экстренных входов; поищите по тексту подозрительные команды (
rm -rf,sudoи т. п.). - Проверьте передачи данных. На File transfers и Clipboard посмотрите крупные и отказанные передачи; найдите, куда ушёл конкретный файл, по Exact SHA-256.
- Выгрузите отчёт при необходимости. CSV из журнала и списков; помните, что каждая выгрузка сама записывается в журнал.
Мой доступ в веб-консоли
Эта часть руководства написана для тех, кто работает на серверах через шлюз: администраторов серверов, инженеров, подрядчиков. Здесь описано, как человек получает доступ к серверу: в веб-консоли, в программе BURSU Connection Manager и в привычных клиентах (ssh, sftp, mstsc, VNC-просмотрщик, psql). Сначала разберём страницу My access: с неё начинается большинство подключений.
Страница открывается по адресу /access. Её видит любой вошедший пользователь, роль не важна. Пункт меню называется My access, он стоит в группе, которая относится только к вам.
Что показывает страница
На странице есть вводный абзац и один или несколько блоков. Каждый блок собирает серверы одного протокола. Порядок блоков такой: SSH, Telnet, RDP, VNC, PostgreSQL, MySQL, SQL Server.
В блоке есть таблица с колонками Server, Account и Protocol. Шлюз показывает только то, что правила доступа разрешают вам прямо сейчас. Сервер, на который у вас нет права, в списке не появится. Если право действует только по расписанию или выдано на время, строка пропадёт, когда время кончится.
Если ни одно правило вам ничего не разрешает, вместо таблицы стоит надпись Your access rules allow no server now. Что делать в этом случае, описано ниже в подразделе про запрос доступа.

Серверы SSH и Telnet
У строк SSH и Telnet нет кнопки Connect. К ним подключаются обычным клиентом, адрес шлюза и порт 2222 смотрите в разделе SSH-клиенты. Серверы Telnet тоже открываются через SSH: шлюз сам говорит с сервером по Telnet. Канал от шлюза до такого сервера не зашифрован. Шлюз предупредит об этом в терминале.
Кнопка Connect для RDP
Для сервера RDP код из приложения-аутентификатора не нужен. Нажмите Connect. Шлюз создаёт резервирование: оно живёт 10 минут. Откроется страница Connect with Remote Desktop (адрес /access/rdp/<идентификатор>). На ней два шага.
- Скачайте файл. Нажмите Download .rdp file и откройте файл. В нём записаны адрес шлюза, порт и одноразовое имя пользователя вида
bursu-<идентификатор>(длинная строка из букв, цифр и дефисов; вручную его не набирают, оно уже в файле). Пароля в файле нет. Откройте файл до того, как резервирование кончится (на странице написано, до какого времени). - Покажите код. Когда Удалённый рабочий стол (mstsc) спросит пароль, вернитесь на страницу и нажмите Show code. Появится One-time code. Вставьте его в поле пароля. Код показывается один раз, действует один раз и живёт 60 секунд.
Если обновить страницу, код не появится снова. Надпись The code for this connection has already been shown. If it did not work, start again. означает, что код уже показывали. Нажмите Start again, и шлюз создаст новое резервирование. Не сохраняйте пароль в mstsc: при следующем подключении нужен новый код.
Если файл не подписан, Windows пишет, что издатель неизвестен. На странице об этом сказано: The file is not signed yet, so Remote Desktop warns that the publisher is unknown. Tick only the devices your rule allows; the gateway blocks the rest. Подписывает файл администратор, см. подпись файлов RDP. Принимать ли предупреждение, решает политика вашей организации.
Файл предлагает только те устройства и диски, которые разрешает ваше правило. Если в окне mstsc отметить больше, ничего не изменится: шлюз заблокирует лишнее (The file offers only the devices and drives your rule allows. Ticking more in Remote Desktop changes nothing: the gateway blocks them.).
Подробности про сам mstsc, порт и отказы: Клиенты RDP.

Кнопка Connect для VNC
Для VNC нужен свежий код из приложения-аутентификатора. Нажмите Connect. Откроется окно Connect to <сервер> as <учётная запись> с полем Code from your authenticator app (6 digits). Введите шесть цифр и нажмите Show the connection details.
Код должен быть новым. Если вы вошли в консоль меньше 30 секунд назад, подождите следующий код: тот, которым вы входили, повторно не принимается. Код восстановления здесь не подходит. Если аутентификатор не настроен, страница пишет Set up the authenticator app on your profile first; VNC connections ask for its code. Другие ошибки: Enter the 6-digit code., A recovery code cannot be used here. Use the 6-digit code., Too many wrong codes. Try again later. Неверные коды считаются так же, как при входе, и ведут к блокировке.
После правильного кода страница показывает:
| Поле | Что это | Примечание |
|---|---|---|
| Host, Port | Адрес и порт VNC-входа шлюза. | Порт задаёт администратор (настройки VNC). |
| User name | Всегда bursu-ticket. | Любое другое имя шлюз отвергает. |
| One-time password (valid for 60 seconds) | Одноразовый тикет. Его вводят вместо пароля. | Живёт 60 секунд, работает один раз. Рядом идёт обратный отсчёт Expires in … s. Показывается один раз. |
| Gateway certificate (SHA-256) | Отпечаток сертификата шлюза. | Сверьте его с отпечатком, который покажет просмотрщик или скачанный файл. |
| TigerVNC command line | Готовая команда запуска. | Кнопка Copy копирует её. Пароля в команде нет. |
| Download the gateway certificate (PEM) | Кнопка скачивает сертификат шлюза. | Файл нужен просмотрщику, см. Клиенты VNC. |
Тикет можно использовать только с того адреса, с которого вы открыли консоль. Если просмотрщик работает на другом компьютере, шлюз откажет. Откройте консоль на том компьютере, где запускаете просмотрщик.

Кнопка Connect для баз данных
Для PostgreSQL, MySQL и SQL Server шлюз выдаёт «пропуск» (pass). Это длинный случайный пароль, который вы вводите в своей программе вместо пароля базы. Пароль настоящей учётной записи сервера вы не узнаёте.
Сначала нужно настроить приложение-аутентификатор в профиле. Если его нет, вместо кнопки стоит подсказка Set up an authenticator in My profile to connect to databases.
- Нажмите Connect. Откроется окно Connect to <сервер> as <учётная запись>.
- Введите код. В поле Code from your authenticator введите новые шесть цифр. Подсказка: A new six-digit code. The code you signed in with does not count again.
- Нажмите Get a pass. Появится страница с пропуском.
Страница показывает:
| Поле | Что это | Примечание |
|---|---|---|
| Host, Port | Куда подключаться. | Порт зависит от протокола, их задаёт администратор (настройки баз данных). |
| User name | Имя в виде логин:сервер:учётная_запись. | Копируйте его целиком. |
| Database | База по умолчанию. | Для PostgreSQL база обязательна. |
| Pass (use it as the password) | Сам пропуск. | Кнопки Show, Hide, Copy. Показывается один раз: This pass is shown only now. Reloading the page does not show it again. |
| Gateway certificate (SPKI SHA-256) | Отпечаток ключа сертификата шлюза. | Кнопки Download the gateway certificate (PEM) и Download the gateway certificate (.cer, Windows). После скачивания сверьте отпечаток: Check that the downloaded file's SPKI SHA-256 is … |
Ниже есть вкладки How to connect с готовыми командами для psql, mysql, sqlcmd и программ с окном. Подробности: Клиенты баз данных.
Сколько живёт пропуск
Значения ниже стоят по умолчанию. Администратор может их изменить в настройках баз данных. Страница показывает ваши конкретные цифры в строке Use within … minutes; then it opens new connections until … from this computer.
- Начать подключение нужно за 120 секунд после выдачи. Если не успели, получите новый пропуск.
- Жёсткий конец пропуска отсчитывается от выдачи (по умолчанию через 8 часов). Он наступает раньше, если раньше закончится ваш вход в консоль или в BURSUcm либо ваше право на сервер (например, выданный по запросу доступ). Точный час страница показывает в строке Use within … minutes; then it opens new connections until … from this computer.
- Если все соединения по пропуску закрыты и 30 минут никто не открывает новых, пропуск перестаёт действовать. Открытое соединение без запросов шлюз закрывает отдельно (по умолчанию через 60 минут, сообщение Closed after inactivity.).
- Один пропуск открывает до 16 соединений. Этого хватает, чтобы pgAdmin, DBeaver, Workbench и SSMS открыли свои дополнительные окна.
- Пропуск привязан к адресу компьютера, с которого его впервые использовали. С другого адреса он не сработает.
- Живых пропусков на одну связку «человек, сервер, учётная запись» может быть до 4. Когда вы получаете пятый, самый старый перестаёт открывать новые соединения (уже открытые продолжают работать).
- Получить пропуск можно не чаще 10 раз в минуту.
Если у SQL Server отключено строгое шифрование (Encrypt=Strict), пропуск открывает только одно соединение. Страница пишет: This pass opens one connection only (Encrypt=Strict is off on this gateway).
Ваши живые пропуска
Блок Your live passes перечисляет ваши действующие пропуска: Server, Account, Issued, Open connections, Ends. Кнопка Revoke отзывает пропуск и закрывает его соединения: The pass was revoked and its connections were closed. Если пропусков нет, написано You have no live pass.

Сертификат шлюза
Адрес /access/certificate отдаёт сертификат шлюза для клиентов. Формат PEM нужен psql, mysql, DBeaver и просмотрщикам VNC. Формат .cer нужен для Windows (SSMS, sqlcmd). Если администратор поставил сертификат от удостоверяющего центра, клиенту нужен корневой сертификат этого центра. Попросите его у администратора.
Если имя шлюза в сертификате не указано, страница предупредит: The gateway's certificate does not name …. Clients that check the name will refuse it; tell the administrator.
Сервера нет в списке
Если нужного сервера нет в списке или нет учётной записи, правило вам его не разрешает. Это может быть так, потому что доступ выдаётся только по запросу, или время действия правила кончилось. Подайте запрос на доступ, как описано в разделе Запросы на доступ. В случае аварии есть экстренный доступ: Экстренный доступ. Если в сообщении ssh написано Access is not allowed now. You can request it in the web console…, значит, правило существует, но сейчас вам оно не подходит, и подать запрос можно.
Если после выдачи доступа сервера всё равно нет, обновите страницу. Для VNC и баз данных кнопка Connect появляется только тогда, когда соответствующий вход шлюза запущен. Для RDP кнопка есть всегда, когда правило вам RDP разрешает. Если файл .rdp открывается, но подключиться не удаётся, спросите администратора, включён ли RDP-вход шлюза (настройка rdpListen).
Справочные страницы в группе Help (File transfer, Database clients, VNC viewers, Command control) повторяют часть этих сведений на вашем языке.

BURSU Connection Manager и шлюз
BURSU Connection Manager (в тексте «BURSUcm») умеет работать через шлюз. Режим называется PAM Gateway. Это четвёртый способ хранения данных после PostgreSQL, локальной базы и BURSUcloud. Вы видите только те серверы, которые разрешают правила, а каждый сеанс записывается на шлюзе. Режим есть в обоих настольных приложениях: Windows (WPF) и Linux/macOS (Universal). Различия описаны в конце раздела.
Режим PAM Gateway входит не во все сборки BURSUcm. Если на экране первого запуска нет кнопки PAM Gateway, а на экране входа нет ссылки Sign in to a PAM gateway instead, значит установленная сборка режима не содержит. Спросите у администратора, какую версию BURSUcm ставить.
Включение режима
- Выберите хранилище. При первом запуске (или после Clear cache & restart setup на экране входа) выберите плитку PAM Gateway. Подпись под ней в Windows: Your organisation's BURSU PAM gateway. Sessions go through it and are recorded there.
- Введите адрес. В поле Gateway address введите адрес шлюза без пути, например
pam.example.orgилиhttps://pam.example.org:8443. Порт — это порт веб-консоли. К шлюзу можно обращаться только по HTTPS. Адрес выдаёт администратор. - Войдите. Откроется экран входа PAM Gateway, на нём подпись The gateway shows only the servers its rules allow you. Every session is recorded on the gateway.
Если приложение уже настроено на другой режим, на экране входа есть ссылка Sign in to a PAM gateway instead. С экрана шлюза вернуться к обычному входу можно ссылкой Sign in with BURSUcloud instead или Use local sign-in instead.
Выйти из режима шлюза можно так: выйдите из шлюза и на экране входа выберите Clear cache & restart setup (подсказка в приложении: To leave PAM Gateway mode, sign out and choose “Clear cache & restart setup” on the sign-in screen.).
Доверие сертификату шлюза
В первый раз приложение показывает окно с сертификатом шлюза: поле Certificate (SHA-256). Сверьте отпечаток с тем, который показывает консоль шлюза (раздел Сертификат шлюза и страница статуса) или который вам сообщил администратор. Только после совпадения нажмите кнопку подтверждения. Приложение запомнит ключ шлюза для сочетания «адрес и порт».
Если потом шлюз покажет другой сертификат, приложение откажет и покажет два отпечатка: Trusted before: … и Presented now: …. Это может быть настоящая смена сертификата, но может быть и подмена. Не продолжайте, пока администратор не подтвердит смену. Тогда на экране входа нажмите Forget the gateway's certificate, и при следующем входе приложение покажет новый сертификат.
Вход: пароль и второй фактор
На экране шлюза введите логин и пароль и нажмите Sign in. Затем приложение откроет окно ввода кода. Введите шесть цифр из приложения-аутентификатора или код восстановления. Вход завершён, когда окно закрылось. Строка Signed in until … показывает, когда вход закончится. Срок жизни входа задаёт администратор: по умолчанию 8 часов, можно от 1 до 168 (настройка BURSUcm token lifetime, h). По окончании срока выполните вход заново.
Если второй фактор у вас ещё не настроен или пароль надо сменить, приложение отправит вас в веб-консоль: кнопка Open the gateway console. Предварительно настройте аутентификатор и смените пароль там, потом вернитесь.
Вход без пароля (Kerberos)
Если шлюз подключён к домену и на нём включён вход Kerberos, на экране входа есть кнопка. В Windows она называется Sign in with Windows. В Universal на Linux она называется Sign in with Kerberos (нужен действующий билет: войдите в домен или выполните kinit). Пароль при таком входе не нужен, но код второго фактора по-прежнему запрашивается.
Если вход не удался, над формой появится строка с причиной. Все такие строки перечислены в главе «Неисправности», раздел «Вход через Windows / Kerberos»; сам вход можно повторить обычным паролем.
Каталог серверов
После входа в списке только серверы и учётные записи, которые разрешены вам. Каталог только для чтения: в режиме шлюза нельзя создавать и менять подключения. Приложение отвечает на такие попытки сообщением Not available in PAM Gateway mode: the gateway's catalogue is read-only. Кнопка Refresh the list обновляет каталог. Если сервер пропал, приложение пишет This server is no longer in the gateway's catalogue. Refresh the list and try again., а если у сервера нет разрешённых вам учётных записей — The gateway lists no account you may use on this server.
Если у сервера несколько разрешённых учётных записей, приложение спрашивает: окно Choose an account, текст … has more than one account you may use. Which one?
Кнопка Request access... открывает запрос доступа, он описан в разделе Запросы на доступ. Экстренный доступ: Экстренный доступ.
Подключение к серверам
Подключение выглядит так же, как раньше: дважды щёлкните по серверу. Приложение само запрашивает у шлюза одноразовый тикет (он живёт 60 секунд и подходит один раз) и подставляет его. Вводить пароль и код не нужно.
| Тип сервера | Как открывается | Особенности |
|---|---|---|
| SSH | Вкладка с терминалом. Приложение входит на шлюз по SSH с тикетом. | Хост-ключ шлюза проверяется по ключу, который шлюз назвал при входе. Если не совпал: The gateway's SSH key does not match the one it announced, so the connection was refused. Tell the administrator. |
| Telnet | Вкладка с терминалом, как SSH. | Шлюз пишет в терминале, что отрезок от шлюза до сервера не зашифрован. Файлы недоступны: File transfer is not available for Telnet servers. |
| RDP | Окно удалённого рабочего стола встроенным движком BURSUrdp. | Без движка RDP через шлюз не работает: Through the gateway, RDP needs the BURSUrdp engine, which is not available on this computer. |
| VNC | Вкладка VNC. Помечена «VNC server, reached through the gateway». | Для Mac и части серверов отрезок от шлюза до сервера не шифруется, приложение пишет об этом. Режим просмотра: View only. |
| PostgreSQL, MySQL, SQL Server | Окно Database connection с пропуском. | Подробности ниже. |
Если шлюз не принял тикет (например, прошло больше 60 секунд), приложение пишет The gateway did not accept the sign-in. Its one-time code lives 60 seconds; connect again. Просто подключитесь ещё раз.
Чтобы открыть файлы сервера, нажмите кнопку Open the files of this server through the gateway. Приложение открывает SFTP с одноразовым тикетом, код не нужен. Кнопки загрузки, выгрузки и изменения работают по вашему правилу: если правило не разрешает, приложение пишет, например, Download is not allowed by the gateway's rule., Upload is not allowed by the gateway's rule., Changing files on this server is not allowed by the gateway's rule. или The gateway's rules do not allow file transfer to this server. Если правило не разрешает терминал, но разрешает передачу файлов, при попытке открыть терминал приложение пишет The gateway's rules do not allow a terminal on this server.
Когда на сервере действует контроль команд, BURSUcm отключает для этого подключения tmux. Приложение ничего не печатает в оболочку, поэтому панель файлов не следует за папкой оболочки, а у ИИ-помощника нет меток команд. Приложение пишет об этом в самой вкладке. О контроле команд см. Контроль команд.
Базы данных в BURSUcm
Для базы данных BURSUcm открывает окно Database connection. Приложение спрашивает у вас код второго фактора, обращается к шлюзу и показывает пропуск, адрес, порт, имя пользователя и отпечаток сертификата (Gateway certificate (SPKI SHA-256)). Кнопка New pass просит новый пропуск, Revoke отзывает действующий. Кнопка Save the gateway certificate… сохраняет сертификат в выбранную папку. Команды на вкладках How to connect ссылаются на файл сертификата без пути: выполняйте их в той папке, куда сохранили файл.
Пропуск показывается только сейчас: This pass is shown only now. Closing this window drops it. Закрыли окно — получите новый пропуск. Правила жизни пропуска те же, что в веб-консоли, см. Сколько живёт пропуск. Когда время первого подключения вышло, окно пишет The first-use time is over. If you have not used this pass yet, get a new one. A pass already in use opens new connections until … from this computer., а когда пропуск кончился — This pass has ended. Get a new one.
Если у вас старая версия BURSUcm, шлюз откажет: Update BURSUcm to connect to databases through this gateway.
Выход и смена шлюза
Команда Sign out завершает вход и закрывает все сеансы, открытые этим входом. Перед этим приложение спрашивает: Sign out of the gateway? It ends the … session(s) opened with this sign-in. Чтобы забыть сертификат шлюза и принять новый, нажмите Forget the gateway's certificate. Вы выйдете из шлюза, а при следующем входе приложение покажет сертификат, который шлюз предъявляет сейчас.
Служебное: если сеанс шлюза недоступен, приложение пишет Sign in to the PAM gateway first. Любую ошибку входа оно показывает как Sign-in to the gateway failed: … и текст причины. Тексты причин собраны в главе «Неисправности».
Windows и Universal: чем отличаются
| Что | Windows (WPF) | Linux и macOS (Universal) |
|---|---|---|
| Вход без пароля | Кнопка Sign in with Windows. | Кнопка Sign in with Kerberos (на Linux; нужен билет, kinit). |
| Тексты ошибок | Одни и те же сообщения, на языке приложения (en, de, es, pt, pt-br, ru, uk, ka). | Те же. |
| Встроенный RDP | Движок BURSUrdp нужен на этом компьютере. | То же. |
Выбор подключений, тикеты, каталог и пропуска работают одинаково. Если нужно подключиться не из BURSUcm, а привычным клиентом, смотрите разделы SSH, SFTP, RDP, VNC и базы данных.
SSH-клиенты: OpenSSH, PuTTY и другие
Любой обычный SSH-клиент подключается к шлюзу как к одному SSH-серверу. Нужно указать адрес шлюза, порт и особое имя пользователя. Шлюз сам решает, на какой сервер вас направить. Адрес и порт клиентам сообщает администратор. По умолчанию шлюз слушает порт 2222, но его можно сменить, а наружу он может называться другим адресом и портом (см. настройки SSH).
Имя пользователя
Имя состоит из частей, разделённых двоеточиями:
| Вид | Когда использовать |
|---|---|
логин:сервер | Если у вас на сервере одна разрешённая учётная запись. |
логин:сервер:учётная_запись | Если разрешённых учётных записей несколько. |
Если учётных записей несколько, а вы её не указали, шлюз ответит: Several accounts on … are allowed for you: connect as …:…:<account>. Повторите подключение с учётной записью.
ssh -p 2222 alice:web01@gateway.example.org
ssh -p 2222 alice:web01:root@gateway.example.org
Здесь alice — ваш логин на шлюзе, web01 — имя сервера в шлюзе, root — имя учётной записи.
Что шлюз спрашивает
- Пароль. Шлюз просит
Password:. Введите пароль от шлюза (или от вашего домена, если вы входите как доменный пользователь). - Код. Шлюз просит
Code from the app or a recovery code:. Введите шесть цифр из аутентификатора или код восстановления. - Сообщение. Затем в терминале появляется заголовок. По умолчанию это This session goes through BURSU PAM and is recorded. Администратор может заменить его своим текстом.
Каждое новое подключение требует пароль и новый код. Один и тот же код дважды не принимается.
Все сообщения шлюза в терминале приходят на языке шлюза по умолчанию (настройка в разделе входа и второго фактора), а если на нём текста нет, на английском. Язык вашего компьютера на них не влияет.
Тикет вместо пароля и кода
BURSUcm входит иначе: под именем bursu-ticket и с одноразовым тикетом, который он сам получил у шлюза (приглашение Ticket: ). Вручную такое подключение не делают, и тикет в консоли для SSH не показывается.
Ключ шлюза при первом подключении
При первом подключении клиент покажет отпечаток ключа и спросит, доверять ли ему. Ключ у шлюза один: ECDSA nistp256. Сверьте отпечаток с тем, что показывает консоль на странице настроек SSH (Gateway SSH key: поля Fingerprint, Public key, known_hosts line). Если отпечаток совпал, ответьте yes. Если клиент потом сообщает, что ключ изменился, не подключайтесь и сообщите администратору.
Администратор может дать вам готовую строку для файла known_hosts.
PuTTY и другие клиенты
В PuTTY укажите Host Name — адрес шлюза, Port — 2222, соединение SSH. Имя пользователя (логин:сервер) вводится при запросе login as: или в разделе Connection → Data. Шлюз использует диалог с запросами, поэтому клиент должен поддерживать интерактивный ввод пароля и кода (метод keyboard-interactive). Названия пунктов в вашей версии PuTTY могут немного отличаться: сверьтесь с её справкой.
Что шлюз разрешает в сеансе
- Разрешены сеансы с терминалом и командой, а также подсистема sftp (см. SFTP и SCP).
- Не разрешены перенаправление портов, агента и X11. Клиент получит отказ.
- Через шлюз нельзя запускать команду без терминала, если на сервере включён контроль команд: Commands on this server are checked and need a terminal. Connect with ssh -t. Добавьте ключ
-t. - Сервер, доступный по Telnet, принимает только интерактивный сеанс: без ключа
-Tи без команды в строке. - Серверы RDP, VNC и баз данных по SSH не открываются. Шлюз ответит, например: This server is reached with a VNC viewer. Use «Connect» in the console or BURSUcm.
ControlMaster и Ansible
Шлюз ведёт один сеанс на одно SSH-соединение. Поэтому общий канал OpenSSH (ControlMaster, ControlPersist) не работает: каждое подключение — новое, со своим паролем и своим кодом. Ansible включает такой общий канал сам, и при работе через шлюз он ломается. Для хостов шлюза задайте ControlMaster no (в Ansible через ssh_args). Кроме того, каждый запуск запрашивает код второго фактора, поэтому автоматические задания через шлюз для человека не подходят.
Host gateway.example.org
Port 2222
ControlMaster no
ControlPath none
Сообщения в терминале во время сеанса
Шлюз сам пишет в ваш терминал, когда что-то меняется: доступ закончился, сеанс завершил администратор, сеанс закрыт из-за бездействия или потому, что запись невозможна. Также он предупреждает, что срок выданного вам доступа скоро кончится. Если срок продлевается запросом, подайте его заранее: Запросы на доступ. Полный список сообщений: глава «Неисправности», раздел «SSH-терминал».
При включённом контроле команд шлюз может задержать команду до подтверждения второго человека или отказать. Подробности, в том числе что видит подтверждающий, смотрите в разделе Контроль команд.
Передача файлов: sftp, scp, WinSCP, FileZilla
Файлы передают по тому же порту, что и SSH, и с тем же именем пользователя. Шлюз применяет правило передачи файлов (политика файлов), записывает передачи и при необходимости ограничивает размер. Эту же информацию вы найдёте в самой консоли: меню Help, страница File transfer.
Каждое новое соединение спрашивает пароль и новый код. Один код не подходит дважды. Поэтому клиент должен держать одно соединение. Если клиент открывает несколько соединений сразу (так делают WinSCP и FileZilla по умолчанию), ограничьте их одним.
OpenSSH: sftp и scp
Команды sftp и scp режут запись «пользователь@хост:путь» по первому двоеточию. Поэтому имя вида alice:web01 в начале строки они примут за имя компьютера. Задавайте имя пользователя ключом -o User= либо адресом вида sftp:// и scp://.
sftp -P 2222 -o User=alice:web01 gateway.example.org
sftp sftp://alice:web01@gateway.example.org:2222
scp -P 2222 -o User=alice:web01:root file.txt gateway.example.org:/tmp/
scp file.txt scp://alice:web01:root@gateway.example.org:2222//tmp/
Если учётных записей несколько, добавьте третью часть (:root), как в SSH. Современный scp по умолчанию работает через SFTP. Старый протокол SCP включается ключом scp -O:
scp -O -P 2222 -o User=alice:web01:root file.txt gateway.example.org:/tmp/
В режиме -O путь читает оболочка сервера, поэтому путь с пробелами нужно заключить в кавычки дважды: одинарные снаружи, двойные внутри, например gateway:'"my dir/file.txt"'. Путь с символами % ^ & | < > ; шлюз отвергает всегда, а внутри двойных кавычек ещё и $ ` \ !. Ответ при этом: The gateway accepts only plain scp commands. Quote the whole path and leave out shell symbols.
WinSCP
Выберите протокол SFTP. В настройках WinSCP (Preferences → Transfer → Background) поставьте Maximal number of transfers at the same time равным 1 и выключите Use multiple connections for single transfer. Иначе каждое дополнительное соединение запросит новый код. Режим SCP в WinSCP требует оболочки на сервере, поэтому шлюз считает его сеансом терминала и отказывает, если ваше правило терминал не разрешает. Используйте SFTP. Названия пунктов меню зависят от версии WinSCP: проверьте их в своей версии.
FileZilla
Протокол SFTP, тип входа Interactive. В настройках передач (пункт Edit → Settings → Transfers) задайте Maximum simultaneous transfers равным 1. Тип входа Interactive нужен, чтобы клиент спросил пароль и затем код. Название пунктов меню зависит от версии программы: проверьте их в своей версии.
BURSUcm
В режиме PAM Gateway панель Files открывает SFTP с одноразовым тикетом. Код не запрашивается, а кнопки панели соответствуют вашему правилу. См. Подключение к серверам.
Ограничения и отказы
- Если правило не разрешает терминал, работает только передача файлов. Оболочка, команда,
rsyncиsftp -sотвергаются. - Файл выше лимита или сеанс, передавший больше лимита, шлюз останавливает. Лимиты задаёт политика файлов.
- Копирование внутри сервера (расширение
copy-data) недоступно: скачайте файл и загрузите снова. - Для серверов Telnet передача файлов недоступна.
- Сервер, который при входе печатает текст (скрипт входа), мешает запуску SFTP на стороне шлюза.
- Если ваше право изменилось во время передачи, шлюз прекращает её.
Все сообщения собраны в главе «Неисправности», раздел «SFTP и SCP».
Удалённый рабочий стол (RDP)
К серверу Windows через шлюз подключаются программой «Подключение к удалённому рабочему столу» (mstsc) или ей подобной. Вместо адреса сервера вы подключаетесь к шлюзу, а вместо пароля вводите одноразовый код. Пароль самой учётной записи сервера вы не знаете и не вводите: шлюз подставляет его сам.
Как подключиться
- Получите файл. В консоли откройте My access, найдите сервер RDP и нажмите Connect. Откройте скачанный файл
.rdp(см. Кнопка Connect для RDP). В BURSUcm этот шаг делается автоматически. - Откройте файл. Файл содержит адрес шлюза и порт RDP, который шлюз сообщает клиентам, а также одноразовое имя
bursu-<идентификатор>. - Введите код. Когда mstsc спросит пароль, нажмите на странице Show code и вставьте код. Код работает один раз в течение 60 секунд.
- Подтвердите сертификат. mstsc может показать предупреждение о сертификате: шлюз предъявляет свой собственный сертификат, а не сертификат сервера. Сверьте отпечаток с консолью или с отпечатком, который дал администратор (Сертификат шлюза).
Файл остаётся действительным 10 минут после нажатия Connect. Если опоздали: This connection has expired or does not exist. Вернитесь в консоль и нажмите Connect заново.
Порт и адрес
Шлюз принимает RDP на отдельном порту. Администратор задаёт, какой адрес и порт попадают в файл (rdpPublicHost, rdpPublicPort; по умолчанию порт 3389). Если вы подключаетесь без файла, например вводите адрес в mstsc вручную, пользуйтесь теми же значениями, но имя bursu-… всё равно нужно взять из файла: имя одноразовое.
Вход и проверка подлинности
Шлюз принимает только вход с проверкой на уровне сети (NLA, CredSSP с NTLM). Паролем служит одноразовый код. Выключать NLA в клиенте нельзя: такое подключение шлюз не примет. Файл .rdp уже содержит нужные настройки, поэтому не меняйте их в окне mstsc.
Подпись файла
Если администратор загрузил в консоль ключ для подписи и указал публичный адрес RDP, файл подписывается. Тогда Windows не предупреждает о неизвестном издателе. Если подписи нет, предупреждение появляется, и вы вправе принять его только если организация это разрешает (подпись файлов RDP).
Отказы
RDP-клиент не показывает причину отказа шлюза: mstsc выводит свои общие сообщения (например, о неверных учётных данных или о том, что компьютер недоступен). Поэтому, если подключение не удалось, сделайте так:
- Проверьте, что вы использовали новый код (60 секунд, один раз). Просто получите новый файл и код.
- Убедитесь, что сервер ещё есть в My access и что у вас по-прежнему есть право.
- Если несколько попыток подряд неверны, шлюз временно отказывает в подключении с вашего адреса.
- В остальных случаях (сертификат сервера не подтверждён, лицензия, сервер недоступен) причину видит только администратор в журнале аудита. Сообщите ему время попытки.
Если шлюз не может создать резервирование, консоль или BURSUcm показывают текст ошибки, например The RDP server's certificate has not been confirmed. Contact the administrator. Такие сообщения собраны в главе «Неисправности».
VNC-просмотрщики
К серверу VNC подключаются просмотрщиком TigerVNC. Шлюз принимает только защищённое подключение: RFB 3.8 с шифрованием VeNCrypt и методом входа X509Plain поверх TLS. Другие просмотрщики (RealVNC Viewer, TightVNC, UltraVNC, «Общий экран» в macOS) так не умеют и к шлюзу не подключаются. Remmina и другие просмотрщики на libvncclient могут оказаться совместимы, но шлюз рассчитан на TigerVNC: используйте его.
Как подключиться
- Получите тикет. В My access нажмите Connect у сервера VNC, введите код и нажмите Show the connection details (подробно).
- Скачайте сертификат. Нажмите Download the gateway certificate (PEM) и сохраните файл как
gateway.pem. Достаточно сделать это один раз. - Запустите просмотрщик. Скопируйте команду со страницы или соберите её сами:
vncviewer -SecurityTypes=X509Plain -X509CA=gateway.pem gateway.example.org::5901
Две двоеточия перед портом означают номер порта, а не номер дисплея. Имя пользователя — bursu-ticket, пароль — одноразовый тикет со страницы. Тикет живёт 60 секунд и подходит один раз.
Имя в сертификате
Просмотрщик проверяет, что имя шлюза есть в сертификате. Имя, под которым шлюз назван в сертификате, задаёт администратор (vncAdvertisedName, настройки VNC). Подключайтесь именно по этому имени. Если подключиться по IP-адресу, которого нет в сертификате, просмотрщик откажет.
Особенности
- Не меняйте глубину цвета во время сеанса. Если сервер не поддерживает Fence, шлюз закроет сеанс. Задайте в просмотрщике фиксированный уровень цвета (в TigerVNC выключите автоподбор).
- Шлюз принимает не больше 10 попыток входа в минуту с одного адреса. Если вы работаете из офиса с общим адресом, этот лимит делят все.
- Mac подключаются по обычному RFB, без шифрования между шлюзом и компьютером Mac. Многие серверы Windows предлагают только классический пароль VNC (он тоже без шифрования). BURSUcm и консоль предупреждают об этом при подключении.
- Вставка текста в буфер обмена может записываться шлюзом. Это зависит от правила.
Если отказывает шлюз, просмотрщик показывает его короткое сообщение. Они собраны в главе «Неисправности», раздел «VNC».
Клиенты баз данных: psql, mysql, sqlcmd и программы с окном
К базам данных PostgreSQL, MySQL и SQL Server вы подключаетесь привычной программой, но не к самой базе, а к шлюзу. Шлюз проверяет пропуск, подставляет настоящий пароль учётной записи, записывает запросы и закрывает сеанс, когда право кончилось.
Что ввести в программе
| Поле клиента | Что вводить | По умолчанию / ограничения |
|---|---|---|
| Host (Server) | Адрес шлюза, который показан в Host. | Это публичное имя шлюза (dbPublicHost). |
| Port | Значение из Port. У каждого протокола свой порт. | Три разных адреса и порта задаёт администратор (dbListen). |
| User name | Значение из User name: логин:сервер:учётная_запись. | Для PostgreSQL и MySQL длина имени ограничена протоколом. Если имя слишком длинное, шлюз откажет: Your login, the server and the account together are too long for this database client. Ask the administrator for a shorter server name. |
| Password | Пропуск со страницы My access или из BURSUcm. | Не сохраняйте его в программе: он одноразовый по смыслу и живёт недолго. |
| Database | Значение из Database. | У PostgreSQL база обязательна. Если вы её не назвали, используется база по умолчанию, заданная на сервере. |
| SSL / TLS | Включить, проверять сертификат шлюза. | Без шифрования шлюз не работает: The gateway accepts only encrypted connections. |
Получить пропуск и увидеть готовые команды можно на странице My access (Кнопка Connect для баз данных) или в BURSUcm. Время жизни пропуска, число соединений и другие пределы описаны там же (Сколько живёт пропуск).
Командная строка
Готовые команды вы увидите в блоке How to connect. Они выглядят так, как показано ниже (имена и порты примерные, берите значения со своей страницы):
psql "host=pam.example.org port=5432 user=alice:db01:app dbname=app sslmode=verify-full sslrootcert=gateway.pem channel_binding=require"
mysql -h pam.example.org -P 3306 -u alice:db01:app -p --ssl-mode=VERIFY_IDENTITY --ssl-ca=gateway.pem
sqlcmd -S pam.example.org,1433 -U alice:db01:app -N s
Команды приведены для оболочки POSIX (bash, zsh). My access и BURSUcm сами экранируют их для PowerShell и cmd, а если имя нельзя безопасно заключить в кавычки, дают список полей. Ключ sqlcmd -C с шлюзом использовать нельзя.
Программы с окном
| Программа | Что ввести | Примечание |
|---|---|---|
| pgAdmin | Host, Port, Maintenance database, Username; SSL mode — verify-full; скачанный сертификат как корневой. | Не сохраняйте пароль. Программа открывает отдельное соединение под каждую базу и каждый Query Tool. |
| DBeaver (PostgreSQL) | Host, Port, Database, Username; SSL — verify-full; свойство драйвера channelBinding=require. | Метаданные и каждый редактор используют свои соединения. |
| MySQL Workbench, DBeaver (MySQL) | Hostname, Port, Username, Default Schema; SSL — Require and Verify Identity; для DBeaver свойство sslMode=VERIFY_IDENTITY. | Открывают больше одного соединения. |
| SQL Server Management Studio | Server name в виде pam.example,1433; проверка SQL Server Authentication; Encryption — Strict; «Trust server certificate» выключено. | Object Explorer и каждое окно запроса — отдельные соединения. Если администратор отключил строгий режим, выбирайте Mandatory. |
| VS Code с расширением mssql | Те же поля, что в SSMS. | Azure Data Studio снят с поддержки с 28 февраля 2026 года. |
| DBeaver (SQL Server) | Свойства драйвера encrypt=strict (или true) и trustServerCertificate=false. |

TLS и сертификат
Всегда проверяйте сертификат шлюза. Скачайте его на странице My access. Для SSMS и sqlcmd файл .cer нужно добавить в «Доверенные корневые центры сертификации» текущего пользователя. psql, pgAdmin и DBeaver берут файл PEM как корневой сертификат, mysql — ключом --ssl-ca. Если администратор поставил на шлюз сертификат от удостоверяющего центра, клиенту нужен корневой файл этого центра: попросите его у администратора.
Без проверки сертификата PostgreSQL всё равно защищён привязкой канала, а MySQL и SQL Server при отсутствии проверки можно перенаправить на чужой узел, поэтому проверку не отключайте.
Какие клиенты подходят
- PostgreSQL: нужен вход SCRAM-SHA-256 с привязкой канала (
channel_binding=require). Не работают: node-postgres безenableChannelBinding, Npgsql до версии 5, pgjdbc до 42.7.4 и (по сообщениям) драйвер, встроенный в Power BI. Для pgjdbc используйте версию 42.7.12 или новее. - MySQL: нужен метод
caching_sha2_password.mysql --local-infileимеет смысл, только если правило разрешает выгрузку файлов. - SQL Server: принимается только вход SQL Server Authentication с пропуском. По умолчанию шлюз требует строгое шифрование TDS 8.0 (Encrypt=Strict). Клиенты, не умеющие его, не подключатся, пока администратор не ослабит режим.
Что записывает шлюз
Шлюз записывает запросы (операторы), но не то, что процедуры делают внутри. Маскировка паролей в тексте запросов работает по возможности. Сообщения об ошибках сервера могут содержать персональные данные. Репликация через шлюз не разрешена. Подробности смотрите в разделе Запросы к базам данных.
Сообщения шлюза в клиенте собраны в главе «Неисправности», раздел «Базы данных». Они приходят на языке шлюза по умолчанию.
Неисправности и сообщения об ошибках
Сообщения приведены так, как их показывает английский интерфейс. Найдите текст на странице (Ctrl+F) — в строке таблицы сказано, что он значит и что делать.
Установка и запуск службы
| Сообщение | Что это значит | Что делать |
|---|---|---|
| bursu-pam preinst: NOT upgrading - … The installed version stays and is started again. | Обновление остановлено до замены файлов: не удалось сделать копию базы (мало места, база не отвечает). | Выполните то, что названо в строке (например, освободите место в /var/backups/bursu-pam — нужно вдвое больше размера базы), и повторите apt install. Старая версия работает. |
| bursu-pam prerm: NOT upgrading - bursu-pam-gateway.service could not be stopped, and the database must not be dumped while it writes (see systemctl status bursu-pam-gateway.service). | Шлюз не остановился, а копировать базу, пока он пишет, нельзя. | systemctl status bursu-pam-gateway, остановите службу вручную и повторите обновление. |
| Служба в состоянии activating (auto-restart), в журнале … refuses to start: the database holds migration(s) this build does not contain | База уже обновлена более новой версией, а запущена старая. | Установите новую версию пакета или восстановите копию базы, сделанную до обновления («Откат»). Не удаляйте строки из schema_migrations. |
| listenUrl … must be an https:// URL, sshListen … must be address:port with an IP address, … uses the port of …; give each front end its own port, … is a wildcard: give the address explicitly, vncListen needs vncAdvertisedName | Шлюз не запустился из-за неверного значения в gateway.json (текст называет параметр). Служба при этом не останавливается насовсем: она будет перезапускаться каждые 5 секунд (activating (auto-restart)), пока файл не исправлен. | Причина — в journalctl -u bursu-pam-gateway -n 20. Исправьте параметр (см. таблицу параметров) и sudo systemctl restart bursu-pam-gateway. |
| The JSON property '…' could not be mapped to any .NET member… | В gateway.json есть неизвестный параметр (обычно опечатка). Служба перезапускается каждые 5 секунд, пока файл не исправлен. | Исправьте имя или удалите строку, затем sudo systemctl restart bursu-pam-gateway. |
| Служба остановилась с кодом 78 и больше не перезапускается | Шлюз запущен от root или с группой root — он отказывается так работать, и systemd не повторяет такой запуск. (Ошибка в gateway.json даёт не это, а перезапуск каждые 5 секунд — см. строки выше.) | Прочтите последнюю строку journalctl -u bursu-pam-gateway -n 20. Не запускайте шлюз вручную от root — только через службу: sudo systemctl start bursu-pam-gateway. |
bursu-pam-check: FAIL landlock … | В ядре не включён Landlock: не откроются сессии RDP и VNC. | Ядро Ubuntu 24.04 включает его по умолчанию; если параметр lsm= задан вручную, добавьте в него landlock. |
bursu-pam-check: FAIL postgres … role bursu-pam cannot reach database bursu_pam … | Шлюз не может войти в свою базу. | Запустите sudo bursu-pam-setup — он создаёт роль и базу; проверьте строки local в pg_hba.conf (нужен вход peer). |
| Браузер: Ваше подключение не защищено / NET::ERR_CERT_AUTHORITY_INVALID | Шлюз работает с самоподписанным сертификатом. | Для первой настройки — продолжите; для работы поставьте свой сертификат («Свой сертификат»). |
Первая настройка и разблокировка
| Сообщение | Что это значит | Что делать |
|---|---|---|
| The setup code did not match. | Введён неверный одноразовый код настройки. | Прочтите код заново: sudo cat /var/lib/bursu-pam/setup-code. Регистр и дефисы не важны. |
| The passphrase must be at least 12 characters long. / The passphrases do not match. | Фраза запечатывания короче 12 символов или повтор не совпал. | Введите фразу ещё раз. |
| The key could not be created. The details are in the service log. | Не удалось записать мастер-ключ. | journalctl -u bursu-pam-gateway -n 50; обычно — права или место в /var/lib/bursu-pam/keys. |
| A key was already created in an earlier run of the wizard… | Мастер прерывали после создания ключа. | Если ключ восстановления сохранён — Continue with this key; иначе создайте ключ заново. |
| A key was created in an earlier run, but it cannot be opened now. Create the key again. | Ключ из прошлого прохода не открывается. | Создайте ключ заново (пока настройка не закончена, секретов ещё нет). |
| The login does not fit: up to 64 Latin letters, digits, dots, hyphens and underscores. | Недопустимый логин администратора. | Используйте латиницу, цифры, ., -, _. |
| The passphrase did not match. (страница /unseal) | Неверная фраза запечатывания. | Повторите. Если фраза утеряна — разблокируйте ключом восстановления. |
| The key file is missing or does not belong to this database. Restore the key with the recovery key. | Каталог keys/ потерян или восстановлен не от этой базы. | Введите ключ восстановления («Разблокировка»). |
| The recovery key did not match. | Ключ восстановления не от этой установки или введён с ошибкой. | Проверьте ключ; без него секреты и записи не восстановить. |
Лицензия
Состояние лицензии на любой странице консоли показывает полоса вверху. Что продолжает работать при каждом состоянии — в таблице «Состояния лицензии».
| Сообщение | Что это значит | Что делать |
|---|---|---|
| The gateway has no licence: no session is served and changes are refused. | Пробный период не начат и лицензия не установлена. | Settings → Licence → начните пробный период или установите лицензию («Пробный период»). |
| The licence has ended and is in its grace until … | Срок платной лицензии истёк, идёт льготный период. | Продлите лицензию до указанной даты («Продление»). |
| The licence has ended: new sessions and changes are refused. | Льготный период закончился (у пробной лицензии его нет). | Установите новую лицензию. Вход, журналы и отключающие изменения работают. |
| The licence is activated on another host: new sessions and changes are refused. | Шлюз перенесён на другую машину, и 14 дней на перенос истекли. | Settings → Licence → перенос лицензии на этот хост («Перенос»). |
| More servers are active than the licence allows and the grace for that is over… The licence allows N active servers. Switch off a server or extend the licence. | Включено больше серверов, чем разрешает лицензия. | Выключите лишние серверы (Servers) или расширьте лицензию. Сессии идут только к первым серверам в пределах лимита. |
| This installation was released… | Установку освободили, лицензия с неё снята. | Установите новую лицензию. |
| The gateway cannot trust its own time… | Файл состояния лицензии потерян или повреждён, база старее этого файла (восстановлена из копии) или изменён журнал аудита. Перезапуск не помогает. | На Settings → Licence сделайте запрос лицензии поддержки (или запрос активации) и отправьте его BURSUsofts — ответная лицензия снимает состояние («Время шлюза»). |
| The licence state cannot be read from the database: new sessions and changes are refused until it can. | База больше пяти минут не отвечает шлюзу. | Проверьте PostgreSQL: systemctl status postgresql, место на диске. |
| The licence is read after the gateway is unsealed. | Шлюз ещё не разблокирован. | Разблокируйте его на /unseal и обновите страницу. |
| This is not a licence the gateway can read. / The file is larger than 16 KiB: it is not a licence. | Загружен не файл лицензии. | Загрузите файл .bpl, полученный на bursucm.com/pam. |
| The licence's signature does not verify… | Файл изменён после подписи. | Скачайте лицензию заново. |
| This licence was signed with a key this gateway version does not know. / This licence needs a newer gateway. | Лицензия выпущена для более новой версии. | Обновите шлюз («Обновление»). |
| This licence is for another installation. / This licence is for another product. | Файл не для этого шлюза. | Сравните «Installation ID» на странице лицензии с тем, что указано на портале. |
| A newer licence for this period is already installed. | Действует более новая лицензия. | Ничего делать не нужно. |
| bursucm.com could not be reached. / did not answer in time / The secure connection to bursucm.com could not be verified. | Шлюз не может выйти к порталу. | Проверьте DNS, исходящий HTTPS и прокси («Прокси») — или работайте офлайн по коду запроса. |
| The proxy server did not allow the connection, or its setting is not valid. / This is not a proxy address the gateway accepts. | Неверный прокси. Прокси с логином и паролем не поддерживается. | Укажите http://host:port без пользователя и пути. |
| A trial was already started for this installation. / The trial of this installation has ended. | Пробный период даётся один раз на установку. | Купите лицензию и активируйте её ключом. |
| This is not an activation key. A key looks like BPK- followed by 20 characters. / The activation key is not valid. | Ключ введён с ошибкой. | Скопируйте ключ из письма о покупке целиком. |
| This activation key is already used by another installation. / … is bound to another installation. | Ключ уже израсходован. | Перенесите лицензию или обратитесь в BURSUsofts. |
| This licence has no free host slot. / The number of moves allowed for this licence is used up. | Нет свободного места для хоста или лимит переносов исчерпан. | Освободите старую установку или обратитесь на bursucm.com/pam. |
| This request is too old or its time does not fit. Check the clock of the gateway… | Код запроса устарел или часы шлюза сильно сбиты. | Проверьте время (timedatectl) и сделайте новый код запроса. |
| This request was already used. / This is not a request code of this gateway. | Код запроса использован или от другой установки. | Сделайте новый код. |
| bursucm.com reports another copy of this gateway using the same installation. | Две машины работают как одна установка (например, клон ВМ). | Оставьте одну; для второй нужна своя установка и лицензия. |
| bursucm.com holds a newer licence that this gateway does not install by itself. | Новая лицензия ждёт на портале. | Скачайте её на bursucm.com/pam и установите вручную. |
| The text does not match the serial of the licence in force. | При освобождении введён неверный серийный номер. | Перепишите номер из поля «Serial». |
| Пользователю (SSH- и VNC-вход): The gateway's licence does not allow new sessions now. Contact the administrator. | Лицензия в состоянии, при котором новые сессии запрещены. | Администратору — открыть Settings → Licence. |
| Пользователю (выдача пропуска в консоли для RDP, баз данных и VNC): The gateway's licence does not allow this session now. Contact the administrator. | То же, но текст другой: отказ получен при открытии сессии из консоли. | Администратору — открыть Settings → Licence. |
| Пользователю (клиент BURSUcm): The gateway's licence has ended. Contact the administrator. | Клиент обратился к API шлюза, а лицензия не действует. | Администратору — открыть Settings → Licence. |
| Пользователю: This server is beyond the number of servers the gateway's licence allows. Contact the administrator. | Сервер за пределами лимита лицензии. | Администратору — выключить лишние серверы или расширить лицензию. |
Вход в консоль
| Сообщение | Что это значит | Что делать |
|---|---|---|
| Incorrect login or password. | Логин или пароль неверны, либо такого пользователя нет. Шлюз намеренно не говорит, что именно. Каждая неудача идёт в счёт блокировки. | Проверьте раскладку и Caps Lock, повторите. Забыли пароль — попросите администратора задать временный (карточка пользователя). Доменные пользователи входят доменным паролем и логином NETBIOS\имя или имя@каталог. |
| Account temporarily locked until …. | Учётная запись заблокирована после нескольких неудачных попыток; в сообщении время окончания блокировки. | Подождите до указанного времени или попросите администратора снять блокировку (Unlock). Число попыток и срок задаются в Sign-in and MFA. |
| Too many wrong codes. Sign in again. | Вход прерван: пять раз подряд введён неверный код второго фактора (так же выглядит и блокировка, наступившая во время ввода кода). | Войдите заново. Если код не подходит, проверьте время на телефоне или используйте код восстановления. |
| The directory is not available. Try again later or contact the administrator. | Каталог (AD/LDAP), через который вы входите, не отвечает или выключен. | Повторите позже. Администратору: Check connection. Локальные пользователи от каталога не зависят. |
| Too many attempts. Wait a minute and try again. | Слишком много запросов с вашего адреса: на вход, ввод кода, повторное подтверждение действует лимит (10 в минуту; для операций с ключом 5 в минуту). | Подождите минуту и повторите. |
| The code did not match. | Код TOTP или код восстановления не подошёл. Каждая неудача засчитывается; пять подряд прерывают вход. | Введите свежий код из приложения; проверьте время на телефоне. Телефон потерян — введите код восстановления (Enter a recovery code) или попросите администратора сбросить MFA (Reset MFA). |
| The code did not match. Check the time on the phone. | При настройке TOTP введён код, который не подошёл. | Проверьте время на телефоне и введите новый код. |
| Another session of this account started a new authenticator setup, so the code shown here before no longer works. | Другой сеанс этой же учётной записи начал настройку заново, и показанный ранее QR-код недействителен. | Отсканируйте новый QR-код. |
| The password or the code did not match. | При повторном подтверждении неверны пароль или код. Это тоже засчитывается в блокировку. | Введите пароль и свежий код (или код восстановления) ещё раз. |
| Windows offered NTLM, which the gateway does not accept. Ask the administrator to check the gateway's name in the browser policy. | Браузер предложил NTLM вместо Kerberos. Шлюз NTLM не принимает. | Откройте консоль по полному DNS-имени шлюза, а не по IP-адресу; администратору — проверить политику браузера (Вход через Windows). Пока войдите логином и паролем. |
| The clocks of this computer, the gateway and the domain differ too much. | Часы компьютера, шлюза и контроллера домена расходятся слишком сильно. | Синхронизируйте время на компьютере; администратор проверяет часы шлюза. |
| The gateway's Kerberos key does not match the domain. Tell the administrator. | Ключ Kerberos шлюза не подходит к домену. | Сообщите администратору: нужен новый keytab и проверка Check Kerberos. |
| The secure connection to the gateway could not be confirmed for Windows sign-in. | Не удалось подтвердить защищённое соединение для входа через Windows. | Откройте консоль по HTTPS напрямую, без прокси, который прерывает TLS. Администратору: Channel binding for console sign-ins. |
| Your domain is not connected to this gateway. | Ваш домен не подключён к этому шлюзу. | Войдите логином и паролем или попросите подключить каталог. |
| Windows sign-in is not set up on this gateway. | Вход через Windows на шлюзе не настроен. | Войдите логином и паролем. |
| Windows sign-in was not accepted. Sign in with your login and password. | Билет Kerberos не принят. | Войдите логином и паролем; администратору — Check Kerberos. |
| The Windows sign-in step has expired. Press “Sign in with Windows” again. | Шаг входа через Windows просрочен. | Нажмите Sign in with Windows ещё раз. |
| Windows sign-in is not available in this browser. Sign in with your login and password. | Браузер не поддерживает вход через Windows. | Войдите логином и паролем. |
| You do not have access to this page. | Страница недоступна по вашей роли. | Вернитесь на стартовую страницу. Нужен доступ — попросите администратора выдать роль. |
| The request was refused. Reload the page and try again. | Запрос отклонён: форма устарела или отправлена повторно из другой вкладки. | Обновите страницу и повторите. |
Пароль и профиль
| Сообщение | Что это значит | Что делать |
|---|---|---|
| The password must be at least … characters long. | Новый пароль короче минимума, который задал администратор (не менее 12). | Выберите пароль длиннее. |
| The passwords do not match. | Пароль и повтор не совпали. | Введите одинаково. |
| The current password did not match. | Неверен текущий пароль при смене пароля в My profile. | Введите действующий пароль. |
Пользователи
| Сообщение | Что это значит | Что делать |
|---|---|---|
| A login is 1-64 characters: latin letters, digits, dot, underscore, hyphen. | Логин не подходит. | Логин: 1–64 символа, латинские буквы, цифры, точка, подчёркивание, дефис. После создания не меняется. |
| A name is 1-128 characters. | Имя не подходит. | От 1 до 128 символов. |
| This name is already taken. | Логин (или другое имя) уже занят. | Выберите другой; регистр не различается. |
| Choose at least one role. | Не выбрана ни одна роль. | Отметьте хотя бы одну роль. |
| Approver and Administrator exclude each other: nobody approves requests while managing the rules. Choose one of the two. | Выбраны вместе Approver и Administrator. | Оставьте одну из двух ролей (Роли). |
| A person cannot be both an Administrator and an Approver. | То же ограничение сработало в базе данных. | Оставьте одну из двух ролей. |
| Confirm who you are before changing roles. | Изменение ролей требует повторного подтверждения. | Нажмите Confirm who I am, подтвердите пароль и код, вернитесь к форме. |
| Confirm who you are before setting a password. | Установка пароля требует повторного подтверждения. | Нажмите Confirm who I am. |
| You cannot remove your own Administrator role. | Нельзя снять роль Administrator с себя. | Попросите другого администратора. |
| You cannot disable yourself. | Нельзя отключить самого себя. | Попросите другого администратора. |
| At least one active administrator with two-factor sign-in must remain. | Действие оставило бы шлюз без активного локального администратора с подтверждённым TOTP. | Сначала сделайте второго локального администратора с TOTP. Доменные администраторы не считаются. |
| This is set by the directory for domain users and cannot be changed here. | Это значение доменного пользователя задаёт каталог. | Меняйте в каталоге или в сопоставлении групп (Сопоставление групп). |
| The record was changed by another administrator — open it again. | Запись изменили, пока вы её правили. | Откройте запись заново и повторите. |
| A description is at most 1000 characters. | Описание длиннее 1000 символов. | Сократите. |
Группы
| Сообщение | Что это значит | Что делать |
|---|---|---|
| A group name is 1-128 characters. | Имя группы не подходит. | От 1 до 128 символов. |
| The group is used by a directory mapping. Remove the mapping first. | Группа используется в сопоставлении каталога. | Сначала снимите сопоставление (Сопоставление групп). |
| Command policies still apply to this: …. Edit the policies first. | Группа указана в политике команд. | Исправьте политики (Commands) и повторите. |
Каталоги: форма
| Сообщение | Что это значит | Что делать |
|---|---|---|
| Use 1–63 lower-case letters, digits, dots and hyphens. | Название каталога не подходит. | Строчные латинские буквы, цифры, точки и дефисы, 1–63 символа. |
| Give one to eight servers as host or host:port. | Список серверов неверен. | От одного до восьми серверов: host или host:port. |
| Port 389 and 3268 are plain LDAP. Use LDAPS (636 or 3269). | Указан порт обычного LDAP (389 или 3268). | Используйте LDAPS: 636 (или 3269). |
| This is not a distinguished name. | Users base DN не является DN. | Например OU=People,DC=pam,DC=example,DC=ge. |
| This is not a distinguished name. | Groups base DN не является DN. | То же. |
| A UPN suffix looks like pam.bursu.test. | Суффикс UPN записан неверно. | DNS-имя, например pam.bursu.test. |
| Active Directory needs its NetBIOS name: up to 15 letters, digits and hyphens. | Для Active Directory не указано NetBIOS-имя или оно неверное. | До 15 символов: буквы, цифры, дефисы. |
| This is not a distinguished name. | Bind DN не является DN. | Исправьте. |
| Enter the service account's password. | Не введён пароль служебной записи. | Введите его (при смене серверов, Bind DN или вида каталога пароль вводят заново). |
| The filter must be one LDAP filter in parentheses. | Дополнительный фильтр записан неверно. | Один LDAP-фильтр в скобках. |
| An attribute name starts with a letter and has letters, digits and hyphens. | Имя атрибута записано неверно. | Начинается с буквы; буквы, цифры, дефисы. |
| Another directory already uses this UPN suffix, NetBIOS name or name. | Суффикс UPN, NetBIOS-имя или название уже есть у другого каталога. | Используйте другое значение. |
| Users signed in from this directory exist. Turn the directory off instead of deleting it. | Из каталога уже входили люди, удалить его нельзя. | Нажмите Turn off. |
| Users signed in from this directory exist, so it cannot be deleted. It is turned off; turn it on again in its settings. | Подтверждение после Delete для каталога с людьми: каталог выключен, а не удалён. | Включить обратно можно в форме каталога (Turned on). |
| The record was changed by another administrator — open it again. | Каталог изменил другой администратор. | Откройте заново. |
Каталоги: проверка подключения и сертификат
| Сообщение | Что это значит | Что делать |
|---|---|---|
| The directory cannot be reached. | Ни один сервер не отвечает (порт закрыт, имя не находится, нет ответа за отведённое время). | Проверьте имя, порт 636, межсетевой экран и маршрут. |
| The certificate is not under the confirmed root. | Сервер предъявил сертификат не из подтверждённой цепочки или не на то имя. | Проверьте, что имя в списке серверов совпадает с SAN сертификата, и что подтверждён верный корень. Если корень сменили намеренно, подтвердите новый после сверки отпечатка. |
| No root certificate is confirmed yet: confirm the presented one or upload the root below. | Корень ещё не подтверждён. | Подтвердите или загрузите корень (Подтверждение сертификата). |
| The directory refused the service account. | Каталог не принял служебную запись. | Проверьте Bind DN и пароль и что запись не заблокирована. |
| The service account cannot search the users base. | Вход прошёл, но поиск в Users base DN не удался. | Проверьте DN ветки и права служебной записи на чтение. |
| This Linux gateway was started without LDAPNOINIT=1, so the LDAP library would also trust the system's certificate authorities. The gateway does not connect to the directory until it is set: start it with its systemd unit, which sets it. | Шлюз на Linux запущен без LDAPNOINIT=1. | Запускайте шлюз модулем systemd (Linux и LDAPNOINIT). |
| The directory did not send its root certificate. Upload it (.cer or .pem). | Сервер не прислал корневой сертификат (обычно для контроллера AD). | Экспортируйте корень удостоверяющего центра и загрузите файлом (Upload). |
| This file is not a root CA certificate. | Файл не является самоподписанным сертификатом удостоверяющего центра (или повреждён, или больше 64 КБ). | Загрузите именно корневой сертификат, DER или Base-64. |
| The directory now presents another certificate; check again. | Пока вы подтверждали, сервер предъявил другой корень. | Выполните Check connection ещё раз. |
| The certificate … presents is not issued under this root or does not name …. Nothing was stored. | Сертификат сервера не выдан под этим корнем или не называет этого сервера (смотрится SAN). | Загрузите корень, которым подписан сертификат контроллера, и проверьте имя сервера в списке. |
| … cannot be reached. A root is checked against the certificate each server presents, so every server must answer. Nothing was stored. | Один из серверов не отвечает, а корень проверяется по каждому серверу. | Восстановите связь или уберите сервер из списка. |
| The directory presents a different root certificate than the confirmed one. | Сервер предъявляет другой корень, чем подтверждённый. | Если смена ожидалась, подтвердите новый после сверки отпечатка; иначе выясните причину. |
| Directories with an unconfirmed root certificate: …. Sign-ins through them are refused until an administrator confirms it. | Колокольчик: есть каталог без подтверждённого корня. | Подтвердите корень на карточке каталога. |
| Directories not watched: …. Access changes in them are seen only at the next sign-in or ticket check, and when the watch reconnects. | Колокольчик: каталог не наблюдается. | Проверьте связь и сертификат (Check connection). |
Каталоги: сопоставление групп
| Сообщение | Что это значит | Что делать |
|---|---|---|
| Choose a role or a gateway group. | Не выбраны ни роль, ни группа шлюза. | Выберите хотя бы одно. |
| Confirm the root certificate first: until then the gateway does not search this directory. | Корень не подтверждён, поиск групп невозможен. | Подтвердите корень. |
| No group matches. | Группа не найдена. | Уточните запрос; поиск идёт в Groups base DN. |
| A user's primary group (Domain Users) cannot be mapped: Active Directory does not list it as a membership. | Основную группу (Domain Users) сопоставить нельзя. | Сопоставьте другую группу. |
| Mapping saved. The directory cannot be read now: what the mapping no longer gives is already taken away; what it gives arrives once the directory can be read again. | Сопоставление сохранено, но каталог сейчас не читается. | Отобранное уже отобрано, выданное придёт, когда каталог станет доступен. |
| Directory roles refused (Administrator wins over Approver): … | Колокольчик: при расчёте ролей из каталога одна из двух несовместимых ролей отклонена. | Измените сопоставления так, чтобы у человека не выходило обеих ролей. |
Каталоги: вход через Windows (Kerberos)
| Сообщение | Что это значит | Что делать |
|---|---|---|
| A realm is the domain's DNS name in capitals, such as PAM.EXAMPLE.GE. | Область Kerberos записана неверно. | DNS-имя домена заглавными, например PAM.EXAMPLE.GE. |
| The SPN is HTTP/ followed by the gateway's full DNS name — never an address. | SPN записан неверно. | HTTP/ и полное DNS-имя шлюза, не адрес. |
| Remove the keytab before changing the realm or the SPN. | Пока keytab загружен, область и SPN менять нельзя. | Удалите keytab, измените, загрузите заново. |
| Another directory already uses this Kerberos realm. | Эту область уже использует другой каталог. | Область уникальна. |
| Kerberos is for Active Directory only. | Kerberos настраивается только для Active Directory. | Для LDAP не нужен. |
| This file is not a keytab. | Файл не похож на keytab. | Загрузите файл, созданный ktutil или ktpass. |
| The keytab is larger than 64 KB. | Файл больше 64 КБ. | Проверьте файл. |
| The keytab holds no entry. | В keytab нет записей. | Создайте заново. |
| Only keytab file version 0x0502 is accepted. | Версия формата не 0x0502. | Создайте keytab утилитами ktutil или ktpass. |
| An entry of the keytab is for another realm. | В keytab есть запись для другой области. | Оставьте только записи этой области. |
| An entry of the keytab is not for this directory's SPN. | В keytab есть запись не для SPN этого каталога. | Оставьте только записи SPN каталога. |
| The keytab holds an RC4, DES or 3DES key; only AES is accepted. | В keytab есть ключ RC4, DES или 3DES. | Создайте keytab только с AES. |
| Stored. The keytab holds AES128 only; AES256 is recommended. | Не ошибка: файл сохранён, но в нём только AES128. | Желательно создать ключи AES256. |
Каталоги: результаты проверки «Check Kerberos»
Строки приходят с уровнем: ok — в порядке, info — сведения, warn — предупреждение, bad — неисправность. Уровень указан в начале второго столбца.
| Сообщение | Что это значит | Что делать |
|---|---|---|
| The keytab is loaded and this host can accept Kerberos. | (ok) Keytab загружен, хост может принимать Kerberos. | |
| No keytab is loaded on this gateway. | (bad) На Linux не загружен keytab. | Загрузите keytab. |
| No keytab is loaded on this gateway. | (bad) То же. | Загрузите keytab. |
| KRB5_CONFIG is not the gateway's own krb5.conf: start the gateway with its systemd unit. | (bad) Переменная KRB5_CONFIG указывает не на файл шлюза. | Запустите шлюз его модулем systemd. |
| The replay cache folder cannot be written. | (bad) В папку кэша повторов нельзя писать. | Проверьте права на каталог данных шлюза. |
| The Kerberos library does not report channel binding (MIT 1.19 or newer is needed). | (bad) Библиотека Kerberos не сообщает привязку каналов. | Нужна MIT Kerberos 1.19 или новее. |
| The Kerberos library (libgssapi-krb5) is not installed. | (bad) Не установлена libgssapi-krb5. | Установите пакет библиотеки. |
| This gateway's platform cannot accept Kerberos. | (bad) Платформа не может принимать Kerberos. | Используйте шлюз на Windows (в домене) или Linux. |
| This Windows host is not joined to a domain. | (bad) Хост Windows не в домене. | Введите хост в домен. |
| The service does not run as a domain account (use a gMSA). | (bad) Служба работает не под доменной учётной записью. | Запустите службу под gMSA. |
| The service runs as …. | (info) Под какой записью работает служба. | |
| The SPN is held by …. | (info) Какая запись держит SPN. | |
| No account holds this SPN (or the directory cannot be read). | (warn) SPN не принадлежит ни одной записи (или каталог не читается). | Зарегистрируйте SPN на служебной записи. |
| Several accounts hold this SPN: …. | (bad) SPN висит на нескольких записях. | Оставьте SPN на одной записи. |
| The account allows AES only. | (ok) Запись разрешает только AES. | |
| The account allows RC4 or DES: allow AES only (msDS-SupportedEncryptionTypes = 24). | (warn) Запись разрешает RC4 или DES. | Разрешите только AES (msDS-SupportedEncryptionTypes = 24). |
| The keytab's key version matches the account (…). | (ok) Версия ключа совпадает с записью. | |
| The keytab's key version does not match the account (…): make the keytab again. | (bad) Версия ключа в keytab не совпадает с записью. | Создайте keytab заново. |
| The account is trusted for delegation: turn it off. | (warn) Запись доверена для делегирования. | Отключите делегирование. |
| The account is a member of groups; it should have none. | (warn) Служебная запись состоит в группах. | Уберите её из групп. |
| A test ticket was accepted with the channel binding. | (ok) Пробный билет принят с привязкой канала. | |
| A test ticket was not accepted. | (bad) Пробный билет не принят. | Смотрите соседние строки: чаще всего неверный keytab, SPN или время. |
| The keytab's keys do not match the account. It was probably made with ktpass -setpass -setupn; make it again as the help shows. | (bad) Соль ключей не совпадает с записью. | Создайте keytab заново (не ktpass с -setpass -setupn). |
| Port 88 to the domain controller is closed; the keytab could not be tried. | (warn) Порт 88 контроллера домена закрыт, пробу выполнить нельзя. | Откройте порт 88 с шлюза. |
| The clocks agree (difference … s). | (ok) Часы согласованы. | |
| The clocks differ by … s; at 300 s Windows sign-in stops. | (warn) Часы расходятся; при 300 с вход остановится. | Синхронизируйте время. |
| The clocks differ by … s: Windows sign-in fails until the time is fixed. | (bad) Расхождение слишком велико: вход через Windows не работает. | Синхронизируйте время. |
| A proxy is configured: Windows sign-in needs TLS to end at the gateway. | (warn) Настроен прокси; вход через Windows требует, чтобы TLS заканчивался на шлюзе. | Пропускайте TCP без расшифровки. |
| Console sign-ins without a channel binding are admitted (when_sent). | (info) Разрешены входы без привязки канала. | Для строгого режима верните Required (recommended) в Sign-in and MFA. |
| The gateway's certificate uses RSA-PSS, so the channel binding cannot be computed. Use an RSA (PKCS#1) or ECDSA certificate. | (bad) Сертификат шлюза использует RSA-PSS, привязку вычислить нельзя. | Смените сертификат на RSA (PKCS#1) или ECDSA. |
Ключ шифрования
| Сообщение | Что это значит | Что делать |
|---|---|---|
| Type … to continue. | Не набрано слово подтверждения (в английском интерфейсе CHANGE или CHANGE MODE, в русском СМЕНИТЬ или СМЕНИТЬ РЕЖИМ). | Наберите слово из подсказки точно, в том регистре и на том языке, что показаны на странице. |
| The unseal passphrase did not match. | Парольная фраза разблокировки неверна. | Введите текущую фразу. |
| The recovery key did not match. | Ключ восстановления не подошёл. | Введите ключ полностью, как он был выдан. |
| The passphrase must be at least … characters long. | Новая парольная фраза короче 12 символов. | Выберите длиннее. |
| The passphrases do not match. | Фразы не совпали. | Введите одинаково. |
| Tick “I have saved it” first. | Не отмечено «I have saved the new key». | Сохраните ключ и поставьте отметку. |
| The key was already changed after this page was opened. If the new recovery key was not saved, change the key again to get a new one. | Ключ уже сменили после открытия страницы. | Если новый ключ восстановления не сохранён, смените ключ ещё раз. |
| The mode of the key changed after this page was opened, so nothing was done. Open the page again and check the current mode. | Режим ключа изменился после открытия страницы; ничего не сделано. | Откройте страницу заново. |
| The encryption key is not available. | Ключ шифрования сейчас недоступен. | Разблокируйте шлюз (Разблокировка). |
| The outcome of the key change is unknown — check the audit log and the key state; do not repeat the change until you are sure. | Исход смены ключа неизвестен: база не подтвердила операцию. | Не повторяйте. Проверьте журнал аудита и состояние ключа, перезапустите службу. |
| The encryption key was changed, and this gateway still holds the previous one in memory. Restart the gateway (a sealed gateway will need its passphrase). | Ключ сменён, а шлюз держит в памяти прежний. | Перезапустите службу (для Sealed понадобится фраза). |
| These key files hold the key without the passphrase and could not be deleted; delete them by hand: | Не удалось удалить файлы ключа после смены режима. | Удалите перечисленные файлы вручную. |
| The key file could not be written: after a restart the gateway will ask for the recovery key. Check the key directory's permissions: | Не удалось записать файл ключа; после перезапуска шлюз спросит ключ восстановления. | Проверьте права на каталог ключа. |
| Too many attempts. Wait a minute and try again. | Лимит операций с ключом: 5 в минуту. | Подождите минуту. |
Настройка входа (Sign-in and MFA)
| Сообщение | Что это значит | Что делать |
|---|---|---|
| Enter a whole number from … to …. | Число не целое или вне диапазона. | Введите число в допустимых границах (Sign-in and MFA). |
| The banner is up to 2000 characters, without control characters. | Баннер длиннее 2000 символов или содержит управляющие символы. | Сократите текст. |
| Confirm who you are before turning two-factor sign-in off. | Выключение TOTP требует повторного подтверждения. | Нажмите Confirm who I am. |
| Confirm who you are before this change: …. It lowers sign-in protection. | Изменение снижает защиту входа и требует повторного подтверждения. | Нажмите Confirm who I am, затем повторите правку. |
| The record was changed by another administrator — open it again. | Страницу настроек успели сохранить раньше вас. | Откройте страницу заново. |
Серверы: проверка полей формы
| Сообщение | Что это значит | Что делать |
|---|---|---|
| A name is 1-64 characters: latin letters, digits, dot, underscore, hyphen. | Имя сервера не прошло проверку. | Введите имя из 1–64 символов: латинские буквы, цифры, точка, подчёркивание, дефис. |
| An address is up to 253 characters, without spaces or invisible characters, and does not start with “-”. | Адрес сервера записан неверно. | Введите имя узла или IP-адрес до 253 символов, без пробелов и невидимых символов, не начиная с дефиса. |
| A port is 1-65535. | Порт вне допустимого диапазона. | Введите число от 1 до 65535. |
| This name is already taken. | Сервер (или папка, учётная запись, профиль, правило) с таким именем уже есть. Регистр букв не учитывается. | Выберите другое имя. |
| A Telnet server needs a device profile. | Для Telnet-сервера не выбран профиль устройства. | Выберите профиль в поле профиля устройства (см. Профили устройств). |
| Accounts of this server use privileged mode: choose a built-in network-device profile, or turn their privileged mode off first. | Вы выбрали свой профиль, а у учётных записей сервера включён привилегированный режим, который работает только со встроенными профилями. | Выберите встроенный профиль сетевого устройства или сначала выключите привилегированный режим у учётных записей. |
| A default database is at most 128 characters, without control characters. | Имя базы данных по умолчанию слишком длинное или содержит управляющие символы. | Сократите имя до 128 символов и уберите служебные символы. |
| A PostgreSQL server needs a default database. | Для PostgreSQL база по умолчанию обязательна: клиент может не назвать её. | Заполните поле Default database. |
| Choose how the gateway signs in to this server. | Для VNC-сервера не выбран тип входа. | Выберите один из типов в поле входа шлюза на сервер (см. Сервер VNC). |
Серверы: подтверждение ослабленной защиты
| Сообщение | Что это значит | Что делать |
|---|---|---|
| Tick the acknowledgement to use Telnet. | Telnet передаёт данные открытым текстом; нужна отметка, что вы это понимаете. | Поставьте флажок подтверждения и сохраните ещё раз. |
| Confirm who you are before making this server use Telnet. | Включение Telnet требует свежего подтверждения личности (действует 10 минут). | Пройдите подтверждение (пароль и код) и сохраните форму: введённые данные сохранены, флажки подтверждения придётся поставить снова. |
| Tick the acknowledgement to allow NTLM on this server. | Для RDP-сервера не поставлен флажок о слабой аутентификации NTLM. | Поставьте флажок или выключите разрешение NTLM (без него RDP-сервер проверить и использовать нельзя). |
| Confirm who you are before allowing NTLM on this server. | Разрешение NTLM требует свежего подтверждения личности. | Пройдите подтверждение и сохраните форму снова. |
| Tick the box to accept the weak connection to this server. | Для VNC выбран слабый тип входа, и не поставлена отметка о принятии. | Поставьте флажок или выберите более сильный тип входа. |
| Confirm who you are before making this server use a weak connection. | Слабый тип входа VNC требует свежего подтверждения личности. | Пройдите подтверждение и сохраните форму снова. |
| Tick the acknowledgement to allow a weak sign-in. | Для сервера базы данных включён слабый вход (md5, пароль открытым текстом поверх TLS, mysql_native_password) без отметки. | Поставьте флажок или выключите слабый вход. |
| Tick the acknowledgement to allow an unencrypted connection. | Включено подключение к PostgreSQL без шифрования, без отметки. | Поставьте флажок или выключите переключатель. |
| Confirm who you are before allowing a weak sign-in to this server. | Слабый вход к базе данных требует свежего подтверждения личности. | Пройдите подтверждение и сохраните форму снова. |
| Confirm who you are before allowing an unencrypted connection to this server. | Подключение без шифрования требует свежего подтверждения личности. | Пройдите подтверждение и сохраните форму снова. |
| SQL Server has no weak sign-in to allow. | Слабый вход включён для SQL Server, у которого такого режима нет. | Выключите переключатель слабого входа. |
| Only a PostgreSQL server can be reached without encryption. | Подключение без шифрования возможно только к PostgreSQL. | Выключите переключатель для MySQL и SQL Server. |
Серверы: конфликт с учётными записями
| Сообщение | Что это значит | Что делать |
|---|---|---|
| This server has key accounts; a Telnet server signs in with a password only. Delete them first. | У сервера есть учётные записи с ключом, а Telnet принимает только пароль. | Удалите ключевые учётные записи или не меняйте протокол на Telnet. |
| This server has key accounts; an RDP server signs in with a password only. Delete them first. | То же для RDP. | Удалите ключевые учётные записи. |
| This server has key accounts; a database server signs in with a password only. Delete them first. | То же для сервера базы данных. | Удалите ключевые учётные записи. |
| This server has key accounts; a VNC server signs in with a password only. Delete them first. | То же для VNC. | Удалите ключевые учётные записи. |
| An account of this server does not fit the new sign-in type. Change or delete it first. | Вы меняете тип входа VNC, но существующая учётная запись ему не подходит (например, запись с паролем у сервера без входа). | Измените или удалите учётную запись, затем смените тип входа. |
Проверка подключения к SSH-серверу и ключ хоста
| Сообщение | Что это значит | Что делать |
|---|---|---|
| Not confirmed — sessions are refused until it is | Ключ хоста ещё не подтверждён; шлюз никого не подключает к серверу. | На карточке сервера нажмите Check connection, сверьте отпечаток на самом сервере и нажмите Confirm this key (см. Ключ хоста SSH). |
| Key not confirmed | Короткая метка в списке: ключ SSH-сервера не подтверждён. В версии 1.0.0 список ставит эту метку и серверам RDP и VNC, даже когда их сертификат уже подтверждён. | Откройте карточку сервера. У SSH подтвердите ключ. У RDP и VNC верьте карточке: если там написано Matches the confirmed certificate или видна дата подтверждения, всё в порядке. |
| Saved. The host or port changed: confirm the host key again. | Адрес или порт изменены, прежний ключ сброшен. | Проверьте подключение и подтвердите ключ заново. |
| Confirm the key first; the sign-in is tested against a confirmed key only. | Проверка входа возможна только при подтверждённом ключе. | Подтвердите ключ, затем повторите проверку. |
| The server could not be reached | Шлюз не соединился с сервером. | Проверьте адрес, порт, сеть и брандмауэр: сервер должен принимать подключения от шлюза. |
| Sign-in failed: the server refused the stored secret | Сервер отверг сохранённый пароль или ключ. | Проверьте учётную запись на самом сервере, замените секрет (Замена секрета). |
| The stored private key cannot be used (RSA and ECDSA keys only) | Сохранённый ключ нельзя применить: шлюз поддерживает ключи RSA и ECDSA. | Создайте ключ RSA или ECDSA и замените секрет. |
| Differs from the confirmed key … | Сервер показывает ключ, отличный от подтверждённого. Либо ключ сервера сменили, либо между шлюзом и сервером чужое устройство. | Не подтверждайте, пока не выяснили причину. Сверьте отпечаток на самом сервере; если смена законна, подтвердите новый ключ. |
| The server now presents another key than the one you checked. Check again. | Между проверкой и подтверждением ключ изменился. | Повторите проверку и сверьте отпечаток. |
Проверка RDP-сервера и сертификат
| Сообщение | Что это значит | Что делать |
|---|---|---|
| Saved, but the server is inactive: confirm the RDP server's certificate. | Новый RDP-сервер создан выключенным до подтверждения сертификата. | На карточке нажмите Check connection, сверьте отпечаток и подтвердите; затем включите сервер. |
| Not checked: this RDP server is not marked as allowing NTLM, and in this version an RDP server is reached with NTLM only. | Проверка не выполнена: NTLM для сервера не разрешён. | Разрешите NTLM в форме сервера (с подтверждением). |
| The server offers no TLS: only the old RDP security, which the gateway does not use | Сервер поддерживает только устаревшую защиту RDP. | Включите на сервере TLS-защиту RDP (параметр безопасности «SSL/TLS»). |
| The server did not answer as an RDP server | По этому адресу и порту отвечает не RDP. | Проверьте адрес и порт (обычно 3389). |
| The TLS handshake with the server failed | Не удалось согласовать TLS. | Проверьте настройки TLS на сервере и версию протокола. |
| Differs from the confirmed certificate … | Сервер показывает другой сертификат, чем подтверждённый. | Выясните причину, сверьте отпечаток на самом сервере и подтвердите новый сертификат, если смена законна. |
| The server now presents another certificate than the one you checked. Check again. | Сертификат изменился между проверкой и подтверждением. | Повторите проверку. |
| Certificate cleared; the server is inactive until one is confirmed again. | Это не ошибка: подтверждённый сертификат удалён, сервер выключен. | Проверьте подключение и подтвердите сертификат заново. |
| This is not an RDP server. | Действие для RDP применено к серверу другого протокола. | Откройте карточку нужного сервера. |
Проверка VNC-сервера
| Сообщение | Что это значит | Что делать |
|---|---|---|
| The server does not offer the sign-in type configured here. | Сервер не предлагает выбранный в форме тип входа. | Посмотрите строку Offered: … и выберите тип, который предлагает сервер, либо настройте сервер. |
| The server's certificate is not the confirmed one. | Сертификат сервера не совпадает с подтверждённым. | Сверьте отпечаток на самом сервере и подтвердите новый, если смена законна. |
| The server refused the stored login. | Сервер отверг логин или пароль учётной записи. | Проверьте учётную запись на сервере и замените секрет. |
| The server cannot be reached. | Нет соединения. | Проверьте адрес, порт, брандмауэр. |
| The server did not answer in time. | Сервер не ответил за отведённое время. | Проверьте нагрузку и сеть, повторите. |
| The server broke the VNC protocol. | Ответ сервера нарушает протокол VNC. | Убедитесь, что по этому порту работает VNC; обновите VNC-сервер. |
| This gateway cannot run the VNC check process, so the server could not be checked. | На этом узле шлюза нельзя запустить процесс проверки VNC. | Обратитесь к поставщику: это ограничение узла. |
| The stored password of this account could not be read. | Сохранённый пароль не расшифровывается (например, хранилище закрыто). | Убедитесь, что шлюз открыт (Открытие шлюза), или задайте пароль заново. |
| Confirm who you are before the gateway signs in to this server. | Проверка со входом требует свежего подтверждения личности. | Пройдите подтверждение и повторите проверку. |
| This server's sign-in type has no certificate to confirm. | У выбранного типа входа нет сертификата. | Подтверждать нечего; используйте тип входа с TLS, если нужен сертификат. |
| This is not a VNC server. | Действие для VNC применено к серверу другого протокола. | Откройте карточку нужного сервера. |
| The certificate pin was removed and the server switched off. | Не ошибка: отпечаток удалён, сервер выключен. | Проверьте подключение и подтвердите сертификат заново. |
Серверы баз данных: проверка и сертификат
| Сообщение | Что это значит | Что делать |
|---|---|---|
| A database server stays inactive until its certificate is confirmed. | Сервер БД выключен, пока не подтверждён сертификат (кроме PostgreSQL без шифрования). | На карточке нажмите Check connection, сверьте и подтвердите, затем включите сервер. |
| The server now shows a different certificate key. Connections are refused until you confirm it. | Ключ сертификата сервера изменился. | Выясните причину; если смена законна, подтвердите новый сертификат (Confirm the new certificate). |
| Certificate not confirmed | Метка в списке: сертификат не подтверждён. | Подтвердите на карточке. |
| The account could not sign in: … | Тестовый вход под учётной записью не удался; после двоеточия причина. | См. таблицу причин ниже; проверьте учётную запись и секрет. |
| This is SQL Server's own fallback certificate: it changes at every service start, and each restart needs a new confirmation. Provision a certificate (mssql-conf set network.tlscert on Linux, SQL Server Configuration Manager on Windows). | SQL Server показал временный собственный сертификат. | Установите на сервер постоянный сертификат, как сказано в сообщении, затем подтвердите его. |
| Checking this protocol is not available in this build. | Проверка этого протокола в сборке недоступна. | Подтвердите сертификат при первом подключении иным способом или обратитесь к поставщику. |
| The server's certificate is not confirmed yet. Confirm it first on the server's card. | Действие требует подтверждённого сертификата. | Подтвердите сертификат на карточке сервера. |
| The server offers no encryption; it is reached unencrypted, as the switch on its form allows. | Сервер PostgreSQL не предлагает шифрование; соединение идёт без него, потому что вы это разрешили. | Лучше включите TLS на сервере и выключите разрешение. |
| This is not a database server. | Действие для БД применено к серверу другого протокола. | Откройте карточку нужного сервера. |
| The accounts of a database server sign in with a password only. | Для учётной записи сервера БД выбран ключ. | Выберите вход по паролю. |
| The person's login, the server and the account together are too long for this database protocol. Shorten the server or account name. | Имя пользователя БД (логин:сервер:учётная запись) не умещается в ограничение протокола. | Сократите имя сервера или учётной записи. |
| This person's login cannot be used as a database user name. | В логине человека есть символы, недопустимые для имени пользователя БД. | Переименуйте логин или выдайте доступ другому человеку. |
Причины отказа подключения к базе данных
Эти короткие причины шлюз записывает в аудит при отказе подключения к базе данных; они же помогают понять, что не так.
| Сообщение | Что это значит | Что делать |
|---|---|---|
| unknown pass | Пропуск (пароль) шлюза не найден. | Пользователь должен получить новый пропуск на странице «My access». |
| pass expired | Пропуск просрочен. | Получить новый. |
| pass revoked or its sign-in ended | Пропуск отозван или вход человека завершён. | Войти в консоль и получить новый. |
| pass used from another address | Пропуск использован с другого адреса. | Использовать пропуск с компьютера, на котором он выдан. |
| pass has no free connection | Исчерпан лимит подключений на пропуск. | Закрыть лишние подключения или увеличить Connections per pass (Настройки: базы данных). |
| a newer pass replaced it | Выдан более новый пропуск. | Использовать новый. |
| pass sent in clear text; revoked | Клиент отправил пропуск без шифрования; пропуск отозван. | Включить в клиенте шифрование и получить новый пропуск. |
| no access now | Доступа сейчас нет. | Проверьте правила и сроки; человек может запросить доступ. |
| gateway limit or database unavailable | Лимит шлюза или база недоступна. | Проверьте настройки лимитов и доступность базы. |
| user name not login:server[:account] | Имя пользователя в клиенте записано не в виде логин:сервер[:учётная запись]. | Исправить имя пользователя в клиенте. |
| client did not use encryption | Клиент не включил шифрование. | Включить TLS в клиенте. |
| data before encryption started | Клиент прислал данные до начала шифрования. | Обновить клиент или изменить его настройки. |
| client's sign-in method not supported | Способ входа клиента не поддерживается. | Использовать SCRAM (PostgreSQL) или стандартный способ клиента. |
| channel binding missing or wrong | Клиент не подтвердил привязку канала. | Включить channel binding в клиенте или выключить требование в настройках (снижает защиту). |
| Windows or Entra sign-in in LOGIN7 | SQL Server-клиент использует встроенный вход Windows или Entra. | Войти по логину и пропуску. |
| replication requested | Запрошена репликация. | Через шлюз не поддерживается. |
| change of user requested | Запрошена смена пользователя. | Через шлюз не поддерживается; подключиться заново. |
| command not allowed | Команда запрещена шлюзом. | Использовать другую команду. |
| server certificate not confirmed | Сертификат сервера БД не подтверждён. | Подтвердить на карточке сервера. |
| server offers no encryption | Сервер БД не предлагает шифрование. | Включить TLS на сервере. |
| server asks a weak sign-in | Сервер требует слабый вход, а он не разрешён. | Перенастроить сервер или разрешить слабый вход в форме сервера. |
| the server refused the account | Сервер отверг учётную запись. | Проверить учётную запись и секрет. |
| server too old | Версия сервера слишком старая. | Обновить сервер. |
| server tried to redirect | Сервер пытался перенаправить клиента. | Указать в шлюзе конечный адрес. |
| server unreachable | Сервер недоступен. | Проверить сеть и брандмауэр. |
| sign-in took too long | Вход занял слишком много времени. | Повторить; проверить сеть. |
| sign-in abandoned after the server's first answer | Клиент прервал вход после первого ответа сервера. | Проверить настройки клиента. |
| protocol version not supported | Версия протокола не поддерживается. | Обновить клиент. |
| Encrypt=Strict required | Клиент SQL Server должен использовать Encrypt=Strict. | Добавить в строку подключения Encrypt=Strict или выключить требование. |
| protocol error | Нарушение протокола. | Обновить клиент; если повторяется, смотреть журнал. |
| gateway limit | Достигнут лимит шлюза. | Закрыть лишние подключения или изменить лимиты. |
| too many failed sign-ins from this address | Слишком много неудачных входов с адреса. | Подождать и повторить. |
| the gateway's licence does not allow new sessions | Лицензия не допускает новые сессии. | Проверьте Settings → Licence. |
| gateway is older than its database | База новее шлюза. | Обновите шлюз. |
| no further detail | Причина не уточнена. | Смотрите журнал аудита. |
Состояния, лицензия и общие сообщения
| Сообщение | Что это значит | Что делать |
|---|---|---|
| The licence allows … active servers. Switch off a server or extend the licence. | Достигнут лимит лицензии на число активных серверов; новый сервер нельзя включить. | Выключите ненужный сервер или продлите лицензию (Лимит лицензии). |
| The licence has ended: changes are refused. Upload a licence on Settings → Licence. | Лицензия закончилась; изменения запрещены. | Загрузите лицензию. |
| The licence is activated on another host and its host-change grace is over: changes are refused. Move the licence to this host on Settings → Licence. | Лицензия привязана к другому узлу. | Перенесите лицензию на этот узел. |
| More servers are active than the licence allows, and the grace for that is over: changes are refused until no more servers are active than it allows. Switch servers off, or extend the licence on Settings → Licence. | Активных серверов больше, чем разрешено, и льготный срок кончился. | Выключите лишние серверы или продлите лицензию. |
| The gateway has no licence: changes are refused. Start the trial or install a licence on Settings → Licence. | Лицензии нет. | Запустите пробный период или установите лицензию. |
| This installation was released: changes are refused. Install a licence on Settings → Licence. | Лицензия этой установки освобождена. | Установите лицензию. |
| The gateway cannot trust its own time: changes are refused. See Settings → Licence for the way out. | Время на узле выглядит недостоверным. | Исправьте время узла; подробности на странице лицензии. |
| The licence state cannot be read from the database: changes are refused until it can. Check the database. | Состояние лицензии прочитать не удалось. | Проверьте доступность базы данных шлюза. |
| The record was changed by another administrator — open it again. | Пока вы правили форму, запись изменил другой администратор. | Откройте запись заново и повторите правку. |
| A value was not accepted. Check the form. | Одно из значений не принято. | Проверьте поля формы. |
| This action is not possible right now. | Действие невозможно в текущем состоянии. | Прочтите уточняющее сообщение, если оно есть. |
| Only an empty folder can be deleted: move or delete its servers and subfolders first. | Папка не пуста. | Перенесите или удалите содержимое. |
| A folder cannot be moved into itself or into one of its subfolders. | Нельзя вложить папку в саму себя. | Выберите другую родительскую папку. |
| The encryption key is not available. | Хранилище секретов закрыто или ключ недоступен. | Откройте шлюз (Открытие шлюза). |
| The database was upgraded by a newer version of BURSU PAM. This gateway refuses new sessions and changes until it is upgraded too; sessions already open continue. | База обновлена более новой версией. | Обновите шлюз. |
| Too many attempts. Wait a minute and try again. | Слишком много попыток. | Подождите минуту. |
| You do not have access to this page. | У вашей роли нет доступа к странице. | Обратитесь к администратору. |
| The request was refused. Reload the page and try again. | Запрос отклонён (например, устарела страница). | Обновите страницу. |
| Something went wrong. Please try again. | Непредвиденная ошибка; внизу есть строка Reference for the administrator: с кодом. | Повторите; при повторении передайте код поставщику. |
Учётные записи
| Сообщение | Что это значит | Что делать |
|---|---|---|
| Choose a server. | Не выбран сервер. | Выберите сервер. |
| A login is 1-64 characters: latin letters, digits, dot, underscore, hyphen. | Логин записан неверно. | Исправьте логин. |
| Enter the password. | Пароль пуст. | Введите пароль. |
| The two passwords differ. | Пароль и повтор не совпали. | Введите заново. |
| The password is too long. | Пароль слишком длинный. | Сократите. |
| A private key in OpenSSH or PEM format is required. | Ключ не введён или не распознан. | Вставьте закрытый ключ целиком, вместе со строками BEGIN и END. |
| Ed25519 keys are not supported yet. Use an ECDSA or RSA key. | Ключ Ed25519 не поддерживается. | Создайте ключ ECDSA или RSA. |
| This key cannot be used: the passphrase is wrong, or it is not an RSA or ECDSA key. | Неверная парольная фраза либо тип ключа не подходит. | Проверьте фразу и тип ключа. |
| This encrypted PKCS#8 key (BEGIN ENCRYPTED PRIVATE KEY) cannot be read. Convert the key to the OpenSSH format with ssh-keygen -p -f <file> and paste it again. | Зашифрованный ключ PKCS#8 не читается. | Преобразуйте ключ командой из сообщения. |
| Privileged mode is available only with a built-in network-device profile. | Привилегированный режим включён при своём профиле. | Выберите встроенный профиль или выключите режим. |
| Enter the privileged-mode password. | Пароль привилегированного режима пуст. | Введите. |
| Accounts of a Telnet server sign in with a password. | Для Telnet выбран ключ. | Выберите пароль. |
| This server signs nobody in; its account has no password. | Для сервера VNC «без входа» введён пароль. | Оставьте пароль пустым. |
| For a Mac, the name and the password are each at most 63 bytes. | Для входа на Mac имя и пароль не длиннее 63 байт. | Сократите. |
| An account without a password fits only a server that signs nobody in. | Пустой пароль допустим только для VNC-сервера без входа. | Введите пароль или смените тип входа сервера. |
| This server needs a password; choose Password. | Сервер требует пароль. | Выберите Password. |
| A VNC server signs in with a password, not a key. | Для VNC выбран ключ. | Выберите пароль. |
Профили устройств
| Сообщение | Что это значит | Что делать |
|---|---|---|
| This regular expression is too costly to check against device output. Simplify its repetitions. | Выражение слишком дорого по времени проверки. | Упростите повторы. |
| Backreferences, lookarounds and atomic groups are not supported. | Выражение использует неподдерживаемые конструкции. | Перепишите без них. |
| This is not a valid regular expression. | Выражение записано неверно. | Исправьте. |
| At most 512 characters. | Слишком длинное значение. | Сократите до 512 символов. |
| The profile is used by these servers: …. | Профиль нельзя удалить, пока он используется. | Переключите перечисленные серверы на другой профиль. |
| A built-in profile cannot be changed or deleted. | Встроенный профиль только для чтения. | Скопируйте его и измените копию. |
| A transcript is at most 64 KiB. | Запись слишком велика. | Сократите. |
| The gateway would not sign in with this profile. | Результат проверки: вход не удался. | Посмотрите таблицу шагов и поправьте шаблоны. |
Правила доступа
| Сообщение | Что это значит | Что делать |
|---|---|---|
| Give the rule a name (up to 200 characters). | Имя правила пусто или длинное. | Введите имя. |
| Choose at least one user or group. | Не выбран никто. | Добавьте людей или группы. |
| Choose at least one server or folder. | Не выбрано, куда даётся доступ. | Добавьте серверы или папки. |
| Name at least one login, or choose “All”. | Режим «Specified» без логинов. | Назовите логины или выберите All. |
| “…” is not a valid login. | Логин записан неверно. | Исправьте. |
| Logins are chosen, but the mode is “All”: choose “Specified” or remove the logins. | Логины указаны при режиме «All». | Выберите Specified или уберите логины. |
| Enter a date and time. | Дата не введена. | Введите. |
| The end must be after the start. | Конец раньше начала. | Исправьте даты. |
| Enter a size from 1 to 4096 MB. | Предел размера копии вне диапазона. | Введите 1–4096. |
| USB devices can be allowed only together with “Upload and download” for files. | USB без полной передачи файлов запрещён. | Включите Upload and download или выключите USB. |
| Confirm who you are before saving: this rule lets more data move. | Правило расширяет права. | Пройдите подтверждение и сохраните снова. |
| A rule that has requests cannot be deleted; disable it instead. | По правилу есть запросы доступа. | Выключите правило. |
| Every approver must be an active person who holds the Approver role. | Согласующий не подходит. | Выберите активного человека с ролью Approver. |
| A person marked for emergency access needs a confirmed second factor. | Человеку для аварийного доступа не подтверждён второй фактор. | Пусть он настроит двухфакторный вход. |
Настройки
| Сообщение | Что это значит | Что делать |
|---|---|---|
| Enter a whole number from … to …. | Число вне диапазона. | Введите целое число из указанного диапазона. |
| The banner is up to 2000 characters, without control characters. | Баннер слишком длинный или с управляющими символами. | Сократите. |
| Copies cannot be kept longer than the recordings (… days). | Срок хранения копий больше срока записей. | Уменьшите срок копий или увеличьте срок записей. |
| Recording what people type needs your password and code again. | Включение записи ввода SSH требует подтверждения личности. | Пройдите подтверждение. |
| Recording keystrokes needs your password and code again. | То же для RDP. | Пройдите подтверждение. |
| Indexing typed text needs your password and code again. | То же для индекса набранного текста. | Пройдите подтверждение. |
| Confirm who you are before this change: …. It lowers session protection. | Изменение ослабляет защиту сессий. | Пройдите подтверждение (Confirm who I am). |
| Confirm who you are before weakening a limit. | Ослабление предела VNC. | Пройдите подтверждение. |
| These changes weaken protection and need you to confirm your password: … | Изменение настроек баз данных ослабляет защиту. | Пройдите подтверждение. |
| Use 1 to 60 letters, digits and . + _ - only. | Строка версии MySQL записана неверно. | Исправьте. |
| The VNC address clients are told is not in the gateway certificate. | Адрес VNC шлюза отсутствует в его сертификате. | Выпустите сертификат с этим именем или исправьте vncAdvertisedName. |
Подпись файлов .rdp
| Сообщение | Что это значит | Что делать |
|---|---|---|
| This is not a certificate file (.pfx). | Файл не распознан как PKCS#12. | Выберите .pfx. |
| The passphrase does not open the file. | Неверная парольная фраза. | Введите верную. |
| The file holds no private key. | В файле нет закрытого ключа. | Экспортируйте сертификат вместе с ключом. |
| The certificate cannot be used to sign documents. | Сертификат не подходит для подписи. | Используйте сертификат с цифровой подписью, RSA не короче 2048 бит. |
| The file is too large. | Файл больше 64 КиБ. | Оставьте в файле один сертификат. |
| The certificate has already expired. | Срок истёк. | Выпустите новый. |
| The certificate is not valid yet; store it from its start date. | Срок ещё не начался. | Подождите даты начала. |
| Changing the signing key needs your password and code again. | Смена ключа требует подтверждения личности. | Пройдите подтверждение. |
| Files are not signed until the gateway's public RDP host is set (rdpPublicHost in the configuration): the gateway never signs an address taken from the browser's request. | Не задан rdpPublicHost. | Задайте в gateway.json и перезапустите шлюз. |
| There is no signing key: .rdp files are not signed, and Remote Desktop warns the person who opens one. | Ключа подписи нет. | Сохраните ключ, если нужна подпись. |
Что видит пользователь: SSH и файлы
| Сообщение | Что это значит | Что делать |
|---|---|---|
| The server's host key has not been confirmed or has changed. Contact the administrator. | Ключ сервера не подтверждён или изменился. | Администратору: проверьте и подтвердите ключ. |
| The server could not be reached or refused the login. Contact the administrator. | Нет соединения или сервер отверг учётную запись. | Администратору: проверьте проверкой подключения. |
| The gateway's licence does not allow new sessions now. Contact the administrator. | Лицензия не допускает сессии. | Проверьте лицензию. |
| The gateway cannot record sessions right now. Contact the administrator. | Запись невозможна, сессия не начата. | Проверьте место на диске и ключ шифрования. |
| Several accounts on … are allowed for you: connect as …:…:<account>. | Разрешено несколько учётных записей. | Укажите запись в имени входа. |
| This server is reached over Telnet: only an interactive session is possible, not a single command. | На Telnet нельзя выполнить одну команду. | Подключайтесь интерактивно. |
| This server needs a terminal. Connect without -T (or with -t). | Нужен терминал. | Уберите -T или добавьте -t. |
| … is not reached over SSH. Use its own connection in BURSUcm. | Сервер RDP, VNC или БД нельзя открыть по SSH. | Подключайтесь штатным способом. |
| Your access rule allows file transfer only, not a terminal or commands on this server. | Терминал в правиле выключен. | Используйте sftp или scp. |
| File transfer tools like rsync or a hand-started sftp-server are not allowed through the gateway. Use sftp or scp. | Запрещены сторонние файловые инструменты. | Используйте sftp или scp. |
| This copy direction is not allowed by your access rule. | Направление SCP запрещено правилом. | Измените правило или направление. |
| The gateway accepts only plain scp commands. Quote the whole path and leave out shell symbols. | Команда SCP не простая. | Упростите команду. |
| File transfer to this server is not allowed by your access rule. | Файлы запрещены правилом. | Нужно правило с передачей файлов. |
| Uploading files to this server is not allowed by your access rule. | Запрещена загрузка на сервер. | Измените правило. |
| Downloading files from this server is not allowed by your access rule. | Запрещено скачивание. | Измените правило. |
| Changing files on this server is not allowed by your access rule. | Запрещено изменение файлов. | Нужна загрузка на сервер. |
| File transfer is not available for Telnet servers. | Для Telnet файлов нет. | Нет действий. |
| This file is larger than the gateway allows (… MB). | Файл больше предела. | Измените Largest file, MB. |
| This session has moved as much data as the gateway allows (… MB). | Достигнут суммарный предел. | Откройте новую сессию или измените All files in one session, MB. |
| The gateway stopped this transfer: your access changed. | Правила изменились. | Проверьте доступ. |
| The server printed text before the file transfer started (a login script?), so the gateway cannot start SFTP. Contact the administrator. | Скрипт входа мешает SFTP. | Уберите вывод из скрипта входа. |
| The server speaks an SFTP version the gateway does not support. Contact the administrator. | Версия SFTP не поддерживается. | Обновите SFTP-сервер. |
Запросы доступа: отказы при подаче (консоль и BURSUcm)
| Сообщение | Что это значит | Что делать |
|---|---|---|
| No rule offers you access to this server account by request. | Ни одно правило «По запросу» не предлагает вам эту пару «сервер — учётная запись» (или правило отключено, или вы не входите в круг тех, кто может просить). | Попросите администратора проверить правило в разделе «Правила доступа» (поле Who may ask), либо выберите другую пару. |
| You already have a request waiting for this server account. | По этой паре у вас уже есть ожидающий запрос. | Дождитесь решения или отмените его на вкладке My requests (Cancel request). |
| You already have access to this server account for that whole period. | Весь запрошенный интервал и так покрыт вашим действующим или уже одобренным доступом. | Запрос не нужен. Если нужен более долгий доступ, запросите продление (Extend) или другой интервал. |
| Nobody can approve this request now. Contact the administrator. | Людей, которые вправе согласовать запрос, меньше, чем нужно для кворума (вы сами не считаетесь согласующим своего запроса). | Сообщите администратору: нужно добавить согласующих в правило или дать им роль Approver. |
| You have too many requests waiting. Wait for a decision or cancel one. | У вас уже 10 ожидающих запросов — это предел. | Отмените ненужные или дождитесь решений. |
| A reason is required. | Поле Reason пусто. | Опишите, зачем нужен доступ (до 1000 символов). |
| The reason or the ticket is too long. | Причина длиннее 1000 символов или номер заявки длиннее 64 символов (или в нём несколько строк). | Сократите текст. |
| The ticket number is missing or does not match the required format. | Правило требует номер заявки, а он не введён или не подходит под заданный формат; либо номер введён там, где правило его не использует. | Введите номер в формате, указанном под полем (Format: …). |
| This request is no longer waiting. | Запрос уже решён, отменён или истёк. | Обновите список. Если нужен доступ, подайте новый запрос. |
| The request is not valid. | Запрос не прошёл проверку: например, срок вне пределов правила, время начала не в допустимых границах или интервал выходит за окно времени правила. | Проверьте срок (не больше предела правила), время начала (позже текущего, не дальше 7 дней) и окно времени правила. |
| You do not have access to this server account. | Шлюз не выдаёт вам разрешение на эту пару (нет ни доступа, ни права просить). | Обратитесь к администратору. |
| The gateway's licence has ended. Contact the administrator. | Лицензия шлюза закончилась; новые запросы не принимаются. | Обратитесь к администратору (см. раздел «Лицензия»). |
| This server is beyond the number of servers the gateway's licence allows. Contact the administrator. | Сервер находится сверх числа, разрешённого лицензией. | Обратитесь к администратору. |
| The gateway refused the request (…). | Клиент BURSUcm получил от шлюза код отказа, для которого у него нет готовой фразы; в скобках сам код. | Повторите позже; если повторяется, сообщите администратору код из скобок. |
Запросы доступа: клиент BURSUcm (до отправки и во время ожидания)
| Сообщение | Что это значит | Что делать |
|---|---|---|
| The reason must be at most 1000 characters. | Причина слишком длинная. | Сократите. |
| Enter the ticket number. | Правило требует номер заявки. | Введите номер. |
| The ticket number must be at most 64 characters. | Номер заявки слишком длинный. | Сократите до 64 символов. |
| The duration must be from 1 minute to … | Срок вне допустимых пределов; в конце указан наибольший срок правила. | Введите число минут от 1 до указанного предела. |
| The start must be later than now. | Время начала не позже текущего. | Укажите будущее время. |
| The start can be at most 7 days ahead. | Время начала дальше семи суток. | Выберите время ближе. |
| The period must lie inside the time this access may be requested for. | Запрошенный интервал выходит за окно времени, которое допускает правило. | Выберите интервал внутри окна (см. столбец Access period на странице консоли). |
| This access is no longer running; there is nothing to give back. | Вы нажали Release для доступа, который уже закончился или отозван. | Обновите список. |
| cannot reach the gateway, trying again | Панель состояния запроса не получила ответа шлюза и повторит опрос. | Проверьте связь со шлюзом; опрос продолжится сам. |
| The status is no longer updated. Open My access requests to see it. | Опрос состояния запроса остановлен. | Откройте File → My access requests.... |
| Something went wrong. Open My access requests to see the request. | Не удалось получить состояние запроса. | Откройте My access requests: запрос мог быть подан. |
| Your access to … as … has ended. | Время доступа вышло; открытые сессии закрыты. | При необходимости запросите доступ снова (кнопка Request access... в сообщении). |
| Your access to … as … ends at …. Extend it in My access requests. | Предупреждение перед концом доступа. | Продлите доступ (Extend...) заранее. |
Отказ в подключении по SSH, если доступ можно запросить
| Сообщение | Что это значит | Что делать |
|---|---|---|
| Access is not allowed now. You can request it in the web console: … | Сейчас у вас нет доступа, но он предлагается по запросу; после двоеточия — адрес консоли. | Подайте запрос на странице /access/requests, дождитесь одобрения и подключитесь заново. |
| Access is not allowed now. You can request it in the web console under My access, Access requests. | То же, адрес консоли в настройках не задан. | Откройте консоль, My access → Access requests. |
| Your granted access ends in … minutes. File an extension request if you need more time. | Предупреждение в открытой сессии перед окончанием выданного доступа. | Подайте запрос на продление (в консоли Extend). |
| Your granted access has ended. The session is closed. | Срок доступа вышел, сессия закрыта. | Запросите доступ снова. |
| Your granted access was revoked by …. The session is closed. | Доступ отозвал указанный человек; сессия закрыта. | Выясните причину у отозвавшего или администратора. |
| Your access to this server has ended. The session is closed. | Основание доступа исчезло (например, правило изменено). | Подключитесь заново или запросите доступ. |
Согласование запросов (страница Approvals)
| Сообщение | Что это значит | Что делать |
|---|---|---|
| This request is no longer waiting for a decision. | Запрос уже решён, отменён или истёк. | Обновите страницу. |
| You may not decide this request. | Вы не входите в число согласующих этого правила (например, вас убрали из правила или лишили роли). | Если это ошибка, обратитесь к администратору. |
| The time to decide has run out. | Срок ожидания решения истёк. | Попросите автора подать запрос заново. |
| The rule no longer offers this access, so the request was cancelled. | Правило отключено или больше не предлагает этот доступ; запрос отменён при попытке решения. | Ничего: автор получит письмо об отмене. |
| The duration must be at least 1 minute and shorter than requested. | В поле Shorter duration, minutes (optional) введено неверное число. | Оставьте поле пустым или введите число от 1 до значения меньше запрошенного. |
| A comment is at most 1000 characters. | Комментарий слишком длинный. | Сократите. |
| You have already decided this request. | Вы уже голосовали по этому запросу. | Ничего. |
| A comment is required to deny a request. | Для отказа нужен комментарий. | Напишите причину отказа. |
| Approving needs you to confirm who you are first. Denying does not. | Нет свежего подтверждения личности (оно действует 10 минут). | Нажмите Confirm who I am, подтвердите себя и вернитесь к запросу. |
| This access has already ended or was taken back. | Отзыв невозможен: доступ уже закончился или отозван. | Обновите вкладку Active grants. |
| The reason is too long (at most 1000 characters). | Причина отзыва слишком длинная. | Сократите. |
| (страница «не найдено», 404) | Запроса нет либо вы не вправе его видеть или решать (в том числе собственный запрос или отзыв доступа, на который у вас нет прав). | Если запрос должен быть вам виден, проверьте у администратора правило и вашу роль. |
Подтверждение команд (вкладка Commands на странице Approvals)
| Сообщение | Что это значит | Что делать |
|---|---|---|
| This command is no longer waiting for a decision. | Команда уже решена или снята. | Обновите страницу. |
| The time to decide has run out, so the command was refused. | Время ожидания вышло; команда отклонена. | Ничего. |
| You cannot decide the commands of your own session. | Подтверждать команды своей же сессии нельзя. | Нужен другой подтверждающий. |
| You are not a confirmer for this policy. | Вы не названы подтверждающим этой политики. | Обратитесь к администратору. |
| Allowing needs you to confirm who you are first. | Нет свежего подтверждения личности. | Подтвердите личность и повторите. Отказ подтверждения не требует. |
| A comment is at most 1000 characters. | Комментарий слишком длинный. | Сократите. |
| You have already decided this command. | Вы уже решили по этой команде. | Ничего. |
| The held line is not the one you were shown, so it was refused. | Строка изменилась, пока вы смотрели; решение не принято. | Ничего: человек может ввести команду заново. |
| The decision could not be saved. Try again. | Шлюз не смог записать решение (например, ещё идёт проверка после перезапуска). | Повторите через несколько секунд. |
| A comment is required to deny a command. | Для отказа нужен комментарий. | Напишите причину. |
| This is your own session. Another person has to decide. | Команда ваша; решает другой человек. | Дождитесь решения. |
| Your confirmation has run out, so Allow is off until you confirm again. | Подтверждение личности истекло. | Подтвердите себя заново. |
| The live connection was lost. Reload the page to see what is waiting. | Страница потеряла живую связь со шлюзом. | Перезагрузите страницу. |
Аварийный доступ
| Сообщение | Что это значит | Что делать |
|---|---|---|
| Emergency access is not available to you for this server account. | Вас не отметили в правиле, или аварийный доступ по правилу выключен. | Обратитесь к администратору. |
| Emergency access needs a confirmed authenticator app. Set one up in your profile first. | У вас не подтверждено приложение-аутентификатор. | Настройте его в профиле. |
| Write a reason of at least 20 characters. | Причина короче 20 символов. | Опишите, что происходит и почему нельзя ждать. |
| Enter the six-digit code from your authenticator app. | Код не введён или введён неверной формы. | Введите шесть цифр. |
| The code is wrong or was already used. | Код неверный, просрочен или использован при входе; код восстановления не подходит. | Дождитесь нового кода в приложении и введите его. |
| You already have emergency access to this server account. | Аварийный доступ к этой паре у вас уже действует. | Пользуйтесь им до конца срока. |
| The limit of emergency accesses is reached. Contact the administrator. | Исчерпан предел применений за сутки (по умолчанию 2). | Обратитесь к администратору. |
| I understand that this use will be reviewed. | Флажок подтверждения не отмечен (шлюз возвращает форму с этой строкой). | Отметьте флажок. |
| Write a note. | При проверке не введена заметка. | Напишите, что вы проверили. |
| Choose a verdict. | Не выбран вердикт. | Выберите один из трёх. |
| This use has already been reviewed. | Проверку уже закрыли (HTTP 409). | Обновите страницу. |
| You cannot review your own use. | Проверять собственное применение нельзя (HTTP 403). | Нужен другой Approver или Auditor. |
| Cannot be switched on: no alarm channel (SIEM export, e-mail or webhook) has delivered in the last 24 hours. Set one up under System, send a test and try again. | Нельзя включить аварийный доступ в правиле: ни один канал оповещения не доставлял за сутки, тревога могла бы остаться неуслышанной. | Настройте почту или вебхук на странице Notifications, отправьте тест и сохраните правило снова. |
| Emergency access: this use is recorded, the responsible people have been told, and it will be reviewed. | Информационная строка в терминале при подключении, основанном на аварийном доступе. | Ничего; работайте только в пределах необходимого. |
Правила «По запросу» (сообщения при сохранении)
| Сообщение | Что это значит | Что делать |
|---|---|---|
| Approvals needed: from 1 to 5. | Число согласований вне пределов. | Введите число от 1 до 5. |
| The longest access is 1 to 20160 minutes, and the suggested duration cannot exceed it. | Наибольший срок или предлагаемый срок введены неверно. | Исправьте значения. |
| Time to decide: from 5 to 10080 minutes. | Время на решение вне пределов. | Введите число от 5 до 10080. |
| The ticket format is not a valid regular expression, or it is too costly to run. | Формат номера заявки неверен или слишком сложен. | Упростите выражение. |
| Every approver must be an active person who holds the Approver role. | В списке согласующих есть отключённый человек или человек без роли Approver. | Назначьте роль или уберите человека. |
| Name at least one approver, or approve automatically. | Не назван ни один согласующий и не включено автоматическое одобрение. | Добавьте согласующих. |
| Confirm who you are before this change: …. It lets more people or more access through. | Изменение расширяет доступ; нужно свежее подтверждение личности. | Подтвердите себя и повторите сохранение. |
| A rule that has requests cannot be deleted; disable it instead. | Правило с запросами удалить нельзя. | Отключите его. |
| No member of an approver group can approve now: … | В названной группе нет ни одного человека, который мог бы согласовывать. | Добавьте в группу людей с ролью Approver. |
| The rule needs … approvals; the number of people who can approve now is …. Requests will wait until more people can. | Согласующих меньше, чем нужно для кворума. | Добавьте согласующих или уменьшите кворум. |
| Requests already waiting under the old terms are not approved by this change: …. Disable the rule to cancel them. | Ожидающие запросы остаются на старых условиях. | При необходимости отключите правило, чтобы их отменить. |
| Waiting requests of other rules that this rule now governs will be cancelled when an approver decides them: …. | Часть запросов перейдёт под это правило и будет отменена при попытке решения. | Предупредите согласующих. |
| Waiting requests of this rule whose ticket no longer meets its terms will be cancelled when an approver decides them: …. | Номера заявок в части запросов не подходят под новый формат. | Ничего или попросите людей подать запросы заново. |
Уведомления (страница Notifications)
| Сообщение | Что это значит | Что делать |
|---|---|---|
| Enter the SMTP server as a host name or an address, without spaces. | Адрес почтового сервера записан неверно. | Введите имя или IP без пробелов. |
| The port is a whole number from 1 to 65535. | Порт неверен. | Введите число от 1 до 65535. |
| Choose how the connection is encrypted. | Не выбрано шифрование. | Выберите STARTTLS или TLS. |
| The user name is up to 254 characters, without control characters. | Имя пользователя почты неверно. | Исправьте. |
| An e-mail address looks like name@example.ge, without a display name, spaces or quotes. | Адрес отправителя записан неверно. | Введите адрес вида name@example.ge. |
| Up to 10 e-mail addresses, separated by commas. | Список получателей тревоги неверен или длиннее 10. | Исправьте. |
| The webhook address must be an https address without a user name or password. | Адрес вебхука не https или содержит логин и пароль. | Введите адрес вида https://…. |
| The console address is an https address like https://pam.example.ge, without a path. | Адрес консоли неверен. | Введите https-адрес без пути. |
| Enter the SMTP server and the sender address together. | Заполнено только одно из двух. | Заполните оба или очистите оба. |
| Enter a signing secret of at least 32 characters (at most 512), without line breaks. | Секрет подписи вебхука короче 32 или длиннее 512 символов. | Введите секрет нужной длины. |
| Confirm who you are before this change: …. It sends notifications somewhere new. | Сохранение направляет уведомления на новый адрес; нужно свежее подтверждение личности. | Подтвердите себя и сохраните ещё раз. |
| Save the settings first: the test uses the saved ones. | Тест использует сохранённые настройки. | Сохраните, затем отправьте тест. |
| Your account has no e-mail address. Add one in your profile first. | Тестовое письмо отправляется на адрес вашей учётной записи, а адреса нет. | Добавьте адрес в профиле. |
| The test message was not sent: … | Тест не удался; после двоеточия причина (см. ниже). | Устраните причину и повторите. |
| this channel is not set up | Канал не настроен. | Заполните настройки. |
| the connection was refused (nothing is listening on that port) | На порту никто не слушает. | Проверьте адрес, порт, межсетевой экран. |
| the server did not answer in time | Сервер не ответил за отведённое время (почта 60 с, вебхук 10 с). | Проверьте доступность. |
| the host name could not be resolved | Имя не разрешилось в адрес. | Проверьте имя и DNS на шлюзе. |
| the TLS handshake failed or the server's certificate was not accepted | Ошибка шифрования или недоверенный сертификат. | Проверьте сертификат и режим шифрования. |
| the server does not offer encryption, so nothing was sent (a downgrade is refused) | Сервер не предлагает STARTTLS; шлюз не отправляет почту открытым текстом. | Включите шифрование на почтовом сервере или выберите порт 465 с режимом «TLS from the start». |
| the server did not accept the user name or password | Неверный логин или пароль. | Введите верные значения. |
| the server refused the message or an address | Сервер отклонил письмо или адрес. | Проверьте адреса отправителя и получателя. |
| the webhook answered with a redirect, which is not followed | Приёмник ответил переадресацией. | Укажите конечный адрес. |
| the webhook did not answer with success | Приёмник ответил ошибкой. | Проверьте приёмник. |
| delivery failed for another reason; details are in the service log | Другая причина. | Смотрите журнал службы шлюза. |
| Notifications are failing: … | Пункт колокольчика: число каналов, которые не доставляют. | Откройте Notifications, посмотрите карточку Delivery. |
| No push channel (SIEM, e-mail, webhook) has delivered in the last 24 hours, so an alarm could go unheard. | Ни один канал оповещения не доставлял за сутки. | Настройте и проверьте хотя бы один. |
Контроль команд: страницы настройки
| Сообщение | Что это значит | Что делать |
|---|---|---|
| A name is required. | Имя политики или группы пусто. | Введите имя. |
| This name is already used. | Такое имя уже есть. | Выберите другое. |
| Name who it applies to (people, groups or Everyone) and where (servers or folders). | В политике не задана область. | Заполните «кого» и «где». |
| Add at least one entry. | В политике нет записей. | Добавьте. |
| Add at least one pattern. | В группе нет шаблонов. | Введите хотя бы один. |
| The pattern group of an entry no longer exists. | Группа, указанная в записи, удалена. | Выберите другую. |
| A policy for databases can only allow or alert. | В политике для баз данных выбрано другое действие. | Оставьте Allow или Alert. |
| Every confirmer must be an active person who holds the Approver role. | Подтверждающий отключён или не Approver. | Назначьте роль или уберите. |
| Confirmations needed: from 1 to 5. | Число подтверждений вне пределов. | Введите от 1 до 5. |
| Line …: … | Ошибка в шаблоне на указанной строке. | Исправьте строку; причина — в тексте после двоеточия. |
| This is not a valid regular expression. | Шаблон не является корректным регулярным выражением. | Исправьте. |
| Backreferences, lookarounds and atomic groups are not supported. | Использованы неподдерживаемые конструкции. | Перепишите выражение без них. |
| This regular expression is too costly to run on every line. Simplify its repetitions. | Выражение слишком «дорогое» для проверки каждой строки. | Упростите повторы. |
| A pattern is at most 512 characters. | Шаблон слишком длинный. | Сократите. |
| A policy uses this group. Take it out of the policy first. | Группу используют политики. | Уберите её из политик, затем удалите. |
| Command policies still apply to this: …. Edit the policies first. | Нельзя удалить сервер, папку или группу, пока на них ссылаются политики. | Измените политики. |
| Confirm who you are before this change: …. It makes command control weaker. | Изменение ослабляет контроль; нужно подтверждение личности. | Подтвердите себя и сохраните. |
| Unreadable lines before an alert: a positive whole number. | Значение настройки неверно: нужно положительное целое число. | — |
| That line is too long to test. | Строка для проверки длиннее 4096 символов. | Сократите. |
| Too many checks in a minute. Wait a moment. | Больше 30 проверок в минуту от вас. | Подождите. |
| Too many lookups in a minute. Try again in … s. | Слишком частый поиск точной строки в списке команд сессии. | Повторите через указанное число секунд. |
| Command policies that could not be loaded: … | Пункт колокольчика: политики, которые шлюз не смог прочитать; такие подключения рискуют быть отклонены. | Откройте политики и проверьте; при необходимости обратитесь в поддержку. |
| Command alerts in the last hour: …, Commands cancelled without a verified abort in the last day: …, Sessions with many unreadable command lines: … | Пункты колокольчика о срабатываниях контроля команд. | Откройте сессии и список команд (раздел «Аудит»). |
Контроль команд: что пользователь видит в SSH-сессии
| Сообщение | Что это значит | Что делать |
|---|---|---|
| Command not run: policy … does not allow it. | Политика отклонила введённую строку; она не выполнена. | Если команда нужна по работе, обратитесь к администратору (какая политика — в тексте). |
| The session was ended by policy …. | Политика требует закрыть сессию. | Подключитесь заново и не повторяйте команду. |
| The command was cancelled, but the gateway could not confirm that it did not run (policy …). Check what it did. | Шлюз отменил строку, но не смог убедиться по экрану, что она не выполнилась. | Проверьте на сервере последствия и сообщите администратору. |
| The session was ended: a command was cancelled but the gateway could not confirm that it did not run (policy …). | То же для строгой политики; сессия закрыта. | Подключитесь заново; проверьте последствия. |
| This command needs approval from a second person. Waiting up to … s. Ctrl-C to withdraw. | Строка удержана, пока другой человек не подтвердит. | Дождитесь или нажмите Ctrl+C, чтобы отозвать. |
| A second person allowed the command; it runs now. | Подтвердили. | Ничего. |
| A second person refused the command; it was not run (policy …). | Подтверждающий отказал. | Свяжитесь с ним или с администратором. |
| No second person answered in time, so the command was not run (policy …). | Время ожидания вышло, команда отклонена. | Попросите подтверждающего заранее и повторите. |
| Withdrawn. The command was not run. | Вы отозвали команду. | Ничего. |
| No second person is available to confirm this command, so it was not run. | Некому подтвердить (подтверждающих нет или не осталось подходящих). | Обратитесь к администратору. |
| The confirmation was cancelled, so the command was not run (policy …). | Подтверждение отменено (сессия закрыта, подтверждающего отключили, шлюз перезапущен). | Повторите. |
| The held line changed while it waited, so it was not run. | Удержанная строка изменилась. | Введите заново. |
| Too many commands are waiting for confirmation on this gateway; this one was not run. Try again shortly. | Слишком много ожидающих подтверждения команд на шлюзе. | Повторите чуть позже. |
| Confirmation is not available right now (the gateway cannot reach its database), so the command was not run. | У шлюза нет связи с базой, подтверждение невозможно. | Обратитесь к администратору. |
| This line cannot be shown safely to the person who would confirm it, so it was not run. | Строка содержит символы, которые нельзя показать подтверждающему без риска обмана. | Перепишите команду проще. |
| Command control cannot stop commands in this shell (fish, or inside tmux or screen): they are recorded and reported only. | В этой оболочке контроль только записывает и сообщает. | Это информация, не ошибка. |
| On this device a command being edited cannot be stopped yet: command lines are recorded and reported only. | На устройстве редактируемую строку остановить нельзя. | Информация. |
| The keys were rebound in this session. The gateway can no longer promise to stop a command here; this is recorded. | Вы переназначили клавиши (bind, bindkey, stty и т. п.). | Не меняйте клавиши во время работы. |
| The session was ended: the keys were rebound, so policy … can no longer be applied. | Строгая политика закрыла сессию после переназначения клавиш. | Подключитесь заново. |
| Too many lines at once: a script is not typed. Nothing was sent. | Вставлено больше 16 новых строк сразу. | Вставляйте по частям или загрузите скрипт и запустите. |
| Too many lines could not be read, so commands are refused for the rest of this session (policy …). | Слишком много нечитаемых строк (полноэкранные программы, ввод без эха). | Подключитесь заново. |
| Command control now applies to this server and needs a terminal, so the session is closed. | Во время сессии без терминала включили политику. | Подключитесь с ssh -t. |
| Commands on this server are checked and need a terminal. Connect with ssh -t. | Подключение без терминала (ssh -T, вызов без -t) отклонено. | Добавьте ключ -t. |
| Command not allowed by policy …. | Разовая команда отклонена (код завершения 126, сообщение в поток ошибок). | Обратитесь к администратору. |
| The gateway could not find out which command policies apply to you, so the session is refused. Try again, or contact the administrator. | Шлюз не смог прочитать политики; подключение отклонено для безопасности. | Повторите; при повторении обратитесь к администратору. |
Клиент BURSUcm: контроль команд
| Сообщение | Что это значит | Что делать |
|---|---|---|
| Command control is on | Значок на вкладке терминала: шлюз проверяет команды на этом сервере; tmux для подключения выключен, панель Files не следует за каталогом оболочки, у ИИ-помощника нет пометок команд. | Это не ошибка. |
Просмотр записи и живой просмотр картинки (RDP, VNC)
| Сообщение | Что это значит | Что делать |
|---|---|---|
You have reached the number of recordings you may open or export at once. Close one and try again. | У вас уже открыто максимально разрешённое число картинок и экспортов. Лимит на человека задан настройкой. | Закройте одну из открытых записей или экспортов и повторите. Лимит меняет администратор: Sessions (RDP) или VNC. |
You have reached the number of recordings you may open or export at once. Close one and try again. | То же для записей VNC. | То же: закройте одну открытую запись. |
Your share of the gateway's picture capacity is in use. Close one of your open views or exports and try again. | Вы заняли всю свою долю памяти шлюза для картинок (не больше половины бюджета renderMemoryBudgetMb). | Закройте один из ваших открытых просмотров или экспортов и повторите. Если не помогает и вы единственный пользователь, администратор может увеличить renderMemoryBudgetMb в gateway.json. |
Your share of the gateway's picture capacity is in use. Close one of your open views or exports and try again. | То же для записей VNC. | То же. |
The gateway is busy preparing other pictures. Try again in a moment. | Шлюз занят сборкой чужих картинок, сейчас нет свободного места. | Подождите минуту и повторите. |
The gateway is busy preparing other pictures. Try again in a moment. | То же для VNC. | Подождите минуту и повторите. |
Playback is not available on this gateway: the render worker could not be started. | Служебный процесс, собирающий картинку, не запустился на этом сервере. | Откройте журнал службы шлюза, сообщите администратору установки. |
The picture could not be prepared: the render worker stopped or could not be started. | То же для VNC: служебный процесс остановился или не запустился. | Повторите; при повторении смотрите журнал службы. |
Playback is off: the protection of the render worker could not be applied, and it never runs without it. | Воспроизведение выключено: на этом сервере не удалось включить защиту служебного процесса, а без неё он не запускается. | Проверьте требования к ОС (песочница) в разделе установки; обратитесь к администратору сервера. |
The session is still running. Watch it live, or export it after it ends. | Сессия ещё идёт; картинку записи показать нельзя. | Смотрите сессию вживую (Watch) или дождитесь её окончания. |
The recording failed its check, so it is not played. The check is in the audit log. | Запись не прошла проверку подписи и не показывается. | Действуйте по разделу «Проверка записей»: сохраните сведения и сообщите ответственному. |
The recording failed its check, so it is not played. The check is in the audit log. | То же для VNC. | То же. |
The job reached a limit and was stopped. | Задача достигла одного из лимитов и остановлена. | Откройте запись ещё раз; если повторяется, сообщите администратору. |
This recording cannot be shown as a picture: it does not say how large the screen was. | В записи нет размера экрана, картинку построить нельзя. | Факты сессии и журнал доступны; картинки не будет. |
The screen of this recording is larger than the limit, so it cannot be shown. | Экран в записи больше допустимого предела. | Картинку показать нельзя; смотрите факты сессии. |
Video export is not available on this gateway: the video encoder is missing. | На шлюзе нет программы кодирования видео. | Установите её (см. раздел установки) или обратитесь к администратору. |
Stopped: too many frames | Показ остановлен: слишком много кадров. | Запись слишком велика для показа целиком; сообщите администратору. |
Stopped: the picture is larger than the limit | Показ остановлен: картинка больше предела. | То же. |
Stopped: longer than the time limit | Показ остановлен: дольше допустимого времени. | То же. |
Stopped: more data than the limit | Показ остановлен: слишком много данных. | То же. |
Stopped: it took too long | Показ остановлен: он шёл слишком долго. | Повторите позже. |
Stopped: the browser stopped reading | Показ остановлен: браузер перестал читать поток. | Обновите страницу. Проверьте соединение с консолью. |
The render worker stopped unexpectedly | Служебный процесс остановился неожиданно. | Повторите; если повторяется, сообщите администратору (журнал службы). |
The render worker was stopped by its own protection | Служебный процесс остановлен своей же защитой. | То же. |
Stopped: nobody was watching | Показ остановлен: никто не смотрит. | Ничего не делайте; это не ошибка. |
This recording cannot be shown: … | Запись VNC не может быть показана; вместо «…» названа причина. | Прочитайте причину и действуйте по ней. |
The live connection was lost. | Живое соединение с консолью оборвалось. | Обновите страницу. Если сессия ещё идёт, откройте просмотр снова. |
The live connection was lost. | То же для VNC. | То же. |
The session has ended. | Сессия закончилась, пока вы смотрели. | Откройте запись в архиве. |
The live picture differed from the recording. | Живая картинка не совпала с записью. | Доверяйте подписанной записи, а не живой картинке. |
Live picture, not yet verified. The signed recording is the evidence. | Напоминание: живая картинка не проверена. | Для доказательства используйте подписанную запись. |
Playback stopped at part …: it does not match its signature. | Показ остановился на части записи, чья подпись не совпала. | Запись нарушена; действуйте по «Проверке записей». |
Playback stopped at part …: it does not match its signature. | То же для VNC. | То же. |
Not indexed yet: playback starts at the beginning and seeking replays from there. | Для записи ещё нет опорных кадров, перемотка работает медленно. | Подождите; показ работает с начала. |
The recording was cut when the gateway stopped; the picture ends there. | Запись оборвана при остановке шлюза; картинка кончается на этом месте. | Это не вмешательство; последние моменты сессии могли не попасть в запись. |
The live view needs JavaScript. | Для живого просмотра нужен JavaScript. | Включите JavaScript в браузере. |
The player needs JavaScript. | Для проигрывателя нужен JavaScript. | То же. |
The live view needs JavaScript. | Для живого просмотра нужен JavaScript. | То же. |
The player needs JavaScript. | Для проигрывателя нужен JavaScript. | То же. |
The live view needs JavaScript. | Для живого просмотра нужен JavaScript. | То же. |
The player needs JavaScript. | Для проигрывателя нужен JavaScript. | То же. |
Экспорт в видео
| Сообщение | Что это значит | Что делать |
|---|---|---|
Confirm who you are to export. | Нужно заново подтвердить, кто вы. | Введите пароль и код на странице подтверждения (действует 10 минут) и повторите. |
Confirm who you are to export. | То же для VNC. | То же. |
The session is still running. Export it after it ends. | Сессия ещё идёт. | Экспортируйте после окончания. |
The session is still running. Export it after it ends. | То же для VNC. | То же. |
The recording failed its check, so nothing was exported. | Запись не прошла проверку; видео не сделано. | Действуйте по «Проверке записей». |
The recording failed its check, so nothing was exported. | То же для VNC. | То же. |
The export would be longer than the limit, so nothing was exported. | Видео получилось бы длиннее допустимого. | Предел задаёт администратор (Sessions, Longest video, minutes). Видео не выдано. |
The export would be longer than the limit, so nothing was exported. | То же для VNC. | Предел задаёт администратор (VNC). |
The export would be larger than the limit, so nothing was exported. | Файл получился бы больше допустимого. | Предел: Largest video file, MB в Sessions. |
The export would be larger than the limit, so nothing was exported. | То же для VNC. | Предел задаёт администратор (VNC). |
The video could not be made. | Видео не удалось сделать. | Повторите; при повторении смотрите журнал службы, проверьте программу кодирования. |
The video could not be made. | То же для VNC. | То же. |
The video was refused: it did not pass the gateway's check. | Готовое видео не прошло проверку шлюза и отклонено. | Повторите; при повторении сообщите администратору. |
The video was refused: it did not pass the gateway's check. | То же для VNC. | То же. |
Too many exports are running. Try again in a moment. | Идёт слишком много экспортов. | Подождите минуту и повторите. |
Too many exports are running. Try again in a moment. | То же для VNC. | То же. |
Another export of this session is already running. | Другой экспорт этой же сессии уже идёт. | Дождитесь окончания первого. |
This recording cannot be shown as a picture, so it cannot be exported. | Картинку записи построить нельзя, поэтому и экспорта не будет. | Нет способа; смотрите факты и журнал. |
This recording cannot be shown as a picture, so it cannot be exported. | То же для VNC. | То же. |
The render worker stopped before the video was done. | Служебный процесс остановился до готовности видео. | Повторите. |
The render worker stopped before the video was done. | То же для VNC. | То же. |
The export was cancelled. | Экспорт отменён. | Запустите заново, если он был нужен. |
The export was cancelled. | То же для VNC. | То же. |
You have reached the number of recordings you may open or export at once. Close one and try again. | Вы достигли числа открытых записей и экспортов. | Закройте одну и повторите. |
You have reached the number of recordings you may open or export at once. Close one and try again. | То же для VNC. | То же. |
Your share of the gateway's picture capacity is in use. Close one of your open views or exports and try again. | Ваша доля ресурсов шлюза занята. | Закройте один из ваших открытых просмотров или экспортов и повторите. |
Your share of the gateway's picture capacity is in use. Close one of your open views or exports and try again. | То же для VNC. | То же. |
Video export is not available on this gateway. | Экспорт видео не включён на этом шлюзе. | Установите программу кодирования видео или обратитесь к администратору. |
The video could not be exported. | Видео не удалось выгрузить. | Повторите. |
Проверка записей
| Сообщение | Что это значит | Что делать |
|---|---|---|
The recording is not played: …. The check is in the audit log. | Запись SSH не воспроизводится; вместо «…» названа причина проверки. | Смотрите причину в следующих строках; проверка записана в журнал. |
the signature does not verify against the gateway's key | Подпись манифеста не сходится с ключом шлюза. | Запись нельзя считать достоверной; действуйте по «Проверке записей». |
a part of the recording was changed, removed or added after signing | Часть записи изменили, удалили или добавили после подписи. | То же: нарушение целостности. |
the manifest differs from the one in the audit log | Описание записи не совпадает с записанным в журнале аудита. | То же. |
the gateway's signing key is not available | Ключ подписи шлюза недоступен. | Откройте шлюз (Unseal) и повторите. |
the recording could not be checked | Проверку не удалось выполнить. | Повторите; смотрите журнал службы. |
The recording has not been signed yet (it waits for the database). | Запись ещё не подписана, шлюз ждёт базу данных. | Подождите; если долго, проверьте базу данных и колокольчик Alerts (сообщение Local journal). |
The recording was deleted by retention; the facts above and the audit log remain. | Запись удалена по сроку хранения. | Остаются факты и журнал. Срок хранения — Sessions. |
The recording was cut when the gateway stopped. What was written is kept and signed; the last moments may be missing. | Запись оборвана при остановке шлюза. | Записанное сохранено и подписано; последние моменты могли пропасть. |
The recording is not signed yet (it waits for the database). | Запись RDP ещё не подписана. | Подождите. |
The recording is damaged and is not played. | Запись RDP нарушена и не воспроизводится. | Действуйте по «Проверке записей». |
The recording was deleted by retention; the facts above and the audit log remain. | Запись RDP удалена по сроку хранения. | Остаются факты и журнал. |
This recording cannot be shown as a picture: it does not say how large the desktop was. Its facts and the audit log remain. | В записи нет размера рабочего стола, картинку построить нельзя. | Остаются факты и журнал. |
Recording changed after it was signed | Запись VNC изменена после подписи. | Нарушение целостности; действуйте по «Проверке записей». |
Recording cut at a crash | Запись VNC обрезана аварией служебного процесса. | Записанное подписано; конец сессии может отсутствовать. |
Recording not signed yet | Запись VNC ещё не подписана. | Подождите базу данных. |
Recording deleted | Запись VNC удалена. | Остаются факты и журнал. |
Recording not found | Файлов записи VNC нет на диске, хотя срок хранения не вышел. | Их удалили мимо шлюза: нарушение. Сообщите ответственному. |
Seal refused. Parts left unsealed: … | Шлюз не смог запечатать части записи VNC. | Проверьте место на диске и журнал службы. |
Part … of this recording does not match its signature; its statements are not shown. | Часть записи сессии базы не совпала с подписью; её команды скрыты. | Нарушение целостности записи; сообщите ответственному. |
The signed log of this session does not verify: …. The check is in the audit log. | Подписанный журнал файловой сессии не проходит проверку. | То же; проверка записана в журнал. |
A stored file copy that the signed log lists is gone, although retention did not delete it: it was removed from the disk past the gateway. The check is in the audit log. | Копия файла, указанная в подписанном журнале, исчезла с диска раньше срока хранения. | Её удалили мимо шлюза. Сообщите ответственному. |
A stored file copy does not match the signed manifest. | Сохранённая копия файла не совпадает с подписанным описанием. | Нарушение; не используйте копию, сообщите ответственному. |
A byte of the part was changed. | Содержимое части записи изменилось после подписи. | Нарушение. |
A part is missing. | Часть записи пропала. | Нарушение. |
A file is there that the signed manifest does not list. | В каталоге записи есть лишний файл. | Нарушение. |
The part belongs to another session. | Часть записи принадлежит другой сессии. | Нарушение. |
The manifest differs from the one the audit log's hash chain recorded. | Описание записи не совпадает с записанным в хэш-цепочке журнала. | Нарушение. |
Skipped: the recording was deleted by retention | Запись пропущена: удалена по сроку хранения. | Ничего не делайте. |
No VNC recordings to verify yet. | Записей VNC для проверки пока нет. | Ничего не делайте. |
Журнал аудита и целостность
| Сообщение | Что это значит | Что делать |
|---|---|---|
Break at event No. …: expected hash ……, found …… | Цепочка журнала разорвана на указанном событии; вместо «…» — номер события и начало хэшей. | Действуйте по врезке «Что делать, если цепочка нарушена» в разделе «Проверка целостности». |
Events from No. … on cannot be taken as confirmed. The event may have been changed or deleted directly in the database. | События начиная с названного нельзя считать подтверждёнными. | То же. |
The last check could not finish; run it again. | Проверка цепочки не дошла до конца. | Запустите проверку снова; смотрите состояние базы данных. |
This result could not be written to the audit log. It is shown from the gateway's memory and is lost on a restart: run the check again once the database accepts writes. | Результат проверки показан из памяти, в журнал его записать не удалось. | Повторите проверку, когда база снова принимает записи. |
The chain has not been checked yet. | Проверок цепочки ещё не было. | Нажмите Check. |
No events. | В выбранных фильтрах нет событий. | Расширьте период или очистите поля фильтра и нажмите Apply (кнопки сброса нет). |
No finished SSH, Telnet, SFTP or SCP sessions match. | В архиве вкладки SSH / Telnet / SFTP / SCP нет сессий по выбранным фильтрам. | Расширьте фильтры или очистите поля и нажмите Apply. |
No finished RDP sessions match. | В архиве вкладки RDP нет сессий по выбранным фильтрам. | Расширьте фильтры. |
No finished VNC sessions match. | В архиве вкладки VNC нет сессий по выбранным фильтрам. | Расширьте фильтры. |
No finished database sessions match. | В архиве вкладки Databases нет сессий по выбранным фильтрам. | Расширьте фильтры. |
No session is running | На вкладке Running сейчас нет идущих сессий ни одного протокола. | Это не ошибка. |
No SSH, Telnet or file session is running | На вкладке SSH / Telnet / SFTP / SCP, переключатель Running, нет идущих сессий. | Это не ошибка. |
No RDP session is running | Сейчас нет идущих сессий RDP. | Это не ошибка. |
No VNC session is running | Сейчас нет идущих сессий VNC. | Это не ошибка. |
No database session is running | Сейчас нет идущих сессий баз данных. | Это не ошибка. |
Nothing was found in this recording. | В записи ничего не найдено. | Измените слова поиска. |
Поиск по тексту набранного (RDP)
| Сообщение | Что это значит | Что делать |
|---|---|---|
Nothing typed was found. | Набранного текста не найдено. | Измените запрос. |
The typed text of this session is not indexed: the index failed or has not run yet, so nothing typed in it can be found. | Индекс набранного текста не построен или построение не удалось. | Подождите; если не появился, индекс для этой сессии недоступен. |
Typed text is not indexed for this session: the index was off when the session ended (or before it could be built), so nothing typed in it can be found, now or later. | Индекс текста для этой сессии не строился: он был выключен. | Включить его можно только для новых сессий (Sessions). |
The typed-text index of this session reached its limit: what was typed after that point cannot be found. | Индекс набранного текста достиг предела: то, что набрано позже, найти нельзя. | Смотрите запись. |
Keystrokes were not recorded in this session, so a search of typed text finds nothing in it. | В сессии нажатия клавиш не записывались, поэтому поиск набранного ничего не находит. | Это настройка на момент сессии. |
Вкладка Commands и точный поиск строки
| Сообщение | Что это значит | Что делать |
|---|---|---|
No command lines were recorded in this session. | В этой сессии строк команд не записано. | Политика команд для сессии не была включена или в ней ничего не вводили. |
No line of this session was typed exactly like this. | Ни одна строка сессии не набрана точно так же. | Проверьте, вводите ли строку точно, с пробелами. |
Too many lookups in a minute. Try again in … s. | Слишком много точных поисков в минуту (лимит 10 на человека). | Подождите указанное число секунд. |
Not shown: this line could not be masked safely. | Строка не показана: её нельзя было безопасно замаскировать. | Это сделано для защиты секретов. |
Part of this line could not be read and is masked whole. | Часть строки не удалось прочесть, она скрыта целиком. | Для точной проверки пользуйтесь Look up an exact line. |
Hidden as a precaution: the text can be read in more than one way | Команда скрыта: её текст можно прочитать по-разному. | Для поиска используйте Exact text. |
Копии файлов и буфера обмена, повторное подтверждение
| Сообщение | Что это значит | Что делать |
|---|---|---|
The stored copy failed its integrity check and was not downloaded. | Сохранённая копия не прошла проверку целостности и не выдана. | Копию использовать нельзя. Сообщите ответственному. |
The kept text is no longer on disk. | Сохранённого текста буфера на диске уже нет. | Он удалён по сроку или убран мимо шлюза. |
Confirm who you are to read kept clipboard text. | Чтобы прочесть сохранённый текст буфера, нужно подтвердить личность. | Введите пароль и код. |
The password or the code did not match. | Пароль или код не подошли. | Введите заново. Неверные коды подряд блокируют учётную запись. |
File copies stopped: the recordings volume is near its reserve. Sessions are still recorded. | Копии файлов больше не сохраняются: том записей почти полон. Сессии записываются. | Освободите место на диске (плашка File copies на Overview). |
A file copy could not be written. Sessions are still recorded. | Копию файла записать не удалось. Сессии записываются. | Проверьте место и права на диск. |
Too large to keep | Копия не сохранена: файл слишком велик. | Это ограничение политики файлов. |
Not kept: write failed | Копия не сохранена: запись не удалась. | Проверьте место на диске. |
Not kept: out of order | Копия не сохранена: файл передавали не по порядку. | Ограничение; сумма тоже не считается. |
Отправка в SIEM
| Сообщение | Что это значит | Что делать |
|---|---|---|
Enter the receiver's host. | Не указан адрес приёмника. | Введите его в поле Host. |
An address is up to 253 characters, without spaces or invisible characters, and does not start with “-”. | Недопустимое имя или адрес приёмника. | Не более 253 знаков, без пробелов, не начинать с «-». |
The CA certificate is not PEM. | Сертификат центра сертификации не в формате PEM. | Вставьте текст от -----BEGIN CERTIFICATE-----. |
the connection was refused (nothing is listening on that port) | Соединение отклонено: на порту ничего не слушает. | Проверьте порт, службу приёмника и межсетевой экран. |
the receiver did not answer in time | Приёмник не ответил вовремя. | Проверьте сеть и нагрузку приёмника. |
the host name could not be resolved | Имя не разрешилось. | Проверьте имя в поле Host и DNS шлюза. |
the TLS handshake failed or the receiver's certificate was not accepted | Не удалось согласовать TLS или сертификат приёмника не принят. | Проверьте CA certificate, срок сертификата и совпадение имени. |
delivery failed for another reason; details are in the service log | Доставка не удалась по другой причине. | Смотрите журнал службы шлюза. |
The test event was not sent: … | Пробное событие не отправлено; вместо «…» названа причина. | Исправьте причину и повторите тест. |
Confirm who you are before turning the SIEM export off. | Отправку нельзя выключить без подтверждения личности. | Нажмите Confirm who I am и повторите. |
Confirm who you are before changing the receiver of a running export. | Смену приёмника у работающей отправки нужно подтвердить. | То же. |
Confirm who you are before turning the sending of statements off. | Выключение отправки команд баз данных нужно подтвердить. | То же. |
Turn the export off on its own: the last events still go to the receiver saved now. Change the receiver after the export has stopped. | Выключать отправку надо отдельно от смены приёмника. | Сначала выключите, потом меняйте приёмник. |
The last events are still being delivered to the previous receiver, so the export cannot be changed now. Wait until that has finished. A stop is cancelled by switching the export on again. | Последние события ещё доставляются прежнему приёмнику, изменить отправку сейчас нельзя. | Подождите конца доставки. Выключение отменяется повторным включением. |
Confirm who you are before switching without delivery. | Для «Switch without delivery» нужно подтвердить личность. | Подтвердите и повторите. |
Confirm who you are before stopping without delivery. | Для «Stop without delivery» нужно подтвердить личность. | То же. |
The export is stopping: the latest events have not been delivered yet | Отправка останавливается, последние события ещё не доставлены. | Подождите или остановите без доставки. |
Switching receiver: the latest events have not been delivered to the previous receiver yet | Идёт смена приёмника, последние события не доставлены прежнему. | Подождите или переключите без доставки. |
not set up | Отправка в SIEM не настроена. | Настройте на странице SIEM export, если она нужна по требованиям безопасности. |
Плашки Overview и колокольчик
| Сообщение | Что это значит | Что делать |
|---|---|---|
locked — the gateway is sealed | Шлюз запечатан: ключ не открыт, сессии не принимаются. | Введите пароль или ключ восстановления (Unseal). |
The encryption key was changed, and this gateway still holds the previous one in memory. Restart the gateway (a sealed gateway will need its passphrase). | Ключ шифрования сменили, а процесс держит старый. | Перезапустите службу шлюза; запечатанному шлюзу понадобится пароль. |
Recording fails: new sessions are refused until there is room. | Запись сессий не работает: новые сессии отклоняются, пока не появится место. | Освободите место (плашка Disk) и проверьте права на каталог записей. |
free space unknown | Свободное место не удалось определить. | Проверьте диск вручную. |
break at event No. … | Найден разрыв цепочки журнала. | См. «Проверка целостности». |
the last check could not run | Последняя проверка цепочки не смогла выполниться. | Запустите её вручную на странице Integrity check. |
not checked yet | Проверок ещё не было. | Запустите проверку или дождитесь 03:00. |
Not listening: …. See the service log. | Адрес для баз данных не слушается; клиенты не подключатся. | Смотрите журнал службы: адрес занят, неверный сертификат или нет модуля. |
Address not in the certificate | Адрес VNC не указан в сертификате. | Исправьте vncAdvertisedName или сертификат (VNC). |
Could not bind | Не удалось занять порт VNC. | Освободите порт или смените vncListen. |
The session worker cannot run on this host (socket hand-over). | Служебный процесс VNC-сессии не может работать на этом сервере. | См. требования в разделе установки. |
… refused connections in 24 h — check the server before confirming a new key | Отказано в соединениях из-за изменившегося ключа сервера. | Проверьте, не подменён ли сервер, и только потом подтверждайте новый ключ («Серверы»). |
… records wait for the database | Записи ждут базы данных в локальном журнале шлюза. | Проверьте PostgreSQL. Если ожидание дольше 10 минут, плашка станет красной. |
Passwords the gateway typed were echoed or taken by an unexpected program: … in 24 hours. | Устройство показало введённый шлюзом пароль или его перехватила программа. | Проверьте настройки устройства и учётной записи. |
Directories not watched: …. Access changes in them are seen only at the next sign-in or ticket check, and when the watch reconnects. | Каталоги не отслеживаются: изменения видны только при следующем входе. | См. «Каталоги». |
Directories with an unconfirmed root certificate: …. Sign-ins through them are refused until an administrator confirms it. | У каталогов не подтверждён корневой сертификат; входы через них отклоняются. | Подтвердите сертификат («Каталоги»). |
Command policies that could not be loaded: … | Политики команд не удалось загрузить; они не действуют. | См. «Контроль команд». |
No push channel (SIEM, e-mail, webhook) has delivered in the last 24 hours, so an alarm could go unheard. | Ни один канал уведомлений не доставлял 24 часа, тревога может остаться неуслышанной. | Проверьте каналы («Уведомления»). |
no licence: nothing is served | Лицензии нет; шлюз ничего не обслуживает. | «Лицензия». |
ended on …: new sessions and changes are refused | Лицензия закончилась: новые сессии и изменения отклоняются. | «Лицензия». |
activated on another host: new sessions and changes are refused | Лицензия активирована на другом узле: новые сессии и изменения отклоняются. | «Лицензия». |
the gateway cannot trust its own time: new sessions and changes are refused | Шлюз не доверяет собственному времени: новые сессии и изменения отклоняются. | Исправьте время и перезапустите. |
the licence state cannot be read from the database: new sessions and changes are refused | Состояние лицензии не читается из базы: новые сессии и изменения отклоняются. | Проверьте базу данных. |
Разбор экстренного доступа
| Сообщение | Что это значит | Что делать |
|---|---|---|
Write a note. | Заметка обязательна. | Напишите, что вы проверили и нашли. |
Choose a verdict. | Не выбран вердикт. | Выберите Justified, Not justified или Needs follow-up. |
This use has already been reviewed. | Это использование уже разобрано. | Обновите страницу. |
You cannot review your own use. | Нельзя разбирать собственное использование. | Разбор делает другой согласующий или аудитор. |
Another Approver or an Auditor reviews your use of emergency access; you cannot close the review. | Ваше использование экстренного доступа разбирает другой человек. | Ничего не делайте. |
A comment is at most 1000 characters. | Комментарий длиннее 1000 знаков. | Сократите. |
Сообщения, которые видят пользователи при завершении сессии
| Сообщение | Что это значит | Что делать |
|---|---|---|
End the session of … on …? They will see that you ended it. | Вопрос перед завершением сессии. | Подтвердите или отмените. |
The session had already ended. | Сессия уже закончилась до вашего нажатия. | Ничего не делайте. |
The session was ended by …. | Так пользователь SSH видит завершение сессии вами. | Это нормальное завершение; запись получает отметку. |
The file session was ended by …. | То же для SFTP/SCP. | То же. |
An administrator ended this session. | То же для баз данных. | То же. |
The session was ended by an administrator. | То же для VNC. | То же. |
The session cannot be recorded and is closed. Contact the administrator. | Сессия закрыта: шлюз не может её записывать. | Пользователь должен обратиться к администратору. Администратору — проверить диск (плашки Disk, Session recording). |
The gateway cannot record; the session is closed. | То же для баз данных. | То же. |
The session was closed because it could not be recorded. | То же для VNC. | То же. |
The session was closed after … minutes without input. | Сессия закрыта из-за простоя. | Время простоя — в Sessions. |
Your access to this server has ended. The session is closed. | Доступ к серверу закончился, сессия закрыта. | Если нужен новый доступ, нужно новое правило или запрос. |
target_cert_unconfirmed | Причина завершения RDP, показывается кодом: сертификат сервера не подтверждён. | Подтвердите сертификат на карточке сервера («Серверы»). |
target_logon_failed | Причина завершения RDP, показывается кодом: сервер не принял вход шлюза. | Проверьте учётную запись сервера («Учётные записи»). |
target_redirect_refused | Причина завершения RDP, показывается кодом: сервер просил перенаправить подключение, шлюз отказал. | Проверьте адрес сервера. |
admission_denied | Причина завершения RDP, показывается кодом: шлюз не принял сессию (перегрузка или лимит). | Повторите позже; сообщите администратору. |
file_operations_limit | Причина завершения RDP, показывается кодом: в сессии набралось 100 000 изменений файлов на перенаправленном диске, и шлюз закрыл сессию. Предел встроен в шлюз и не настраивается. | Это решение шлюза, а не поломка. Пользователь может открыть сессию заново; если такое повторяется, посмотрите в «Передачах файлов», что делает программа на перенаправленном диске. |
Страница My access
| Сообщение | Что это значит | Что делать |
|---|---|---|
| Your access rules allow no server now. | Ни одно правило сейчас ничего вам не разрешает. | Подайте запрос на доступ (Запросы) или обратитесь к администратору. |
| You do not have access to this server account now. | Право на эту учётную запись кончилось или отозвано, пока вы нажимали кнопку. | Обновите страницу. Если запись исчезла, запросите доступ. |
| Set up an authenticator in My profile to connect to databases. | Для баз данных нужен второй фактор, а аутентификатор не настроен. | Настройте аутентификатор в профиле. |
| Set up the authenticator app on your profile first; VNC connections ask for its code. | Для VNC нужен аутентификатор, а он не настроен. | Настройте приложение-аутентификатор в профиле. |
| The code did not match. | Введён неверный код. При получении пропуска к базе так же отвечает шлюз, если введён не шестизначный код, в том числе код восстановления. | Введите новый код из аутентификатора. Несколько ошибок подряд блокируют вход. |
| Enter the 6-digit code. | Только при получении тикета VNC: поле кода пустое или в нём не шесть цифр. | Введите шесть цифр. |
| A recovery code cannot be used here. Use the 6-digit code. | Только при получении тикета VNC: код восстановления не подходит. | Введите код из аутентификатора. |
| Too many wrong codes. Try again later. | Только при получении тикета VNC: слишком много неверных кодов. Попытки считаются вместе с остальными вводами второго фактора. | Подождите и повторите позже. Если блокировка не снимается, обратитесь к администратору. |
| Account temporarily locked until … | При получении пропуска к базе: учётная запись заблокирована из-за неверных кодов; в сообщении указано время окончания блокировки. | Подождите до указанного времени или обратитесь к администратору. |
| Too many attempts. Wait a minute and try again. | Превышено число запросов в минуту (пропуск можно получить не чаще 10 раз в минуту). | Подождите минуту. |
| This connection has expired or does not exist. | Резервирование RDP кончилось (оно живёт 10 минут) или такого нет. | Вернитесь в My access и нажмите Connect заново. |
| The code for this connection has already been shown. If it did not work, start again. | Код RDP показывается один раз. | Нажмите Start again. |
| The gateway's certificate does not name …. Clients that check the name will refuse it; tell the administrator. | В сертификате шлюза нет того имени, под которым вы подключаетесь. | Сообщите администратору. Подключайтесь по имени, которое есть в сертификате. |
Ответы шлюза на получение тикета и пропуска (консоль и BURSUcm)
| Сообщение | Что это значит | Что делать |
|---|---|---|
| You do not have access to this server account. | Правило не разрешает эту учётную запись сейчас. | Обновите список. При необходимости запросите доступ. |
| The request is not valid. | Приложение отправило запрос, который шлюз не понял. | Обновите BURSUcm. Если не помогло, сообщите администратору. |
| The sign-in step has expired. Sign in again. | Прошло слишком много времени между вводом пароля и кода. | Войдите заново. |
| Your sign-in has ended. Sign in again. | Срок входа в BURSUcm кончился или вход отозван. | Войдите заново. |
| The gateway is locked — contact the administrator. | Шлюз заблокирован (например, ещё не открыт после перезапуска). | Сообщите администратору. |
| The gateway's licence has ended. Contact the administrator. | Срок лицензии шлюза истёк. | Сообщите администратору. |
| This server is beyond the number of servers the gateway's licence allows. Contact the administrator. | Сервер сверх числа, которое допускает лицензия. | Сообщите администратору. |
| The gateway's licence does not allow this session now. Contact the administrator. | Лицензия не допускает новых сеансов. | Сообщите администратору. |
| NTLM is not allowed for this RDP server, and in this version an RDP server is reached with NTLM only. Contact the administrator. | Для этого сервера RDP запрещён вход NTLM, а другого способа в этой версии нет. | Сообщите администратору. |
| The RDP server's certificate has not been confirmed. Contact the administrator. | Администратор ещё не подтвердил сертификат сервера RDP. | Сообщите администратору. |
| Update BURSUcm to open VNC servers through the gateway. | Версия BURSUcm слишком старая для VNC через шлюз. | Обновите приложение. |
| This VNC server's certificate has not been confirmed yet. Contact the administrator. | Сертификат сервера VNC не подтверждён. | Сообщите администратору. |
| The gateway's VNC port is not available. Contact the administrator. | VNC-вход шлюза не запущен. | Сообщите администратору. |
| The gateway's answer for this VNC server is not one this app accepts, so nothing was opened. Contact the administrator. | Ответ шлюза вышел за пределы того, что BURSUcm готов принять. | Сообщите администратору. |
| Update BURSUcm to connect to databases through this gateway. | Версия BURSUcm слишком старая для баз данных. | Обновите приложение. |
| The server's certificate is not confirmed yet. Ask the administrator to confirm the server. | Сертификат сервера базы не подтверждён. | Попросите администратора подтвердить сервер. |
| Database connections are not enabled on this gateway. | Входы для баз данных на шлюзе не включены. | Сообщите администратору. |
| Your login, the server and the account together are too long for this database client. Ask the administrator for a shorter server name. | Имя логин:сервер:учётная_запись не помещается в предел протокола. | Попросите администратора сократить имя сервера или учётной записи. |
| The gateway certificate this app trusts is not the one used for database connections, so it was not saved. Ask the administrator. | Сертификат, которому BURSUcm доверяет, отличается от сертификата входа для баз данных. | Сообщите администратору. |
Запросы доступа и экстренный доступ (BURSUcm и консоль)
| Сообщение | Что это значит | Что делать |
|---|---|---|
| No rule offers you access to this server account by request. | Правил, по которым этот доступ дают по запросу, для вас нет. | Обратитесь к администратору. |
| You already have a request waiting for this server account. | Такой запрос уже подан. | Дождитесь решения. |
| You already have access to this server account for that whole period. | Доступ на весь запрошенный срок у вас уже есть. | Ничего не нужно. |
| Nobody can approve this request now. Contact the administrator. | Нет ни одного человека, который может одобрить запрос. | Сообщите администратору. |
| You have too many requests waiting. Wait for a decision or cancel one. | Достигнуто число запросов, ожидающих решения. | Дождитесь решений или отмените один запрос. |
| A reason is required. | Не указана причина. | Заполните причину. |
| The reason or the ticket is too long. | Причина или номер заявки длиннее допустимого. | Сократите текст. |
| The ticket number is missing or does not match the required format. | Номер заявки не указан или не подходит под формат, который требует правило. | Введите номер в нужном формате. |
| This request is no longer waiting. | Запрос уже решён или отменён. | Обновите страницу. |
| Emergency access is not available to you for this server account. | Экстренный доступ для вас не предусмотрен. | Подайте обычный запрос. |
| The limit of emergency accesses is reached. Contact the administrator. | Лимит экстренных доступов исчерпан. | Сообщите администратору. |
Вход в BURSUcm: пароль, код, адрес
| Сообщение | Что это значит | Что делать |
|---|---|---|
| Enter the gateway address. | Адрес не введён. | Введите адрес шлюза. |
| The gateway is reached over HTTPS only. | Указан адрес с другим протоколом. | Используйте https:// или имя без протокола. |
| Enter the gateway address, for example pam.example.org or https://pam.example.org:8443. | Адрес записан неверно. | Проверьте адрес. |
| Sign-in to the gateway failed: … | Общая рамка ошибки входа. После двоеточия идёт причина из этого раздела. | Прочитайте причину. |
| Sign in to the PAM gateway first. | Вход в шлюз не выполнен или кончился. | Войдите. |
| Incorrect login or password. | Неверный логин или пароль. | Проверьте раскладку и регистр. После нескольких ошибок учётная запись блокируется. |
| The account is temporarily locked. Try again later. | Учётная запись временно заблокирована. Если шлюз прислал своё сообщение, в нём указано время окончания блокировки (в веб-консоли: Account temporarily locked until …). | Подождите или обратитесь к администратору. |
| Your password must be changed in the web console first. | Нужно сменить пароль. Это делается в веб-консоли. | Нажмите Open the gateway console, смените пароль, вернитесь в BURSUcm. Доменный пользователь меняет пароль в домене, шлюз в этом случае присылает свой текст. |
| Two-factor sign-in is not set up for your account. Set it up in the web console first. | Второй фактор не настроен. | Настройте аутентификатор в веб-консоли. |
| The directory is not available. Try again later or contact the administrator. | Шлюз не может связаться с каталогом (AD или LDAP). | Повторите позже или сообщите администратору. |
| Too many wrong codes. Sign in again. | Слишком много неверных кодов, вход прекращён. | Войдите заново. |
| Too many attempts. Wait a minute and try again. | Слишком много запросов с вашего адреса. | Подождите минуту. |
| Something went wrong. Please try again. | Внутренняя ошибка шлюза. | Повторите. Если повторяется, сообщите администратору время попытки. |
| The gateway refused the request (…). | Шлюз вернул код ошибки, для которого нет отдельного текста. В скобках код. | Назовите код администратору. |
Сертификат и связь со шлюзом (BURSUcm)
| Сообщение | Что это значит | Что делать |
|---|---|---|
| The gateway cannot be reached. Check the address and the network. | Нет соединения со шлюзом. | Проверьте адрес, порт, сеть и VPN. |
| The gateway gave an answer this app does not understand. Check that the address is a BURSU PAM gateway. | По адресу отвечает не шлюз или шлюз другой версии. | Проверьте адрес и порт веб-консоли. |
| The gateway presented a different certificate than the one trusted before, so the connection was refused. Compare the fingerprint with the gateway's console and ask the administrator. | Сертификат шлюза изменился. | Не продолжайте, пока администратор не подтвердит смену. Потом нажмите Forget the gateway's certificate. |
| The gateway certificates trusted on this computer cannot be read, so the connection was refused. Forget the gateway's certificate, then compare the fingerprint with the gateway's console before you trust it. | Файл с запомненными сертификатами повреждён. | Нажмите Forget the gateway's certificate, сверьте отпечаток и подтвердите заново. |
| The gateway's SSH key does not match the one it announced, so the connection was refused. Tell the administrator. | Ключ SSH шлюза не совпал с тем, который шлюз назвал при входе. | Сообщите администратору. |
| The gateway … was not trusted — connection cancelled. | Вы отказались доверять сертификату шлюза (Universal). | Подключитесь заново и сверьте отпечаток. |
| Trusted before: … | Строка окна о смене сертификата: прежний отпечаток. | Сравните с отпечатком от администратора. |
| Presented now: … | Строка окна о смене сертификата: новый отпечаток. | Сравните с отпечатком от администратора. |
| cannot reach the gateway, trying again | Строка состояния: связь со шлюзом пропала, приложение повторяет попытку. | Подождите или проверьте сеть. |
Вход через Windows и Kerberos (BURSUcm и консоль)
| Сообщение | Что это значит | Что делать |
|---|---|---|
| No Windows sign-in ticket for the gateway on this computer. | У компьютера нет билета Windows для шлюза. | Войдите в домен или используйте логин и пароль. |
| No Kerberos ticket on this computer — sign in to the domain or run kinit. | Нет билета Kerberos (Linux). | Войдите в домен или выполните kinit. |
| Windows offered NTLM, which the gateway does not accept. Ask the administrator to check the gateway's service name (SPN). | Windows выбрал NTLM, а шлюз принимает только Kerberos. Обычно имя шлюза не совпадает с тем, что записано в домене. | Сообщите администратору. В веб-консоли тот же отказ сформулирован так: Windows offered NTLM, which the gateway does not accept. Ask the administrator to check the gateway's name in the browser policy. |
| The clocks of this computer, the gateway and the domain differ too much. | Часы расходятся больше допустимого. | Синхронизируйте время. |
| The gateway's Kerberos key does not match the domain. Tell the administrator. | Ключ шлюза не соответствует домену. | Сообщите администратору. |
| The secure connection to the gateway could not be confirmed for Windows sign-in. | Не удалось подтвердить защищённое соединение для входа Windows. | Войдите логином и паролем, сообщите администратору. |
| Your domain is not connected to this gateway. | Ваш домен не подключён к шлюзу. | Сообщите администратору. |
| Windows sign-in is not set up on this gateway. | Вход Windows не включён. | Войдите логином и паролем. |
| Kerberos is not available on this computer. | На компьютере нет поддержки Kerberos. | Войдите логином и паролем. |
| Windows sign-in was not accepted. Sign in with your login and password. | Шлюз не принял вход Windows. | Войдите логином и паролем. |
| The Windows sign-in step has expired. Press “Sign in with Windows” again. | Шаг входа Windows устарел (веб-консоль). | Нажмите кнопку ещё раз. |
| Windows sign-in: send a Kerberos ticket. | Служебный ответ шлюза: он ждёт билет Kerberos. Обычно пользователь его не видит. | Ничего не нужно. |
Подключение в BURSUcm
| Сообщение | Что это значит | Что делать |
|---|---|---|
| Not available in PAM Gateway mode: the gateway's catalogue is read-only. | В режиме шлюза нельзя менять каталог. | Менять серверы может только администратор в консоли. |
| This server is no longer in the gateway's catalogue. Refresh the list and try again. | Сервер удалён или доступ закончился. | Нажмите Refresh the list. |
| The gateway lists no account you may use on this server. | На сервере нет учётной записи, разрешённой вам. | Запросите доступ. |
| The gateway did not accept the sign-in. Its one-time code lives 60 seconds; connect again. | Одноразовый тикет не принят (истёк или использован). | Подключитесь ещё раз. |
| The gateway's one-time code could not be requested. Connect again. | Тикет не удалось получить (Universal). | Подключитесь ещё раз. |
| Through the gateway, RDP needs the BURSUrdp engine, which is not available on this computer. | Нет встроенного движка RDP. | Переустановите BURSUcm или откройте RDP через mstsc. |
| The gateway's rules do not allow a terminal on this server. | Правило разрешает только файлы. | Используйте панель файлов. |
| RDP connection failed: … | Рамка окна: не удалось подключить RDP. После двоеточия причина. | Прочитайте причину. |
| SSH connection failed: … | Рамка окна: не удалось подключить SSH. | Прочитайте причину. |
| Could not connect (VNC): … | Рамка окна VNC. | Прочитайте причину. |
| Could not open the terminal: … | Рамка окна терминала. | Прочитайте причину. |
| Download is not allowed by the gateway's rule. | Правило не разрешает скачивание. | Запросите доступ с нужным правом. |
| Upload is not allowed by the gateway's rule. | Правило не разрешает загрузку. | То же. |
| Copying on the server is not available through the gateway. | Копирование внутри сервера недоступно. | Скачайте и загрузите заново. |
| Changing files on this server is not allowed by the gateway's rule. | Правило не разрешает менять файлы. | То же. |
| The gateway's rules do not allow file transfer to this server. | Передача файлов запрещена. | То же. |
| File transfer is not available for Telnet servers. | Telnet не поддерживает файлы. | Используйте другой сервер. |
| The gateway ↔ server leg is not encrypted. | Предупреждение: отрезок от шлюза до сервера (VNC без TLS, Telnet) не зашифрован. | Работайте, если организация это допускает. |
Базы данных в BURSUcm
| Сообщение | Что это значит | Что делать |
|---|---|---|
| This pass is shown only now. Closing this window drops it. | Пропуск виден лишь в этом окне. | Скопируйте его сейчас или получите новый (New pass). |
| The first-use time is over. If you have not used this pass yet, get a new one. A pass already in use opens new connections until … from this computer. | Время первого подключения кончилось. Если пропуск уже применялся, он работает до указанного часа. | Если не применяли, получите новый. |
| This pass has ended. Get a new one. | Пропуск кончился. | Нажмите New pass. |
| The pass was revoked and its connections were closed. | Пропуск отозван кнопкой Revoke. | При необходимости получите новый. |
| This gateway asks SQL Server clients for strict encryption (TDS 8.0, Encrypt=Strict). | Пояснение: клиент SQL Server должен использовать Encrypt=Strict. | Настройте клиент. |
| This gateway asks SQL Server clients for mandatory encryption (Encrypt=True). | Пояснение: строгий режим выключен, нужно Encrypt=True. | Настройте клиент. |
| Could not save the certificate: … | Не удалось сохранить файл сертификата. | Выберите другую папку. |
SSH-терминал: отказы при входе
| Сообщение | Что это значит | Что делать |
|---|---|---|
| Several accounts on … are allowed for you: connect as …:…:<account>. | Разрешено несколько учётных записей, а вы не выбрали. | Добавьте третью часть в имя. |
| Two-factor sign-in is not set up for your account. Set it up in the web console first. | Второй фактор не настроен. | Настройте аутентификатор в консоли. |
| Your password must be changed in the web console first. | Пароль нужно сменить. | Смените пароль в консоли. |
| The gateway's licence does not allow new sessions now. Contact the administrator. | Лицензия не допускает новых сеансов. | Сообщите администратору. |
| The server's host key has not been confirmed or has changed. Contact the administrator. | Ключ сервера не подтверждён или изменился. | Сообщите администратору. |
| The server could not be reached or refused the login. Contact the administrator. | Сервер недоступен или отверг сохранённый вход. | Сообщите администратору. |
| The gateway cannot record sessions right now. Contact the administrator. | Шлюз не может записывать. | Сообщите администратору. |
| Access is not allowed now. You can request it in the web console: … | Правило сейчас вам не подходит, но доступ можно запросить. После двоеточия адрес страницы запросов. | Откройте адрес и подайте запрос. |
| Access is not allowed now. You can request it in the web console under My access, Access requests. | То же, без адреса. | Откройте в консоли My access, затем запросы. |
| … is not reached over SSH. Use its own connection in BURSUcm. | Сервер RDP или базы данных по SSH не открывается. | Используйте My access или BURSUcm. |
| This server is reached with a VNC viewer. Use «Connect» in the console or BURSUcm. | Сервер VNC по SSH не открывается. | Нажмите Connect в консоли. |
| This server is reached over Telnet: only an interactive session is possible, not a single command. | На Telnet нельзя выполнить отдельную команду. | Подключайтесь интерактивно. |
| This server needs a terminal. Connect without -T (or with -t). | Нужен терминал. | Уберите -T или добавьте -t. |
| Commands on this server are checked and need a terminal. Connect with ssh -t. | На сервере включён контроль команд, терминал обязателен. | Добавьте -t. |
| Command not allowed by policy …. | Команда запрещена политикой контроля команд. | Обратитесь к администратору (Контроль команд). |
| The gateway could not find out which command policies apply to you, so the session is refused. Try again, or contact the administrator. | Шлюз не смог определить политики команд. | Повторите позже. |
| Your access rule allows file transfer only, not a terminal or commands on this server. | Правило не разрешает терминал. | Используйте sftp или scp. |
| The command is not valid UTF-8 text. | Команда содержит недопустимые символы. | Проверьте кодировку. |
SSH-терминал: сообщения во время сеанса
| Сообщение | Что это значит | Что делать |
|---|---|---|
| This session goes through BURSU PAM and is recorded. | Заголовок по умолчанию. | Ничего не нужно. |
| The session was ended by …. | Сеанс завершил администратор или политика. | Обратитесь к администратору. |
| Your access to this server has ended. The session is closed. | Право кончилось. | Запросите новое. |
| The session was closed after … minutes without input. | Нет ввода слишком долго. | Подключитесь заново. |
| The session cannot be recorded and is closed. Contact the administrator. | Запись невозможна. | Сообщите администратору. |
| Your access rule no longer allows a terminal on this server. The session is closed. | Правило изменилось: терминал запрещён. | Обратитесь к администратору. |
| Your granted access ends in … minutes. File an extension request if you need more time. | Выданный вам доступ скоро кончится. | Подайте запрос на продление. |
| Your granted access has ended. The session is closed. | Срок доступа вышел. | Подайте новый запрос. |
| Your granted access was revoked by …. The session is closed. | Доступ отозвал указанный человек. | Обратитесь к нему или к администратору. |
| Emergency access: this use is recorded, the responsible people have been told, and it will be reviewed. | Вы вошли по экстренному доступу. | Работайте только по делу (Экстренный доступ). |
| Signing in to … as … (profile …)… | Шлюз входит на сервер Telnet вашей учётной записью. | Подождите. |
| … is reached over Telnet: the connection between the gateway and the server is not encrypted. | Предупреждение о Telnet. | Не вводите там секреты, если это недопустимо. |
| The server did not show a login prompt the gateway recognises (profile …). Contact the administrator. | Не опознано приглашение входа. | Сообщите администратору. |
| The server refused the stored login. Contact the administrator. | Сервер отверг сохранённый вход. | Сообщите администратору. |
| The server closed the connection during the login. | Сервер оборвал вход. | Повторите. Если повторяется, сообщите администратору. |
| The server sent too much text before the login finished. Contact the administrator. | Слишком длинный вывод до входа. | Сообщите администратору. |
| The server asks for the account's password to be changed. Contact the administrator. | Сервер требует смены пароля учётной записи. | Сообщите администратору. |
| The login on the server did not finish in time. Contact the administrator. | Вход не завершился вовремя. | Сообщите администратору. |
| The server refused the stored privileged-mode password; you are signed in at user level. | Привилегированный режим не включился. | Работайте на уровне пользователя или сообщите администратору. |
| The server broke the Telnet protocol; the session ends. | Нарушение протокола Telnet. | Сообщите администратору. |
| The gateway could not use the stored login secret. Contact the administrator. | Не удалось применить сохранённый секрет. | Сообщите администратору. |
SSH-терминал: контроль команд
| Сообщение | Что это значит | Что делать |
|---|---|---|
| Command not run: policy … does not allow it. | Команда не выполнена: запрещена политикой. | Обратитесь к администратору. |
| The session was ended by policy …. | Политика завершила сеанс. | То же. |
| The command was cancelled, but the gateway could not confirm that it did not run (policy …). Check what it did. | Команда отменена, но шлюз не уверен, что она не исполнилась. | Проверьте результат на сервере. |
| The session was ended: a command was cancelled but the gateway could not confirm that it did not run (policy ….). | То же, сеанс завершён. | Проверьте результат. |
| This command needs approval from a second person. Waiting up to … s. Ctrl-C to withdraw. | Команда ждёт подтверждения. | Дождитесь или нажмите Ctrl+C. |
| A second person allowed the command; it runs now. | Команду подтвердили. | Ничего не нужно. |
| A second person refused the command; it was not run (policy ….). | Подтверждающий отказал. | Обсудите с ним. |
| No second person answered in time, so the command was not run (policy ….). | Никто не ответил вовремя. | Повторите команду. |
| Withdrawn. The command was not run. | Вы отозвали команду. | Ничего не нужно. |
| No second person is available to confirm this command, so it was not run. | Нет доступного подтверждающего. | Обратитесь к администратору. |
| The confirmation was cancelled, so the command was not run (policy ….). | Подтверждение отменено. | Повторите. |
| The held line changed while it waited, so it was not run. | Строка изменилась во время ожидания. | Введите заново. |
| Too many commands are waiting for confirmation on this gateway; this one was not run. Try again shortly. | Слишком много команд ждут подтверждения. | Повторите позже. |
| Confirmation is not available right now (the gateway cannot reach its database), so the command was not run. | Подтверждение недоступно. | Повторите позже. |
| Command control cannot stop commands in this shell (fish, or inside tmux or screen): they are recorded and reported only. | В этой оболочке команды не останавливаются, только записываются. | Ничего не нужно. |
| On this device a command being edited cannot be stopped yet: command lines are recorded and reported only. | На этом устройстве запрет невозможен. | Ничего не нужно. |
| The keys were rebound in this session. The gateway can no longer promise to stop a command here; this is recorded. | Клавиши переназначены, защита снижена. | Не переназначайте клавиши. |
| The session was ended: the keys were rebound, so policy … can no longer be applied. | Сеанс закрыт из-за переназначения клавиш. | Подключитесь заново. |
| Too many lines at once: a script is not typed. Nothing was sent. | Вставлено слишком много строк. | Вставляйте по частям. |
| Too many lines could not be read, so commands are refused for the rest of this session (policy ….). | Шлюз не смог разобрать много строк, команды запрещены. | Подключитесь заново. |
| This line cannot be shown safely to the person who would confirm it, so it was not run. | Строку нельзя безопасно показать подтверждающему. | Упростите команду. |
| Command control now applies to this server and needs a terminal, so the session is closed. | На сервер включили контроль команд. | Подключитесь с -t. |
SFTP и SCP
| Сообщение | Что это значит | Что делать |
|---|---|---|
| File transfer to this server is not allowed by your access rule. | Правило не разрешает передачу файлов. | Запросите доступ. |
| Uploading files to this server is not allowed by your access rule. | Загрузка запрещена. | То же. |
| Downloading files from this server is not allowed by your access rule. | Скачивание запрещено. | То же. |
| Changing files on this server is not allowed by your access rule. | Изменение файлов запрещено. | То же. |
| The gateway refused a malformed or unsupported request. | Клиент отправил неправильный запрос. | Используйте другой клиент или обновите этот. |
| Copying on the server is not available through the gateway. Download the file and upload it instead. | Копирование внутри сервера недоступно. | Скачайте и загрузите. |
| This operation is not supported through the gateway. | Расширение SFTP не поддерживается. | Выберите другую операцию. |
| The gateway stopped this transfer: your access changed. | Ваше право изменилось. | Проверьте My access. |
| Too many files are open in this session. Close some and try again. | Слишком много открытых файлов. | Закройте часть. |
| This file is larger than the gateway allows (… MB). | Файл больше допустимого. | Передайте по частям или обратитесь к администратору. |
| This session has moved as much data as the gateway allows (… MB). | Лимит сеанса исчерпан. | Начните новый сеанс. |
| The gateway ended the file session: the client or the server broke the SFTP protocol. | Нарушение протокола SFTP. | Повторите. Если повторяется, сообщите администратору. |
| The server printed text before the file transfer started (a login script?), so the gateway cannot start SFTP. Contact the administrator. | Сервер печатает текст при входе. | Сообщите администратору. |
| The server speaks an SFTP version the gateway does not support. Contact the administrator. | Версия SFTP сервера не поддерживается. | Сообщите администратору. |
| Your access to this server has ended. The file session is closed. | Право кончилось. | Запросите новое. |
| The file session was ended by …. | Сеанс завершён. | Обратитесь к администратору. |
| The file session was closed after … minutes without activity. | Простой. | Подключитесь заново. |
| The file session cannot be logged and is closed. Contact the administrator. | Запись журнала невозможна. | Сообщите администратору. |
| File transfer is not available for Telnet servers. | Telnet не поддерживает файлы. | Используйте другой сервер. |
| This copy direction is not allowed by your access rule. | Направление запрещено. | Запросите доступ. |
| The gateway accepts only plain scp commands. Quote the whole path and leave out shell symbols. | В пути есть символы оболочки. | Заключите путь в кавычки, уберите символы. |
| File transfer tools like rsync or a hand-started sftp-server are not allowed through the gateway. Use sftp or scp. | rsync и ручной sftp-server запрещены. | Используйте sftp или scp. |
RDP
| Сообщение | Что это значит | Что делать |
|---|---|---|
| The file is not signed yet, so Remote Desktop warns that the publisher is unknown. Tick only the devices your rule allows; the gateway blocks the rest. | Файл не подписан, Windows предупреждает об издателе. | Принимайте, если организация разрешает. Подпись настраивает администратор. |
| The file offers only the devices and drives your rule allows. Ticking more in Remote Desktop changes nothing: the gateway blocks them. | Лишние устройства блокируются. | Ничего не нужно. |
| This connection has expired or does not exist. | Резервирование кончилось. | Нажмите Connect заново. |
| The code for this connection has already been shown. If it did not work, start again. | Код уже показывали. | Нажмите Start again. |
Если шлюз отказал в самом подключении RDP, mstsc покажет только свой общий текст, например «неверные учётные данные». Шлюз не передаёт причину клиенту RDP. Причина записана в журнале аудита. Подробнее: Отказы.
VNC
| Сообщение | Что это значит | Что делать |
|---|---|---|
| This gateway needs a viewer that speaks RFB 3.8 with VeNCrypt. | Просмотрщик не поддерживает нужный протокол. | Используйте TigerVNC. |
| Use VeNCrypt X509Plain (TigerVNC: -SecurityTypes=X509Plain). | Просмотрщик не предложил нужный способ входа. | Добавьте ключ -SecurityTypes=X509Plain. |
| This gateway accepts only a one-time code from the console or from BURSUcm. | Неверное имя пользователя. | Имя — bursu-ticket, пароль — тикет со страницы. |
| Sign-in refused. | Тикет не принят: истёк, использован, взят с другого адреса или слишком много попыток. | Получите новый тикет на том компьютере, где запускаете просмотрщик. |
| The gateway cannot take another VNC session now. Try again later. | Достигнут предел сеансов VNC. | Повторите позже. |
| The server cannot be reached from the gateway. | Шлюз не достаёт до сервера. | Сообщите администратору. |
| The server's certificate is not the confirmed one. Contact the administrator. | Сертификат сервера не тот, что подтверждён. | Сообщите администратору. |
| The server no longer offers the sign-in the administrator configured. Contact the administrator. | Сервер изменил способ входа. | Сообщите администратору. |
| The server refused the stored login. Contact the administrator. | Сервер отверг сохранённый вход. | Сообщите администратору. |
| The gateway's licence does not allow new sessions now. Contact the administrator. | Лицензия не допускает новых сеансов. | Сообщите администратору. |
| The session was closed: the viewer or the server broke the VNC protocol. | Нарушение протокола VNC. | Повторите, сообщите администратору. |
| The viewer changed its colour depth mid-session; set a fixed colour level in the viewer (for TigerVNC: turn off AutoSelect / use full colour). | Глубина цвета изменена во время сеанса. | Задайте фиксированный уровень цвета. |
| Your access has ended. | Право кончилось. | Запросите новое. |
| The session was ended by an administrator. | Сеанс завершил администратор. | Обратитесь к нему. |
| The session was closed after a period without input. | Простой. | Подключитесь заново. |
| The session reached its time limit. | Предел длительности. | Подключитесь заново. |
| The session was closed because it could not be recorded. | Запись невозможна. | Сообщите администратору. |
| (view only) | Метка в заголовке окна: сеанс только для просмотра. | Ничего не нужно. |
Базы данных (в программе-клиенте)
| Сообщение | Что это значит | Что делать |
|---|---|---|
| Login failed. Get a new pass in the console or BURSUcm. | Пропуск неверный, истёк, использован с другого адреса или имя пользователя неверно. | Получите новый пропуск, проверьте имя. |
| The gateway accepts only encrypted connections. | Клиент подключается без TLS. | Включите шифрование. |
| Your client must support SCRAM-SHA-256 or caching_sha2_password. | Клиент не умеет нужный вход. | Обновите клиент. |
| Your client must use channel binding. | Нужна привязка канала. | Включите channel_binding=require или обновите клиент. |
| Only SQL Server authentication with a gateway pass is accepted. | Допустим только вход SQL Server с пропуском. | Выберите SQL Server Authentication. |
| This gateway requires Encrypt=Strict. | Нужно строгое шифрование. | Выберите Encryption: Strict. |
| Not allowed through the gateway. | Команда или функция запрещена правилом. | Обратитесь к администратору. |
| Replication is not allowed through the gateway. | Репликация запрещена. | Не используйте её. |
| Loading local files is not allowed by your access rule. | Загрузка локальных файлов запрещена. | Не используйте --local-infile. |
| The statement is larger than the gateway allows. | Слишком большой запрос. | Разбейте. |
| This protocol version is not supported. | Версия протокола не поддерживается. | Обновите клиент. |
| The server's certificate is not confirmed. Ask the administrator. | Сертификат сервера не подтверждён. | Сообщите администратору. |
| The server does not offer encryption. | Сервер не поддерживает шифрование. | Сообщите администратору. |
| The server asks for a weak sign-in the gateway is not allowed to use. | Сервер требует слабый вход, а шлюзу это не разрешено. | Сообщите администратору. |
| The gateway could not sign in to the server. | Шлюз не вошёл на сервер. | Сообщите администратору. |
| The server is too old for the gateway. | Версия сервера не поддерживается. | Сообщите администратору. |
| The server tried to redirect the connection; the gateway does not follow redirects. | Сервер пытался перенаправить соединение. | Сообщите администратору. |
| The gateway could not reach the server. | Сервер недоступен шлюзу. | Сообщите администратору. |
| Your access ended. | Право кончилось. | Запросите новое. |
| Your pass was revoked. | Пропуск отозван. | Получите новый. |
| Closed after inactivity. | Соединение закрыто из-за простоя. | Подключитесь заново. |
| A gateway limit ended the session. | Достигнут предел шлюза. | Подключитесь заново; при повторах сообщите администратору. |
| An administrator ended this session. | Сеанс завершил администратор. | Обратитесь к нему. |
| The gateway cannot record; the session is closed. | Запись невозможна. | Сообщите администратору. |
Частые вопросы
Нужен ли шлюзу интернет?
Нет. Интернет нужен только для лицензии в один щелчок и фоновой сверки с bursucm.com — и то по желанию: всё то же делается без сети, кодом запроса, который вы переносите на портал с любого компьютера («Пробный период», «Активация»). Если шлюз выходит в интернет через прокси, укажите его на Settings → Licence.
На какой системе можно поставить шлюз?
В версии 1.0.0 — только Ubuntu 24.04 LTS, amd64, пакетом .deb («Требования»). Других пакетов и образов в этом выпуске нет.
Должны ли пользователи знать пароли серверов?
Нет — в этом смысл шлюза. Пароли и ключи учётных записей хранит шлюз (зашифрованными мастер-ключом) и сам подставляет их при подключении. Пользователь входит на шлюз со своим логином; что ему доступно, решают правила доступа («Правила доступа»).
Что, если шлюз недоступен?
Пока шлюз не работает, через него никто не подключится. Целевые серверы по правилам сети принимают подключения только от шлюза («Целевые серверы»), поэтому заранее определите аварийный путь в обход шлюза: например, консоль гипервизора или отдельную учётную запись, хранимую в сейфе. В запечатанном режиме шлюз после каждого перезапуска ждёт фразу на /unseal — держите под рукой минимум двух людей, которые её знают.
Обрываются ли сессии при перезапуске или обновлении?
Да. Перезапуск службы и обновление пакета закрывают все идущие сессии. Планируйте их на окно обслуживания («Обновление»). Утилита needrestart после обновлений Ubuntu сама шлюз не перезапускает («Обновления Ubuntu»).
Сколько нужно администраторов?
Не меньше двух. Если администратор потерял телефон с приложением-аутентификатором, он входит одним из кодов восстановления, а без них другой администратор сбрасывает ему двухфакторный вход: карточка пользователя → Reset MFA («Пользователи»). Способа вернуть вход единственному администратору, который потерял и телефон, и коды, в консоли нет.
Что нужно сохранить, чтобы восстановить шлюз?
Три вещи: копию базы, каталог /var/lib/bursu-pam (в нём мастер-ключ и записи) и ключ восстановления. Без каталога данных или ключа восстановления копия базы бесполезна — пароли и записи в ней не расшифровать («Резервное копирование»).
Как перенести шлюз на другой сервер?
Сделайте копию (база и /var/lib/bursu-pam), поставьте тот же пакет на новый сервер, восстановите обе части, запустите службу и перенесите лицензию на новый хост («Восстановление», «Перенос лицензии»). После смены хоста у вас не меньше 14 дней на перенос лицензии (сколько использовано, видно на Settings → Licence в поле This host); всё это время шлюз работает полностью.
Сколько места занимают записи?
Зависит от числа и длины сессий: текстовые сессии (SSH, Telnet, базы данных) занимают мало, графические (RDP, VNC) — заметно больше. bursu-pam-check предупреждает, если в /var/lib/bursu-pam свободно меньше 5 ГиБ. Записи можно держать на отдельном диске («Записи на другом диске»); срок их хранения задаётся в настройках сессий («Сессии»).
Могут ли набранные пароли попасть в журнал PostgreSQL?
Могут, если включён журнал медленных запросов PostgreSQL. Шлюз хранит набранный текст сессий для поиска по архиву (для RDP — если включено Index typed text for search), и PostgreSQL по умолчанию пишет параметры медленных запросов в свой журнал. Для базы шлюза задайте log_parameter_max_length = 0 или не включайте log_min_duration_statement.
Браузер предупреждает о сертификате. Это нормально?
Сразу после установки — да: шлюз сам создаёт самоподписанный сертификат на два года. Для работы поставьте сертификат своего удостоверяющего центра («Свой сертификат»). Самоподписанный сертификат сам не продлевается.
Почему так важно точное время на шлюзе?
От времени зависят коды двухфакторного входа, вход по Kerberos, порядок записей в журнале аудита и сроки лицензии. Если шлюз обнаружит, что не может доверять своему времени (например, базу восстановили из старой копии), он прекращает новые сессии до получения лицензии поддержки («Время шлюза»). Держите синхронизацию времени включённой.
Что считается «активным сервером» в лимите лицензии?
Сервер в каталоге Servers, который включён. Выключенные серверы в лимит не входят — их можно держать в каталоге сколько угодно. Если включённых больше, чем разрешает лицензия, сессии идут только к серверам в пределах лимита, а после льготного периода изменения запрещены («Состояния лицензии»).
Словарь терминов
| Термин | Что это |
|---|---|
| Ask a second person (подтверждение вторым) | Действие записи политики: строка задерживается, пока другой человек с ролью Approver не разрешит её. Ожидание без ответа считается отказом. |
| Bind DN | Различающееся имя служебной учётной записи, под которой шлюз читает каталог. |
| bursu-pam-check | Команда проверки сервера: ядро, база, права, порты, время, место. Только читает. |
| bursu-pam-configure | Мастер в терминале: какие входы включить и на каких портах. Запускается при первой установке и вручную. |
| CEF, LEEF, JSON | Три формата сообщений журнала для SIEM: CEF (ArcSight), LEEF 2.0 (QRadar) и JSON. |
| ControlMaster | Общий канал OpenSSH для нескольких команд. Через шлюз не работает: один сеанс на одно соединение. |
| Deny-list / Allow-list | Режимы политики. Deny-list: выполняется всё, что не запрещено. Allow-list: отклоняется всё, что не перечислено как разрешённое. |
| Encrypt=Strict (TDS 8.0) | Строгое шифрование SQL Server. Включено по умолчанию. |
| gateway.json | Файл /etc/bursu-pam/gateway.json: база, адреса и порты входов, сертификат, каталоги. Всё остальное настраивается в консоли. |
| Kerberos / SPN / keytab | Протокол входа без пароля в домене Windows; имя службы HTTP/полное-имя-шлюза; файл с ключами службы (нужен шлюзу на Linux). |
| kvno | Номер версии ключа Kerberos. Должен совпадать у учётной записи и у keytab. |
| LDAPNOINIT | Переменная окружения =1, которую задаёт модуль systemd шлюза на Linux; без неё шлюз не соединяется с каталогами. |
| LDAPS | LDAP поверх TLS (порт 636). Единственный способ связи шлюза с каталогом. |
| My access | Страница консоли (/access) со списком серверов и учётных записей, к которым вам разрешён доступ сейчас. С неё получают одноразовый файл RDP, тикет VNC и пропуск к базе. |
| NLA (CredSSP) | Проверка подлинности на уровне сети в RDP. Шлюз принимает только её. |
| NTLM | Старый способ проверки подлинности Windows. Шлюз подключается к RDP-серверам только так, поэтому разрешение включается отдельно на каждом сервере с подтверждением и пометкой «слабая защита». |
| PAM (Privileged Access Management) | Управление привилегированным доступом: администраторы ходят на серверы не напрямую, а через шлюз, который проверяет право, сам подставляет пароль и записывает сессию. |
| PAM Gateway (режим BURSUcm) | Четвёртый способ хранения данных в BURSU Connection Manager. Каталог серверов берётся из шлюза и доступен только для чтения, а все сеансы идут через шлюз. |
| SIEM | Внешняя система сбора и анализа событий безопасности, куда шлюз отправляет копию журнала. |
| STARTTLS | Способ включить шифрование на уже открытом почтовом соединении. Если сервер его не предлагает, шлюз ничего не отправляет. |
| Syslog | Стандартный протокол передачи журнальных сообщений; шлюз использует RFC 5424. |
| TigerVNC | Единственный просмотрщик VNC, с которым шлюз работает (VeNCrypt X509Plain). |
| TOFU | «Доверие при первом использовании»: администратор один раз сверяет отпечаток на самом сервере и подтверждает его, после этого шлюз доверяет только ему. Так же работают сертификаты RDP, VNC и баз данных. |
| TOTP | Одноразовый шестизначный код из приложения-аутентификатора на телефоне, обновляется каждые 30 секунд. |
| VeNCrypt X509Plain | Способ входа VNC: шифрование TLS плюс имя и пароль (здесь пароль — тикет). |
| Аварийный доступ (break-glass) | Доступ без согласования для особо отмеченных людей: по свежему коду приложения-аутентификатора и с причиной. Немедленно оповещает ответственных и подлежит проверке. |
| Аварийный локальный администратор | Локальная учётная запись администратора, созданная при первоначальной настройке. Входит всегда, даже если каталог недоступен. |
| Автоматическое одобрение | Режим правила, при котором доступ выдаётся в момент запроса, а причина всё равно записывается. |
| Активный сервер | Сервер, который включён и к которому можно подключиться. Сервер RDP, VNC с TLS и база данных создаются выключенными, пока не подтверждён сертификат. |
| Аудитор | Роль только для чтения журнала, записей и отчётов; может завершать сессии и разбирать экстренный доступ. |
| Баннер | Текст, который человек видит в начале каждой SSH-сессии (по умолчанию — уведомление о записи). |
| Блокировка | Временное отключение входа после нескольких неудач подряд. Число попыток и срок задаются в Sign-in and MFA. |
| Бюджет памяти картинок | Параметр renderMemoryBudgetMb в gateway.json: сколько памяти шлюз отдаёт под сборку картинок записей. Один человек занимает не больше половины. |
| Вебхук (webhook) | Передача события по адресу https в виде JSON с подписью HMAC-SHA256, чтобы приёмник мог убедиться, что сообщение отправил шлюз. |
| Вердикт | Итог проверки аварийного доступа: Justified, Not justified или Needs follow-up. |
| Водяной знак | Диагональная надпись «логин (Имя)» на всех страницах консоли, включаемая настройкой Watermark. |
| Водяной знак (watermark) | Диагональная надпись с логином и именем поверх консоли. |
| Временный пароль | Пароль, который задал администратор: человек должен сменить его при первом входе. |
| Вход (front end) | Порт шлюза для одного протокола: SSH (2222), RDP (3389), VNC (5900), PostgreSQL, MySQL, SQL Server. Включается в gateway.json. |
| Выданный доступ (grant) | Разрешение, которое шлюз записывает при одобрении запроса или при аварийном доступе. Его нельзя изменить: оно заканчивается в срок или отзывается. |
| Голова цепочки | Номер и хэш последнего события журнала. Его сравнивают с копией в SIEM, чтобы заметить удаление хвоста. |
| Группа шаблонов (Pattern group) | Именованный набор шаблонов: слов команды или регулярных выражений. Используется в записях политик. |
| Доставка «не меньше одного раза» | Событие может прийти в SIEM дважды, но ни одно не пропускается. Повторы отсеивают по номеру и хэшу события. |
| Живой просмотр | Наблюдение за идущей сессией. Для RDP и VNC живая картинка не проверена и не является доказательством. |
| Журнал аудита | Список всех значимых событий шлюза. Каждое событие хранит хэш предыдущего, поэтому журнал работает как цепочка. |
| Закрепление корня (root pinning) | Администратор подтверждает один корневой сертификат; шлюз принимает только серверы каталога с сертификатом под этим корнем. |
| Закрепление сертификата | BURSUcm запоминает сертификат шлюза при первом доверии для сочетания «адрес и порт». Если сертификат изменится, подключение отклоняется, пока вы не нажмёте Forget the gateway's certificate. |
| Закрепление сертификата (pin) | Подтверждённый отпечаток сертификата сервера RDP, VNC или базы данных. При смене адреса, порта или протокола закрепление сбрасывается, а сервер выключается. |
| Запечатанный режим (sealed) | Режим мастер-ключа с фразой не короче 12 символов. После каждого запуска службы администратор вводит фразу на /unseal; до этого шлюз не работает. |
| Запечатывание | Закрытие части записи: после него часть нельзя дописать, а её сумма попадает в манифест. |
| Запись, оборванная аварией | Запись, которую шлюз закрыл при остановке или сбое. Записанное подписано, но конец может отсутствовать. |
| Запрос доступа | Просьба человека о доступе к паре «сервер — учётная запись» на ограниченное время. Решение принимают согласующие. |
| Защита ОС (OS-protected) | Режим мастер-ключа, в котором шлюз открывает ключ сам при запуске службы. Рекомендуется. |
| Имя пользователя для шлюза | Для SSH и баз данных: логин:сервер или логин:сервер:учётная_запись. Для RDP: bursu-<идентификатор> (длинная строка из файла .rdp). Для VNC и SSH-входа BURSUcm: bursu-ticket. |
| Исход события | Success — успех; Failure — сбой; Refused — отказ по правилам или проверке. |
| Каталог (directory) | Подключённый сервер Active Directory или LDAP, откуда шлюз берёт пользователей и их группы. |
| Кворум | Число одобрений от разных людей, необходимое правилу (от 1 до 5). Автор запроса не считается. |
| Ключ SSH шлюза | Собственный ключ хоста шлюза, который видят SSH-клиенты людей. Не путать с ключами целевых серверов. |
| Ключ активации | Код BPK- и 20 знаков из письма о покупке. Обменивается на лицензию на портале bursucm.com. |
| Ключ восстановления | Строка, выдаваемая при создании или смене ключа. Нужна для смены режима. Показывается один раз. |
| Ключ восстановления (recovery key) | Показывается один раз в мастере /setup. Восстанавливает мастер-ключ, если файл ключа потерян или забыта фраза. Хранится офлайн, не на шлюзе. |
| Ключ хоста | Открытый ключ, которым SSH-сервер доказывает, что это именно он. Шлюз запоминает его отпечаток (SHA256) при подтверждении и отказывает, если ключ изменился. |
| Ключ шифрования | Главный ключ шлюза, которым зашифрованы пароли и ключи учётных записей серверов. |
| Код запроса | Текст, который шлюз без интернета показывает для переноса на портал с другого компьютера; ответ портала — файл лицензии. |
| Код настройки (setup code) | Одноразовый код из 12 знаков (вид XXXX-XXXX-XXXX) в /var/lib/bursu-pam/setup-code. Нужен один раз — чтобы открыть мастер /setup. |
| Коды восстановления | Десять одноразовых кодов, заменяющих код из приложения, если телефон потерян. Показываются один раз. |
| Колокольчик (Alerts) | Значок в верхней панели со списком текущих проблем и дел. |
| Контроль команд | Защитный барьер и журнал: шлюз читает вводимые строки и по политикам разрешает, помечает, задерживает до подтверждения, отклоняет или закрывает сессию. Не граница безопасности. |
| Контрольная точка | Событие Audit chain checkpoint signed: после успешной ночной проверки шлюз подписывает номер последнего проверенного события. При нарушении цепочки не пишется. |
| Копия файла | Зашифрованная копия переданного файла рядом с записью сессии. Хранится не дольше записей. |
| Курсор доставки | Номер последнего события, получение которого подтвердил приёмник SIEM. С него продолжается отправка после сбоя. |
| Лимит лицензии | Наибольшее число одновременно активных серверов, которое допускает лицензия. |
| Лицензия (.bpl) | Подписанный файл BURSUsofts: срок, число активных серверов, льготные дни. Устанавливается на Settings → Licence. |
| Льготный период (grace) | Дни после окончания платной лицензии, когда шлюз ещё работает полностью и показывает предупреждение. У пробной лицензии льготного периода нет. |
| Манифест | Подписанное описание записи сессии: список её частей с размерами и контрольными суммами. |
| Мастер-ключ | Ключ, которым шлюз шифрует пароли целевых систем, ключи и записи сессий. Хранится в /var/lib/bursu-pam/keys. |
| Мягкая остановка | Что делает шлюз без действующей лицензии: новые сессии и изменения запрещены, а вход, журналы, отключение лишнего и обрыв сессий работают. |
| Нечитаемая строка | Строка, которую шлюз не смог надёжно прочитать с экрана: полноэкранная программа, ввод без эха, очищенный экран. |
| Одноразовый тикет | Короткий секрет, который заменяет пароль при подключении. Живёт 60 секунд, подходит один раз. Для RDP это «код», для VNC и SSH-входа BURSUcm — тикет. Ни в журнал, ни в адрес страницы он не попадает. |
| Опорные кадры (индекс) | Сохранённые кадры записи RDP, с которых можно быстро начать показ. Без индекса перемотка медленнее. |
| Ослабляющее изменение | Изменение, которое уменьшает защиту. Консоль требует отметки и свежего подтверждения личности; запись об этом попадает в аудит. |
| Отзыв (Revoke) | Досрочное прекращение выданного доступа. Открытые сессии на нём закрываются сразу. |
| Отпечаток (fingerprint) | Короткая контрольная строка ключа или сертификата для сравнения глазами. Сравнивайте её с тем, что показывает сам сервер. |
| Отпечаток (SHA-256, SPKI) | Короткая контрольная строка сертификата или его ключа. Сверяется с консолью или с тем, что сообщил администратор. |
| Папка серверов | Группа серверов для удобства и для выдачи доступа: правило, назначенное папке, охватывает все серверы в ней, включая вложенные. |
| Повторное подтверждение (re-auth) | Повторный ввод пароля и кода второго фактора перед опасным действием. Действует 10 минут. |
| Повторное подтверждение личности | Ввод пароля и кода ещё раз перед опасным действием. Действует 10 минут. |
| Подписанная запись | Запись сессии, чей манифест подписан ключом шлюза. Только такую запись считают доказательством. |
| Подпись файла .rdp | Электронная подпись файла подключения, которую человек скачивает в «My access». Подписанный файл показывает издателя и защищён от изменений. |
| Подтверждение закрытием соединения | Приёмник подтверждает получение тем, что закрывает своё соединение после закрытия шлюзом; иначе шлюз не считает события принятыми. |
| Подтверждение личности | Повторный ввод пароля и кода (действует 10 минут), который требуется для ослабляющих изменений: Telnet, NTLM, слабый вход, расширение прав правила, смягчение настроек. |
| Политика контроля команд | Набор записей с областью применения (кто и где). Первая подошедшая запись решает; из нескольких политик побеждает самая строгая. |
| Политика файлов | Часть правила доступа: направление передачи файлов, терминал, буфер обмена, устройства RDP, копии файлов. Для нескольких правил права складываются. |
| Правило «По запросу» (By request) | Правило, которое само ничего не разрешает, а определяет, кто, что, на какой срок и у кого вправе просить. Создаётся администратором. |
| Правило доступа (rule) | Кто (люди и группы), куда (серверы и папки), под какими учётными записями, когда и что можно переносить. Доступ без правила не даётся. |
| Привилегированный режим | Для сетевого устройства: шлюз после входа сам вводит пароль повышения (enable). Работает только со встроенными профилями; пароль хранится как секрет. |
| Привязка к каналу (channel binding) | Защита входа через Windows от пересылки билета третьему лицу. Настраивается в Sign-in and MFA. |
| Привязка канала (channel binding) | Защита входа PostgreSQL SCRAM от подмены шлюза. Клиент должен её поддерживать. |
| Пробный период (trial) | 7 дней, до 25 серверов, без льготного периода и без предупреждения об окончании; один раз на установку. |
| Проверка применения | Обязательный разбор каждого применения аварийного доступа человеком с ролью Approver или Auditor, который не пользовался этим доступом. Заканчивается вердиктом и заметкой. |
| Продление (Extend) | Новый запрос, который начинается в момент окончания текущего доступа и рассматривается как любой другой. |
| Пропуск (pass) | Одноразовый пароль, который человек получает в «My access» и вводит как пароль базы данных в своём клиенте. Время жизни и число подключений задаются в настройках баз данных. |
| Профиль устройства | Описание того, как шлюз входит на Telnet-устройство: какие строки ждать и что печатать (имя, пароль). Есть встроенные профили (только для чтения) и свои. |
| Работник сессии (worker) | Отдельный изолированный процесс, который шлюз запускает на каждую RDP- или VNC-сессию и на отрисовку записи; ограничен по памяти, процессам и процессору. |
| Разблокировка (unseal) | Открытие мастер-ключа на странице /unseal — фразой или ключом восстановления. |
| Разбор экстренного доступа | Проверка использования согласующим или аудитором (не самим пользователем) с вердиктом Justified, Not justified или Needs follow-up и обязательной заметкой. |
| Режим Protected by the OS / Sealed | Ключ защищён средствами ОС и открывается сам; либо зашифрован парольной фразой, которую вводят после каждого запуска. |
| Резервирование RDP | Запись, которую шлюз создаёт при нажатии Connect у сервера RDP. Живёт 10 минут: за это время нужно открыть файл .rdp. |
| Роль (Administrator, Auditor, Approver, User) | Набор прав человека в консоли. Administrator управляет пользователями, ресурсами, правилами и настройками; Auditor читает журналы и обзор; Approver решает по запросам доступа; User подключается к серверам по правилам. У человека может быть несколько ролей, кроме пары Administrator и Approver, которые несовместимы. |
| Свежий код | Шесть цифр аутентификатора, которые вы раньше не вводили. Нужен при получении пропуска и тикета VNC. Код, которым вы только что вошли, повторно не принимается. Код восстановления тут не подходит. |
| Сверка (reconciliation) | Периодическое заново чтение людей каталога, не реже чем раз в 15 минут, для групп, изменения которых не приходят уведомлением. |
| Секрет «только для записи» | Пароль, ключ или пароль привилегированного режима, которые можно задать или заменить, но нельзя прочитать обратно: ни в консоли, ни в журнале. |
| Сервер (target) | Компьютер или устройство, к которому шлюз подключает человека: SSH, Telnet, RDP, VNC или база данных (PostgreSQL, MySQL, SQL Server). Описывается на странице Servers. |
| Сжатие простоев | Длинные паузы в записи показываются и выгружаются как одна короткая пауза; реальное время показано рядом. |
| Согласующий (Approver) | Роль человека, который решает запросы доступа, подтверждает команды и проверяет применения аварийного доступа. Несовместима с ролью Administrator. |
| Сопоставление групп (group mapping) | Правило «группа каталога даёт роль и/или группу шлюза». |
| Составная строка | Строка с конвейером, перенаправлением или подстановкой. Allow-list принимает её, только если у записи Allow включено Compound lines allowed. |
| Срок хранения | Время, после которого запись удаляется ежедневной очисткой. Задаётся в Keep recordings, months. |
| Стартовый набор (Starter pack) | Готовая заготовка политики; создаётся выключенной, её нужно проверить и включить. |
| Только просмотр | Режим живого просмотра, в котором ничего из того, что вы делаете, не доходит до удалённого компьютера. |
| Точный поиск | Поиск по точному тексту команды (Exact text) или строки сессии (Look up an exact line). Шлюз сверяет защищённый отпечаток, сам текст не сохраняет и не показывает. |
| Установка (installation) | Один экземпляр шлюза со своей базой и идентификатором установки (Installation ID). Лицензия выдаётся на установку и привязана к машине. |
| Учётная запись (account) | Логин на целевом сервере и его секрет. Секрет хранится на шлюзе зашифрованным, человеку не показывается. Человек входит под учётной записью, не зная её пароля. |
| Хэш | Контрольная сумма: короткая строка, которая меняется при любом изменении данных. Хэш события включает хэш предыдущего. |
| Целевой сервер | Сервер, устройство или СУБД, к которым люди подключаются через шлюз. |
| Цепочка журнала | Последовательность событий, связанных хэшами. Изменение или удаление события в середине разрывает цепочку, и проверка это находит. |
| Часовой пояс отображения | Пояс, в котором консоль показывает время и по которому считаются дни графиков и ночные проверки (displayTimeZone). |
| Шлюз | Сервер BURSU PAM: служба bursu-pam-gateway, через которую идут все подключения к целевым серверам. Пароли целевых систем знает только он. |
| Шлюз и терминал (pty) | Контроль команд читает экран терминала. Подключение без терминала (ssh -T) при действующей политике отклоняется. |
| Экспорт в видео | Файл MP4, сделанный из подписанной записи без звука. Не хранится на шлюзе, требует повторного подтверждения личности. |
| Экстренный доступ | Вход на сервер без согласования для срочной работы. Каждое использование обязательно разбирается. |
| Этап входа | Промежуточный шаг, на котором ещё нет полного доступа: проверка кода TOTP, смена временного пароля, настройка TOTP. Каждый этап ограничен по времени. |