Windows rdp защита удаленного подключения

Записки IT специалиста

Технический блог специалистов ООО»Интерфейс»

  • Главная
  • Защита RDP соединения при помощи SSL.

Защита RDP соединения при помощи SSL.

Протокол RDP с защитой на уровне сети (SSL), к сожалению, не получил широкого распространения среди системных администраторов, предпочитающих защищать терминальные соединения другим способом. Возможно это связано с кажущейся сложностью способа, однако это не так, в данном материале мы рассмотрим как просто и без затруднений организовать такую защиту.

Какие преимущества дает нам защита RDP при помощи SSL? Во первых надежное шифрование канала, проверку подлинности сервера на основании сертификата и проверку подлинности пользователя на уровне сети. Последняя возможность доступна начиная с Windows Server 2008. Проверка подлинности на уровне сети позволяет повысить безопасность сервера терминалов за счет того, что проверка происходит еще до начала сеанса.

Проверка подлинности на уровне сети производится до подключения к удаленному рабочему столу и отображения экрана входа в систему, это снижает нагрузку на сервер и значительно увеличивает его защиту от злоумышленников и вредоносных программ, а также снижает вероятность атак типа «отказ в обслуживании».

Для полноценного использования всех возможностей RDP через SSL клиентские ПК должны работать под управлением Windows XP SP3, Windows Vista или Windows 7 и использовать RDP клиент версии 6.0 или более поздней.

При использовании Windows Server 2003 SP1 и более поздних версий, будут доступны шифрование канала при помощи SSL (TLS 1.0) и проверка подлинности сервера, клиентские ПК должны иметь версию RDP клиента 5.2 или более позднюю.

В нашей статье мы будем рассматривать настройку терминального сервера на базе Windows Server 2008 R2, однако все сказанное будет справедливо и для Windows Server 2003 (за исключением отсутствующих возможностей).

Для успешной реализации данного решения в вашей сети должен находиться работающий центр сертификации, настройку которого мы рассматривали в предыдущей статье. Для доверия сертификатам выданным данным ЦС на терминальный сервер необходимо установить сертификат ЦС (или цепочку сертификатов) в хранилище Доверенные корневые центры сертификации.

Затем следует выполнить запрос сертификата подлинности сервера со следующими параметрами:

Имя — полное имя терминального сервера (т.е. server.domain.com если сервер входит в домен domain.com)

  • Тип сертификата — Сертификат проверки подлинности сервера
  • Установите опцию Создать новый набор ключей
  • CSP — Microsoft RSA SChannel Cryptographic Provider.
  • Установите флажок Пометить ключ как экспортируемый.
  • Для ЦС предприятия установите флажок Использовать локальное хранилище компьютера для сертификата. (В автономном ЦС данная опция недоступна).

Отправьте запрос центру сертификации и установите выданный сертификат. Данный сертификат должен быть установлен в локальное хранилище компьютера, иначе он не сможет быть использован службами терминалов. Чтобы проверить это запустим консоль MMC (Пуск — Выполнить — mmc) и добавим оснастку Сертификаты (Файл — Добавить или удалить оснастку) для учетной записи компьютера.

Читайте также:  Kyocera km 1635 драйвер windows 10 x64

В корне консоли выберите Сертификаты (локальный компьютер) нажмите Вид — Параметры и установите режим просмотра Упорядочить сертификаты по назначению. Выданный сертификат должен находиться в группе Проверка подлинности сервера.

Если вы получали сертификат с помощью изолированного (автономного) ЦС (сеть не имеет доменной структуры) то он по умолчанию будет установлен в хранилище учетной записи пользователя и придется выполнить ряд дополнительных действий.

Откройте Internet Explorer — Свойства обозревателя — Содержимое — Сертификаты, выданный сертификат должен быть установлен в хранилище Личные.

Произведите его экспорт. При экспорте укажите следующие опции:

  • Да, экспортировать закрытый ключ
  • Удалить закрытый ключ после успешного экспорта

После чего удалите сертификат из данного хранилища. В оснастке Сертификаты (локальный компьютер) выберите раздел Проверка подлинности сервера, щелкните на него правой кнопкой мыши Все задачи — Импорт и импортируйте сертификат.

Теперь в Администрирование — Службы удаленных рабочих столов откройте Конфигурация узла сеансов удаленных рабочих столов ( в Windows Server 2003 Администрирование — Настройка служб терминалов).

Выберите необходимое подключение и откройте его свойства. В самом низу нажмите кнопку Выбрать и выберите полученный на предыдущем шаге сертификат (в Windows Server 2003 это окно выглядит несколько по другому).

После выбора сертификата укажите остальные свойства:

  • Уровень безопасности SSL
  • Уровень шифрования Высокий или FIPSсовместимый
  • Установите флажок Разрешить подключаться только с компьютеров. (недоступно в Windows Server 2003)

Сохраните введенный параметры, на этом настройка сервера закончена.

На клиентском ПК создайте подключение к удаленному рабочему столу, в качестве адреса используйте полное имя сервера, которое указано в сертификате. Откройте свойства подключения и на закладке Подключение — Проверка подлинности сервера установите опцию Предупреждать.

Чтобы данный ПК доверял сертификатам выданным нашим центром сертификации не забудьте установить на него сертификат ЦС в хранилище Доверенные корневые центры сертификации.

В Windows 7 (при использовании RDP клиента версии 7) данный сертификат требуется установить в хранилище учетной записи компьютера, для этого импортируйте его через оснастку Сертификаты (локальный компьютер) в консоли MCC, аналогично тому, как это делали выше. В противном случае подключение будет невозможно и вы получите следующую ошибку:

Установив сертификат ЦС можете пробовать подключиться, обратите внимание, что имя пользователя и пароль будет предложено ввести еще до создания RDP сессии. При успешном соединении обратите внимание на замок в заголовке окна, который свидетельствует о работе через SSL. Нажав на него можно просмотреть информацию о сертификате.

После удачного подключения советуем изменить опцию Предупреждать на закладке Подключение — Проверка подлинности сервера на Не соединять, разрешив таким образом подключения только к доверенным серверам.

И напоследок капля дегтя в бочке меда. Терминальные службы Windows не умеют проверять подлинность подключающихся клиентов, поэтому если стоит такая необходимость следует использовать дополнительные методы защиты, такие как SSH туннель или IPSec VPN.

Помогла статья? Поддержи автора и новые статьи будут выходить чаще:

Или подпишись на наш Телеграм-канал:

Инструкция по защите RDP подключения Windows Server

Переименуйте стандартную учетную запись администратора

Нажмите Win + X и выберите «Управление компьютером»:

Затем выберите «Локальные пользователи» —→ «Пользователи» —→ кликните правой кнопкой мыши по имени пользователя «Администратор» и выберите «Переименовать»:

Переименуйте пользователя и используйте это имя для последующих подключений к удаленному рабочему столу.

Читайте также:  Реестр windows настройки безопасности

Блокировка RDP-подключений для учетных записей с пустым паролем

Усилить безопасность можно запретив подключаться к учетным записям с пустым паролем. Для этого нужно включить политику безопасности «Учетные записи»: разрешить использование пустых паролей только при консольном входе»:

  1. Откройте локальную политику безопасности (нажмите Win + R и введите команду secpol.msc)
  2. Перейдите в раздел «Локальные политики» –->«Параметры безопасности».

3. Дважды щелкните на политике «Учетные записи: разрешить использование пустых паролей…» и убедитесь, что она включена:

Смена стандартного порта Remote Desktop Protocol

Windows Server 2012

Необходимо открыть regedit для редактирования реестра, далее

редакторе реестра нужно отыскать раздел RDP-Tcp, сделать это можно, пройдя такой путь:

В нем необходимо отыскать элемент PortNumber (как на картинке выше), и открыть этот параметр.

Далее следует переключиться в Десятичный (Decimal) формат ввода и задать новый порт для подключения по протоколу RDP:

При выборе нового порта для подключения необходимо помнить о том, что существует несколько категорий портов в разбивке по их номерам:

  • Номера от 0 до 10213 — известные порты, которые назначаются и контролируются организацией IANA (Internet Assigned Numbers Authority).
    Как правило, их используют различные системные приложения ОС.
  • Порты от 1024 до 49151 — зарегистрированные порты, назначаемые IANA. Их позволяется использовать для решения частных задач.
  • Номера портов от 49152 до 65535 — динамические (приватные) порты, которые могут использоваться любыми приложениями или процессами для решения рабочих задач.

Правило для порта

После изменения порта для удаленного подключения, необходимо открыть его в настройках межсетевого экрана, иначе попытки внешнего соединения будут блокироваться.

Для этого, нужно воспользоваться оснасткой управления Брандмаэур Windows в режиме повышенной безопасности

Открыть ее можно, зайдя в меню: Диспетчер Серверов —> Средства.

В ней нужно выбрать пункт «Правила для входящих подключений», кликнуть по этому пункту правой кнопкой мыши и выбрать «Создать правило»:

Создадим правило для порта:

Нужно выбрать тип протокола (TCP или UDP) и указать порт, который мы задавали в ходе редактирования реестра
(в нашем примере — протокол TCP, номер порта 60000):

На следующем этапе нужно выбрать тип действия, которое описывает правило.

В нашем случае нужно разрешить подключение с использованием указанного порта.

На следующем шаге необходимо указать область действия правила — оно зависит от того, где работает сервер (в рабочей группе, домене, или частном доступе):

Затем нужно выбрать имя для правила (рекомендуется выбирать его таким образом, чтобы затем правило было легко узнать среди других):

После этого нужно перезагрузить сервер.

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

Windows Server 2016

Меняем порт через regedit (также как и в Windows Server 2012 выше).

Правило для порта

После изменения порта для удаленного подключения, необходимо открыть его в настройках межсетевого экрана, иначе попытки внешнего соединения будут блокироваться.

Для этого, нужно воспользоваться оснасткой управления Брандмаэур Windows в режиме повышенной безопасности

Открыть ее можно, зайдя в меню: Диспетчер Серверов —> Средства

Далее нужно выбрать пункт «Брандмаэур Windows в режиме повышенной безопасности»

В новом окне выбрать пункт «Правила для входящих подключений», кликнуть по этому пункту правой кнопкой мыши и выбрать «Создать правило»:

Читайте также:  Unable to load file windows

Мы будем создавать правило для порта:

Нужно выбрать тип протокола (TCP или UDP) и указать порт, который мы задавали в ходе редактирования реестра
(в нашем примере — протокол TCP, номер порта 60000):

На следующем этапе нужно выбрать тип действия, которое описывает правило.

В нашем случае нужно разрешить подключение.

На следующем шаге необходимо указать область действия правила — оно зависит от того, где работает сервер (в рабочей группе, домене, или частном доступе):

Затем нужно выбрать имя для правила
(рекомендуется выбирать его таким образом, чтобы затем правило было легко узнать среди других):

После этого нужно перезагрузить сервер.

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

Защита от буртфорса

Чтобы блокировать множественные попытки подключения с неверными данными, можно отслеживать журнал событий и вручную блокировать атакующие IP адреса посредством брандмауэра Windows или воспользоваться готовым приложением. Последний случай мы рассмотрим подробнее.

Для блокировки атакующих IP адресов будем использовать свободное ПО — IPBan. Это приложение проверено и работает в Windows Server 2012 и всех последующие версиях, также поддерживается Linux (Ubuntu, Debian, CentOS, RedHat x64). Алгоритм его работы простой: программа мониторит журнал событий Windows, фиксирует неудачные попытки входа в систему и, после 5-ти попыток злоумышленника подобрать пароль, блокирует IP адрес на 24 часа.

Вам нужно внести следующие изменения в локальную политику безопасности, чтобы убедиться, что в логах системы отображаются IP-адреса. Октройте «Локальную политику безопасности» (Win + R, введите secpol.msc и «OK«). Перейдите в «Локальные политики» —> «Политика аудита» и включить регистрацию сбоев для «Аудита входа в систему» и «Аудита событий входа в систему»:

Особенности

  • Автоматический запрет IP-адресов в Windows и Linux путем обнаружения неудачных попыток входа в систему из программы просмотра событий и / или файлов журнала. В Linux по умолчанию отслеживается SSH. В Windows отслеживаются RDP, OpenSSH, VNC, MySQL, SQL Server и Exchange. Дополнительные приложения можно легко добавить через файл конфигурации.
  • Широкие возможности настройки, множество параметров для определения порога количества неудачных попыток входа в систему, времени блокировки и т. д.
  • Не забудьте проверить файл ipban.config, чтобы узнать о параметрах конфигурации, каждый параметр описан с комментариями.
  • Легко разблокировать IP-адреса, поместив файл unban.txt в служебную папку с каждым IP-адресом в строке для разблокировки.
  • Работает с ipv4 и ipv6 на всех платформах.
  • Посетите вики по адресу https://github.com/DigitalRuby/IPBan/wiki для получения дополнительной документации.

Скачать

Установить

Windows

Простая установка в один клик, откройте административную оболочку PowerShell и запустите:

Дополнительные примечания для Windows

  • Настоятельно рекомендуется отключить вход NTLM и разрешить вход только NTLM2.

  • Перед внесением вышеуказанных изменений убедитесь, что на вашем сервере и клиентах установлены исправления: https://support.microsoft.com/en-us/help/4093492/credssp-updates-for-cve-2018-0886-march-13-2018 . Вам необходимо вручную отредактировать групповую политику, как указано в ссылке.

Дополнительная информация

Аналитика

Чтобы отключить анонимную отправку запрещенных IP-адресов в глобальную базу данных ipban, установите UseDefaultBannedIPAddressHandler в значение false в файле конфигурации.

Добавить комментарий Отменить ответ

Для отправки комментария вам необходимо авторизоваться.

Оцените статью