Установка и конфигурирование
Чтобы установить модуль, выполните следующие шаги в заданной последовательности:
Скачивание и распаковка архива с компонентами модуля
В префиксе имен rpm-пакетов модуля «Удаленный доступ» используется название inno-ira.
|
Чтобы скачать и распаковать архив с компонентами модуля, выполните следующие шаги:
-
Скачайте архив с deb-пакетами требуемой версии и соответствующие файлы контрольных сумм из предоставленного хранилища любым доступным способом.
-
(Опционально) убедитесь в целостности архива, сравнив его контрольные суммы с контрольными суммами в соответствующих файлах.
Пример команды, запускаемой в консоли для проверки целостности:
shasum -a 512 -c osmax-all-1.11.0.tar.gz osmax-all-1.11.0.tar.gz.sha512
-
Перенесите скачанный архив на машину, на которой будут запускаться компоненты, выполнив команду
scp(secure copy):Пример команд:
scp osmax-all-1.11.0.tar.gz 10.6.32.218
-
Создайте временный каталог для распаковки и распакуйте архив.
Примеры команд для создания каталога и распаковки архива:
mkdir osmax-all tar xvf osmax-all-1.11.0.tar.gz -C osmax-all
Пример результата выполнения с содержимым архива:
packages/osmax-ira-guacamole-server_1.3.0_amd64.deb packages/osmax-ira-guacamole-client_1.3.0_amd64.deb packages/osmax-ira-guacamole-schema_1.3.0_amd64.deb packages/osmax-ira-tigervnc_1.1.0_amd64.deb packages/osmax-ira-openssh_1.1.0_amd64.deb packages/osmax-ira-xrdp_1.1.0_amd64.deb
Чтобы скачать и распаковать архив с компонентами модуля, выполните следующие шаги:
-
Скачайте архив с rpm-пакетами требуемой версии и соответствующие файлы контрольных сумм из предоставленного хранилища любым доступным способом.
-
Перенесите скачанный архив на машину, на которой будут запускаться компоненты, выполнив команду
scp(secure copy):Пример команды:
scp osmax-all-1.11.0.tar.gz 10.6.32.218
-
Распакуйте архив, выполнив команду:
tar xvf <имя_архива>
Пример команды:
tar xvf osmax-all-1.11.0.tar.gz -C osmax-all
Установка и конфигурирование компонента osmax-ira-guacamole-server
Установка выполняется на сервере шлюза удаленного доступа.
Шаги выполнения:
-
Установите зависимый пакет
libinnovncserverкомпонентаosmax-ira-guacamole-server, выполнив команду: -
Установите зависимый пакет
libinnofreerdpкомпонентаosmax-ira-guacamole-server, выполнив команду: -
Установите пакет
osmax-ira-guacamole-server, выполнив команду:sudo apt install ./osmax-ira-guacamole-server_1.1.0-1_amd64.deb
sudo dnf install ./inno-ira-guacamole-server-*.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Нет
Секция настройки SSL-соединения (
[ssl])server_certificateПуть до SSL-сертификата
Нет
server_keyПуть до ключа SSL-сертификата
Нет
Пример файла:
[server] bind_host = ira-server.domain.local bind_port = 4822 [daemon] log_level = debug [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
Установка выполняется на сервере шлюза удаленного доступа.
Шаги выполнения:
-
Распакуйте архив с Apache Tomcat, выполнив команду:
tar -xvf ./osmax-ira-tomcat*.tar.gz
-
Установите Apache Tomcat, например, в каталог
/app/osmax/remote-control, выполнив команду:cd ./osmax-ira-tomcat ./install.sh --dst=/app/osmax/remote-control cd ..
Скрипт содержит следующие опции:
-
--dst— путь к каталогу, в который разархивированы JRE (Java Runtime Edition) и Apache Tomcat; -
--java— путь к архиву с JRE; по умолчанию используется файл из текущего каталога с именем по маске*jre*.tar.gz; -
--tomcat— путь к архиву с Apache Tomcat; по умолчанию используется файл из текущего каталога с именем по маске*tomcat*.tar.gz.
-
-
Распакуйте файлы из пакета
osmax-ira-guacamole-client, последовательно выполнив команды: -
Скопируйте файл
*.war, выполнив команду:cp ./guacamole-client/var/lib/tomcat9/webapps/guacamole.war /app/osmax/remote-control/apache-tomcat-9.0.96/webapps
-
Скопируйте папку с библиотеками:
cp ./guacamole-client/etc/guacamole/extensions/guacamole-auth-ldap-1.2.0.jar /app/osmax/remote-control/guacamole-client/extensions cp ./guacamole-client/etc/guacamole/extensions/guacamole-auth-jdbc-postgresql-1.2.0.jar /app/osmax/remote-control/guacamole-client/extensions
-
В файле
guacamole.properties, помещенном в каталог/app/osmax/remote-control/guacamole-client, задайте значения параметров:Наименование Описание Значение по умолчанию Обязательный параметр Параметры сервера
guacd-hostnameИмя хоста guacd-сервера
localhostНет
guacd-portПорт guacd-сервера
4822Нет
guacd-sslИспользование SSL
falseНет
Параметры подключения к БД PostgreSQL
postgresql-hostnameИмя хоста БД PostgreSQL
Да
postgresql-portПорт БД PostgreSQL
5432Нет
postgresql-databaseИмя БД PostgreSQL
Да
postgresql-usernameИмя пользователя БД PostgreSQL
Да
postgresql-passwordПароль пользователя БД PostgreSQL
Да
postgresql-default-max-connections-per-userМаксимальное количество соединений с базой данных PostgreSQL, которое может установить один пользователь
1Да
Параметры подключения к БД PostgreSQL с использованием SSL
postgresql-ssl-cert-fileФайл, содержащий SSL-сертификат клиента, который используется при установке соединения с сервером Postgres в формате PEM
postgresql-ssl-key-fileФайл, содержащий закрытый ключ клиента
postgresql-ssl-root-cert-fileФайл, содержащий корневой и промежуточный сертификаты
postgresql-ssl-key-passwordПароль, который будет использоваться для доступа к файлу закрытого ключа
postgresql-default-statement-timeoutВремя ожидания ответа от БД в секундах
postgresql-socket-timeoutВремя ожидания выполнения операций чтения сокета
postgresql-batch-sizeКоличество объектов, которые можно получить из базы данных за один запрос
Параметры LDAP
ldap-hostnameИмя хоста LDAP-сервера
Да
ldap-portИмя порта LDAP-сервера
389или636(в зависимости от значения параметраldap-encryption-method)Нет
ldap-encryption-methodМеханизм шифрования LDAP-сервера. Возможные значения:
-
ssl— для взаимодействия с LDAP через SSL/TLS; -
starttls— для STARTTLS; -
none— не использовать шифрование
noneldap-user-base-dnБазовый DN для всех пользователя Guacamole
Да
ldap-group-base-dnБазовый DN для все пользовательских групп
Да
ldap-username-attributeАтрибут, который содержит имя пользователя во всех объектах пользователей Guacamole в каталоге LDAP
Да (
sAMAccountName)ldap-group-name-attributeАтрибут, определяющий уникальные имена групп пользователей в каталоге LDAP
Да (
sAMAccountName)ldap-member-attribute-typeАтрибут, указывающий тип атрибута (заданного в парамтере
ldap-member-attribute), который определяет членство пользователя в группеДа (
dn)ldap-member-attributeАтрибут, содержащий участников всех групповых объектов в каталоге LDAP
Да (
member)ldap-group-search-filterФильтр, который определяет условия поиска для получения всех записей группы из LDAP
(objectClass=*)Да (
(objectClass=group))ldap-user-search-filterФильтр, который определяет условия поиска для получения всех записей пользователя из LDAP
Например, чтобы только члены группы CN=RCUsers,CN=Users,DC=windomain1,DC=comимели доступ к УД, задайте значение вида:(&(objectClass=user)(memberOf:1.2.840.113556.1.4.1941:=CN=RCUsers,CN=Users,DC=windomain1,DC=com))(objectClass=*)Да
ldap-search-bind-dnDN пользователя для подключения к LDAP-серверу в формате:
CN=RCUser,CN=Users,DC=windomain1,DC=comДа
ldap-search-bind-passwordПароль пользователя для подключения к LDAP-серверу
Да
Аутентификация
ignore-certs-in-rdp-connectionsПараметр позволяет принудительно отключить (значение
true) проверку сертификата сервера при установке соединения по протоколу RDP.Если параметр не задан в файле, система будет считать, что установлено значение falsetrueДополнительные настройки
clipboard-encoding-in-vnc-connectionsКодировка для обмена данными в буфере обмена при подключении через протокол VNC (Virtual Network Computing)
UTF-8Да
api-session-timeoutТаймаут в минутах для разрыва неактивной сессии УД
60Нет
Пример файла:
# guacd properties guacd-hostname: localhost guacd-port: 4822 # PostgreSQL properties postgresql-hostname: localhost postgresql-database: guacamole_db postgresql-username: guacamole_db_user postgresql-password: password postgresql-default-max-connections-per-user: 1 # LDAP properties ## Commonldap-hostname: ira-server.domain.local ldap-encryption-method: ssl # Base DN ldap-user-base-dn: DC=domain,DC=local ldap-group-base-dn: DC=domain,DC=local # Attributes ldap-username-attribute: sAMAccountName ldap-group-name-attribute: sAMAccountName ldap-member-attribute-type: dn ldap-member-attribute: member # Search ldap-user-search-filter: (&(objectClass=person)(memberOf:1.2.840.113556.1.4.1941:=CN=arm_admins,CN=Users,DC=domain,DC=local)) ldap-group-search-filter: (objectClass=group) ldap-search-bind-dn: CN=Administrator,CN=Users,DC=domain,DC=local ldap-search-bind-password: Password123 # Authentication ignore-certs-in-rdp-connections: true # Additional parameters clipboard-encoding-in-vnc-connections: UTF-8 -
-
(Опционально) для настройки шифрования в файле
/opt/tomcat/conf/server.xmlвыполните настройки секцийConnector.Пример:
<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000"/> <Connector port="8083" protocol="org.apache.coyote.http11.Http11AprProtocol" maxThreads="150" SSLEnabled="true" > <UpgradeProtocol className="org.apache.coyote.http2.Http2Protocol" /> <SSLHostConfig> <Certificate certificateKeyFile="<ssl_certificate_key>" certificateFile="<ssl_certificate>" type="RSA" /> </SSLHostConfig> </Connector>Где:
-
ssl_certificate_key— определяет путь к файлу приватного ключа SSL-сертификата; -
ssl_certificate— указывает SSL-сертификат для обеспечения безопасного соединения.
-
-
Включите и запустите сервер Tomcat, выполнив команды:
systemctl --user enable tomcat.service systemctl --user start tomcat.service
Установка и конфигурирование компонента osmax-ira-guacamole-schema
Установка выполняется на сервере, с которого схема Guacamole будет устанавливаться в БД PostgreSQL. На этом сервере должен быть установлен клиент psql.
Шаги выполнения:
-
Установите пакет
osmax-ira-guacamole-schema, выполнив команду: -
Установите схему Guacamole, выполнив команду:
cat /opt/irc/guacamole-schema/schema/*.sql | psql --host <guacamole_database_host> --port <guacamole_database_port> -dbname <guacamole_database_name> --username <guacamole_database_user> --password -f -
Где в параметрах необходимо указать технического пользователя и БД, созданных на этапе подготовки к установке:
-
<guacamole_database_host> — имя хоста БД;
-
<guacamole_database_port> — порт БД;
-
<guacamole_database_name> — имя БД;
-
<guacamole_database_user> — имя пользователя БД.
При выполнении команды запрашивается пароль пользователя БД.
После установки схемы Guacamole в целях безопасности необходимо удалить deb-пакет guacamole-schema, выполнив команду:
sudo apt remove osmax-ira-guacamole-schema_1.0.0-1_amd64.deb
-
-
Введите пароль пользователя БД.
Будет создана схема Guacamole и пользователь guacadmin c паролем guacadmin.
При первом запуске приложения Guacamole пароль пользователя guacadmin должен быть изменен администратором.