- Заметки
- Windows
01.08.2019
Добавление ролей и компонентов
Установка самой оси Microsoft Windows Server 2016 в рамках данной статьи рассматриваться не будет, только отдельно сама установка терминального сервера.
На будущем терминальном сервере открываем диспетчер сервера через Панель управления (Win + R Control) — Администрирование — Диспетчер серверов (Server Manager)
или через команду «Выполнить» (Win + R ServerManager). После чего переходим по вкладке Локальный сервер (Local Server)
Открываем мастер добавления ролей и компонентов, жмём далее, в типе установки отмечаем радиокнопкой пункт Установка ролей или компонентов (Role-based or feature-based installation),
выбираем сервер, жмём далее, чекбоксом отмечаем Службы удаленных рабочих столов. В службах ролей отмечаем для установки две службы: Лицензирование удаленных рабочих столов (Remote Desktop Licensing) и Узел сеансов удаленных рабочих столов (Remote Desktop Session Host),
жмём далее и потом установить. Дожидаемся конца установки и перезагружаем сервер, если это не было сделано автоматически по завершению установки.
Активация лицензии удалённых рабочих столов
Средства — Remote Desktop Services — Диспетчер лицензирования удаленных рабочих столов (RD Licensing Manager).
Раскрываем древо, правой кнопкой по нашему серверу вызываем выпадающее меню и выбираем пункт активировать сервер.
В мастер активации сервера вначале заполняем сведения об организации, а после устанавливаем саму лицензию. При выборе программы лицензии указываем Другое соглашение,
и указываем ключи активации купленной лицензии 6565792 (или любой другой. Для тестового сервера нагуглите за 2 минуты:»номер соглашения windows server 2016«. Ключ 6565792 — также является результатом выдачи поисковика google).
Выбираем версию продукта Windows Server 2016и тип лицензии Клиентская лицензия служб удаленных рабочих столов (на пользователя). Готово!
Но Средство диагностики лицензирования удаленных рабочих столов сообщает нам, что сервер лицензирования не включён. Чтож, поправим это дело через политики. Вызываем
командное меню «Выполнить» Win + R gpedit.msc. Переходим: Конфигурация компьютера (Computer Configuration) — Административные шаблоны (Administrative Templates) — Компоненты Windows (Windows Components) — Службы удаленных рабочих столов (Remote Desktop Services) — Узел сеансов удаленных рабочих столов (Remote Desktop Session Host) — Лицензирование (Licensing).
Тут поправим Использовать указанные серверы лицензирования удаленных рабочих столов (Use the specified Remote Desktop license servers) и Задать режим лицензирования удаленных рабочих столов (Set the Remote licensing mode).
Обновляем сведения в оснастке Средство диагностики лицинзирования удаленных рабочих столов (Win + R lsdiag.msc). Теперь всё ок!
Изменение стандартного порта подключения
Стандартный порт для RDP подключения: 3389
Открываем реестр (Win + R regedit), переходим по ветке:
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp
Находим ключ PortNumber, меняем систему исчисления на Десятичную и задаем необходимый номер порта.
Так же это можно сделать через командную строу:
reg add "HKLM\System\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp" /v PortNumber /t REG_DWORD /d НОВЫЙ_НОМЕР_ПОРТА /f
А чтобы вы потом смогли подключиться по новому порту, то вам в фаервол нужно прописать правило
netsh advfirewall firewall add rule name="RDP PORT НОВЫЙ_НОМЕР_ПОРТА" dir=in action=allow protocol=TCP localport=НОВЫЙ_НОМЕР_ПОРТА
И перезапустить службу
net stop TermService && net start TermService
Возможные проблемы
Подключение было запрещено
Скорее всего вы при попытке подключиться увидите сообщение:»Подключение было запрещено, так как учетная запись пользователя не имеет прав для удаленного входа в систему«,
а всё из-за того, что 1 — терминальный сервер не настроен в домене на разрешение подключения к нему определённых пользователей; 2 — вы не добавили в группу Пользователи удаленного рабочего стола ни одного пользователя.
Возможно вам будет полезна статья о том как из Windows 10 сделать Терминальный сервер.
CredSSP
Ещё можете столкнуться с такой вот ошибкой: An authentication error has occurred. The function is not supported. This could be due to CredSSP encryption oracle remediation.
О ней я писал ранее в статье:»Ошибка RDP подключения: CredSSP encryption oracle remediation. Как исправить?».
А возникновение этой ошибки связано с тем, что на терминальном Windows сервере, на который идёт подключение, не установлены последние обновления безопасности (CredSSP обновления для CVE-2018-0886). После обновления система по умолчанию запрещает подключаться к удалённым серверам по RDP со старой версией протокола CredSSP.
Отсутствуют доступные серверы лицензирования удаленных рабочих столов
После настройки сервера всё шло хорошо, но только 120 дней. Потом случилось следущее:
Удаленный сеанс отключен, поскольку отсутствуют доступные серверы лицензирования удаленных рабочих столов.
Обратитесь к администратору сервера
А это означает что у вас установлен ключ льготного периода (grace period licensing), который необходимо удалить. Для этого вам нужно залогиниться на сервер локально.
Где удалять ключ льготного периода? В реестре под именем L$RTMTIMEBOMB. Идём по ветке реестра:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\RCM\GracePeriod
Но не тут то было! У вас недостаточно прав, но и это нас не остановит. Жмём правой кнопкой мыши и меняем владельца на ветку реестра и даём полные права самому себе, после чего спокойно удаляем эту гадость).
Если не поможет, то советую переустановить роли и компоненты.
Автору на кофе ☕ или просто поднять мотивацию писать больше статей для вас 😉 !
Отдельное спасибо всем, кто отправляет донатики 😀! Очень приятно и неожиданно. Благодаря вам сайт может и в дальнейшем обходиться без рекламных баннеров.
Для настройки терминального сервера к нему распространяются ниже представленные требования исходя из ПО, которое будет запускаться пользователями и количества пользователей:
- Процессор: от 4 ядер
- Оперативная память : 1 ГБ на каждого пользователя + 4 ГБ для работы ОС + 4 ГБ запас
- Дисковая система: для большей отказоустойчивости нужно настроить RAID-массив
Для установки выделить два диска: первый логический диск от 50 ГБ. До 100 ГБ выделить для установки ОС, второй логический диск выделить под пользовательские профили с расчетом минимум 1 ГБ на пользователя - Ширина канала для терминального сервера: 250 Кбит/с на пользователя
Бесплатный сервер 1С для подписчиков нашего telegram-канала !
У нас вы можете взять терминальный сервер 1С в аренду с бесплатными индивидуальными настройками.
Первоначальные настройки Windows Server 2016:
- Настроить статический IP-адрес сервера
- Проверить правильность настройки времени и часового пояса
- Установить все обновления системы
- Задать понятное имя для сервера и, при необходимости, ввести его в домен
- Включить доступ до сервера по удаленному рабочему столу для удаленного администрирования
- Настроить запись данных профилей пользователей на второй логический диск
- Активировать лицензию Windows Server 2016
Настройка терминального сервера
Начиная с Windows 2012 терминальный сервер должен работать в среде Active Directory.
Если в вашей локальной сети есть контроллер домена, просто присоединяйте к нему сервер терминалов, иначе установите на сервер роль контроллера домена.
Установка роли и компонентов
В панели быстрого запуска открываем Диспетчер серверов:
Нажимаем Управление – Добавить роли и компоненты:
Нажимаем Далее до «Выбор типа установки». Оставляем Установка ролей и компонентов и нажимаем Далее дважды:
В окне «Выбор ролей сервера» выбираем Службы удаленных рабочих столов:
Кликаем Далее, пока не появится окно «Выбор служб ролей» и выбираем следующие:
- Лицензирование удаленных рабочих столов
- Узел сеансов удаленных рабочих столов
Нажимаем Далее, при появлении запроса на установку дополнительных компонентов соглашаемся.
При необходимости, также выставляем остальные галочки:
- Веб-доступ к удаленным рабочим столам — возможность выбора терминальных приложений в браузере.
- Посредник подключений к удаленному рабочему столу — для кластера терминальных серверов посредник контролирует нагрузку каждой ноды и распределяет ее.
- Узел виртуализации удаленных рабочих столов — для виртуализации приложений и запуска их через терминал.
- Шлюз удаленных рабочих столов — центральный сервер для проверки подлинности подключения и шифрования трафика. Позволяет настроить RDP внутри HTTPS.
Нажимаем Далее и в следующем окне Установить. Дожидаемся окончания процесса установки и перезагружаем сервер.
Установка служб удаленных рабочих столов
После перезагрузки открываем Диспетчер серверов и нажимаем Управление – Добавить роли и компоненты:
В окне «Выбор типа установки» выбираем Установка служб удаленных рабочих столов и нажимаем Далее:
В окне «Выбор типа развертывания» выбираем Быстрый запуск и нажимаем Далее:
В «Выбор сценария развертывания» — Развертывание рабочих столов на основе сеансов — Далее:
Еще раз Далее — при необходимости, ставим галочку «Автоматически перезапускать конечный сервер, если это потребуется» и кликаем по Развернуть.
Настройка лицензирования удаленных рабочих столов
Для корректной работы сервера, необходимо настроить службу лицензирования. Для этого открываем диспетчер серверов и кликаем по Средства – Remote Desktop Services – Диспетчер лицензирования удаленных рабочих столов:
В открывшемся окне кликаем правой кнопкой мыши по нашему серверу и выбираем Активировать сервер:
В открывшемся окне дважды кликаем Далее – заполняем форму – Далее – Далее – Снимаем галочку «Запустить мастер установки лицензий» – Готово.
Снова открываем диспетчер серверов и переходим в «Службы удаленных рабочих столов»:
В «Обзоре развертывания» кликаем по Задачи – Изменить свойства развертывания:
В открывшемся окне переходим в Лицензирование – Выбираем тип лицензий – прописываем имя сервера лицензирования (в данном случае локальный сервер) и нажимаем Добавить:
Применяем настройки, нажав OK.
Добавление лицензий
Открываем диспетчер серверов и кликаем по Средства – Remote Desktop Services – Диспетчер лицензирования удаленных рабочих столов:
В открывшемся окне кликаем правой кнопкой мыши по нашему серверу и выбираем Установить лицензии:
В открывшемся окне нажимаем Далее:
Выбираем программу, по которой куплены лицензии, например, Enterprise Agreement:
Нажимаем Далее – вводим номер соглашения и данные лицензии – выбираем версию продукта, тип лицензии и их количество:
Нажимаем Далее – Готово.
Проверить статус лицензирования можно в диспетчере серверов: Средства – Remote Desktop Services – Средство диагностики лицензирования удаленных рабочих столов.
Мы также готовы оказать помощь в установке и настройке терминального сервера.
Нашим клиентам мы предлагаем реализацию данного проекта и его последующее обслуживание в рамках ИТ-аутсорсинга.
Протокол Remote Desktop Protocol (RDP) позволяет удаленно подключиться к рабочему столу компьютера с Windows и работать с ним, как будто это ваш локальный компьютер. По умолчанию RDP доступ в Windows запрещен. В этой статье, мы покажем, как включить и настроить RDP доступ в Windows 10 и Windows Server 2016/2019.
Содержание:
- Включаем удаленный рабочий стол в Windows 10
- Как включить RDP доступ с помощью PowerShell?
- RDP доступ к Windows Server 2016/2019
- Включение RDP с групповых политик в домене Active Direcrtory
- Как удаленно включить RDP на компьютере Windows?
Включаем удаленный рабочий стол в Windows 10
Самый простой способ включить RDP доступ в Windows – воспользоваться графическим интерфейсом.
Откройте свойства системы через панель управления, или выполнив команду SystemPropertiesRemote.
Перейдите на вкладку Remote Settings (Удаленный доступ), включите опцию Allow remote connection to this computer (Разрешить удалённые подключения к этому компьютеру).
В целях безопасности желательно разрешить подключение только с клиентов RDP с поддержкой протокола NLA (Allow connections only from computers running Remote Desktop with Network Level Authentication/ Разрешить подключение только с компьютеров, на которых работает удаленный рабочий стол с проверкой подлинности на уровне сети).
Сохраните изменения, нажав ОК.
По умолчанию право на подключение к компьютеру через RDP есть только у членов группы локальных администраторов. Если вам нужно разрешить RDP доступ другим пользователям, нажмите кнопку Select Users.
Все пользователи, которых вы укажете здесь будет добавлены в локальную группу Remote Desktop Users. Вы можете в командной строке вывести список пользователей в этой группе:
net localgroup "Remote Desktop Users"
или
net localgroup “Пользователи удаленного рабочего стола”
Чтобы добавить нового пользователя в группу доступа RDP, выполните:
net localgroup "Remote Desktop Users" /add publicuser
В русской версии Windows измените название группы на “Пользователи удаленного рабочего стола”.
В новых билдах Windows 10 классическая панель для включения RDP доступа теперь спрятана и Microsoft рекомендует пользоваться новой панелью Setting.
- Перейдите в Settings -> System —> Remote Desktop;
- Включите опцию Enable Remote Desktop;
- Подтвердите включение RDP на компьютере.
Обратите внимание, что вы не можете включить RDP доступ к редакции Windows 10 Home. RDP сервер работает только на Windows 10 Pro и Enterprise. Впрочем, есть обходное решение.
Обратите внимание, что по умолчанию при включении Remote Desktop, включаются две опции:
- Keep my PC awake for connection when it is plugged in ;
- Make my PC discoverable on private networks to enable automatic connection from a remote device
На жмите на ссылку “Advanced settings”. Здесь можно включить использование протокола “Network Level Authentication” для RDP подключений (рекомендуется).
Если на компьютере включен Windows Defender Firewall (брандмауэр), то нужно проверить, что в нем разрешены входящие RDP подключения. По умолчанию для RDP подключений используется порт TCP
3389
, а в последних билдах Windows также используется
UDP 3389
( см. статью про кейс с черным экраном вместо рабочего стола при RDP доступе).
Перейдите в панель управления и выберите элемент Windows Defender Firewall. Откройте список стандартных правил брандмауэра Windows, щелкнув в левом столбце по ссылке Allow an app or feature through Windows Firewall.
Проверьте, что правило Remote Desktop включено для профиля Private (домашняя или рабочая сеть) и, если необходимо, для профиля Public (общедоступные сети).
Подробнее про типы сетей и профили брандмауэра Windows здесь.
Если нужно, вы можете дополнительно ограничить длительность RDP сессий с помощью GPO.
Теперь к данному компьютеру можно подключится с помощью RDP клиента. Встроенный RDP клиент Windows –
mstsc.exe
. Он сохраняет всю историю RDP подключений с компьютера. Поддерживается копирование файлов между локальным и удаленным компьютером прямо через буфер обмена RDP.
Также вы можете использовать менеджеры RDP подключений, такие как RDCMan или mRemoteNG, или альтернативные клиенты.
Для удобства пользователей пароль для RDP подключения можно сохранить в Windows Credential Manager.
Как включить RDP доступ с помощью PowerShell?
Вы можете включить RDP доступ в Windows с помощью пары PowerShell команд. Это гораздо быстрее:
- Запустите консоль PowerShell.exe с правами администратора;
- Включите RDP доступ в реестре с помощью командлета Set-ItemProperty:
Set-ItemProperty -Path 'HKLM:\System\CurrentControlSet\Control\Terminal Server' -name "fDenyTSConnections" -value 0Чтобы закрыть RDP доступ, измените значение fDenyTSConnections на 1.
- Разрешите RDP подключения к компьютеру в Windows Defender Firewall. Для этого включите предустановленное правило :
Enable-NetFirewallRule -DisplayGroup "Remote Desktop" - Если нужно добавить пользователя в группу в локальную группу RDP доступа, выполните:
Add-LocalGroupMember -Group "Remote Desktop Users" -Member 'a.petrov'
Чтобы проверить, что на компьютере открыт RDP порт, воспользуйтесь командлетом Test-NetConnection:
Test-NetConnection -ComputerName deskcomp323 -CommonTCPPort rdp
RDP доступ к Windows Server 2016/2019
В отличии от десктопной редакции Windows 10, в Windows Server по умолчанию поддерживается два одновременных RDP подключения. Эти подключения используются администраторами для управления сервером.
Включается RDP в Windows Server аналогично. Через SystemPropertiesRemote, через Server Manager или командами PowerShell, рассмотренными выше.
Вы можете использовать Windows Server в качестве терминального сервера. В этом случае множество пользователей могут одновременно подключаться к собственному рабочему столу на сервере. Для этого нужно установить и настроить на сервере роль Remote Desktop Session Host. Это требует приобретения специальных RDS лицензии (CAL). Подробнее о RDS лицензировании здесь.
Для дополнительно защиты RDP сессий можно использовать SSL/TLS сертификаты.
Включение RDP с групповых политик в домене Active Direcrtory
Если вам нужно включить RDP доступ сразу на большом количестве компьютеров, можно воспользоваться групповыми политиками (GPO). Мы подразумеваем, что все компьютеры включены в домен Windows.
- Запустите консоль управления доменными GPO
gpmc.msc
; - Создайте новую (или отредактируйте уже существующую) групповую политику и привяжите ее к целевой OU с компьютерами или серверами;
- Переключитесь в режим редактирования политики и перейдите в секцию GPO Computer Configuration -> Administrative Templates -> Windows Components -> Remote Desktop Services -> Remote Desktop Session Host -> Connections;
- Найдите и включите политику Allow Users to connect remotely by using Remote Desktop Services, установив ее в Enable;
- Обновите параметры групповых политик на клиентах;
- После применения данной политики вы сможете подключится ко всем компьютерам по RDP (политика применится как к десктопным клиентам с Windows 10, так и к Windows Server). Если нужно, вы можете более тонко нацелить политики на компьютеры с помощью WMI фильтров GPO.
- Если на компьютерах включен Windows Defender Firewall, нужно в этой же GPO разрешить RDP-трафик для доменного профиля. Для этого нужно активировать правило Windows Firewall: Allow inbound Remote Desktop Exceptions (находится в разделе Computer Configuration -> Administrative Templates -> Network -> Network Connections -> Windows Firewall -> Domain Profile).
Подробнее о настройке правил брандмаура Windows через GPO рассказано здесь.
Как удаленно включить RDP на компьютере Windows?
Также вы можете удаленно включить RDP на любом компьютере Windows. Для этого у вас должен быть удаленный доступ к этому компьютеру (через PowerShell или WMI) и ваша учетная запись состоять в группе локальных администраторов на этом компьютере.
Вы можете удаленно включить RDP через реестр. Для этого на удаленном компьютере должна быть включена служба Remote Registry (по умолчанию она отключена). Чтобы запустить службу:
- Запустите консоль управления службами (
services.msc
); - Выберите Connect to another computer и укажите имя удаленного компьютера;
- Найдите в списке службу Remote Registry, измените тип запуска на Manual (ручной) и затем запустите службу – Start.
Тоже самое можно выполнить удаленно из командной строки с помощью встроенной утилиты
sc
(позволяет создавать, управлять или удалять службы Windows):
sc \\WKMDK22SQ65 config RemoteRegistry start= demand
sc \\WKMDK22SQ65 start RemoteRegistry
Затем на локальном компьютере
- Запустите редактор реестра
regedit.exe - Выберите в меню Файл пункт Connect Network Registry (Подключить сетевой реестр)
- Укажите имя или IP адрес удаленного компьютера, на котором нужно включить службу RDP;
- Перейдите в раздел
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server
; - Найдите параметр fDenyTSConnections (тип REG_DWORD). Если данный ключ отсутствует – создайте его. Измените его значение на 0, чтобы включить RDP.
Для отключения RDP доступа нужно изменить значение fDenyTSConnections на 1.
Сразу после этого без перезагрузки удаленный компьютер должен стать доступным по RDP.
Но гораздо быстрее можно включить RDP в реестре удаленого компьютера через командную строку:
REG ADD "\\WKMDK22SQ65\HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fDenyTSConnections /t REG_DWORD /d 0 /f
Если на удаленном компьютере настроен PowerShell remoting, вы можете выполнить на нем удаленную команду через Invoke-Command:
Invoke-Command -Computername WKMDK22SQ65 -ScriptBlock {Set-ItemProperty -Path "HKLM:\System\CurrentControlSet\Control\Terminal Server" -Name "fDenyTSConnections" –Value 0}
Если в Windows установлен OpenSSH сервер, вы можете подключиться к нему любым ssh клиентом и внести изменения в реестр в локальной ssh сессии.
Также вы можете подключиться к удаленному компьютеру и включить RDP через WMI:
$compname = “WKMDK22SQ65”
(Get-WmiObject -Class Win32_TerminalServiceSetting -Namespace root\CIMV2\TerminalServices -Computer $compname -Authentication 6).SetAllowTSConnections(1,1)
Enable Remote Desktop Protocol on Windows Server 2016 system allows you to manage the server remotely from any location, making it easier to perform administrative tasks, troubleshoot issues, and provide support. This article provides a comprehensive guide to enabling RDP on Windows Server 2016, ensuring a secure and efficient setup.
What is RDP?
Remote Desktop Protocol (RDP) is a proprietary protocol developed by Microsoft that allows users to connect to another personal computer over a network connection. By using RDP, you can control and manage a remote machine as if you were sitting in front of it. RDP is widely used by IT administrators, remote workers, and anyone who needs to access a computer remotely.
Why Enable RDP on Windows Server 2016?
Enabling RDP on Windows Server 2016 provides several key benefits:
- Remote Management: Easily manage your server from any location without needing physical access.
- Troubleshooting: Quickly diagnose and fix issues on the server remotely.
- Support: Provide remote support to users or clients who need assistance.
- Flexibility: Work from anywhere, improving productivity and reducing downtime.
Prerequisites for Enabling RDP on Server 2016
Before enabling RDP on your Windows Server 2016, ensure that the following prerequisites are met:
- Administrative Access: You need to have administrative privileges on the server.
- Network Configuration: The server must have a static IP address and be reachable over the network.
- Firewall Settings: Ensure that the firewall allows RDP traffic (TCP port 3389).
- Server Updates: It’s recommended to update the server with the latest security patches and updates.
Step-by-Step Guide to Enable RDP on Server 2016
Step-1: Log in to the Server
- Access the server: Log in to your Windows Server 2016 either through a physical console or an existing remote connection.
- Administrative rights: Ensure that you are logged in with an account that has administrative privileges.
Step-2: Open Server Manager
- Launch Server Manager: Click on the Start button and select Server Manager from the list of applications.
- Wait for Server Manager to load: Server Manager might take a few moments to load completely, depending on your system’s performance.
Step-3: Access System Properties
- Go to the Local Server: In Server Manager, find the Local Server option on the left-hand side and click on it.
- Locate Remote Desktop: In the Properties section, find the Remote Desktop field. By default, this will show as “Disabled.”
Step-4: Enable Remote Desktop
- Change Settings: Click on the Disabled status next to Remote Desktop. This will open the method Properties window.
- Select Allow Remote Connections: In the System Properties window, under the Remote tab, select Allow Remote Connections to this computer.
- Confirm the Security Warning: A warning message may appear, indicating that remote connections might expose your server to security risks. Check the box for Allow connections only from computers running Remote Desktop with Network Level Authentication (recommended) to enhance security.
Step-5: Configure Firewall Settings
- Open Windows Firewall: Click on the Start button, type Windows Firewall, and open Windows Firewall with Advanced Security.
- Inbound Rules: In the left-hand pane, click on Inbound Rules.
- Find RDP Rule: Scroll down the list of rules until you find the Remote Desktop Protocol – User Mode (TCP-In) rule.
- Enable Rule: Ensure that the rule is enabled. If not, right-click on it and select Enable Rule.
Step-6: Test the RDP Connection
- Find the IP Address: To connect remotely, you need the IP address of your server. You can find it by typing ipconfig in the Order Prompt.
- Open Remote Desktop Client: On a different computer, open the Remote Desktop Connection application by typing mstsc in the Run dialog (Windows + R).
- Enter IP Address: Enter the IP address of your Windows Server 2016 in the Remote Desktop Connection window.
- Connect: Click Connect and log in with your server credentials. If everything is configured correctly, you should be able to access your server remotely.
Enhancing Security for RDP on Server 2016
While RDP is a powerful tool, it can also be a target for cyberattacks. Here are a few best practices to enhance the security of your RDP setup:
- Use Strong Passwords
Ensure that all user accounts, especially those with administrative privileges, use strong and complex passwords. - Enable Network Level Authentication (NLA)
Network Level Authentication adds an extra layer of security by requiring users to authenticate before a full RDP connection is established. - Limit User Access
Restrict RDP access to only those users who want it. Use the Remote Desktop Users group to manage which users can connect remotely. - Change the Default RDP Port
By default, RDP uses TCP port 3389. Changing this port can help reduce the risk of automated attacks. - Use a VPN
Consider using a Virtual Private Network (VPN) to access your server. This adds an additional layer of security by encrypting the connection and limiting access to the internal network. - Enable Two-Factor Authentication (2FA)
Use two-factor authentication to add an extra layer of security. Tools like Duo Security can integrate with Windows Server to provide 2FA for RDP connections. - Regularly Monitor RDP Logs
Keep an eye on your RDP logs for any unusual activity. Windows Server 2016 logs RDP events, which can help you identify potential security breaches. - Apply Security Patches and Updates
Ensure that your Windows Server 2016 regularly updated with the latest security patches to protect against vulnerabilities.
Troubleshooting RDP Issues on Server 2016
Even after enabling RDP, you may encounter some common issues. Here are some troubleshooting tips:
- RDP Connection Refused
If your connection is refused, check that the RDP service is running and that the firewall rules are correctly configured. - Black Screen After Login
A black screen can indicate a problem with the RDP session. Try reconnecting or restarting the server. Ensure that the server’s display drivers are up to date. - Credential Error
If you receive a credential error, ensure that you are using the correct username and password. Also, verify that the user account has the necessary permissions to access the server remotely. - Slow Connection
A slow RDP connection may be due to network latency. Try optimizing the RDP settings by lowering the display quality or disabling features like sound and local resources. - Session Timeouts
If your RDP session frequently times out, check the session timeout settings in Group Policy or on the server. Adjusting these settings can help maintain a stable connection.
Conclusion
Enabe RDP on Windows Server 2016 is a straightforward process that significantly enhances your ability to manage and access your server remotely. By following the steps outlined in this guide, you can configure RDP securely and efficiently, ensuring that you have the tools needed for remote administration. Additionally, by applying the recommended security measures, you can protect your server from potential threats while enjoying the flexibility of remote access.
Remote Desktop Protocol (RDP) is a Microsoft-proprietary remote access protocol that is used by Windows systems administrators to manage Windows Server systems remotely. What sets RDP apart from, say, Windows PowerShell or Secure Shell (SSH) remoting is the presence of the full graphical desktop, as shown in Figure 1.
MORE: Best Remote Access Software and Solutions
By default, the RDP server component listens for incoming connections on TCP port 3389 by default, although this can be changed by the administrator for security reasons.
To be sure, Microsoft’s current push is for admins to reduce their reliance upon RDP and instead (a) deploy Windows Servers in Server Core or Nano mode; and (b) employ Windows PowerShell command-line remote administration instead of RDP.
Microsoft’s justification for this advice is two-fold:
- A GUI layer consumes unnecessary system resources
- A GUI layer broadens the attack surface of your servers
Regardless, many admins are accustomed to RDP-based remote administration, and seek to do so even in the newly released Windows Server 2016 operating system. Let’s learn how to enable RDP in Server 2016 (tl;dr: the process is identical to Windows Server 2012 R2).
Server Manager
Open the Server Manager console, navigate to the Local Server node, and click the Remote Desktop hyperlink as shown in Figure 2.
Get Tom’s Hardware’s best news and in-depth reviews, straight to your inbox.
The Remote Desktop hyperlink is simply a shortcut to the System Properties sheet from the System Control Panel item. Select Allow remote connections to this computer, and optionally enable Allow connections only from computers running Remote Destkop with Network Level Authentication (recommended).
Network Level Authentication (NLA) protects Windows Server against denial-of-service (DoS) attacks by requiring authentication to take place before any graphical session is established by the server. NLA also conserves server system resources.
Windows PowerShell
From a lower-level perspective, incoming RDP connections are enabled on a server through two Registry values and a Windows Firewall rule.
Open an elevated Windows PowerShell session and run the following commands. This first one creates the fDenyTSConnections value and sets it to 0 (off). This makes sense, because we don’t want to deny Terminal Services (TS) connections.
New-ItemProperty -Path ‘HKLM:SystemCurrentControlSetControlTerminal Server’ -Name ‘fDenyTSConnections’ -Value 0 -PropertyType dword -Force
The next command creates and enables the UserAuthentication (Network Layer Authentication) value; NLA is a good idea and you should consider enabling it by default on your servers.
New-ItemProperty -Path ‘HKLM:SystemCurrentControlSetControlTerminal ServerWinStationsRDP-Tcp’ -Name ‘UserAuthentication’ -Value 1 -PropertyType dword -Force
The next command enables the predefined «Remote Desktop» Windows Firewall rule. We can then invoke the Get-NetFirewallRule PowerShell cmdlet to verify as shown in Figure 3.
Enable-NetFirewallRule -DisplayGroup ‘Remote Desktop’
Group Policy
The chances are good that you want to standardize RDP behavior across all your infrastructure servers. Therefore, we turn to Group Policy to accomplish this goal.
Start by creating, linking and scoping a new Group Policy Object (GPO) that targets the servers that should share RDP server settings.
Next, navigate to the following Group Policy path and add a new Restricted Groups entry (shown in Figure 4):
Computer ConfigurationPoliciesWindows SettingsSecurity SettingsRestricted Groups
You can customize the membership in the servers’ built-in Remote Desktop Users group; members of this group can establish RDP sessions to the server. Note that the local Administrators group (and, by extension, the Domain Admins global group) is automatically granted this privilege in Active Directory.
The following three Group Policy settings govern:
- Windows Firewall incoming RDP exceptions
- User right to establish RDP sessions
- Requiring NLA
Computer ConfigurationAdministrative TemplatesNetworkNetwork ConnectionsWindows FirewallDomain ProfileWindows Firewall: Allow Inbound Remote Desktop exceptions
Computer ConfigurationAdministrative TemplatesWindows ComponentsRemote Desktop ServicesRemote Desktop Session HostConnectionsAllow user to connect remotely by using Remote Desktop Services
Computer ConfigurationAdministrative TemplatesWindows ComponentsRemote Desktop ServicesRemote Desktop Session HostSecurityRequire user authentication for remote connections by using NLA
Creating the Client Connection
Windows Client and Windows Server both include the Microsoft RDP client, called Remote Desktop Connection. My favorite way to invoke this tool is to:
Press WINDOWS KEY+R
Type mstsc (which stands for «Microsoft Terminal Services Client»)
Press ENTER
I show you the Remote Desktop Connection user interface in Figure 5.
What’s cool about RDP clients is that they are available for just about every desktop or mobile operating system. Here is a representative list:
- Android: Microsoft Remote Desktop
- iOS: Microsoft Remote Desktop
- Linux: rdesktop
- macOS: Microsoft Remote Desktop
- Windows Phone: Microsoft Remote Desktop
Note that Windows Server supports only two simultaneous RDP sessions at once. If you need more than that, then you’ll have to install the Remote Desktop Services (RDS) Session Host server role and purchase additional RDS connection licenses from Microsoft.
Final Thoughts
If you’ve configured RDP on previous Windows Server versions, then you’ll find that Windows Server 2016 behaves the exact same way. Keep in mind, however, that Microsoft’s ever-widening embrace of «assume breach» security posture and the hybrid cloud scenario and its accompanying «manage herds, not pets» philosophy means the emphasis is on command-line automation rather than on-off RDP GUI sessions.
- 10 Best New Features in Windows Server 2016
- Windows 10 for IT Pros: Tutorials, Tips and Tricks
- Top 6 Windows 10 Apps for IT Pros
