Руководство по настройке доступа RDP на linux-сервере

Введение

В этом руководстве мы рассмотрим процесс настройки RDP-доступа на сервере Linux, чтобы вы могли подключаться к нему из Windows.

Xrdp - это сервер RDP с открытым исходным кодом, который позволяет подключаться к рабочему столу Linux через RDP.

Требования

Сервер Linux с установленной операционной системой.
Пользователь с правами sudo на сервере.
Клиент RDP на Windows-машине.

Этапы

1.Установка Xrdp, пример установки будет показан на Ubuntu 22.04

1.1 Для начала нам нужно выполнить обновление системы

sudo apt  update && sudo apt  upgrade && sudo reboot
У вас пойдет процесс обновления, появится окно, вам нужно согласиться, дальше продолжится обновление.

1.2 В Ubuntu 22.04 можно установить программу с помощью утилиты apt. Давайте установим XRDP из репозитория. Для этого, с помощью терминала, вы можете проверить, есть ли пакет xrdp в хранилище пакетов Ubuntu
sudo apt search xrdp

Примечание! Если у вас проблема с репозиториями, используйте команду: sudo add-apt-repository universe multiverse для добавление репозиториев.

На Ubuntu/Debian:
sudo apt install xrdp
На CentOS/Fedora:
sudo yum install xrdp

1.3 Установка пакетов
После перезагрузки можно устанавливать XRDP из репозитория Ubuntu

sudo apt install xrdp

Обращаю внимание, что при установке генерируется сертификат, который необходим для функционирования RDP протокола, строка ниже указывает, что сертификат успешно создан:


Настройка Xrdp
После установки Xrdp необходимо настроить его для работы с вашей системой.

2.1 Настройка службы XRDP
В связи с особенностями системы Ubuntu 22.04, необходимо ввести пользователя xrdp, от имени которого работает XRDP в системе, в группу ssl-cert. Выполните команду:

sudo adduser xrdp ssl-cert

Затем добавьте службу xrdp в автозапуск и перезапустите её для применения изменений:

sudo systemctl enable xrdp

sudo systemctl restart xrdp

sudo systemctl status xrdp

Если результат выполнения команды выглядит так, как на скриншоте, то все прошло успешно. В финале предоставьте доступ из внешней сети к порту 3389 в файрволле Ubuntu

2.2. Настройка файерволла

Вам нужно открыть порт 3389 в вашем файерволле, чтобы разрешить RDP-подключения.

На Ubuntu/Debian:
sudo ufw allow 3389
На CentOS/Fedora:
sudo firewall-cmd --permanent --add-port=3389/tcp
sudo firewall-cmd --reload

Так же со стороны ЕСУ, потребуется добавить протокол RDP для вашей ВМ.


Мануал как это сделать: https://kb.iteco.cloud/index/panel-upravleniya/pol-zovatelyam/shablony-brandmauera

Примечание! 

Опасно держать открытым RDP в Интернет, на долгий промежуток времени. 

Риски

Чем вы рискуете открывая порт RDP?

1) Неавторизованный доступ к чувствительным данным
Если кто-то подберёт пароль к RDP, то он сможет получить данные, которые вы хотите держать приватными: состояние счетов, балансы, данные клиентов, ...
2) Потеря данных
Например в результате работы вируса-шифровальщика.
Или целенаправленного действия злоумышленника.
3) Потеря рабочей станции
Работникам нужно работать, а система — скомпрометирована, нужно переустанавливать / восстанавливать / конфигурировать.
4) Компрометация локальной сети
Если злоумышленник получил доступ к Windows-компьютеру, то уже с этого компьютера он сможет иметь доступ к системам, которые недоступны извне, из Интернета. Например к файл-шарам, к сетевым принтерам и т.д.
и еще многие другие риски вас могут ожидать!

Дополнительные сведение:
Можно установить на вашу ВМ, П/О IPban, оно поможет сократить не желательные подключение.
https://github.com/digitalruby/ipban

Так же рекомендация переименовать пользователя- Administrator в другое имя, т.к нельзя его удалить, если он у вас оставлен и существует. Это упрощает задачу для злоумышленников: вместо подбора имени и пароля нужно только подобрать пароль.

2.3. Настройка Xorg

Xorg - это сервер X11, который обеспечивает графический интерфейс пользователя. Xrdp необходимо настроить для работы с Xorg.

На Ubuntu/Debian:
sudo nano /etc/xrdp/xorg.conf
Добавьте следующую строку в конец файла:

StartWM = /etc/X11/xinit/xinitrc
Сохраните и закройте файл.

На CentOS/Fedora:
sudo nano /etc/xrdp/startwm.sh
Добавьте следующую строку в конец файла:

#!/bin/bash
Xorg -display :0 -nolisten tcp "$@"
Сохраните и закройте файл.

2.4. Настройка пользователей

Xrdp должен быть настроен для работы с конкретным пользователем.

На Ubuntu/Debian:
sudo nano /etc/xrdp/xrdp.ini
Найдите строку security_layer и измените ее значение на Allow Single User.

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

Сохраните и закройте файл.

На CentOS/Fedora:
sudo nano /etc/xrdp/xrdp.ini
Найдите строку SecurityLayer и измените ее значение на Allow Single User.

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

Сохраните и закройте файл.

2.5. Перезапуск Xrdp

После внесения изменений в конфигурационные файлы необходимо перезапустить Xrdp.

sudo systemctl restart xrdp

3. Подключение к серверу

Теперь вы можете подключиться к серверу Linux из Windows с помощью клиента RDP.

Откройте клиент RDP.

Введите IP-адрес вашего сервера Linux.
Введите имя пользователя и пароль.
Нажмите кнопку "Подключиться".


Дополнительные сведения

Настройка Xrdp на Ubuntu: https://www.digitalocean.com/community/tutorials/how-to-enable-remote-desktop-protocol-using-xrdp-on-ubuntu-22-04
Настройка Xrdp на CentOS: https://docs.e2enetworks.com/guides/centos_xrdp.html
Подключение к удаленному рабочему столу в Windows: https://support.microsoft.com/en-us/windows/how-to-use-remote-desktop-5fe128d5-8fb1-7a23-3b8a-41e636865e8c
В заключение