ServerAdmin.ru
26.6K subscribers
197 photos
24 videos
8 files
2.47K links
Авторская информация о системном администрировании.

Информация о рекламе: @srv_admin_reklama_bot
Автор: @zeroxzed

Второй канал: @srv_admin_live
Сайт: serveradmin.ru
Download Telegram
Есть много способов защитить подключение из интернета к Windows серверу по RDP. Приведу наиболее известные:

1️⃣ Самое надёжное и очевидное - настроить клиентам VPN, а доступ к серверу разрешить только через этот тоннель. Самый главный минус тут один - клиентам надо у себя на компьютерах настраивать VPN соединение. Где-то оно может блокироваться или работать ненадёжно.

2️⃣ Настроить шлюз Remote Desktop Gateway на базе Windows Server и осуществлять подключение через него. Это простое и удобное для пользователей решение, так как им не нужно делать никаких дополнительных настроек у себя, кроме добавления лишнего параметра в настройки RDP соединения. Я не знаю точно, насколько это безопасное решение. Не припоминаю, чтобы у RDG находили какие-то серьезные уязвимости.

3️⃣ Настроить подключение по RDP через браузер с помощью Apache Guacamole. С одной стороны удобно работать через браузер, так как не надо вообще ничего настраивать на клиенте, но с другой стороны при работе через браузер есть много нюансов с пробросом горячих клавиш, буфера обмена, с подключением принтеров. Подходит не всегда и не всем, но лично я настраивал подобные подключения и людей устраивало. Подобные подключения можно проксировать через Nginx, анализировать логи подключений с помощью fail2ban, добавлять basic auth и т.д.

4️⃣ Первые три способа я пробовал лично. Расскажу про ещё один, о котором узнал от знакомого. Есть софт, похожий на Apache Guacamole, только под Windows - Myrtille (open source). Настраивать сильно проще, чем AG (с этим есть объективные сложности, надо немного разбираться в теме). Обычный виндовый инсталлятор «Далее - Далее - ОК». Затем открываем браузер, заходим по адресу приложения и настраиваем. Поддерживает RDP, SSH и доступ к виртуальным машинам под Hyper-V. Веб клиент реализован на базе HTML5. Подключения можно также проксировать через Nginx, подключить сертификат, добавить basic auth и т.д. Myrtille поддерживает и печать, и передачу файлов.

5️⃣ Для полноты картины упомяну еще пару способов, которые сам не использовал, но знаю, что так можно. Проксировать RDP соединения напрямую умеет Nginx с помощью stream. Также шлюзом для RDP соединений может выступать HAProxy. Причём он умеет идентифицировать RDP, парсить rdp_cookie. Например, для запоминания связки "имя пользователя - сервер" и подключать пользователя к одному и тому же серверу. Актуально, если у вас HAProxy балансирует подключения на несколько RDP серверов.

А вы какой способ используете для защиты RDP? Может есть ещё что-то простое и удобное?

#windows #rdp #security
​​Продолжу вчерашнюю тему про RDP. Судя по комментариям, есть немало людей, которые просто ставят аналог fail2ban, только под Windows. Я ранее рассказывал про подобные решения:

RDP Defender - https://t.me/srv_admin/1168
EvlWatcher - https://t.me/srv_admin/1680
IP Ban - https://t.me/srv_admin/1657

Мне лично RDP Defender больше всего нравится. Но есть ещё один бесплатный продукт, который раньше был популярен - Cyberarms IDDS. А сейчас у него даже сайт не открывается. Тем не менее, на github хранятся исходники и скомпилированная версия - https://github.com/EFTEC/Cyberarms Обновлений не было 5 лет. Я решил проверить, он вообще рабочий или уже нет.

Установил на Windows Server 2019, без проблем запустился. Всё работает. По функционалу и удобству он лучше всех перечисленных выше. У него настроек больше, они гибче, плюс уведомления по smtp отправлять умеет. Помимо подключений по RDP, может следить за виндовыми службами: ftp, smtp, sql server и некоторыми другими. Для каждой службы свой агент.

Принцип работы у Cyberarms IDDS примерно такой же, как у всех. Устанавливает свою службу, создаёт правило во встроенном брандмауэре, заполняет правило ip адресами. Перед установкой надо поставить в систему пакет Microsoft Visual C++ 2010 x64. Без него не установится. И агент, отвечающий за авторизацию по RDP называется Windows Base Security Agent. Во всех инструкциях в сети почему-то запускают другого агента - TLS/SSL Security Agent. С ним у меня ничего не работало.

Хочу напоминать, что подобного рода защита от перебора учёток решает только одну задачу. На моей памяти было как минимум две уязвимости в протоколе RDP, которые позволяли получить доступ к серверу в обход механизма аутентификации. То есть подобного рода программы никак вас от этого не защитят. Так что смотрящий напрямую в интернет RDP порт это очень небезопасно. До очередной найденной уязвимости. Сначала прокатится волна взломов, потом будет выяснено, через какую уязвимость они прошли. И только потом выпустят обновление, закрывающее эту уязвимость.

#windows #rdp #security
​​Вспомнил недавно про небольшую, но полезную программу для тех, кто подключает пользователей по RDP. Я сам её использовал некоторое время в прошлом. Речь пойдёт про Remote Desktop Plus. Это бесплатный (исходный код закрыт, это не open source) wrapper поверх стандартного клиента удалённого рабочего стола mstsc.exe. С его помощью можно настроить любое подключение, в том числе указав сразу логин с паролем, передать его пользователю, чтобы он смог подключиться по rdp, не вводя никаких данных и настроек.

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

1️⃣ Скачиваем программу rdp.exe, которая запускается без установки.
2️⃣ Рядом кладём rdp.bat файл примерно такого содержания:
rdp.exe /v:10.20.1.27 /u:user /p:password
3️⃣ Отправляем пользователю архив с rdp.exe и rdp.bat.
4️⃣ Пользователь распаковывает архив, запускает rdp.bat и подключается по rdp к серверу 10.20.1.27 с автоматическим вводом пользователя и пароля. То есть ему ничего делать не надо. И не будет никаких запросов на тему доверия к сертификату сервера.

Очевидно, что всё это небезопасно. Пароль у пользователя хранится в открытом виде. Есть возможность его зашифровать и использовать шифрованным. Для этого используется дополнительная утилита. Программа не развивается с 2018 года, но по-прежнему нормально работает с самыми новыми версиями Windows.

Эта программа удобна для того, чтобы какой-то компьютер автоматически подключать по RDP при загрузке. Достаточно добавить rdp.exe с параметрами командной строки в автозапуск с помощью стандартного планировщика.

У Remote Desktop Plus есть msi пакет и шаблон групповой политики в формате ADMX для централизованного управления RDP соединениями. Я показал самый простой пример соединения. На сайте перечислены все поддерживаемые параметры командной строки и примеры использования.

⇨ Сайт

#windows #rdp