Установка и конфигурирование
Чтобы установить модуль, выполните следующие шаги в заданной последовательности:
Скачивание и распаковка архива с компонентами модуля
-
Выберите один из способов получения доступа к артефактам дистрибутива:
-
настройка репозитория;
-
скачивание и распаковка архива с пакетами.
-
-
Выполните настройки, соответствующие выбранному способу получения доступа к артефактам, используя инструкцию.
Установка и конфигурирование osmax-ira-guacamole-server
Установка выполняется на сервере шлюза удаленного доступа.
Шаги выполнения:
-
Установите зависимый пакет
libosmaxvncserverкомпонентаosmax-ira-guacamole-server.Пример команды для установки пакетов из репозитория:
sudo apt-get install ./libosmaxvncserver=1.1.1
sudo dnf install ./libosmaxvncserver-1.1.1
Пример команды для установки пакетов из архива:
-
Установите зависимый пакет
libosmaxfreerdpкомпонентаosmax-ira-guacamole-server.Пример команды для установки пакетов из репозитория:
sudo apt-get install ./libosmaxfreerdp=1.1.1
sudo dnf install ./libosmaxfreerdp-1.1.1
Пример команды для установки пакетов из архива:
-
Установите пакет
osmax-ira-guacamole-server.Пример команды для установки пакетов из репозитория:
sudo apt-get install ./osmax-ira-guacamole-server=1.1.1
sudo dnf install ./osmax-ira-guacamole-server-1.1.1
Пример команды для установки пакетов из архива:
sudo apt install ./osmax-ira-guacamole-server_1.1.1_amd64.deb
sudo dnf install ./osmax-ira-guacamole-server_1.1.1.x86_64.rpm
После успешной установки будет создана и запущена systemd-служба
guacd. -
Создайте конфигурационный файл для сервера Guacamole, выполнив команду:
touch /etc/guacamole/guacd.conf
-
В файле
/etc/guacamole/guacd.confзадайте значения параметров:Наименование Описание Значение по умолчанию Обязательный параметр Секция настройки сервера (
[server])bind_hostХост компонента
guacdlocalhostДа
bind_portПорт компонента
guacd4822Да
Секция настройки daemon-сервера (
[daemon])log_levelУровень логирования
infoНет
log_file_pathПуть к файлу журналирования. Если путь не задан, то лог-сообщения будут записаны в stderr
Нет
audit_file_pathПуть к файлу аудита. Если путь не задан, то лог-сообщения будут записаны в stderr
Нет
Секция настройки SSL-соединения (
[ssl])server_certificateПуть до SSL-сертификата
Нет
server_keyПуть до ключа SSL-сертификата
Нет
Пример файла:
[server] bind_host = ira-server.domain.local bind_port = 4822 [daemon] log_level = debug log_file_path = /var/log/guacamole-server.log audit_file_path = /var/log/audit/guacamole-server.log [ssl] server_certificate = /ssl/domain.pem server_key = /ssl/domain.key -
Перезапустите systemd-службу
guacd, выполнив команду:sudo systemctl restart guacd
Чтобы проверить статуса запуска службы, выполните команду:
sudo systemctl status guacd
В случае успешного запуска система вернет ответ, где в поле
Activeбудет указано значениеactive (running):systemctl status guacd ● guacd.service - Guacamole Server Loaded: loaded (/usr/local/lib/systemd/system/guacd.service; disabled; vendor preset: enabled) Active: active (running) since Thu 2024-05-30 09:00:29 MSK; 1s ago Docs: man:guacd(8) Main PID: 19060 (guacd) Tasks: 1 (limit: 4651) Memory: 10.1M CPU: 15ms CGroup: /system.slice/guacd.service └─19060 /usr/local/sbin/guacd -f мая 30 09:00:29 ira-server systemd[1]: Started Guacamole Server. мая 30 09:00:29 ira-server guacd[19060]: IRC: Guacamole proxy daemon (guacd) version 1.5.4 started мая 30 09:00:29 ira-server guacd[19060]: IRC: Successfully bound AF_INET socket to host 127.0.0.1, port 4822 мая 30 09:00:29 ira-server guacd[19060]: IRC: Communication will require SSL/TLS. мая 30 09:00:29 ira-server guacd[19060]: IRC: Using PEM keyfile /ssl/domain.key мая 30 09:00:29 ira-server guacd[19060]: IRC: Using certificate file /ssl/domain.pem мая 30 09:00:29 ira-server guacd[19060]: IRC: Listening on host 127.0.0.1, port 4822При неуспешном запуске поле
Activeбудет содержать иное значение. В этом случае проверьте логи системы.
Установка и конфигурирование osmax-ira-guacamole-client
Установка выполняется на сервере шлюза удаленного доступа.
Установите пакет osmax-ira-guacamole-client.
Пример команды для установки пакета из репозитория:
sudo apt-get install ./osmax-ira-guacamole-client=1.1.1
sudo dnf install ./osmax-ira-guacamole-client-1.1.1
Пример команды для установки пакета из архива:
sudo apt install ./osmax-ira-guacamole-client_1.1.1_amd64.deb
sudo dnf install ./osmax-ira-guacamole-client-1.1.1.x86_64.rpm
После успешной установки пакета:
-
Создан конфигурационный файл с настройками по умолчанию —
/opt/osmax-ira-guacamole-client/guacamole.properties(см. раздел «Описание параметров конфигурационного файла guacamole.properties»).При обновлении продукта до более новой версии файл guacamole.propertiesостается неизменным, но дополнительно будет создан новый файлguacamole.example.properties. Этот файл носит ознакомительный характер и используется в качестве примера для самостоятельного переопределения параметров в конфигурационном файлеguacamole.properties. -
Создана systemd-служба
osmax-ira-guacamole-client.При установке пакета osmax-ira-guacamole-clientавтоматически создается пользовательosmax, от имени которого запускается systemd-службаosmax-ira-guacamole-client.При обновлении или удалении пакета пользователь удален не будет.
Чтобы запустить systemd-службу
osmax-ira-guacamole-client, выполните команду:sudo systemctl start osmax-ira-guacamole-client
Чтобы включить автозапуск systemd-службы
osmax-ira-guacamole-client, выполните команду:sudo systemctl enable osmax-ira-guacamole-client
Чтобы проверить статус запуска службы, выполните команду:
sudo systemctl status osmax-ira-guacamole-client
В случае успешного запуска система вернет ответ, где в поле
Activeбудет указано значениеactive (running):systemctl status osmax-ira-guacamole-client ● osmax-ira-guacamole-client.service - Osmax IRA Guacamole Client Service Loaded: loaded (/etc/systemd/system/osmax-ira-guacamole-client.service; enabled; vendor preset: enabled) Active: active (running) since Fri 2024-06-21 12:58:28 MSK; 12s ago Main PID: 130308 (osmax-guacamole) Tasks: 32 (limit: 19048) Memory: 200.3M CGroup: /system.slice/osmax-ira-guacamole-client.service └─130308 /opt/osmax-ira-guacamole-client/bin/osmax-ira-guacamole-clientПри неуспешном запуске поле
Activeбудет содержать иное значение. В этом случае проверьте логи системы. -
Создана схема
Guacamoleи пользовательguacadminc паролемguacadmin.При первом запуске приложения Guacamole пароль пользователя guacadminдолжен быть изменен администратором.
Описание параметров конфигурационного файла guacamole.properties
Пример конфигурационного файла
## This is an example of `guacamole.properties` file as main configuration file for osmax-ira-guacamole-client backend
###############################################################################
# HTTP server properties section #
###############################################################################
## Application name
application-name: osmax-ira-guacamole-client
## Main application port
application-server-port: 8080
## Prefix for temporary directory which will be used as a base directory for embedded Tomcat deployment
application-server-base-dir-prefix: osmax-ira-guacamole-client-
## To enable serving requests via HTTPS uncomment the following parameters:
#application-server-ssl: true
#application-server-ssl-keystore-path: /opt/osmax-ira-guacamole-client/keystore.jks
#application-server-ssl-keystore-password: keystore@12345
## Optionally if keystore specified by path is not in standard JKS format,
## use parameter below for specifying the truststore type (should be compatible with JSSE)
#application-server-ssl-keystore-type: jks
###############################################################################
# Guacamole server (guacd) integration properties section #
###############################################################################
## Guacamole server configuration
guacd-hostname: <guacamole server hostname>
guacd-port: 4822
## To enable SSL connection mode for Guacamole server uncomment the following parameters:
#guacd-ssl: true
#guacd-ssl-truststore-path: /etc/ssl/certs/java/cacerts
#guacd-ssl-truststore-password: changeit
## Optionally if truststore specified by path is not in standard JKS format,
## use parameter below for specifying the truststore type (should be compatible with JSSE)
#guacd-ssl-truststore-type: jks
## Additional configuration for managed connections
ignore-certs-in-rdp-connections: true
clipboard-encoding-in-vnc-connections: UTF-8
## Timeout in minutes for inactive sessions after which the session will be closed forcefully
api-session-timeout: 60
###############################################################################
# Guacamole extensions properties section #
###############################################################################
## Extensions load order
extension-priority: postgresql,ldap,quickconnect,*
## Whitelist of language keys to allow as display language choices within the Guacamole interface
allowed-languages: en, ru
###############################################################################
# Guacamole PostgreSQL authentication extension properties section #
###############################################################################
postgresql-username: <db-user-name>
postgresql-password: <db-user-password>
postgresql-url: jdbc:postgresql://<db-host>:<dp-port>/<db_name>
postgresql-default-max-connections-per-user: 1
postgresql-batch-size: 5000
## Timeout value '0' means there will be no timeout applied
postgresql-default-statement-timeout: 0
postgresql-socket-timeout: 0
## To enable SSL connection mode for DB uncomment the following parameters
## Use value 'required' for secure connections without certificates verification
## Use value 'verify-ca' for secure connections with certificates verification (but without hostname verification)
## Use value 'verify-full' for secure connections with certificates and hostname verifications
#postgresql-ssl-mode: verify-full
#postgresql-ssl-cert-file: /opt/osmax-ira-guacamole-client/postgresql.crt
#postgresql-ssl-key-file: /opt/osmax-ira-guacamole-client/postgresql.pk8
#postgresql-ssl-key-password: <ssl-key-file-password>
#postgresql-ssl-root-cert-file: /opt/osmax-ira-guacamole-client/root.crt
###############################################################################
# Guacamole LDAP authentication extension properties section #
###############################################################################
ldap-hostname: <ldap-host>
## To override default value of the LDAP port uncomment and set the parameter below.
## Otherwise, the LDAP port will be defined from 'ldap-encryption-method' parameter.
## For 'ssl' mode it will be 636, for 'none' and 'starttls' it will be 389
#ldap-port: 389
# LDAP integration parameters
ldap-user-base-dn: DC=domain,DC=local
ldap-group-base-dn: DC=domain,DC=local
ldap-username-attribute: sAMAccountName
ldap-group-name-attribute: sAMAccountName
ldap-member-attribute-type: dn
ldap-member-attribute: member
ldap-group-search-filter: (objectClass=*)
ldap-user-search-filter: (objectClass=*)
ldap-search-bind-dn: DC=domain,DC=local
ldap-search-bind-password: <password>
## To enable SSL connection mode for LDAP uncomment the following parameters:
## Use value 'ssl' for LDAPS connection
## Use value 'starttls' for secure connections to be negotiated over standard LDAP port for non-encrypted connections
#ldap-encryption-method: ssl
#ldap-ssl-truststore-path: /etc/ssl/certs/java/cacerts
#ldap-ssl-truststore-password: changeit
## Optionally if truststore specified by path is not in standard JKS format,
## use parameter below for specifying the truststore type (should be compatible with JSSE)
#ldap-ssl-truststore-type: jks
## For disabling SSL connection verification you can use option below
#ldap-trust-all-certs: true
###############################################################################
# Logging section #
###############################################################################
## Log level for root application logger
log-level: info
## Application main log file configuration
log-file: /var/log/osmax/ira-guacamole-client/osmax-ira-guacamole-client.log
log-file-rotation-suffix: yyyy-MM-dd
log-file-rotation-max-file-size: 10MB
log-file-rotation-max-history: 5
## Application audit log file configuration
audit-log-file: /var/log/osmax/ira-guacamole-client/audit-osmax-ira-guacamole-client.log
audit-log-file-rotation-suffix: yyyy-MM-dd
audit-log-file-rotation-max-file-size: 10MB
audit-log-file-rotation-max-history: 5
###############################################################################
# Guacamole Kerberos authentication extension properties section #
###############################################################################
## Minimal required setup
kerberos-service-principal-name: <service_principal_name>
kerberos-service-principal-realm: <service.domain>
kerberos-keytab-path: </path/to/keytab/file>
## Password can be used only for debug purpose on non-production env, use keytab
#kerberos-service-principal-password: <service_principal_password>
## Debug log for Kerberos
#kerberos-debug: true
###############################################################################
# Kafka integration section #
###############################################################################
#kafka-bootstrap-servers: kafka:19092
## Kafka SSL connection parameters section.
## To enable SSL connection mode uncomment three following parameters:
#kafka-security-protocol: SSL
#kafka-ssl-truststore-location: /path/to/kafka.client.truststore.jks
#kafka-ssl-truststore-password: your-truststore-password
## Optionally if the custom truststore is used:
## To change the format use one of JKS, JCEKS, P12, PKCS12, PFX. Default format is JKS
#kafka-ssl-truststore-type: PKCS12
## To enable mutual TLS connection mode uncomment three following parameters, along with configuration above:
#kafka-ssl-keystore-location: /opt/osmax-provisioner/keystore.jks
#kafka-ssl-keystore-password: keystore@12345
## Optionally if the custom keystore is used:
## To change the format use one of JKS, JCEKS, P12, PKCS12, PFX. Default format is JKS
#kafka-ssl-keystore-type: PKCS12
###############################################################################
# Observability section #
###############################################################################
## If metrics publication to Kafka is enabled, bootstrap servers should be configured
## For setting target Kafka bootstrap servers and SSL configuration see Kafka integration section
## To enable metrics publication to Kafka uncomment the following parameters
#osmax-micrometer-export-kafka-enabled: true
#osmax-micrometer-export-kafka-topic: osmax-observer.metrics
## Kafka metrics publication frequency configuration
#osmax-micrometer-export-kafka-step-seconds: 60
Параметры подключения к HTTP-серверу
| Наименование | Описание | Значение по умолчанию/Шаблон значения | Пример значения |
|---|---|---|---|
|
Основной порт подключения |
|
|
|
Префикс временной директории для установки встроенного сервера Tomcat |
|
|
Параметры подключения к HTTPS-серверу
| Настройки, описанные в разделе, являются опциональными и используются, только при подключении по протоколу SSL. |
| Наименование | Описание | Значение по умолчанию/Шаблон значения | Пример значения |
|---|---|---|---|
|
Возможные значения:
|
|
|
|
Путь к хранилищу (keystore-файлу), где хранятся закрытые ключи и сертификаты, необходимые для установки защищенного HTTPS-соединения |
|
|
|
Пароль для доступа к keystore-файлу |
|
|
|
Опционально: если хранилище ключей не в формате JKS, укажите тип хранилища сертификатов, совместимый с JSSE |
|
Параметры сервера Guacamole
| Наименование | Описание | Значение по умолчанию/Шаблон значения | Пример значения |
|---|---|---|---|
|
Имя хоста guacd-сервера |
|
|
|
Порт guacd-сервера |
|
|
|
Возможные значения:
|
|
|
|
Кодировка для буфера обмена в VNC-соединениях |
|
|
Блок опциональных параметров, которые задаются при использовании SSL-соединения |
|||
|
Возможные значения:
|
|
|
|
Путь к файлу хранилища доверенных сертификатов (truststore), который содержит сертификаты доверенных центров сертификации |
|
|
|
Пароль для доступа к хранилищу доверенных сертификатов |
|
|
|
Опционально: если хранилище ключей не в формате JKS, укажите тип хранилища сертификатов, совместимый с JSSE |
|
|
Параметр конфигурации сессий и безопасности
| Наименование | Описание | Значение по умолчанию/Шаблон значения | Пример значения |
|---|---|---|---|
|
Время ожидания (в минутах) для неактивных сессий API |
|
|
Параметры расширения свойств Guacamole
| Наименование | Описание | Значение по умолчанию/Шаблон значения | Пример значения |
|---|---|---|---|
|
Порядок загрузки расширений |
|
|
|
Белый список языков, позволяет выбирать язык отображения в интерфейсе Guacamole |
|
|
Параметры подключение к БД PostgreSQL
| Наименование | Описание | Значение по умолчанию/Шаблон значения | Пример значения |
|---|---|---|---|
|
Имя пользователя БД PostgreSQL |
|
|
|
Пароль пользователя БД PostgreSQL |
|
|
|
Строка подключения к базе данных PostgreSQL. Можно указать несколько хостов с портами через запятую для отказоустойчивости; в простом варианте (не отказоустойчивом) достаточно одной пары хост/порт |
|
|
|
Максимальное количество соединений с базой данных PostgreSQL, которое может установить один пользователь |
|
|
|
Количество объектов, которые можно получить из базы данных за один запрос |
|
|
|
Время ожидания ответа от БД в секундах |
|
|
|
Время ожидания выполнения операций чтения сокета |
|
|
Блок опциональных параметров, которые задаются при использовании SSL-соединения |
|||
|
Возможные значения:
|
|
|
|
Файл, содержащий SSL-сертификат клиента, который используется при установке соединения с сервером Postgres в формате PEM |
|
|
|
Файл, содержащий закрытый ключ клиента |
|
|
|
Пароль, который будет использоваться для доступа к файлу закрытого ключа |
|
|
|
Файл, содержащий корневой и промежуточный сертификаты |
|
|
Параметры LDAP
| Наименование | Описание | Значение по умолчанию/Шаблон значения | Пример значения | ||
|---|---|---|---|---|---|
|
Имя хоста LDAP-сервера |
|
|||
|
Опциональный параметр. Имя порта LDAP-сервера |
|
|
||
|
Базовый DN для всех пользователя Guacamole |
|
|
||
|
Базовый DN для все пользовательских групп |
|
|
||
|
Атрибут, который содержит имя пользователя во всех объектах пользователей Guacamole в каталоге LDAP |
|
|
||
|
Атрибут, определяющий уникальные имена групп пользователей в каталоге LDAP |
|
|
||
|
Атрибут, указывающий тип атрибута (заданного в парамтере |
|
|
||
|
Атрибут, содержащий участников всех групповых объектов в каталоге LDAP |
|
|
||
|
Фильтр, который определяет условия поиска для получения всех записей группы из LDAP |
|
|
||
|
Фильтр, который определяет условия поиска для получения всех записей пользователя из LDAP
|
|
|
||
|
DN пользователя для подключения к LDAP-серверу в формате: |
|
|
||
|
Пароль пользователя для подключения к LDAP-серверу |
|
|
||
Блок опциональных параметров, которые задаются при использовании SSL-соединения |
|||||
|
Механизм шифрования LDAP-сервера. Возможные значения:
|
|
|
||
|
Путь к файлу хранилища доверенных сертификатов (truststore), который содержит сертификаты доверенных центров сертификации |
|
/etc/ssl/certs/java/cacerts |
||
|
Пароль для доступа к хранилищу доверенных сертификатов |
|
|
||
|
Опционально: если хранилище ключей не в формате JKS, укажите тип хранилища сертификатов, совместимый с JSSE |
|
|
||
|
Параметр позволяет принудительно отключить проверку SSL-сертификатов при установке защищенного соединения.
|
|
|
||
Параметры журналирования и аудита
| Наименование | Описание | Значение по умолчанию/Шаблон значения | Пример значения |
|---|---|---|---|
|
Настройка уровня логирования. Возможные значения:
|
|
|
|
Путь к основному файлу журнала, куда записываются логи продукта |
|
|
|
Формат суффикса для ротации файлов журнала |
|
|
|
Максимальный размер одного файла с логами, при достижении которого производится ротация (создается следующий файл и продолжается запись) |
|
|
|
Предельное количество сохраняемых файлов с логами при ротации |
|
|
|
Путь к основному файлу, в который записываются логи аудита |
|
|
|
Формат суффикса для ротации файлов логов аудит |
|
|
|
Максимальный размер одного файла с логами аудита, при достижении которого производится ротация (создается следующий файл и продолжается запись) |
|
|
|
Предельное количество сохраняемых файлов с логами аудита при ротации |
|
|
Раздел параметров для аутентификации Guacamole через Kerberos
| Наименование | Описание | Значение по умолчанию/Шаблон значения | Пример значения |
|---|---|---|---|
|
Уникальный идентификатор службы Guacamole-client |
|
|
|
Совокупность хостов, пользователей и сервисов, управляемых Kerberos-сервером |
|
|
|
Путь хранения keytab-файла |
|
|
|
Для отладочных целей можно использовать пароль |
|
|
|
Включение отладочного лога |
|
|
Параметры мониторинга (Observability section)
| Наименование | Описание | Значение по умолчанию/Шаблон значения | Пример значения |
|---|---|---|---|
|
Включает (выключает) функции сбора метрик и мониторинга |
|
|
|
Включает (выключает) публикацию метрик, передаваемых в osmax-observer, в топик kafka |
|
|
|
Периодичность публикации метрик, передаваемых в osmax-observer, в топик kafka |
|
|
|
Топик kafka для публикации метрик, передаваемых в osmax-observer |
|
|
Параметры интеграции с Kafka (Kafka integration section )
| Наименование | Описание | Значение по умолчанию/Шаблон значения | Пример значения |
|---|---|---|---|
|
URL и порт сервера kafka |
|
|
|
Использовать SSL шифрование пакетов |
|
|
|
Путь к ключам для SSL протокола |
|
|
|
Пароль ключа для SSL протокола |
|
|
|
Тип шифрования SSL |
|
|
|
Путь к ключам для TLS протокола |
|
|
|
Пароль ключа для TLS протокола |
|
|
|
Тип шифрования TLS |
|
|
|
Предусмотрена возможность работы osmax-ira-guacamole-client без сбора и публикации метрик. Для этого:
|