Настройка подключения и SSL для сторонней БД

Настройка подключения к сторонней БД

Чтобы настроить подключение к сторонней базе данных PostgreSQL, необходимо:

  1. В файл по пути /etc/default/rudesktop добавить следующие строки:

    POSTGRES_HOST='IP_ADDRESS' # Адрес базы данных
    POSTGRES_PORT='PORT' # Порт базы данных
    POSTGRES_DB='DB_NAME' # Имя базы данных
    POSTGRES_USER='USER' # Имя пользователя
    POSTGRES_PASSWORD='PASSWORD' # Пароль
    
  2. Перезагрузить сервер командой:

    rude restart
    

Настройка SSL для подключения к БД

Чтобы настроить SSL для подключения к базе данных PostgreSQL, необходимо:

  1. Загрузить сертификат root.crt на устройство, где установлен сервер RuDesktop

  2. В файл по пути /etc/default/rudesktop добавить следующие строки:

    POSTGRES_SSL_MODE='verify-ca'
    POSTGRES_CA_FILE=/path/to/root.crt
    

    Или без указания сертификата:

    POSTGRES_SSL_MODE='require'
    

    Важно

    POSTGRES_SSL_MODE принимает значения из таблицы:

    sslmode

    Eavesdropping protection

    MITM protection

    Statement

    disable

    No

    No

    I don’t care about security and I don’t want to pay the overhead of encryption

    allow

    Maybe

    No

    I don’t care about security but I will pay the overhead of encryption if the server insists on it

    prefer

    Maybe

    No

    I don’t care about encryption but I wish to pay the overhead of encryption if the server supports it

    require

    Yes

    No

    I want my data to be encrypted and I accept the overhead. I trust that the network will make sure I always connect to the server I want

    verify-ca

    Yes

    Depends on CA policy

    I want my data encrypted and I accept the overhead. I want to be sure that I connect to a server that I trust

  3. Перезагрузить сервер командой:

    rude restart
    
  4. Убедиться, что в логах сервера отсутствуют ошибки, командой:

    cat /var/log/rudesktop/server.log
    

    Пример логов после перезагрузки сервера:

    2025-05-20 11:08:47  INFO rudesktop_server: Server started with: Options { db_host: ", db_name: "", db_user: "", db_pass: MASKED, db_port: , db_pool_size: 64, db_ssl_mode: true, db_ca_cert: Some("path/to/root.crt"), this_server: "", redis_server: "redis://localhost:32459", ca_key: "/var/lib/rudesktop/ca/CA.key", ca_cert: "/var/lib/rudesktop/ca/CA.pem", log_level: "info", version: "", license_version: "", rendezvous_mode: None, server: [], master: None, api_key: "", trace: 0, max_session_duration: 7200, use_public_ip: false, conflict: None, hostname_as_id: None, use_geo_relay: false, flush_interval: 60, flush_batch: 1000, cache_ttl: 300, cache_preload: false, keep_statuses: false, geoip_db: "geolocation/SxGeoCity.dat" }
    2025-05-20 11:08:47  INFO rudesktop_server: Start in master mode with cached database
    2025-05-20 11:08:47  INFO rudesktop_server: Start listener on /run/rudesktop/rude.sock