Подробный гайд: Настройка удалённого доступа в Astra Linux 1.7
Важно:
- Для версии Special Edition необходимо учитывать ограничения подсистемы безопасности PARSEC (мандатный контроль доступа и целостности). Перед внесением изменений создавайте резервные копии и тестируйте в изолированной среде.
1. Настройка SSH-доступа (консольный доступ)
Установка SSH-сервера
# Обновление репозиториев
sudo apt update
# Установка пакета (включает клиент и сервер)
sudo apt install ssh
Пакеты SSH входят в дистрибутивы Astra Linux, но по умолчанию устанавливается только клиент. Сервер нужно установить отдельно.
Проверка и запуск службы
# Проверка статуса
sudo systemctl status sshd
# Для старых версий (до 1.7.2): включить автозапуск
sudo systemctl enable ssh
sudo systemctl start ssh
# Проверка порта
sudo ss -tlnp | grep :22
В Astra Linux Special Edition x.7 сервер SSH запускается автоматически после перезагрузки, в более ранних версиях — требуется ручная активация.
Базовая настройка /etc/ssh/sshd_config
sudo nano /etc/ssh/sshd_config
Рекомендуемые параметры безопасности:
# Изменить порт (опционально)
Port 2222
# Запретить вход под root
PermitRootLogin no
# Разрешить аутентификацию по ключам
PubkeyAuthentication yes
PasswordAuthentication no # после настройки ключей
# Разрешить графические приложения через X11
X11Forwarding yes
X11UseLocalhost yes
# Ограничить пользователей/группы
AllowUsers admin user1
AllowGroups sshusers
# Усилить криптографию (алгоритмы ГОСТ)
Ciphers grasshopper-ctr128,chacha20-poly1305@openssh.com,aes256-ctr
MACs hmac-gost2012-256-etm,hmac-sha2-512-etm@openssh.com
Для применения изменений:
# Проверка конфигурации
sudo sshd -t
# Перезапуск службы
sudo systemctl restart sshd
# Открытие порта в брандмауэре
sudo ufw allow 2222/tcp
sudo ufw reload
Аутентификация по ключам (рекомендуется)
# На клиенте: генерация ключа
ssh-keygen -t ed25519 -C "admin@workstation"
# Копирование публичного ключа на сервер
ssh-copy-id -p 2222 user@server_ip
# Проверка подключения
ssh -p 2222 user@server_ip
Запуск графических приложений и SSHFS
# Запуск графического приложения с перенаправлением 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
# Размонтирование
umount ~/remote_mount # или fusermount -u ~/remote_mount при ошибках
Сервер и клиент SSH в Astra Linux имеют встроенную поддержку алгоритмов ГОСТ. При взаимной поддержке они используются по умолчанию.
2. Настройка графического доступа через RDP
Вариант А: xrdp (универсальный)
# Установка
sudo apt update
sudo apt install xrdp xorgxrdp
# Включение службы
sudo systemctl enable xrdp
sudo systemctl start xrdp
Настройка /etc/xrdp/xrdp.ini:
[Globals]
fork=false # подключение к существующей сессии
[Xorg]
name=Xorg
lib=libxup.so
username=ask
password=ask
ip=127.0.0.1
port=-1
code=20
# [Xvnc] — закомментировать, если не используется
Настройка раскладки /etc/xrdp/xrdp_keyboard.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
# Открытие порта и перезапуск
sudo ufw allow 3389/tcp
sudo ufw reload
sudo systemctl restart xrdp
Вариант Б: fly-dm (рекомендуется для Special Edition)
# Установка компонента 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
Для Special Edition: По умолчанию при подключении по RDP запрещено делать скриншоты.
Для разрешения добавьте в /etc/X11/trusted:
/usr/bin/spectacle(SNAP_R)
Подключение из Windows
- Запустите
mstsc(Удалённый рабочий стол) - Введите адрес:
IP_адрес:3389
3. При запросе типа сессии выберите:
- Xorg — для обновлений 1.6+
- session-xorgxrdp — для версии 1.5
- Введите логин и пароль пользователя Astra Linux
3. Настройка VNC-доступа (Vino)
# Установка
sudo apt install vino libglib2.0-bin
# Настройка для текущего пользователя
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)"
# Автозапуск
mkdir -p ~/.config/autostart
cp /usr/share/applications/vino-server.desktop ~/.config/autostart/
# Проверка запуска
ps aux | grep vino
# Открытие порта
sudo ufw allow 5900/tcp
Vino подключается к активной графической сессии. Если пользователь уже работает за консолью — вы увидите его рабочий стол.
Подключение из клиента (TigerVNC, RealVNC):
- Адрес: IP_адрес:5900
- Пароль: тот, что задан в настройках Vino
Особенности безопасности в Astra Linux Special Edition
Влияние PARSEC на удалённый доступ
| Ограничение | Решение |
|---|---|
| Мандатные метки доступа | Пользователь может подключаться только к сессиям с совместимыми метками конфиденциальности и целостности |
| Блокировка X11-forwarding при ненулевых метках | Запуск сессии с нужным уровнем: sudo pdpl-user username -i high |
| Запрет скриншотов | Добавление программ в /etc/X11/trusted |
| Аудит подключений | Логи в /var/log/parsec/, настройка ротации через /etc/logrotate.d/parsec |
Проверка статуса PARSEC:
# Параметры модуля ядра
cat /sys/module/parsec/parameters/*
# Максимальный уровень целостности
cat /sys/module/parsec/parameters/max_ilev
# Политики доступа
sudo parsec-policy -l
Отключение PARSEC снижает уровень защищённости и может нарушить требования аттестации. Выполняйте только после согласования с ответственными за ИБ.
Диагностика проблем
SSH не подключается
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: чёрный экран / разрыв соединения
sudo systemctl status xrdp
sudo tail -f /var/log/xrdp.log
sudo tail -f /var/log/xrdp-sesman.log
groups username # должен входить в video, plugdev
rm -rf ~/.cache/xrdp ~/.xsession # очистка кэша
VNC: пароль не принимается
gsettings get org.gnome.Vino vnc-password # проверка (base64)
killall vino-server && vino-server & # перезапуск
sudo ss -tlnp | grep :5900 # проверка порта
Проблемы с раскладкой в RDP
- Убедитесь, что в
/etc/xrdp/xrdp_keyboard.iniдобавлены русские раскладки - В клиенте Windows: «Параметры → Локальные ресурсы → Клавиатура → Применить сочетания клавиш на удалённом компьютере»
Сводная таблица портов
| Протокол | Порт | Назначение |
|---|---|---|
| SSH | 22 (или изменённый) | Консольный доступ, туннелирование |
| RDP (xrdp/fly-dm) | 3389 | Графический рабочий стол |
| VNC (Vino) | 5900 | Подключение к активной сессии |
| SSH-туннель для RDP | любой свободный | Безопасная передача RDP-трафика |
Рекомендации по безопасности
- Используйте ключи вместо паролей для SSH-аутентификации
- Ограничьте доступ по IP через
AllowUsersи правилаufw - Включите 2ФА (Google Authenticator + PAM) для критичных систем
- Регулярно обновляйте систему:
sudo apt update && sudo apt upgrade - Мониторьте логи: настройте алерты на неудачные попытки входа
- Для SE: не отключайте PARSEC без необходимости, настраивайте политики через
pdpl-*утилиты
7. Используйте SSH-туннели для защиты RDP/VNC-трафика в ненадёжных сетях:
ssh -f -N -L 3389:localhost:3389 user@astra-server
xfreerdp /v:localhost:3389 /u:username
Перед внедрением в производственную среду обязательно протестируйте конфигурацию в изолированной среде и согласуйте изменения с отделом информационной безопасности.