Несколько простых шагов для безопасного подключения терминальных служб
Серверы Windows 2008 и Windows 2008 R2 обладают множеством возможностей для защиты терминальных служб. Однако, многие из таких возможностей по умолчанию отключены. Это сделано для обеспечения совместимости с предыдущим клиентским программным обеспечением. Существует несколько простых методов , позволяющих улучшить защиту терминального сервера.
Использование network-level authentication
До появления Windows 2008/2008 R2, для аутентификации в службе терминалов пользователи должны были использовать Remote Desktop Client для установки связи с терминальным сервером. После чего у пользователя появлялась возможность ввода учетных данных в окно входа. Такой подход к аутентификации пользователя выглядит довольно простым, в то же время с точки зрения безопасности является существенным риском.
Простота, с которой устанавливается терминальная сессия, позволяет получить определенную информацию о сети, например имя внутреннего домена, название конечного сервера. Полученная информация может помочь злоумышленнику осуществить DDOS атаку на терминальный сервер даже если атакующий не имеет в своем распоряжении данных для аутентификации.
Начиная с Windows 2008, Microsoft вводит дополнительный уровень защиты - network-level authentication. Этот уровень предполагает, что пользователь представляет определенный набор данных до установки сеанса подключения, что делает процесс аутентификации более безопасным.
Для использования network-level authentication необходимо выполнение ряда условий. Терминальный сервер должен работать под управлением операционной системы Windows 2008/2008 R2, а клиентские компьютеры должны работать на ОС Windows XP Service Pack 3 или выше, Windows Vista или Windows 7. Для Windows XP может потребоваться редактирование реестра:
1. Кликните "Пуск", "Выполнить", введите в строку "regedit" (без кавычек) и нажмите "Ok"
2. В левой навигационной панеле откройте ключ HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa
3. В правой панеле найдите параметр "Security Packages", нажмите на нём правой кнопкой мыши и выберите "изменить"
4. В поле "значение" допишите внизу строчку "tspkg" (без кавычек). Не удаляйте имеющиеся значения. Нажмите "Ok"
5. В левой навигационной панеле откройте ключ HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders
6. В правой панеле найдите параметр "SecurityProviders", нажмите на нём правой кнопкой мыши и выберите "изменить"
7. В поле "значение" допишите через запятую строчку "credssp.dll" (без кавычек). Не удаляйте имеющиеся значения. Нажмите "Ok" 8. Перезагрузите компьютер
Еще одним условием является использование Remote Desktop клиента версии 6 или выше.
Существует несколько способов конфигурации терминального сервера на требование использовать network-level authentication. Вы можете включить Network Level Authentication в процессе установки роли Terminal Services, или после ее завершения, используя консоль Terminal Services Configuration. Щелкнув правой кнопкой мыши на подключении, используемом вашими клиентами. В меню выбрать Properties и опцию "Allow connections only from computers running Remote Desktop with Network Level Authentication".
Однако, наилучший способ включить network-level authentication, это использовать групповую политику.
Запустите редактор групповой политики, выберите нужную политику. Откройте раздел Computer Configuration | Administrative Templates | Windows Components | Terminal Services | Terminal Server | Security и включите параметр Require user authentication for remote connections by using Network Level Authentication.
Изменение номера порта RDP
По умолчанию терминальный сервер использует порт 3389 для RDP подключения. Изменение номера порта RDP служит одним из самых эффективных способов защиты от хакеров.
Смена номера порта требует внесения изменений в реестр. Настоятельно рекомендуется сделать резервную копию до внесения изменений.
Выберите новое желаемое значение номера порта. Затем получите его значение в шестнадцатеричном коде, для этого можно использовать калькулятор Windows.
Запустите редактор реестра перейдите к ветке HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Terminal Server\WinStations\RDP-TCP.
Внесите свое шестнадцатеричное значение в раздел Port Number.
После того как вы внесли изменение в номер порта RDP на сервере, вам необходимо создать новое подключение на клиентском компьютере, используя новое значение порта RDP. Для этого при настройке подключения необходимо указать порт, например 111.222.333.444:123456, где 111.222.333.444 – IP адрес сервера, 123456 – номер порта RDP.
В заключении отметим, считается, что использование Windows Terminal Services относительно безопасно, есть возможность значительно повысить безопасность, используя описанные выше шаги.