Подробный гайд по предоставлению удалённого доступа в Astra Linux Важно: Данное руководство предназначено для лицензионных версий Astra Linux (Common Edition и Special Edition). При работе с версией Special Edition необходимо учитывать ограничения подсистемы безопасности PARSEC (мандатный контроль доступа и целостности).
Содержание
- Основные методы удалённого доступа
- Настройка SSH-доступа
- Настройка RDP-сервера (графический доступ)
- Настройка VNC-доступа
- Доступ ИЗ Astra Linux к другим системам
- Особенности безопасности PARSEC
Диагностика и устранение проблем
Основные методы удалённого доступа
Подробный гайд по предоставлению удалённого доступа в Astra Linux
Рекомендуется использовать RDP через fly-dm для Astra Linux Special Edition, так как этот метод корректно интегрируется с подсистемой безопасности PARSEC.
Настройка SSH-доступа
Установка SSH-сервера
bash
# Установка пакета (включает и клиент, и сервер)
sudo apt update
sudo apt install ssh
# Проверка статуса службы
sudo systemctl status sshd
Базовая настройка /etc/ssh/sshd_config
ini
# Изменить порт (опционально, для безопасности)
Port 2222
# Запретить вход под root (рекомендуется)
PermitRootLogin no
# Разрешить аутентификацию по ключам
PubkeyAuthentication yes
PasswordAuthentication no # После настройки ключей
# Разрешить X11-forwarding для графических приложений
X11Forwarding yes
X11UseLocalhost yes
# Ограничить пользователей/группы
AllowUsers admin user1
AllowGroups sshusers
Применение настроек
bash
# Проверка конфигурации на ошибки
sudo sshd -t
# Перезапуск службы
sudo systemctl restart sshd
# Открытие порта в брандмауэре
sudo ufw allow 2222/tcp # Если меняли порт
sudo ufw reload
Аутентификация по ключам (рекомендуется)
bash
# На клиенте: генерация ключа
ssh-keygen -t ed25519 -C "admin@workstation"
# Копирование публичного ключа на сервер
ssh-copy-id -p 2222 user@server_ip
# Проверка подключения
ssh -p 2222 user@server_ip
Запуск графических приложений через SSH
bash
# Запуск с перенаправлением X11
ssh -X user@server_ip gedit
# Для более сложных приложений (лучшая совместимость)
ssh -Y user@server_ip firefox
# Монтирование удалённой ФС через SSHFS
sudo apt install sshfs
mkdir ~/remote_mount
sshfs -o allow_other,IdentityFile=~/.ssh/id_ed25519 \
user@server_ip:/home/user ~/remote_mount
Сервер и клиент SSH в Astra Linux имеют встроенную поддержку алгоритмов ГОСТ
Настройка RDP-сервера (графический доступ)
Вариант 1: xrdp (универсальный, для обоих изданий)
- Установка bash
sudo apt update
sudo apt install xrdp xorgxrdp
# Включение и запуск службы
sudo systemctl enable xrdp
sudo systemctl start xrdp
Настройка /etc/xrdp/xrdp.ini
ini
# В секции [Globals]
fork=false # Чтобы подключаться к существующей сессии
# В секции [Xorg] (раскомментировать, если закомментировано)
[Xorg]
name=Xorg
lib=libxup.so
username=ask
password=ask
ip=127.0.0.1
port=-1
code=20
# Секцию [Xvnc] закомментировать (если не используется)
#[Xvnc]
#name=Xvnc
#...
Настройка раскладки клавиатуры /etc/xrdp/xrdp_keyboard.ini
ini
[layouts_map_ru]
rdp_layout_us=ru,us
rdp_layout_ru=ru,us
[rdp_keyboard_ru]
keyboard_type=4
keyboard_subtype=1
options=grp:alt_shift_toggle
rdp_layouts=default_rdp_layouts
layouts_map=layouts_map_ru
Открытие порта и перезапуск
bash
# Брандмауэр
sudo ufw allow 3389/tcp
sudo ufw reload
# Перезапуск службы
sudo systemctl restart xrdp
Вариант 2: fly-dm (рекомендуется для Special Edition)
bash
# Установка компонента RDP для fly-dm
sudo apt install fly-dm-rdp
# Настройка /etc/X11/fly-dm/fly-dmrc
[General]
DefaultSession=fly-rdp-local
[Xdmcp]
Enable=true
# Перезапуск дисплей-менеджера
sudo systemctl restart fly-dm
Важно для SE: При подключении по RDP в Astra Linux Special Edition по умолчанию запрещено делать снимки экрана.
Для разрешения добавьте в /etc/X11/trusted:
/usr/bin/spectacle(SNAP_R)
Подключение из Windows
- Запустите mstsc (Удалённый рабочий стол)
- Введите адрес сервера: IP_адрес:3389
При запросе типа сессии выберите:
- Xorg — для обновлений 1.6+
- session-xorgxrdp — для версии 1.5
- Введите логин и пароль пользователя Astra Linux
Настройка VNC-доступа (Vino)
Установка и настройка сервера
bash
# Установка Vino и зависимостей
sudo apt install vino libglib2.0-bin
# Настройка Vino для текущего пользователя
gsettings set org.gnome.Vino prompt-enabled false
gsettings set org.gnome.Vino require-encryption false # ⚠️ Не рекомендуется для продакшена
gsettings set org.gnome.Vino authentication-methods "['vnc']"
gsettings set org.gnome.Vino vnc-password "$(echo -n 'ваш_пароль' | base64)"
# Автозапуск Vino
mkdir -p ~/.config/autostart
cp /usr/share/applications/vino-server.desktop ~/.config/autostart/
Подключение к текущей сессии
- Vino подключается к активной графической сессии пользователя. Если пользователь уже работает за консолью — вы увидите его рабочий стол. bash
# Проверка, что Vino запущен
ps aux | grep vino
# Порт по умолчанию: 5900
sudo ufw allow 5900/tcp
Подключение из Windows
- Установите клиент: TigerVNC, RealVNC или TightVNC
- Подключитесь к IP_адрес:5900
- Введите пароль, заданный в настройках Vino
Доступ ИЗ Astra Linux к другим системам
Подключение к Windows по RDP
Установка клиента
bash
# Консольный клиент (рекомендуется)
sudo apt install freerdp2-x11 # или freerdp3-x11 для новых версий
# Графический клиент
sudo apt install remmina remmina-plugin-rdp
Использование xfreerdp
bash
# Базовое подключение
xfreerdp /v:192.168.1.100 /u:username /p:password
# С указанием домена
xfreerdp /v:192.168.1.100 /u:username /d:DOMAIN /p:password
# С безопасным соединением (NLA)
xfreerdp /v:192.168.1.100 /u:username /sec:tls
# С сжатием и 16-битной цветностью (для медленных сетей)
xfreerdp /v:192.168.1.100 /u:username /bpp:16 /compression
# Через SSH-туннель (повышенная безопасность)
ssh -f -N -L 3389:192.168.1.100:3389 user@gateway
xfreerdp /v:localhost:3389 /u:username
Использование Remmina (графический интерфейс)
Запустите:
- remmina или через меню «Пуск → Сеть → Remmina»
- Нажмите «+» для создания нового подключения
- Выберите протокол RDP,
Укажите:
- Сервер: 192.168.1.100
- Пользователь/пароль
- Разрешение и качество (рекомендуется 16 бит для экономии трафика)
- Сохраните и подключитесь
Подключение к другой Astra Linux
bash
# Через SSH с запуском графического приложения
ssh -X user@remote_host application_name
# Через RDP (если на удалённой машине настроен xrdp/fly-dm)
xfreerdp /v:remote_host /u:user
# Через VNC (если настроен Vino)
vncviewer remote_host:5900
Особенности безопасности PARSEC в Special Edition
- Влияние на удалённый доступ
Мандатные метки:
- Пользователь может подключаться только к сессиям с совместимыми метками конфиденциальности и целостности
Ограничения X11-forwarding:
- При работе с ненулевыми метками целостности графические приложения могут не запускаться.
Решение:
bash
# Проверка текущей метки целостности
pdpl-user -i current_user
# При необходимости — запуск сессии с высокой целостностью
sudo pdpl-user username -i high
Запрет скриншотов:
- В режиме высокой целостности по умолчанию заблокированы программы захвата экрана. Разрешение через /etc/X11/trusted
Аудит подключений:
- Все сеансы удалённого доступа логируются в /var/log/parsec/.
Настройте ротацию логов:
bash
sudo nano /etc/logrotate.d/parsec
Проверка статуса PARSEC
bash
# Просмотр параметров модуля ядра
cat /sys/module/parsec/parameters/*
# Проверка максимального уровня целостности
cat /sys/module/parsec/parameters/max_ilev
# Просмотр политик доступа
sudo parsec-policy -l
Важно:
- Отключение PARSEC для совместимости с ПО снижает уровень защищённости и может нарушить требования аттестации. Выполняйте только после согласования с ответственными за ИБ.
Диагностика и устранение проблем
SSH не подключается
bash
# Проверка службы
sudo systemctl status sshd
# Проверка порта
sudo ss -tlnp | grep :22
# Проверка брандмауэра
sudo ufw status verbose
# Проверка логов
sudo journalctl -u sshd -f
sudo tail -f /var/log/auth.log
RDP: чёрный экран или разрыв соединения
bash
# Проверка службы xrdp
sudo systemctl status xrdp
# Логи xrdp
sudo tail -f /var/log/xrdp.log
sudo tail -f /var/log/xrdp-sesman.log
# Проверка прав пользователя на запуск графической сессии
groups username # Должен входить в группу: video, plugdev
# Пересоздание кэша xrdp
rm -rf ~/.cache/xrdp
rm -rf ~/.xsession
VNC: запрос пароля не принимается
bash
# Проверка пароля Vino (должен быть в base64)
gsettings get org.gnome.Vino vnc-password
# Перезапуск Vino
killall vino-server
vino-server &
# Проверка порта
sudo ss -tlnp | grep :5900
Проблемы с раскладкой клавиатуры в RDP
- Убедитесь, что в /etc/xrdp/xrdp_keyboard.ini добавлены русские раскладки
Перезапустите xrdp:
sudo systemctl restart xrdp
В клиенте Windows:
- «Параметры → Локальные ресурсы → Клавиатура → Применить сочетания клавиш на удалённом компьютере»
Логи для диагностики
Подробный гайд по предоставлению удалённого доступа в Astra Linux
Сводная таблица портов
Подробный гайд по предоставлению удалённого доступа в Astra Linux
Рекомендации по безопасности
- Используйте ключи вместо паролей для SSH
- Ограничьте доступ по IP через AllowUsers и правила брандмауэра
- Включите двухфакторную аутентификацию (Google Authenticator + PAM)
- Регулярно обновляйте систему: sudo apt update && sudo apt upgrade
- Мониторьте логи подключений: настройте алерты на неудачные попытки входа
- Для SE: не отключайте PARSEC без необходимости, настраивайте политики доступа через pdpl-* утилиты
- Используйте SSH-туннели для защиты RDP/VNC-трафика в ненадёжных сетях
bash
# Пример: запуск RDP через SSH-туннель
ssh -f -N -L 3389:localhost:3389 user@astra-server
xfreerdp /v:localhost:3389 /u:username
Источники:
- Официальная документация Astra Linux, практические руководства.
Перед внесением изменений в конфигурацию систем безопасности (особенно в Special Edition) обязательно создавайте резервные копии и тестируйте в изолированной среде.