Настройка клиента Microsoft RDP (часть 2)

Опубликовано: 24 Апреля, 2023

В первой части этой статьи мы обсудили настройки, которые вы можете выполнять на уровне интерфейса клиента Microsoft Remote Desktop, и причины для этого.

Теперь, переходя ко второй части, мы рассмотрим еще одну замечательную модификацию, которую вы можете сделать, и которая, на мой взгляд, значительно повысит безопасность вашей среды служб терминалов. Прочитав эту статью, вы также поймете, почему эта небольшая настройка может помочь вам защитить все ваши серверы, к которым вы получаете доступ удаленно, используя RDP, TS или нет. Я думаю, что большинство из нас сегодня просто используют RDP для управления контроллерами домена, Exchange, SQL и т. д., и эта статья применима и ко всем этим! Так что продолжайте читать.

Введение

Если вы не читали часть 1, то вот еще раз. Как и в любой другой «практической» статье, я должен прояснить пару вещей. Если вы помните, что читали какую-либо статью базы знаний Microsoft, где они упоминают слово «реестр», они всегда утверждают, что если вы произнесете слово «реестр» десять раз перед сервером под управлением Windows, когда вы смотрите на запад, что-то может случиться, и ваш сервер может перейти в кибер-лимбо. Здесь действуют те же правила/отличные идеи. Вы будете использовать инструменты, которые, скажем, могут нанести некоторый ущерб, в зависимости от того, где и как вы их используете. Так что я не несу ответственности за ваши действия, вы делаете это на свой страх и риск.

И ВСЕГДА имейте наготове резервную копию!

Инструменты

Для этой второй части нам понадобится шестнадцатеричный редактор, чтобы изменить один файл, MSTSCAX.DLL. Есть много доступных и, конечно, у меня не было времени проверить все там. Я попробовал и мне очень понравился бесплатный шестнадцатеричный редактор от HHD Software ( рис. 1 ). Вы можете скачать его по адресу:

http://www.hhdsoftware.com/free-hex-editor.html


рисунок 1

Просто скачайте его по предоставленной ссылке и установите на свой компьютер.

Делаю какую-то работу…

Хорошо, главный вопрос, который вы задаете себе сейчас: «Что, черт возьми, мы собираемся сделать, чтобы каким-то образом повысить безопасность на моих серверах, к которым я получаю доступ, используя RDP, TS или нет?». Простой. Когда вы подключаетесь к серверу с помощью RDP, если вы запустите TSADMIN на этом сервере и посмотрите на детали вашего подключения, вы увидите этот экран ( рис. 2 ):


Рис. 2

На правой боковой панели вы можете увидеть надпись «Номер сборки клиента». В моем случае, используя обычный клиент Microsoft RDP, который поставляется с Windows XP Pro SP2, он указывает его как 2600. Итак, что мы можем с этим сделать?

Существует ВЕЛИКОЛЕПНОЕ программное обеспечение, которое изначально было разработано Terminal-Services.NET и теперь БЕСПЛАТНО распространяется компанией 2X Software Ltd. (http://www.2x.com). Он называется SecureRDP и в основном позволяет фильтровать входящие соединения на основе множества разных вещей, таких как IP-адрес, MAC-адрес, имя компьютера и, конечно же, ВЕРСИЯ КЛИЕНТА!

Итак, идея здесь состоит в том, чтобы изменить версию клиента на четырехзначное число, которое знаете только ВЫ, и использовать SecureRDP, чтобы только эта конкретная версия могла подключаться к вашим серверам! Например, если вы измените клиент Microsoft RDP на версию 3455 и загрузите SecureRDP на все ваши контроллеры домена, настроив его для разрешения только версии 3455, если обычный пользователь получит ваше имя пользователя и пароль и попытается подключиться со своего ПК к вашему контроллеру домена, SecureRDP перехватит это и покажет вашему пользователю сообщение (которое вы можете настроить), и он НЕ сможет войти в систему (поскольку вы единственный, у кого есть такая версия RDP-клиента 3455).

Теперь давайте перейдем к части рук. Предполагая, что вы получили Free Hex Editor и установили его правильно, просто запустите его (дважды щелкните значок Free Hex Editor). Теперь перейдите в ФАЙЛ | ОТКРЫТЬ и найти «MSTSCAX.DLL». Обычно этот файл находится в WINDOWSSYSTEM32. Если его нет, просто найдите его на жестком диске.

После открытия вы должны увидеть что-то вроде этого ( рис. 3 ):


Рис. 3

Теперь просто перейдите к РЕДАКТИРОВАТЬ | Перейдите и введите 45c30 (убедитесь, что написано «Шестнадцатеричное число») и нажмите «Перейти» ( рис. 4 ).


Рис. 4

Теперь вернемся к рис. 3. Вы видите в первой строке 00045C430, 5-м и 6-м столбцах два числа: 28 и 0A. Они расположены в обратном порядке, поэтому правильное число — 0A28, преобразованное в десятичное число — 2600! Вот где хранится номер версии клиента. Наша работа теперь очень проста…

После многих часов внутреннего обсуждения этого вопроса с вашими администраторами вы решили использовать номер 3030 для своего настроенного RDP-клиента. Если вы используете CALC (да, старый и хороший калькулятор) для преобразования 3030 в шестнадцатеричное, результат будет 0BD6.

Имейте в виду, что здесь мы должны использовать ОБРАТНЫЙ порядок, поэтому мы заменим 28 0A на D6 0B. Просто введите новые цифры поверх старых. Когда вы закончите, перейдите в ФАЙЛ | СОХРАНИТЕ КАК и сохраните его где-нибудь, например C:TOOLS. Теперь скопируйте исполняемый файл MSTSC.EXE (тот, который вы изменили в части 1 этой статьи) в ту же папку и давайте проверим его! Убедитесь, что вы ЗАКРЫВАЕТЕ файл или ВЫХОДИТЕ из бесплатного шестнадцатеричного редактора!

Запустите MSTSC.EXE из папки C:TOOLS, где находится новая MSTSCAX.DLL, и подключитесь к своему TS. После подключения запустите TSADMIN и проверьте версию клиента ( рис. 5 ).


Рис. 5

Как видите, версия клиента, о которой сообщается, теперь является версией 3030! Идеальный! Именно то, чего мы хотели добиться.

Последние штрихи

После того, как у нас есть собственный настроенный клиент Microsoft RDP версии 3030, следующим шагом будет загрузка SecureRDP на наш сервер и его тестирование! Как я уже сказал, вы можете загрузить его прямо с http://www.2x.com, и опять же, это БЕСПЛАТНО.

Я не буду описывать установку продукта (поскольку она проста). После установки и запуска у вас должен появиться вот такой экран ( рис. 6 ):


Рис. 6

Просто нажмите «Версия клиента» и в первом поле, где вы видите слово «Разрешить», введите 3030. Убедитесь, что установлен флажок «Включить фильтр версий клиента». После этого нажмите ФАЙЛ | ПРИМЕНИТЬ КОНФИГУРАЦИЮ.

Итак, теперь, если вы попытаетесь подключиться с помощью обычного RDP-клиента, вы должны увидеть на экране что-то вроде этого ( рис. 7 ).


Рис.7

Как видите, SecureRDP перехватывает запрос еще до того, как вы видите экран входа в систему! Таким образом, возможный хакер не сможет даже увидеть имя вашего домена/компьютера! Большой!

Теперь, если вы используете настроенную версию для подключения, вы будете подключаться без каких-либо проблем. Я пытался просто быть в безопасности, и да, это работает!

Таким образом, эта настройка выходит за рамки терминальных служб и может (и ДОЛЖНА) использоваться при доступе к ЛЮБОМУ внутреннему серверу. Это дешевый (не может быть дешевле, верно?) и очень эффективный способ защитить ваши терминальные серверы, контроллеры домена, серверы Exchange и так далее.

Вывод

На мой взгляд, это один из самых простых и эффективных способов защиты терминального сервера. Если вы предоставите этот настроенный клиент своим пользователям, подключающимся из дома, а на терминальном сервере вы разрешите только эту конкретную версию, любому другому, кто попытается подключиться к вашему серверу через Интернет, будет отказано в доступе. И да, SecureRDP регистрирует всю эту информацию для вас. Довольно круто. Большое спасибо компании 2X, которая сделала это замечательное приложение бесплатным для всех.

Наконец, как было сказано в части 1, теперь главное — найти способ повторно развернуть этот новый клиент для всех ваших пользователей, администраторов и т. д. Это выходит за рамки этой статьи, но, как и все остальное, это не ракетостроение.. Любой инструмент для создания пакетов, такой как Wise Installer, легко справится с этой задачей, и существует множество бесплатных программ, которые позволят вам создать MSI. Ваше здоровье!

«Настройка клиента Microsoft RDP (часть 1)»