Проблема
В государственных и корпоративных средах на базе Astra Linux Special Edition системный администратор не всегда имеет физический доступ к серверам и рабочим станциям. Машины могут находиться в серверных, удалённых офисах или вообще быть развернуты на объектах с особым режимом доступа. При этом выполнять повседневные задачи обновление пакетов, аудит журналов, настройку учётных записей, мониторинг необходимо оперативно и, что критически важно, безопасно. Использование незашифрованных протоколов вроде Telnet или прямой доступ по VNC без туннелирования недопустимо в аттестованных системах. Требуется набор инструментов, который, с одной стороны, соответствует политикам безопасности ФСТЭК, а с другой удобен в ежедневной работе. Администрирование Astra Linux в части удалённого управления опирается на три кита: SSH для консольного доступа и туннелирования, VNC для графического сеанса и штатное средство Fly Admin для централизованного контроля над парком машин через домен ALD.
Решение
Мы настроим безопасный консольный доступ по SSH с аутентификацией исключительно по ключам (парольный вход будет отключён), графический доступ по VNC, завёрнутый в SSH-туннель, и развернём средство Fly Admin для массового администрирования. Все компоненты входят в официальные репозитории Astra Linux и описаны в документации разработчика. Основные источники: руководство администратора Astra Linux в разделе Удалённый доступ, man-страницы sshd_config и x11vnc, а также документация по Fly Admin. Алгоритм применим для Astra Linux SE 1.7 «Смоленск» и более новых версий.
Пошаговая инструкция
Шаг 1. Настройка SSH-сервера для безопасного доступа
OpenSSH-сервер предустановлен в большинстве сборок Astra Linux. Приведём конфигурацию к требованиям безопасного администрирования.
- Создайте резервную копию текущего конфигурационного файла:
bash
sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.backup
- Отредактируйте файл
/etc/ssh/sshd_config:
bash
sudo nano /etc/ssh/sshd_config
Приведите следующие строки к указанному виду или добавьте их:
# Порт (рекомендуется сменить со стандартного 22 на нестандартный)
Port 2222
# Запрет прямого входа root (используйте sudo после входа)
PermitRootLogin no
# Аутентификация только по ключам (после настройки ключей)
PubkeyAuthentication yes
PasswordAuthentication no
ChallengeResponseAuthentication no
# Ограничение пользователей, которым разрешён SSH
AllowUsers administrator operator
# Баннер для неавторизованных пользователей (рекомендация ФСТЭК)
Banner /etc/ssh/ssh_banner
- Создайте файл баннера
/etc/ssh/ssh_bannerс текстом предупреждения:
*** ВНИМАНИЕ! Доступ к системе разрешён только авторизованным лицам. ***
*** Все действия протоколируются. Несанкционированный доступ преследуется по закону. ***
- После изменения параметров перезапустите службу:
bash
sudo systemctl restart sshd
- Убедитесь, что сервер слушает указанный порт:
bash
sudo ss -tlnp | grep 2222
Подробное описание всех директив приведено в man sshd_config и в официальном руководстве Astra Linux.
Шаг 2. Генерация ключевой пары и настройка клиента
Для аутентификации без пароля сгенерируйте ключевую пару на рабочей станции администратора (ОС может быть любой с установленным OpenSSH).
- Сгенерируйте ключ Ed25519 (более современный и быстрый, чем RSA):
bash
ssh-keygen -t ed25519 -f ~/.ssh/id_ed25519_astra -C "admin@workstation"
- Скопируйте открытый ключ на целевой сервер Astra Linux. Поскольку парольный вход пока разрешён (мы не перезагружали сервер после полного отключения паролей), используйте утилиту
ssh-copy-id:
bash
ssh-copy-id -i ~/.ssh/id_ed25519_astra.pub -p 2222 administrator@192.168.1.50
Если ssh-copy-id недоступен, вручную добавьте содержимое .pub-файла в /home/administrator/.ssh/authorized_keys на сервере.
- Проверьте подключение с ключом:
bash
ssh -i ~/.ssh/id_ed25519_astra -p 2222 administrator@192.168.1.50
- После успешной проверки окончательно отключите парольный вход, установив
PasswordAuthentication noвsshd_config, и перезапуститеsshd. Теперь сервер доступен только по ключу.
Шаг 3. Настройка графического доступа через VNC с туннелированием
Для случаев, когда требуется рабочий стол (настройка программ, отладка GUI), используем x11vnc легковесный VNC-сервер, подключающийся к уже запущенному X-сеансу.
- Установите пакет:
bash
sudo apt install x11vnc -y
- Убедитесь, что графическая сессия запущена (пользователь должен быть залогинен локально или через LightDM). Если сервер работает в режиме без монитора (headless), предварительно установите и настройте
xserver-xorg-video-dummy. - Запустите
x11vnc, слушающий только локальный интерфейс (loopback), чтобы исключить прямой доступ из сети:
bash
x11vnc -display :0 -auth guess -forever -loop -noxdamage -repeat -rfbauth /home/administrator/.vnc/passwd -rfbport 5900 -localhost
Пояснения ключей:
-
-auth guess— автоматически найти файл авторизации X-сервера. -
-forever -loop— продолжать работу после разрыва клиента и перезапускать при необходимости. -
-rfbauth— файл с паролем для VNC. -
-localhost— принимать соединения только с 127.0.0.1, что вынуждает клиентов использовать SSH-туннель.
- Создайте пароль для VNC:
bash
x11vnc -storepasswd /home/administrator/.vnc/passwd
- Для автоматического запуска
x11vncпри старте графической сессии добавьте строку в/etc/xdg/autostart/x11vnc.desktopили в автозагрузку окружения (например,~/.fly/autostartв Astra Linux). - На рабочей станции администратора подключайтесь к VNC через SSH-туннель:
bash
ssh -i ~/.ssh/id_ed25519_astra -p 2222 -L 5900:127.0.0.1:5900 administrator@192.168.1.50
Затем откройте любой VNC-клиент (Remmina, TigerVNC) и подключитесь к 127.0.0.1:5900. Трафик будет зашифрован SSH-туннелем.
Шаг 4. Установка и настройка Fly Admin для централизованного управления
Fly Admin штатная графическая утилита Astra Linux для управления учётными записями, компьютерами, мандатными метками и аудитом в домене ALD (Astra Linux Directory). Она позволяет администратору выполнять массовые операции, не подключаясь к каждой машине отдельно.
- Установите пакет на рабочую станцию администратора (обычно используется графическая):
bash
sudo apt install fly-admin-ald -y
- Запустите утилиту из меню «Пуск» или командой
fly-admin-ald. - В окне Fly Admin введите адрес контроллера домена ALD (например,
dc1.company.local) и учётные данные администратора домена (admin@COMPANY.LOCAL). - После успешного подключения вы увидите дерево объектов: пользователи, группы, компьютеры. Отсюда можно:
- Блокировать или удалять учётные записи.
- Просматривать журналы аудита (раздел «Аудит»).
- Применять мандатные метки к пользователям и хостам.
- Перезагружать удалённые компьютеры (если на них установлен и настроен агент
ald-agent).
- Для управления рабочими станциями без домена ALD можно использовать
fly-admin-kf(клиентский файловый менеджер) илиfly-admin-sshв связке с ключами из шага 2.
Устранение распространённых проблем
| Симптом | Вероятная причина | Решение |
|---|---|---|
| После отключения паролей невозможно подключиться даже с ключом | Ключ не добавлен в authorized_keys или неверные права на домашний каталог | Убедитесь, что права на /home/administrator — 755, на .ssh — 700, на authorized_keys — 600. |
x11vnc не запускается с ошибкой «XOpenDisplay failed» | Отсутствует запущенный X-сервер или неверный DISPLAY | Проверьте переменную $DISPLAY (обычно :0). Если сервер без монитора, настройте фиктивный драйвер xserver-xorg-video-dummy. |
| Подключение по VNC зависает или чёрный экран | Экран блокировки или несовместимость с композитингом | Отключите экран блокировки в настройках Fly (или через gsettings). Запускайте x11vnc с ключом -noxdamage. |
| Fly Admin не видит домен ALD | Не настроен DNS или неверные учётные данные | Проверьте, что на клиенте в качестве DNS указан контроллер домена ALD. Убедитесь, что сервер ald активен (systemctl status ald). |
Команда ssh-copy-id не работает на Windows-клиенте | Отсутствует встроенная утилита в PowerShell | Воспользуйтесь WSL или вручную скопируйте ключ командой type .\.ssh\id_ed25519_astra.pub | ssh administrator@host "cat >> .ssh/authorized_keys" (для PowerShell). |
| После изменения порта SSH брандмауэр блокирует подключение | В iptables или ufw не открыт новый порт | Добавьте правило: sudo ufw allow 2222/tcp или sudo iptables -A INPUT -p tcp --dport 2222 -j ACCEPT. |
Итог
Каждый из этих инструментов решает свой класс задач, не выходя за рамки требований к защищённым системам. После выполнения инструкции администратор получает возможность безопасно обслуживать серверы и рабочие места Astra Linux из любой точки сети, имея под рукой полный контроль над учётными записями и политиками. Ключи стоит периодически ротировать, а пароли VNC хранить в защищённом менеджере паролей это дополнительно укрепит контур безопасности.







