Установка и конфигурирование

Скачивание и распаковка архива с компонентами модуля

В префиксе имен rpm-пакетов модуля «Удаленный доступ» используется название inno-ira.
  • Astra Linux

  • РЕД ОС

Чтобы скачать и распаковать архив с компонентами модуля, выполните следующие шаги:

  1. Скачайте архив с deb-пакетами требуемой версии и соответствующие файлы контрольных сумм из предоставленного хранилища любым доступным способом.

  2. (Опционально) убедитесь в целостности архива, сравнив его контрольные суммы с контрольными суммами в соответствующих файлах.

    Пример команды, запускаемой в консоли для проверки целостности:

    shasum -a 512 -c osmax-all-1.11.0.tar.gz osmax-all-1.11.0.tar.gz.sha512
  3. Перенесите скачанный архив на машину, на которой будут запускаться компоненты, выполнив команду scp (secure copy):

    Пример команд:

    scp osmax-all-1.11.0.tar.gz 10.6.32.218
  4. Создайте временный каталог для распаковки и распакуйте архив.

    Примеры команд для создания каталога и распаковки архива:

    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

Чтобы скачать и распаковать архив с компонентами модуля, выполните следующие шаги:

  1. Скачайте архив с rpm-пакетами требуемой версии и соответствующие файлы контрольных сумм из предоставленного хранилища любым доступным способом.

  2. Перенесите скачанный архив на машину, на которой будут запускаться компоненты, выполнив команду scp (secure copy):

    Пример команды:

    scp osmax-all-1.11.0.tar.gz 10.6.32.218
  3. Распакуйте архив, выполнив команду:

    tar xvf <имя_архива>

    Пример команды:

    tar xvf osmax-all-1.11.0.tar.gz -C osmax-all

Установка и конфигурирование компонента osmax-ira-guacamole-server

Установка выполняется на сервере шлюза удаленного доступа.

Шаги выполнения:

  1. Установите зависимый пакет libinnovncserver компонента osmax-ira-guacamole-server, выполнив команду:

    • Astra Linux

    • РЕД ОС

    sudo apt install ./libinnovncserver_1.1.0-1_amd64.deb
    sudo dnf install ./libinnovncserver-*.rpm
  2. Установите зависимый пакет libinnofreerdp компонента osmax-ira-guacamole-server, выполнив команду:

    • Astra Linux

    • РЕД ОС

    sudo apt install ./libinnofreerdp_1.1.0-1_amd64.deb
    sudo dnf install ./libinnofreerdp-*.rpm
  3. Установите пакет osmax-ira-guacamole-server, выполнив команду:

    • Astra Linux

    • РЕД ОС

    sudo apt install ./osmax-ira-guacamole-server_1.1.0-1_amd64.deb
    sudo dnf install ./inno-ira-guacamole-server-*.rpm

    После успешной установки будет создана и запущена systemd-служба guacd.

  1. Создайте конфигурационный файл для сервера Guacamole, выполнив команду:

    touch /etc/guacamole/guacd.conf
  2. В файле /etc/guacamole/guacd.conf задайте значения параметров:

    Наименование Описание Значение по умолчанию Обязательный параметр

    Секция настройки сервера ([server])

    bind_host

    Хост компонента guacd

    localhost

    Да

    bind_port

    Порт компонента guacd

    4822

    Да

    Секция настройки 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
  3. Перезапустите 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

Установка выполняется на сервере шлюза удаленного доступа.

Шаги выполнения:

  1. Распакуйте архив с Apache Tomcat, выполнив команду:

    tar -xvf ./osmax-ira-tomcat*.tar.gz
  2. Установите 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.

  3. Распакуйте файлы из пакета osmax-ira-guacamole-client, последовательно выполнив команды:

    • Astra Linux

    • РЕД ОС

    ar x ./osmax-ira-guacamole-client*.deb
    mkdir guacamole-client
    tar -xvf data.tar.gz -C guacamole-client
    rpm2cpio guacamole-client.rpm | cpio -idmv -D guacamole-client
  4. Скопируйте файл *.war, выполнив команду:

    cp ./guacamole-client/var/lib/tomcat9/webapps/guacamole.war /app/osmax/remote-control/apache-tomcat-9.0.96/webapps
  5. Скопируйте папку с библиотеками:

    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
  1. В файле 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 — не использовать шифрование

    none

    ldap-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-dn

    DN пользователя для подключения к LDAP-серверу в формате: CN=RCUser,CN=Users,DC=windomain1,DC=com

    Да

    ldap-search-bind-password

    Пароль пользователя для подключения к LDAP-серверу

    Да

    Аутентификация

    ignore-certs-in-rdp-connections

    Параметр позволяет принудительно отключить (значение true) проверку сертификата сервера при установке соединения по протоколу RDP.

    Если параметр не задан в файле, система будет считать, что установлено значение false

    true

    Дополнительные настройки

    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
  2. (Опционально) для настройки шифрования в файле /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-сертификат для обеспечения безопасного соединения.

  3. Включите и запустите сервер Tomcat, выполнив команды:

    systemctl --user enable tomcat.service
    systemctl --user start tomcat.service

Установка и конфигурирование компонента osmax-ira-guacamole-schema

Установка выполняется на сервере, с которого схема Guacamole будет устанавливаться в БД PostgreSQL. На этом сервере должен быть установлен клиент psql.

Шаги выполнения:

  1. Установите пакет osmax-ira-guacamole-schema, выполнив команду:

    • Astra Linux

    • РЕД ОС

    sudo apt install ./osmax-ira-guacamole-schema_1.0.0-1_amd64.deb
    sudo dnf install ./inno-ira-guacamole-schema-*rpm
  2. Установите схему 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
  1. Введите пароль пользователя БД.

    Будет создана схема Guacamole и пользователь guacadmin c паролем guacadmin.

    При первом запуске приложения Guacamole пароль пользователя guacadmin должен быть изменен администратором.

Установка на агенте (minion)

Для настройки удаленного доступа на агенте (minion) по протоколам VNC, RDP, SSH, задайте конфигурацию соответствующей формулы: