Формула remote-access-groups-tigervnc-formula
| Формула используется для установки и настройки ограничений доступа к удаленному устройству через VNC-сервер TigerVNC в зависимости от версии Astra Linux. |
Формула устанавливает и настраивает специализированный пакет osmax-ira-tigervnc, адаптированный под конкретную версию ОС (Astra Linux 1.7 или 1.8), обеспечивая совместимость с системными библиотеками, политиками безопасности и требованиями к аутентификации.
Особенности обработки формулы с учетом версии ОС
Начиная с версии 1.19.0, пакеты TigerVNC разделены по версиям Astra Linux:
-
Astra Linux 1.7 → osmax-ira-tigervnc-astra1.7;
-
Astra Linux 1.8 → osmax-ira-tigervnc-astra1.8.
Формула автоматически выбирает нужный пакет на основе версии ОС (через grains.osmajorrelease).
В формуле указывается базовое имя пакета (name: osmax-ira-tigervnc), без указания версии ОС. Параметр pkg.name в pillar не обязателен: по умолчанию формула использует name: osmax-ira-tigervnc и автоматически дополняет его суффиксом -astra<версия>.
В пользовательском интерфейсе «Кабинет администратора» при заполнении содержимого pillar указывать имя пакета не требуется. Пример:
{
"lookup": {
"pkg": {
"version": "1.4.5"
},
"tigervnc_access_ips": "+",
"x0vncserver_options": {
"rfbport": 5899,
"QueryConnect": 0
},
"remote_access_groups": [
"Domain Users"
]
}
}
Доступные состояния
Состояние remote-access-groups-tigervnc
Мета-состояние, которое включает в себя все необходимые действия для настройки VNC-доступа.
Автоматически:
устанавливает пакет osmax-ira-tigervnc (с указанием версии, если задана);
-
создает файлы /opt/osmax/tigervnc/etc/x0vncserver.options, /etc/access-groups-vnc и /etc/access-ip-vnc;
-
включает и запускает сервис
osmax-ira-tigervnc.
Зависит от remote-access-groups-tigervnc.package через include.
Состояние remote-access-groups-tigervnc.package
Устанавливает пакет osmax-ira-tigervnc, создает файлы конфигурации (/opt/osmax/tigervnc/etc/x0vncserver.options, /etc/access-groups-vnc, /etc/access-ip-vnc) и запускает сервис.
Состояние remote-access-groups-tigervnc.clean
Мета-состояние, отменяющее все действия remote-access-groups-tigervnc в обратном порядке:
-
останавливает сервис
osmax-ira-tigervnc; -
удаляет файлы конфигурации (/opt/osmax/tigervnc/etc/x0vncserver.options, /etc/access-groups-vnc, /etc/access-ip-vnc);
-
удаляет установленный пакет osmax-ira-tigervnc.
Зависит от remote-access-groups-tigervnc.package.clean через include.
Состояние remote-access-groups-tigervnc.package.clean
Удаляет пакет osmax-ira-tigervnc и файлы конфигурации (/opt/osmax/tigervnc/etc/x0vncserver.options, /etc/access-groups-vnc, /etc/access-ip-vnc).
Пример файла pillar.example
remote-access-groups-tigervnc:
# Переопределите значение map.jinja
lookup:
# Укажите параметры пакета
pkg:
# Формула использует значение по умолчанию: osmax-ira-tigervnc
# На Astra Linux автоматически заменяется на osmax-ira-tigervnc-astra1.7 или -astra1.8
name: osmax-ira-tigervnc
# Укажите конкретную версию пакета. Если значение представляет собой пустую строку, используется последняя версия
version: '1.3.0'
# Задайте параметры x0vncserver
x0vncserver_options:
rfbport: 5899
QueryConnect: 1
QueryConnectTimeout: 15
ShowRemoteConnect: 1
# Задайте ip-адреса для доступа к tigervnc
tigervnc_access_ips: []
# Задайте группы доступа к tigervnc
remote_access_groups: []
Параметры конфигурации:
-
rfbport— порт, на котором VNC будет слушать входящие подключения; -
QueryConnect— вызывает модальное окно у удаленного пользователя, в котором предлагается принять или отклонить входящее соединение.Возможные значения:
-
0— производит подключение без запроса к удаленному пользователю; -
1— вызывает модальное окно для подтверждения удаленного подключения.
-
-
QueryConnectTimeout— таймер (в секундах) на предоставление удаленного доступа, по истечении которого запрос автоматически отклоняется. -
ShowRemoteConnect— отображение модального окна, которое информирует об удаленном доступе.На дисплее отображается модальное окно с именем и адресом, откуда выполняется подключение, и кнопка Disconnect.
Возможные значения:
-
0— модальное окно скрыто; -
1— отображается модальное окно с информацией.
-
-
IdleTimeout— время (в секундах), по истечении которого неактивное соединение VNC будет разорвано. Значение по умолчанию —0, что означает, что простаивающие соединения никогда не будут разорваны.Для VNC со стороны Guacamole существует автопереподключение (autoreconnect) сессии, поэтому по истечении настроенного значения
IdleTimeoutвоспроизводится один из сценариев:-
при нажатии кнопки Disconnect на устройстве Администратора запускается 15-секундный таймер для переподключения сессии УД; количество повторений не ограничено;
-
если вкладка с сессией УД открыта (при этом не важно, активна эта вкладка в данный момент или нет) и экран разблокирован, сессия УД переподключится через 15 секунд; количество повторений не ограничено;
-
при переключении с вкладки с сессией УД на другую срабатывает таймаут бездействия, по истечении которого сессия УД завершается и автопереподключение не выполняется;
-
если экран устройства Администратора заблокирован, включается таймаут бездействия, сессия УД завершается и автопереподключение не выполняется.
-
-
tigervnc_access_ips— директивы для указания IP-шлюза, с которого разрешается подключение.До адреса необходимо указать символ:
-
+— доступ разрешён; -
-— доступ запрещён; -
?— отправка запроса на разрешение для доступа.
По умолчанию все подключения заблокированы — пустой файл правил блокирует все подключения. Эти директивы могут задаваться как сами по себе (что вызовет применение для всех адресов), либо с добавлением маски или конкретного IP-адреса, например: +199.35.209.1/32.
Также можно задать несколько директив. В этом случае при подключении правила проверяются все адреса по очереди до первого подходящего, например:
+199.35.209.1 ?
Данный набор директив отправляет запрос на подключение для всех адресов кроме 199.35.209.1.
-
-
remote_access_groups— группы пользователей, которым разрешено выполнять подключение.Доменные группы пользователей рекомендуется указывать в формате, поддерживаемом Samba:
DOMAIN\username. Например, для группы пользователейLocal Usersв доменеlocaldomainуказание группы должно выглядеть следующим образом:LOCALDOMAIN\Local Users.Также если параметры конфигурации задаются в файле со специальным форматированием, необходимо экранировать спецсимволы. Например, для формата JSON экранируется символ
\:LOCALDOMAIN\\Local Users.