RDP — Remote Desktop Protocol (Удаленный Рабочий Стол). Как привязать службу RDP к конкретному сетевому адаптеру или сделать несколько RDP с разными настройками для разных адаптеров

Регулярно устанавливайте важные обновления ОС Windows Server и ПО

Поддержание операционной системы и установленного ПО в актуальном состоянии, помимо устранения неисправностей в работе программ, помогает обеспечить защиту вашего сервера от части уязвимостей, о которых стало известно разработчикам до момента выхода апдейта. Вы можете настроить Windows на автоматическую загрузку (установку) важных и рекомендуемых обновлений через утилиту «Центр обновления Windows» .

Несмотря на распространенность качественных программных open-source продуктов, доступных «в один клик», призываем вас изучить известные уязвимости такого ПО перед его установкой и использовать для загрузки дистрибутивов только официальные источники. Именно самостоятельная установка администратором или пользователем уязвимого или уже «упакованного» вирусным кодом софта зачастую является причиной проблем с безопасностью инфраструктуры.

Уделите должное внимание настройке Firewall

Для серверов Windows Server, доступных через интернет и при этом не находящихся за выделенным устройством, выполняющим функцию фаерволла, Брандмауэр Windows является единственным инструментом защиты внешних подключений к серверу. Отключение неиспользуемых разрешающих и добавление запрещающих правил будет означать, что меньше портов на сервере прослушивают внешний входящий трафик, что снижает вероятность атак на эти порты. Например, для работы стандартного веб-сервера достаточно открыть следующие порты:
80 - HTTP
443 - HTTPS

Для портов, доступ к которым должен оставаться открытым, следует ограничить круг источников подключения путем создания «белого списка» IP-адресов, с которых будут приниматься обращения. Сделать это можно в правилах Брандмауэра Windows . Это обеспечит уверенность в том, что у всех, кому требуется доступ к серверу, он есть, но при этом запрещен для тех, кого «не звали».

Ниже представлен список портов, доступ к которым лучше ограничить только кругом клиентов, внесенных в белый список IP:

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

Т.к. стандартная запись локального администратора «Administrator» по-умолчанию включена во всех сегодняшних версиях ОС Windows и имеет неограниченные полномочия, именно к этому аккаунту чаще пытаются подобрать пароль для получения доступа к управлению сервером, т.к. это проще, чем выяснять имена пользователей.


Создайте несколько административных аккаунтов

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

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

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

Не предоставляйте общий доступ к директориям без ввода пароля, разграничивайте права общего доступа

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

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

Включите запрос пароля для входа в систему при выходе из режима ожидания и автоотключение сессий при бездействии.

Если вы используете физический сервер Windows, настоятельно рекомендуем включить запрос пароля пользователя при выходе из режима ожидания. Сделать это можно во вкладке «Электропитание» Панели управления (область задач страницы «Выберите план электропитания» ).

Помимо этого, стоит включить запрос ввода пароля пользователя при подключении к сессии после установленного времени ее бездействия. Это исключит возможность простого входа от имени пользователя в случае, когда последний, например, забыл закрыть RDP-клиент на персональном компьютере, на котором параметры безопасности редко бывают достаточно стойкими. Для конфигурации этой опции вы можете воспользоваться утилитой настройки локальных политик secpol.msc , вызываемой через меню «Выполнить» (Win+R->secpol.msc) .

Используйте Мастер настройки безопасности

Мастер настройки безопасности (SCW - Security Configuration Wizard) позволяет создавать XML-файлы политик безопасности, которые затем можно перенести на различные серверы вашей инфраструктуры. Эти политики включают в себя правила использования сервисов, конфигурацию общих параметров системы и правила Firewall.

Корректно настройте групповые политики безопасности

Помимо предварительной настройки групповых политик Active Directory (при их использовании) время от времени проводите их ревизию и повторную конфигурацию. Этот инструмент является одним из основных способов обеспечения безопасности Windows-инфраструктуры.

Для удобства управления групповыми политиками, вы можете использовать не только встроенную в дистрибутивы Windows Server утилиту «gpmc.msc» , но и предлагаемую Microsoft утилиту «Упрощенные параметры настройки безопасности» (SCM-Security Compliance Manager) , название которой полностью описывает назначение.

Используйте локальные политики безопасности

Помимо использования групповых политик безопасности Active Directory следует также использовать локальные политики, так как они затрагивают не только права пользователей, выполняющих вход через доменную учетную запись, но и локальные аккаунты. Для управления локальными политиками вы можете использовать соответствующую оснастку , вызываемую командой secpol.msc («Выполнить» (WIN+R)) .

Безопасность служб удаленных рабочих столов (RDP)

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

Эта мера является весьма очевидной, но она не должна игнорироваться. Для блокировки подключений к удаленным рабочим столам пользователю, пароль для которого не указан, откройте утилиту «Computer Configuration» -> «Настройки Windows» -> «Настройки безопасности» -> «Локальные политики безопасности -> «Параметры безопасности» и включите (Enable ) параметр «Учетные записи: Разрешить использование пустых паролей только при консольном входе(Accounts: Limit local account use of blank passwords to console logon only).

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

Смена порта RDP по умолчанию, несмотря на видимую простоту этой меры, является неплохой защитой от атак, направленных на мониторинг well-known портов.
Чтобы изменить порт для подключений RDP:

- Настройка шлюза служб терминалов (Terminal Services Gateway)

Служба «Шлюз TS (служб удаленных рабочих столов)» позволяет удаленным пользователям осуществлять удаленное подключение к терминальным серверам и другим машинам частной сети с включенной функцией RDP. Она обеспечивает безопасность подключений за счет использования протокола HTTPS (SSL) , снимая с администратора необходимость настройки VPN. Этот инструмент позволяет комплексно контролировать доступ к машинам, устанавливать правила авторизации и требования к удаленным пользователям, а именно:

  • пользователей (группы пользователей), которые могут подключаться к внутренним сетевым ресурсам;
  • сетевые ресурсы (группы компьютеров), к которым пользователи могут подключаться;
  • должны ли клиентские компьютеры быть членами групп Active Directory;
  • необходимо ли клиентам использовать проверку подлинности на основе смарт-карт или пароля, или они могут использовать любой из двух вышеперечисленных способов аутентификации.

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

Установка службы Шлюза TS

Для установки шлюза служб терминала на соответствующей машине под управлением Windows Server 2008/2012 выполните следующие действия:


Создание сертификата для шлюза служб удаленных рабочих столов

Для инициирования SSL-подключений от клиентов RDP, для шлюза должен быть создан соответствующий сертификат:

Теперь сведения о созданном сертификате отображаются в окне Сертификаты сервера. При двойном клике на этом сертификате можно увидеть информацию об объекте назначения и о наличии закрытого ключа для данного сертификата (без которого сертификат не используется).

Настройка шлюза TS на использование сертификата

После создания сертификата, необходимо настроить шлюз терминалов на его использование:


- Защита RDP-сессии с помощью SSL/TLS

Для обеспечения безопасности подключений по RDP в случае, когда соединение с сервером осуществляется не через VPN, рекомендуется использовать SSL/TLS-туннелирование соединения .

Опцию RDP через TLS можно включить через групповую политику безопасности сервера удаленных рабочих столов (команда gpedit.msc или меню «Администрирование» -> «Компоненты Windows» -> Сервер удаленных рабочих столов (Remote Desktop Session» -> «Безопасность») , где необходимо активировать опцию запроса определенного уровня безопасности для удаленных подключений (Require use of specific security layer for remote connections) . Рекомендуемое значение этой опций - SSL (TLS 1.0) only .

Также включить вышеуказанную опцию можно и через меню управления сервером удаленных рабочих столов (Remote Desktop Session Host Configuration) , выбрав из списка Connections требуемое подключение и перейдя в его свойства, где выбрать уровень безопасности «Security Level» . Для TLS-шифрования сессий потребуется, по крайней мере, серверный сертификат. Как правило он уже есть в системе (генерируется автоматически).

Для настройки TLS-туннелирования RDP-подключений откройте инструментов «Управление сервером удаленных рабочих столов (Remote Desktop Session Host Configuration)» через меню «Администрирование» -> Подключения к удаленным рабочим столам» .

Выберите в списке подключений то, для которого требуется настроить защиту SSL/TLS и откройте его свойства (Properties). Во вкладке «Общие» (General) выберите требуемый уровень шифрования (Encryption Level). Рекомендуем использовать RDP FIPS140-1 Encryption .

Изолируйте серверные роли и отключайте неиспользуемые сервисы

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

В идеале, один сервер должен выполнять одну конкретную функцию (Контроллер домена, файловый сервер, терминальный сервер и т.д.). Но так как на практике такая диверсификация ролей редко оказывается возможной в полной мере. Тем не менее, вы можете разграничить функции машин настолько, насколько это возможно.

Для изоляции ролей необязательно использовать выделенные серверы для каждой конкретной задачи. Вы вполне можете использовать для части ролей виртуальные машины, настроив параметры их безопасности требуемым образом. На сегодняшний день технологии виртуализации позволяют не испытывать ощутимых ограничений в функциональности виртуальных хостов и могут предложить высокий уровень производительности и стабильности. Грамотно сконфигурированная виртуальная инфраструктура вполне может являться полноценной альтернативой дорогостоящей «железной» для желающих диверсифицировать риски серьезных поражений.

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

Обзор Windows Server Core

Windows Server Core представляет собой дистрибутив Windows Server 2008/2012 без предустановленного графического окружения (UI). Этот дистрибутив не использует многие системные сервисы, необходимые для функционирования графического интерфейса и, соответственно, лишен ряда уязвимостей, связанных с работой этих сервисов. Еще одно преимущество Windows Server Core - минимальная нагрузка на аппаратные ресурсы сервера. Это делает ее отличным выбором для установки на виртуальные машины.

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

Получил дельный совет осветить работу и настройку протокола RDP. Мысль дельная, дальше – подробнее.

Введение

Протокол RDP – удобное, эффективное и практичное средство для удалённого доступа как для целей администрирования, так и для повседневной работы.
Учитывая, что его реализации есть практически везде (различные платформы и ОС), и их много, нужно хорошо представлять его возможности.
По крайней мере, это будет нужно по ряду причин:

  • Зачастую вместо RDP используется другое решение (VNC, Citrix ICA) по простой причине – предполагается, что “встроенный RDP минимальный и ничего не умеет”.
  • Во многих решениях, связанных с модными сейчас облачными технологиями (перевод офисов на “тонкие клиенты”, да и просто организация терминальных серверов), бытует мнение что “RDP плохой потому что встроенный”.
  • Есть стандартный миф про то, что “RDP нельзя без VPN наружу выставлять, ломанут” (миф имеет под собой обоснование, но уже давно не актуален).
  • Ну, раз уж про мифы заговорили – бытует мнение, что “Перейдя с RDP на Citrix трафик в пару раз падает”. Ведь цитрикс – это дорого, следовательно как минимум на 157% круче.

Все эти мифы – ерунда и смесь устаревших “дельных советов”, актуальных во времена NT 4.0, а так же откровенных вымыслов, не имеющих никаких причин к существованию. Так как IT – это точная наука, надо разобраться. Хорошо настроеный протокол RDP новых версий, с учётом всех новых функциональных возможностей, является достаточно хорошим и надёжным инструментом для организации удалённого доступа.

Поэтому мы займёмся:

  • Кратким упоминанием про версии RDP
  • Настройкой режима защиты RDP-сессии
  • Настройкой шифрования для RDP
  • Привязкой к конкретному адаптеру и порту
    • Меняем стандартный порт на нужный
    • Делаем раздельные настройки RDP для нескольких сетевых адаптеров
  • Включением NLA
    • NLA и Windows XP
    • Как включить CredSSP в XP
  • Выбором правильного сертификата для RDP
  • Блокированием подключений по RDP учётным записям с пустым паролем
  • Оптимизацией скорости RDP
  • Оптимизацией сжатия RDP
    • Настраиваем общее сжатие RDP
    • Настраиваем сжатие аудиопотока RDP
  • Оптимизацией соотношения потоков данных RDP
  • Включением Require secure RPC communication для RDP

Приступим.

Версии протокола RDP

Протокол имеет достаточно длительную историю, начиная с NT 4.0. Исторические детали мы оставим в стороне по простой причине – на данный момент имеет смысл говорить только про версию RDP 7.0, которая есть в Windows Vista SP1 / Windows Server 2008 и бесплатно добавляема в Windows XP установкой SP3 и обновлённого клиента RDP (находится по ссылке на KB 969084). Я предполагаю, что у Вас как минимум Windows XP, и что Вы поставили/можете поставить последний Service Pack и не трачу Ваше время на обсуждение преимуществ RDP в Windows 2000 SP2 перед NT 4.0 SP5.

Настройка режима защиты RDP-сессии

В принципе, это самая простая часть задачи. Суть в следующем. В различных версиях RDP применяется два основных механизма защиты сессии – встроенный в RDP и “заворачивание” сессии в TLS. Встроенный является недостаточно безопасным, и рекомендация “RDP можно наружу только в VPN” – про него. Поэтому всегда включайте поддержку TLS. Это тот минимум, с которого Вы должны начать. Ограничениями будут разве что версия сервера не ниже Windows Server 2003 SP1 и клиент RDP 5.2 и выше, но, думается, это в конце 2011 года вполне решаемо.

Как включить RDP over TLS

Вариантов, как всегда, несколько. Первый – включение через групповую политику. Для этого надо зайти в целевой объект групповой политики (ну или локально на своей домашней рабочей станции запустить gpedit.msc) и там последовательно выбрать “Computer Configuration” -> “Administrative Templates” -> “Windows Components” -> “Remote Desktop Session Host” -> “Security” и там включить параметр Require use of specific security layer for remote connections, выбрав в нём SSL (TLS 1.0) only . Можно выбрать и более мягкий Negotiate , но я бы не рекомендовал, т.к. на данный момент это банально ниже приемлемого уровня безопасности. Как человек, создававший private cloud’ы с достаточно высоким уровнем безопасности, я могу сказать, что смысл выносить особо ценные данные в датацентр под Лондоном и ходить туда дефолтным RDP – нулевой и является поиском неприятностей.

Можно и проще – откройте оснастку Remote Desktop Session Host Configuration (найдёте в mmc или готовую в меню Administrative Tools -> Remote Desktop Connections), выберите из списка Connections нужное подключение (обычно оно одно и называется RDP-Tcp), и откройте Properties, после – вкладку General и там выбрать нужный Security Layer.

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

Настраиваем шифрование для RDP

Для конфигурирования будет доступно 4 варианта шифрования. Рассмотрим каждый из них.

Режим RDP Low Encryption

Самый “никакой” режим. Наследие страшных времён и версий RDP 5.x. Может согласовать шифрование на базе 56ти битового DES или 40ка битового RC2, что на текущий момент является несерьёзным. Не нужен и опасен. Например, если включить его, то не включится TLS, т.к. TLS уже откажется согласовывать такие слабые шифры, которые предлагает этот вариант.

Режим RDP Client Compatible Encryption

Второй “никакой” режим. Наследие страшных времён и версий RDP 5.x. Попробует до 128 бит RC4, но сразу согласится на DES/RC2. Не нужен и опасен. Тоже не совместим с TLS.

Режим RDP High Encryption

Минимально допустимый режим. Потребует хотя бы 128ми битовый RC4. Работает со всеми серверами, начиная с Windows 2000 Server w/HEP.

Режим RDP FIPS140-1 Encryption

То, что нужно. Будет поддерживать современные симметричные алгоритмы и в явном виде не будет поддерживать RC2, RC4, одиночный DES, а также будет заставлять использовать для вычисления целостности (Message Authentication Code – MAC) алгоритм SHA-1, а не MD5. Включайте этот вариант всегда, найти сервер, который не умеет 3DES, AES или SHA-1 практически нереально.

Где делается эта настройка? Откройте оснастку Remote Desktop Session Host Configuration (найдёте в mmc или готовую в меню Administrative Tools -> Remote Desktop Connections), выберите из списка Connections нужное подключение (обычно оно одно и называется RDP-Tcp), и откройте Properties, после – вкладку General и там выберите нужный Encryption Level.

Привязываем RDP к конкретному адаптеру и порту

Для того, чтобы сервер работал безопасно и предсказуемо (например, не начинал принимать подключения с нового, свежедобавленного сетевого адаптера), необходимо в явном виде указать, на каких интерфейсах служба RDP-сервера должна принимать подключения. Плюс, достаточно часто бывает полезным переключить порт, на котором сервер слушает подключения. Конечно, можно это сделать и публикуя сервер с RDP через какой-нибудь шлюз, но можно и без этого. Такие, казалось бы, базовые действия в реальности ощутимо снизят процент дураков-скрипткиддисов, которые очередной “мощной тулзой” проверяют wellknown-порты.

Как привязать службу RDP к конкретному сетевому адаптеру или сделать несколько RDP с разными настройками для разных адаптеров

Откройте оснастку Remote Desktop Session Host Configuration (найдёте в mmc или готовую в меню Administrative Tools -> Remote Desktop Connections), выберите из списка Connections нужное подключение (обычно оно одно и называется RDP-Tcp), и откройте Properties, после – вкладку Network Interfaces. В ней Вы сможете выбрать один конкретный интерфейс, на котором надо ожидать подключения, плюс ограничить количество параллельных сессий.

Если у Вас много интерфейсов, и Вам надо, допустим, чтобы можно было подключаться через 2 из 5 доступных, то Вам надо будет привязать существующий по-умолчанию RDP-Tcp к одному адаптеру, после зайти в меню Action и там выбрать Create New Connection. Подключение может слушать либо на всех интерфейсах, либо на одном, и в случае, когда надо, чтобы оно слушало на N интерфейсах, придётся создать N подключений.

Соответственно, если у Вас есть задача “Чтобы на одном интерфейсе RDP слушал на одном порту, а на другом – на другом”, она решаема так же – отвязываете дефолтный RDP-Tcp от всех адаптеров и привязываете к конкретному, после – создаёте новое RDP-подключение и тоже привязываете к нужному сетевому интерфейсу.

Как привязать службу RDP к не-дефолтному порту

Порт по умолчанию – 3389 TCP. Кстати, не забудьте разрешить его в пакетном фильтре. Ну а если хотите другой – надо зайти в ключ реестра

HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp

и поправить в нём значение PortNumber . Учитывайте, что отслеживание конфликтов в плане занятости портов – на Вашей совести, сам он, обнаружив, что назначенный Вами порт занят, “перепрыгнуть” никуда не сможет.

Включаем NLA – Network Level Authentication

Функция NLA появляется в NT 6.0, а позже добавляется возможность её частичного использования в предыдущей версии ОС путём установки SP3 для XP.
Суть данной функции достаточно проста. В версиях RDP до 6.0 при подключении по RDP клиенту до аутентификации надо показать окно входа – т.е. вначале показать, а потом уже он попробует зайти в систему. Это создаёт простую уязвимость – сервер можно перегрузить пачкой запросов “а дай-ка мне попробовать новую сессию начать”, и он будет вынужден на все запросы отвечать созданием сессии и ожиданием входа пользователя. Фактически, это возможность DoS. Как с этим можно бороться? Логично, что надо придумать схему, целью которой будет как можно раньше запросить у клиента учётные данные. Оптимально – чтобы было что-то типа как kerberos в домене. Это и было сделано. NLA решает две задачи:

  • Клиент аутентифицируется до инициации терминальной сессии.
  • Появляется возможность передать данные локального клиентского SSP на сервер, т.е. начинает работать Single Sign-On.

Реализуется это через новый провайдер безопасности – CredSSP. Почитать его техническую спецификацию можно , ну, а говоря проще, надо всегда включать данную функцию. Конечно, учитывая, что для её работы нужно, чтобы:

  • Клиентская ОС (та, с которой идёт подключение) была Windows XP SP3 и выше.
  • Серверная ОС (та, к которой будет подключение) была Windows Server 2008 и выше.

Примечание: Несмотря на то, что ядро Windows Server 2003 новее, чем в XP (5.2 против 5.1), для Windows XP есть обновление, добавляющее поддержку NLA, а для Windows Server 2003 – нет. То есть, если Вы даже будете подключаться с самой максимально доступной версии – Windows Server 2003 R2 SP2 со всеми патчами, Вы не сможете подключиться к серверу, требующему NLA, и быть сервером, поддерживающим NLA. Увы.

Как включается NLA со стороны RDP-сервера

Лучше всего включить NLA на всех серверах через групповую политику. Для этого надо зайти в целевой объект групповой политики и там последовательно выбрать “Computer Configuration” -> “Administrative Templates” -> “Windows Components” -> “Remote Desktop Session Host” -> “Security” и там включить параметр Require user authentication for remote connections by using Network Layer Authentication.

Можно включить и локально. Это делается путём вызова подменю Properties (стандартное подменю у Computer) и выбора там вкладки Remote, в которой будет выбор из трёх вариантов – запрещать подключения по RDP к данному хосту, разрешать подключения по любому RDP, разрешать только с NLA. Всегда включайте вариант с NLA, это в первую очередь защищает сервер.

NLA и Windows XP

В случае, если у Вас Windows XP, то Вы также можете воспользоваться данной функцией. Распространённое утверждение “Для NLA нужна как минимум виста, это Microsoft сделал чтобы апгрейдились” ложно. В Service Pack 3 добавляется реализация CredSSP, позволяющая делегировать клиентские credentials’ы, которыми обладает местный SSP, на сервер. Т.е., говоря проще, это специально сделано, чтобы с Windows XP можно было подключаться на системы с NT 6.0+. На саму Windows XP SP3 с данной функцией подключаться не получится, поддержка NLA будет частичной (поэтому RDP сервер с поддержкой подключения клиентов с использованием NLA из Windows XP сделать штатными способами не получится, Windows XP будет только NLA-совместимым клиентом).

Примечание: NLA появляется с NT 6.0, и является частью пачки технологий, называемых RDP 6.0. 3й сервиспак для XP приносит не просто RDP 6.0, а возможность установки RDP 7.0, что является достаточно позитивным (например, в RDP 7.0 есть, в отличии от 6.0, EasyPrint, bidirectional audio и некоторые другие штуки, которые превращают RDP-клиента на Windows XP со всеми накрутками в достаточно практичную систему). Это к слову о плохом Microsoft, который так жутко всех заставлял апгрейдиться с Windows XP на плохую-преплохую висту, что аж в бесплатном сервиспаке для продукта 2001 года вшивал более новую подсистему RDP, чем та, которая шла в висте, вышедшей в 2006.

Включать данный функционал нужно в явном виде, так как несмотря на то, что Service Pack 3 добавляет приносит новую dll криптопровайдера, он её не включает.

Как включить CredSSP в XP

Ещё раз – данная операция проводится строго после установки Service Pack 3 на Windows XP и в контексте нашего разговора нужна для того, чтобы было возможно подключение к другим серверам по RDP 6.1 с использованием NLA.

Шаг первый – расширяем перечень Security Packages.
Для этого мы откроем ключ реестра

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa

и найдём в нём значение Security Packages . Нажмём правую кнопку и выберем “Modify” (не Modify Binary Data, а просто Modify). Там будет список вида “название package на каждой строке”. Нам надо добавить туда tspkg . Остальное надо оставить. Место добавления некритично.

Второй шаг – подцепляем библиотеку.
Ключ будет другим:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders

В нём надо будет найти значение SecurityProviders (заметьте, как и в предыдущем случае, это не subkey, а значение), и модифицировать его по аналогии, только добавив credssp.dll . Остальное в списке, опять же, трогать не надо.

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

Выбираем правильный сертификат для RDP

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

  • Имя (в subject или SAN), посимвольно совпадающее с тем именем, которое вводит клиент, подключающийся к серверу.
  • Нормальное расширение CDP, указывающее на рабочий CRL (желательно хотя бы на два – OCSP и статический).
  • Желательный размер ключа – 2048 бит. Можно и больше, но помните об ограничениях CAPI2 в XP/2003.
  • Не экспериментируйте с алгоритмами подписи/хэширования, если Вам нужны подключения со стороны XP/2003. Чуть больше информации про это в статье про настройку TLS , но вкратце – выберите SHA-1, этого вполне достаточно.

Чуть подробнее остановлюсь на выпуске специального сертификата для RDP-сервера.

Делаем всё красиво – специальный шаблон сертификата для RDP-серверов

Идеально будет, если сертификат для RDP сделать не на основе обычного шаблона (типа Web Server) и иметь в поле Application Policy (которое в сертификате будет более привычно называться Enchanced Key Usage – EKU) стандартные значения Client Authentication и Server Authentication , а добавить свой шаблон, в котором будет единственное, специальное, не добавляемое стандартными способами значение применения – Remote Desktop Authentication . Это значение Application Policy придётся создать вручную, его OID’ом будет 1.3.6.1.4.1.311.54.1.2 , ну а после – уже можно сделать новый шаблон сертификата, на основании которого и выпустить сертификат, адресно “заточеный” под RDP Server.

Чтобы полностью автоматизировать эту операцию, сделайте у нового шаблона предсказуемое название – например, “RDPServerCert” – и зайдите в объект групповой политики, а там откройте Computer Configuration -> Policies -> Administrative Templates -> Windows Components -> Remote Desktop Services -> Remote Desktop Session Host -> Security. Выберите параметр Server Authentication Certificate Template и включите его, а в поле значения введите название – мы сделали RDPServerCert. Теперь все доменные хосты, подпадающие под эту политику, будут в случае включения на них RDP сами идти к Certification Authority, запрашивать в случае отсутствия себе сертификат на основе указанного шаблона, и автоматически делать его дефолтным для защиты подключений по RDP. Просто, удобно, эффективно.

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

Мелочь, а забывать про неё не нужно.
Для блокировки подключения учёток без паролей к RDP надо зайти в настройку объекта групповой политики: Computer Configuration -> Windows Settings -> Security Settings -> Local Policies -> Security Options и установить “Accounts: Limit local account use of blank passwords to console logon only” в Enabled. Не поленитесь проверить, что это так и есть.

Настройка ACL для подключения по RDP

По умолчанию для подключения к RDP-серверу необходимо иметь явное разрешение User Access или Guest Access .
Это разрешение есть у локальных групп Administrators и Remote Desktop Users . Лучше всего использовать для управления доступом к RDP-серверу группу Remote Desktop Users, добавляя в неё нужные доменные группы, а не отдельных пользователей. Модицифируйте содержимое вкладки Security в настройках Properties у RDP-Tcp только в крайних случаях, лучше всего – добавляя группу “имя хоста RDP Blocked”, которой явно запрещен доступ по RDP к указанному узлу.

Оптимизация скорости RDP

Оптимизация скорости RDP – достаточно обширная тема, поэтому я разделю её на части. В этой будут те способы, которые будут уменьшать нагрузку на протокол до сжатия и до оптимизации сетевого уровня.

Цветность (битовая глубина)

В RDP 7.0 и выше доступны варианты 32,16 и 8 бит. Если речь идёт о работе, то для неё будет достаточно 16 бит. Это ощутимо снизит нагрузку на канал, притом иногда больше, чем в 2 раза, что удивительно, но факт. 8 бит, конечно, тоже можно, но уж больно страшно оно будет выглядеть. 16 бит же вполне приемлемы.

Примечание: В Windows Server 2008 R2 подключения с 8 битами уже не доступны.

Включите на сервере параметр Limit Maximum Color Depth, либо сделайте аналогичное действие в настройках RDP client.

Отключите ClearType

Когда у Вас выключен ClearType, протокол RDP передаёт не картинку, а команды по отрисовке символов. Когда включен – рендерит картинку со стороны сервера, сжимает и пересылает клиенту. Это с гарантией в разы менее эффективно, поэтому отключение ClearType значительно ускорит процесс работы и уменьшит время отклика. Сами удивитесь, насколько.

Это можно сделать как на уровне настроек клиента, так и на стороне сервера (параметр Do not allow font smoothing в разделе Remote Session Enviroment в Computer Configuration -> Policies -> Administrative Templates -> Windows Components -> Remote Desktop Services -> Remote Desktop Session Host).

Уберите wallpaper

Параметр Enforce removal of RD Wallpaper в разделе Remote Session Enviroment в Computer Configuration -> Policies -> Administrative Templates -> Windows Components -> Remote Desktop Services -> Remote Desktop Session Host резко улучшит ситуацию с перерисовкой экрана терминальной сессии. Пользователи без котиков на десктопе выживают нормально, проверено.

Включаем и настраиваем кэширование изображений

Если на клиенте есть достаточно оперативной памяти, то имеет смысл включить и настроить кэширование битмапов. Это позволит выиграть до 20-50% полосы пропускания. Для установки надо будет зайти в ключ

HKEY_CURRENT_USER\SOFTWARE\Microsoft\Terminal Server Client\

и создать там параметры BitmapPersistCacheSize и BitmapCacheSize , оба типа DWORD 32.
Параметр BitmapPersistCacheSize обозначает размер в килобайтах дискового кэша. Значение по умолчанию – 10. Имеет смысл увеличить этот параметр хотя бы до 1000.
Параметр BitmapCacheSize обозначает размер в килобайтах кэша в RAM. Значение по умолчанию – 1500. Имеет смысл увеличить этот параметр хотя бы до 5000. Это будет всего 5 мегабайт на клиентскую сессию, при современных масштабах оперативной памяти это несущественно, и даже если приведёт к выигрышу 10% производительности, уже себя окупит. Кстати, этот же параметр можно поправить и в.rdp-файле; если сохранить своё RDP-подключение, а после открыть файл блокнотом, то среди параметров можно добавить что-то вида bitmapcachesize:i:5000 , где 5000 – это 5МБ кэша.

Отключаем Desktop Composition

Desktop Composition привносит всякие “красивости” типа Aero и его друзей и ощутимо кушает полосу пропускания. Для работы это не нужно и вредно. Параметр Allow desktop composition for RDP Sessions в разделе Remote Session Enviroment в Computer Configuration -> Policies -> Administrative Templates -> Windows Components -> Remote Desktop Services -> Remote Desktop Session Host необходимо выставить в параметр Disabled.

Оптимизируем параметры Desktop Window Manager

Параметры, находящиеся в разделе Remote Session Enviroment в Computer Configuration -> Policies -> Administrative Templates -> Windows Components -> Desktop Window Manager , будут управлять “красивым” отображением плавно выезжающих меню и подобного. Их три – Do not allow window animations , Do not allow desktop compositions и Do not allow Flip3D invocation . Все их надо переключить в режим Enabled, т.е. по сути – отключить все эти функции.

Отключаем редирект неиспользуемых устройств

Если у Вас не планируется подключение определённых классов устройств (например, COM и LPT-портов), или аудио, имеет смысл отключить возможность их перенаправления со стороны сервера. Чтобы клиенты с дефолтными настройками RDP Client не тратили время подключения на согласование неиспользуемого функционала. Это делается там же, где и остальные настройки сервера, в Properties у RDP-Tcp, вкладка Client Settings (там же, где мы делали настройки с глубиной цвета), раздел Redirection.

Настраиваем общую логику оптимизации визуальных данных RDP

Параметр, называющийся Optimize visual experience for RDP sessions , находящийся в разделе Remote Session Enviroment в Computer Configuration -> Policies -> Administrative Templates -> Windows Components -> Remote Desktop Services -> Remote Desktop Session Host -> Remote Session Enviroment , будет управлять тем, как RDP будет воспринимает визуальные данные – как мультимедийные или как текстовые. Это, грубо говоря, “подсказка” алгоритму сжатия, как грамотнее себя вести. Соответственно, для работы надо будет выставить этот параметр в Text , а если хочется много красивых flash-баннеров, HTML5 и просматривать видеоклипы – лучше вариант Rich Multimedia .

Оптимизация сжатия RDP

Сжатие в RDP прошло долгий путь развития. По RDP 5.2 включительно была подсистема сжатия (“компрессор”), имеющий внутреннее название “Version 1” – самый простой и лёгкий вариант с точки зрения загрузки процессора клиента, но самый плохой с точки зрения нагрузки сети трафиком. В RDP 6.0 сделали “Version 2”, который был незначительно, но улучшен по параметру эффективности сжатия. Нам интересен “Version 3”, который работает только при подключении к серверам Windows Server 2008 и старше. Он сжимает лучше всех, а затраты процессорного времени с учётом мощностей современных компьютеров несуществены.

Выигрыш при включении V3 может, судя по тестам, достигать 60% и, в общем-то, и без тестов ощутимо заметен на глаз.

Как включить оптимальное сжатие в RDP

Это – клиентская настройка. Откройте в нужном объекте групповой политики Computer Configuration -> Policies -> Administrative Templates -> Windows Components -> Remote Desktop Services -> Remote Desktop Session Host -> Remote Session Enviroment, выберите там параметр Set compression algoritm for RDP data , включите его и выберите значение Optimize to use less network bandwidth .

Примечание: У многих возникает вопрос, зачем в списке есть параметр “отключить сжатие”. Это нужно в случае, когда Ваши RDP-сессии сжимает внешнее устройство, оптимизирующее WAN-подключения, что-то вида Cisco WAAS. В других случаях, конечно, отключать сжатие смысла нет.

Настройка сжатия звукового потока

RDP 7.0 приносит отличную возможность регулировать качество сжатия входящего звукового потока (т.е. звука, который идёт с сервера на клиента). Это достаточно полезно – например, если идёт работа на терминальном сервере, то кроме всяких служебных звуков вида “пришло сообщение в ICQ” другие особо как не планируются. Нет смысла передавать с сервера несжатый звук CD-качества, если для работы это не нужно. Соответственно, нужно настроить уровень сжатия звукового потока.
Данный параметр будет называться Limit audio playback quality и находиться в разделе Device and Resource Redirection в Computer Configuration -> Policies -> Administrative Templates -> Windows Components -> Remote Desktop Services -> Remote Desktop Session Host . Вариантов будет три:

  • High – звук будет идти без сжатия. Вообще. То есть, он будет подпадать под общее сжатие протокола RDP, но специфическое сжатие звука (с потерей качества) производиться не будет.
  • Medium – сжатие будет адаптироваться под канал так, чтобы не увеличивать задержку при передаче данных.
  • Dynamic – сжатие будет динамически адаптироваться под канал так, чтобы задержка не превышала 150ms.

Выберите подходящий. Как понятно, для офисной работы лучше выбрать Dynamic .

Оптимизация соотношения потоков данных в RDP

Трафик RDP-сессии не является чем-то монолитным. Наоборот, он достаточно чётко разделён на потоки данных перенаправляемых устройств (например, копирования файла с локального хоста на терминальный сервер), аудиопоток, поток команд примитивов отрисовки (RDP старается передавать команды примитивов отрисовки, и передаёт битмапы в крайнем случае), а также потоки устройств ввода (мышка и клавиатура).

На взаимное соотношение этих потоков и логику его (соотношения) вычисления (этакий локальный QoS) можно влиять. Для этого надо со стороны сервера зайти в ключ реестра

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\TermDD

и создать там для начала (если их там нет) четыре ключа:

  • FlowControlDisable
  • FlowControlDisplayBandwidth
  • FlowControlChannelBandwidth
  • FlowControlChargePostCompression

Тип у всех – DWORD 32. Функционал у ключей будет следующим.
Ключ FlowControlDisable будет определять, используется ли приоритезация вообще. Если задать единицу, то приоритезация будет выключена, если нуль – включена. Включите её.
Ключи FlowControlDisplayBandwidth и FlowControlChannelBandwidth будут определять взаимное соотношение двух потоков данных:

  • Поток взаимодействия с пользователем (изображение+устройства ввода)
  • Прочие данные (блочные устройства, буфер обмена и всё остальное)

Сами значения этих ключей не критичны; критично то, как они соотносятся. То есть, если Вы сделаете FlowControlDisplayBandwidth равным единице, а FlowControlChannelBandwidth – четырём, то соотношение будет 1:4, и на поток взаимодействия с пользователем будет выделяться 20% полосы пропускания, а на остальное – 80%. Если сделаете 15 и 60 – результат будет идентичным, так как соотношение то же самое.
Ключ FlowControlChargePostCompression будет определять, когда считается это соотношение – до сжатия или после. Нуль – это до сжатия, единица – после.

Я рекомендую для использования вида “наш удалённый сервак далеко и к нему все по RDP подключаются и в офисе и 1С работают” ставить соотношение 1:1 и считать его после сжатия. По опыту это может реально помочь в ситуации “печать большого документа с терминального сервера на локальный принтер”. Но это не догма – пробуйте, главный инструмент – знание, как это считается и работает – у Вас уже есть.

Включаем Require secure RPC communication для RDP

Данный параметр действует аналогично настройкам для Secure RPC, которые есть в разделе Security групповой политики и действуют на всю систему, только настраивается проще. Включив этот параметр Вы сделаете обязательным для всех клиентских RPC-запросов шифрование (в зависимости от настроек системы “нижняя планка” шифрования будет разной – RC4/DES или, в случае включения FIPS-140 – 3DES/AES) и использование как минимум NTLMv2 для аутентификации удалённого вызова процедур. Всегда включайте этот параметр. Есть миф про то, что он не работает во внедоменной среде. Это не так, и усиление защиты RPC никому не помешает.

Это – серверная настройка. Откройте в нужном объекте групповой политики Computer Configuration -> Policies -> Administrative Templates -> Windows Components -> Remote Desktop Services -> Remote Desktop Session Host -> Security, выберите там параметр Require secure RPC communication и включите его.

Заключение

Так как все уже давно вытащили сервера на внешние площадки за бугром, то этот материал является Я надеюсь, что данный материал будет Вам полезен для оптимизации и защиты RDP. Если я что-то пропустил – прошу в комментарии.

RDP — Remote Desktop Protocol (Удаленный Рабочий Стол)

В первую очередь, здесь пойдет речь о StandAlone Server. То есть, об отдельно — стоящем сервере. А не о контроллерах домена и корпоративных сетях. (там как раз требуются высококвалифицированные специалисты)

Ситуация, когда тебе в голову пришла некая идея и ты решил ее воплотить в жизнь. И для ее реализации тебе необходимо наличие Сервера, который ты арендуешь в неком дата-центре.

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

Техподдержка тебе выдаст IP адрес, Логин и Пароль для RDP доступа, и ты начинаешь свое путешествие, полное …, ну вообщем — мало не покажется.

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

Хотя, конечно — он сам по себе работает и прекрасно выполняет свою функцию. Но со временем, (иногда, это может оказаться слишком поздно) беспечный владелец удаленного сервера ужаснется осознав, что реально творится с его системой и какая толпа жаждущих крови стоит вокруг стен его крепости.
Это как отключить инфракрасный фильтр у видеорегистратора и начать вдруг, видеть источники видеосъемки — камеры ГИБДД с фотофиксацией, и сигналы пультов дистанционного управления телевизором.

Ты начинаешь видеть и потом, возможно понимать.

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

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

Такой вот парадокс.

Давай я расскажу тебе как все выглядит на самом деле.

А на самом деле, орды кулхацкеров прочитав дюжину строк на форумах скачивают готовые списки серверов у которых открыт RDP порт. И начинают ломиться на твою машину. Кто в ручную, (но это редко), а в основном разными программами, запуская словари по перебору: логин — пароль. И никто их ни в чем не ограничивает. Им там даже тесно порой.

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

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

Ты же о великом думаешь. Стратегически, о функционале. А тут — какие то тормоза не понятные.

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

И может быть даже внимательно посмотришь на вкладку «События» в оснастке управления.

Но уверяю тебя, что ты там не увидишь причину! Потому, что там не отображаются попытки неверного ввода логина и пароля. Возможно, ты даже будешь спорить с другими людьми, что тебя вот не ломают, потому, что боятся или уважают.
Нет. Уверяю тебя, просто разработчики — они такие веселые парни. И изначально немножко перевешивают чашу весов в сторону тьмы. Они говорят, что если бы эти события отображались бы, то нагрузка на сервер была бы более высокой.
Но вот, только надо заметить, что первое, что каждый должен сделать — это включить это отображение. Хотя, конечно существуют полностью закрытые от внешнего мира некие технологические системы, где никто и никогда ни чего не взламывает. Но там как раз такие системы и обслуживают целые команды профи.

Так, что давай, для начала — поправим эту ситуацию и приведем систему в нормальный рабочий вид.

Что мы сделаем:

  1. Ограничим количество разрешенных одновременно открытых сеансов.
    (Если ты сам администрируешь свой удаленный сервер, зачем тебе надо, чтобы кто-то кроме тебя одновременно с тобой управлял сервером?
    Хотя, еще один может понадобиться — например для техподдержки. А больше — зачем?)
  2. И включим свет. То есть позволим системе отображать в оснастке «Events» неудачные попытки входа.
    И вот тут — ты удивишься.
  3. Запретим доступ к серверу с более чем 3000 IP адресов, которые собственно говоря ничем другим не занимаются, кроме доставлять людям проблемы. Импортируем Черный Список.

Если ты от нечего делать сделаешь запросы в сети о настройке RDP, то встретишь очень много советов (и я сам долго был уверен, что они весьма эффективны, пока не решил провести эксперимент)

  1. Ограничить количество разрешенных ошибочных попыток входа.
    (Если ты не пьян — то 3х раз тебе хватит, чтобы понять, что клавиатура не на том языке и не на том регистре.)
  2. Ограничить время для этих 3х попыток.
    (Можно ведь, 3 раза за неделю, а можно — 3 раза в секунду, да еще и многопоточно. И потому, как никто из кулхацкеров не тычет в клавиатуру одним пальцем долго выбирая букву, то там идет приличный трафик, который за 10 минут, которые определили разработчики успеет перебрать несколько сотен, пару тысяч комбинаций.)
  3. Установить время блокировки для входа в случае, если ты пьян, или если — ты — это не ты.
    (По умолчанию — 3 минуты ни кого не огорчат. Выставим пол-часа. Пусть устанут ждать.)

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

Как были десятки тысяч попыток в течении суток. (а я не сижу уткнувшись в монитор целый день, но раз в день захожу проверить работоспособность своих приложений) Так все и осталось.

И все никак не мог понять, как же так, вот я вижу, что у меня настроено 3 попытки и потом блокировка на 30 минут. А этот бот фигачит уже шесть часов без устали перебирая логины от «Administrator» до «ферапонта».
Но все было не досуг. И потом — я же все настроил, значит — должно работать!

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

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

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

И вот, что я теперь тебе скажу:

  • во первых — этот способ работает только под контроллером домена (не знаешь — что это такое? Плюнь — это тебе не надо) а для standalone server — нужно погрузиться в специальные знания и выучить заклинания.
  • во вторых — оказывается, и видимо многие ошибочно и наивно предполагают иное (как и я сам), что при реализации такого механизма будет заблокирован тот, кто пытается войти.
    Нет — как раз, не он. А будешь заблокирован Ты!
    Да — именно твой аккаунт будет заблокирован на то время, которое там ты прописал. И ты сам ни за что не сможешь войти на свой собственный сервер!

Выходя из дома и заперев дверь — сломаю замок. Отморожу уши — назло Бабушке.

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

С преамбулой покончили. Давай займемся делом.

1. Ограничим количество разрешенных одновременно открытых сеансов.

Находим и открываем оснастку «Terminal Services Configuration»:

В этой оснастке выбираем открываем в «свойствах» RDP-Tcp вкладку , где и ограничиваем «Msximum Connections» до 2х, для всех сетевых адаптеров.

Жмем ОК. Теперь, одновременно с тобой сможет зайти только еще один человек. А без тебя — всем желающим придется становиться в шеренги по двое.
В очередь — сукины дети!

2. Включаем отображение неудачных попыток входа в оснастке «Events».

Находим и открываем оснастку «Local Security Settings» и в ней — раздел: «Audit Policy»:

И изменяем значения свойств всех записей «Audit» — как показано на скриншоте. Надо будет затем перезагрузиться, чтобы изменения стали активны.

Можно подождать и через несколько часов посмотреть на теперь уже реальную картину, чтобы осмыслить в каком мире мы живем, и кто нас в действительности окружает.

3. Запрещаем доступ к серверу от 100% зловредных IP адресов. Импортируем Черный Список.

Тут у тебя 2 варианта:

  • Быстрый и сразу все.
  • Ручной, с пониманием, что именно ты делаешь.
Быстрый способ.

После чего, у тебя должно получиться вот так:

Ручной способ, с пониманием.
  1. Вначале, необходимо создать дополнительную политику. Открываешь оснастку «Local Security Settings».
  2. Выбираешь раздел «IP Security Policies on Local Computer» и правой кнопкой: «Create IP Security Policy…» запускаешь Мастер настройки.
  3. Придумываешь имя для нового Правила. Например: «Block IP».
  4. Дальше, на все вопросы жми и в завершении у тебя будет форма для редактирования свойств Политики.
  5. Добавляем новое Правило. Жмем . и если стоит галочка Wizard, то запустится еще один Мастер, на вопросы которого нужно ответить.
  6. Tunnel Endpoint. жми
  7. Network Type. Там уже стоит «All network connections». жми
  8. IP Filter List.
    Добавляем новый Фильтр. Жмем и придумываем осмысленное Имя.

    Например: Block brute forcing IP.
    Список у него пока, что пустой. Сохраняем как есть.