С весны мы ведём контекстную рекламу по запросам про удалённый доступ в Astra Linux и видим, что люди вбивают в поиск:

astra linux 1.8 remmina не подключается с уровнем конфиденциальности 1
astra linux fly-dm-rdp
astra linux 1.8 локальный и удаленный rdp
astra linux rdp к windows с буфером обмена
установка remmina astra linux 1.7
remmina astra linux 1.4.43 скачать deb

За месяц таких запросов набирается больше сотни. Сценарий у них общий: человек берёт инструмент из мира Debian, ставит его в Astra и получает другой результат.

Мы в RuDesktop делаем ПО для удалённого доступа и управления парком компьютеров, а к самой Astra подключаемся через xrdp. Ниже — что ломается именно в Astra, как это увидеть и что поправить. Где мы пересказываем документацию, а не свой опыт, так и пишем.

Две модели RDP в Astra: отдельная сессия или одна общая

У Astra есть два способа принять RDP-подключение, и от выбора зависит, что увидит пользователь.

xrdp. Пакет есть в репозиториях Special Edition и Common Edition. После установки сами запускаются две службы: xrdp на TCP 3389 и xrdp-sesman на TCP 3350. При входе выбирают тип сессии Xorg (в 1.5 он назывался session-xorgxrdp). Документация Astra пишет прямо: при подключении создаётся новая отдельная сессия. Подключиться к сессии, которая уже открыта на мониторе, xrdp не даст, если это не RDP-сессия.

# если нужен звук: sudo apt install xrdp pulseaudio-module-xrdp
sudo apt install xrdp
systemctl status xrdp xrdp-sesman

fly-dm-rdp. С обновлений Special Edition 1.8 и 1.7.6 в основной репозиторий входит пакет fly-dm-rdp. После установки и перезагрузки на экране входа появляется тип сессии «Локальная RDP». Такая сессия — RDP-сессия и для того, кто сидит за монитором, поэтому к ней можно подключиться удалённо и вернуться обратно: сессия не прерывается, а неактуальное подключение блокируется. Судя по формулировке, именно это ищут по запросу «локальный и удалённый rdp». Сейчас Astra называет этот вариант рекомендованным.

sudo apt install fly-dm-rdp && sudo reboot
echo $DISPLAY      # :0 — обычная сессия, :10.0 — сессия RDP
xrdp открывает вторую сессию, fly-dm-rdp переключает одну и ту же
xrdp открывает вторую сессию, fly-dm-rdp переключает одну и ту же

Сами мы работаем через xrdp, а fly-dm-rdp не тестировали: здесь пересказываем документацию Astra.

Диагностика по шагам

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

Порядок проверки, если RDP не подключается
Порядок проверки, если RDP не подключается

1. Служба запущена и порт слушается

systemctl status xrdp xrdp-sesman
sudo ss -tlnp | grep -E ':(3389|3350)'

Обе службы должны быть в состоянии active, а порты 3389 и 3350 — в списке слушающих.

2. Что пишет xrdp

В стандартной настройке xrdp пишет журналы сюда:

sudo tail -n 50 /var/log/xrdp.log /var/log/xrdp-sesman.log

Ошибки входа и запуска сессии ищите в журнале xrdp-sesman.

3. Тип сессии при входе

На экране входа xrdp выбирают тип сессии Xorg, в Special Edition 1.5 — session-xorgxrdp.

4. Под каким уровнем конфиденциальности работает сессия

Уровень конфиденциальности в Astra — число от 0 до 255, его получают субъект и объект. Подключение идёт от имени процесса в сессии, и уровень сессии ограничивает, что этот процесс может.

pdp-id      # мандатные атрибуты текущей сессии

Проверьте одно и то же подключение под уровнем 0 и под уровнем 1. Если под нулевым оно проходит, а под первым нет, дело в мандатном разграничении доступа, а не в клиенте: другой клиент, скорее всего, упрётся в то же ограничение.

В открытой документации Astra мы не нашли, как ненулевой уровень сказывается на сетевых подключениях: инструкция «Запрет доступа к сети под нулевым уровнем конфиденциальности» отвечает на обратный вопрос, и её текст открыт только по подписке на техподдержку. Если вы разбирались с этим, расскажите в комментариях, что помогло.

5. Кто может входить по RDP

Вход по RDP можно ограничить пользователями и группами, в том числе группами домена AD: у Astra есть на этот случай отдельная инструкция в базе знаний по подписке. В самом xrdp группа задаётся в файле /etc/xrdp/sesman.ini, параметрами TerminalServerUsers и AlwaysGroupCheck. Если пользователь не может войти, проверьте, состоит ли он в этой группе.

6. Снимок экрана в RDP-сессии получается пустым

В Special Edition при подключении по RDP по умолчанию запрещены снимки экрана. Разрешение выдают в /etc/X11/trusted, например так:

/usr/bin/spectacle(SNAP_R)

Буфер обмена, звук, раскладка, мониторы

Отдельная группа запросов касается бытовых вещей. Что известно из документации Astra:

  • Звук через xrdp работает с пакетом pulseaudio-module-xrdp.

  • Раскладка. Если раскладку переключают одной клавишей, например CapsLock, в удалённой сессии возможны ошибки ввода. Лечится настройкой в секции [SessionVariables] файла /etc/xrdp/sesman.ini.

  • Клиент xfreerdp3 требует xrdp не ниже 0.10, а такой xrdp есть в основном репозитории только с Special Edition 1.8.

  • Многомониторные режимы настраиваются через xorg.conf, для этого у Astra есть отдельная статья.

Буфер обмена между Astra и Windows и проброс каталогов проверяйте на своей связке клиента и сервера: набор возможностей меняется от версии к версии.

Почему deb из интернета не подходит

Запросы вроде remmina astra linux 1.4.43 скачать deb показывают частый подход: найти пакет под свою версию и поставить руками. В Special Edition он ломается по трём причинам.

  1. Замкнутая программная среда. Если она включена, система запускает только подписанное доверенное ПО, и случайный deb в неё не впишется.

  2. Мандатные метки. Стороннее приложение про них не знает и может не заработать в сессии с ненулевым уровнем конфиденциальности.

  3. Версии. Astra 1.6, 1.7 и 1.8 собраны на разных наборах библиотек, и пакет под Debian той же ветки подходит не всегда.

Сначала репозиторий своей версии, потом всё остальное
Сначала репозиторий своей версии, потом всё остальное

Сначала проверьте репозиторий своей версии:

apt policy xrdp remmina fly-dm-rdp

Что выбрать под задачу

Задача

Инструмент

На что смотреть

Отдельная удалённая сессия по RDP

xrdp, есть в репозиториях SE и CE

Сессия отдельная от той, что на мониторе; тип сессии Xorg

Одна сессия и за монитором, и удалённо

fly-dm-rdp, SE 1.7.6 и 1.8+

Тип сессии «Локальная RDP»; Astra называет вариант рекомендованным

Разовая помощь пользователю

Клиент с обратным подключением

Работа без белого IP, журнал подключений

Доступ в закрытый контур

Решение с сервером на своей площадке

Внешних сервисов в схеме быть не должно

В закрытом контуре выбор определяют ограничения среды, и скорость протокола отходит на второй план.

Для двух последних задач мы делаем RuDesktop. Он работает на Astra Linux 1.7 и 1.8: совместимость с 1.8 подтверждена официально, на 1.7 клиент работает, но документального подтверждения совместимости для этой версии у нас нет. Для закрытых контуров есть комплект для офлайн-установки, кроме него — установочный пакет и Docker.

Чек-лист перед внедрением

  1. Зафиксируйте версию: 1.6, 1.7.x или 1.8, Special Edition или Common Edition.

  2. Определите уровень конфиденциальности, под которым будут работать пользователи.

  3. Проверьте подключение под этим уровнем на стенде, а не под нулевым.

  4. Найдите нужный пакет в репозитории своей версии.

  5. Ограничьте вход по RDP и SSH нужными пользователями и группами домена.

  6. Проверьте буфер обмена, печать, мониторы и звук на своей связке.

  7. Убедитесь, что журнал показывает, кто и когда подключался.

Вместо вывода — кратко о сказанном выше

  • xrdp открывает новую отдельную сессию, поэтому «локальная» и «удалённая» у него — два разных рабочих стола. Одну сессию на мониторе и удалённо даёт fly-dm-rdp в 1.7.6 и 1.8.

  • Если клиент не подключается, проверьте по порядку службу и порт, журналы xrdp, тип сессии, уровень конфиденциальности сессии, права на вход по RDP.

  • Под уровнем 1 не подключается, а под нулевым подключается — разбирайтесь с мандатным разграничением доступа, а не меняйте клиент.

  • Пустые снимки экрана в RDP-сессии Special Edition лечатся через /etc/X11/trusted.

  • Deb-пакет из интернета в Special Edition может не заработать. Сначала ищите нужное в репозитории своей версии.


Если вы подключаетесь к Astra по RDP, расскажите в комментариях, какая у вас версия и уровень конфиденциальности, чем подключаетесь и что отваливается. По поисковым запросам мы видим, что чаще всего спотыкаются о буфер обмена и о две сессии, локальную и удалённую. Возможно, у вас было по-другому.

Источники

Комментарии (0)