Remote Desktop Gateway это один из сервисов роли Remote Desktop Services в Windows Server для организации защищенного доступа из Интернета к службам рабочих столов и опубликованным RemoteApp приложениям через HTTPS шлюз. Сервер с ролью RD Gateway выступает в роли посредника между внешними клиентами и развернутыми внутри службами RDS. При использовании RDGW пользователям не нужно настраивать VPN для подключения к RDS в корпоративной сети. Для подключения используется стандартный клиент Remote Desktop Connection (mstsc.exe). В этой статье рассмотрим процесс развертывания шлюза Remote Desktop Gateway на Windows Server 2019 (инструкция применима для Windows Server 2022/2016 и 2012 R2).
Служба шлюза удаленных рабочих столов не является обязательным компонентом фермы RDS, поэтому ее нужно установить отдельно. В большинстве случае рекомендуется использовать отдельный сервер для развертывания RDGW или можно совместить его с RDWeb.
Вы можете установить роль Remote Desktop Gateway через Server Manager (Add roles & Features -> Server Role -> Remote Desktop Services) или с помощью PowerShell.
При установке службы RDGW также устанавливаются веб сервер IIS и роль NPS (Network Policy Server).
Убедитесь, что роль RDS-Gateway установлена:
Get-WindowsFeature RDS*
Или установите роль в Windows Server с помощью команды Install-WindowsFeature :
Install-WindowsFeature RDS-Gateway -IncludeAllSubFeature –IncludeManagementTools
Создайте группы доступа в Active Directory с помощью консоли ADUC или с помощью PowerShell :
Для управления политиками и правилами доступа на RDGW используется консоль RD Gateway Manager (tsgateway.msc). Здесь нужно настроить два типа политик:
Создайте сначала политику RD CAP:
Также вы можете создать политику клиентского доступа RDGW с помощью PowerShell:
Import-Module -Name RemoteDesktopServices
New-Item -Path 'RDS:GatewayServerCAP' -Name 'rdgwAllowAutht-CAP' -UserGroups rdgwExtUsers -AuthMethod '1'
Затем создайте политику RD RAP:
Правило RAP также можно создать с помощью PowerShell:
New-Item -Path RDS:GatewayServerRAP -Name allowextAdminMskRDS -UserGroups [email protected] -ComputerGroupType 1 -ComputerGroup [email protected]
Для защиты подключения к шлюзу RDS на нем нужно установить сертификат. Оптимально использовать коммерческий сертификат, выданный внешним центром сертификации. Возможно использовать бесплатного SSL сертификат Let’s Encrypt ( установка Let’s Encrypt сертификата на IIS для Remote Desktop Gateway ). Также вы можете использовать самоподписанный SSL сертификат Windows , но здесь имейте в виду что внешние клиенты должны обязательно доверять такому сертификату. Если клиент не доверяет сертификату на сервере RDGW, он не сможет подключиться к шлюзу (самоподписанные SSL сертификаты можно импортировать на клиентов вручную или через GPO ) .
В Windows Server 2019 для подключения к RDGateway используются следующие порты:
443/TCP
3391/UDP
(использование транспортного протокола UDP не обязательно, но его поддержка позволяет значительно улучшить производительность туннеля и качество картинки в RDP сессии) Не забудьте открыть (пробросить) эти порты на ваш RDGW хост на сетевом оборудовании.
Откройте консоль RDGW Manager и убедитесь, что в ней нет ошибок и все пункты зелёные.
Теперь можно настроить клиент Remote Desktop Connection для подключения к вашим внутренним RDS хостам через шлюз удаленных рабочих столов.
mstsc.exe
; Отслеживать удачные и неудачные подключения пользователей через RDGW можно с помощью журнала событий Applications and Services Logs -> Microsoft -> Microsoft-Windows-TerminalServices-Gateway -> Operational.
При успешном подключении пользователя через RDGW в журнале появится событие с Event ID 205 от источника TerminalServices-Gateway
The user "remontkakbuldogov", on client computer "xx.xx.xx.xx", successfully connected to the remote server "msk-rdsman.remontka.com" using UDP proxy. The authentication method used was: "Cookie".
Если вы хотите запускать RemoteApp через RD Gateway, нужно добавить в *.rdp файл remoteapp следующие строки:
gatewayhostname:s:gw.remontka.com_x000D_gatewayusagemethod:i:1
В этой статье мы показали, как настроить роль Remote Desktop Gateway на Windows Server для реализации защищенного удаленного доступа в вашу сеть с помощью RDP over HTTPS.
При размещении отдельностоящего RDSH сервера в интернете, открывать наружу стандартный RDP порт 3389 небезопасно. В журналах безопасности хоста будут постоянно фиксироваться события перебора паролей по RDP . Вы можете безопасно опубликовать RDSH в интернете через RD Gateway и использовать для RDP доступа защищённое SSL/TLS подключение по порту TCP:443.
Вопреки распространённому убеждения, RD Gateway можно развернуть без домена Active Directory (в рабочей группе).
Предполагаем, что вы развернули отдельный RDS хост с Windows Server в рабочей группе.
Установите роль RDGateway с помощью команды:
Install-WindowsFeature RDS-Gateway -IncludeAllSubFeature –IncludeManagementTools
Откройте консоль RD Gateway Manager ( tsgateway.msc
) и создайте политику Connection Authorization Policy (CAP).
BUILTINRemote Desktop Users
; После этого создайте новую Resource Authorization Policy (RAP).
BUILTINRemote Desktop Users
; Следующий этап – установить SSL/TLS сертификат для защиты подключений к шлюзу RDS. Можно использовать бесплатный SSL сертификат Let’s Encrypt или самоподписанный SSL сертификат Windows (для простоты мы будем использовать этот вариант).
По умолчанию для RDGW генерируется самоподписанный сертификат со сроком действия полгода. С помощью PowerShell можно создать сертификат с большим сроком. В CN имени сертификата или в Subject Alternative Name (DNS) должно содержаться внешнее DNS имя и/или статический (белый) IP адрес сервера RD Gateway, к которому будут подключаться клиенты. Укажите через запятую все необходимые имена при создании сертификата:
$todaydate = Get-Date
$addyear = $todaydate.AddYears(5)
New-SelfSignedCertificate -dnsname rdgw.remontka.com,123.123.123.12,gw.mydomain.ru -notafter $addyear -CertStoreLocation cert:LocalMachineMy
Откройте свойства сервера RDGW, перейдите на вкладку SSL Certificates -> Select an existing certificate from the RD Gateway Certificates Local/Personal Store -> Import Certificate . Выберите созданный вами сертификат.
Теперь можно настроить подключение на клиенте. В первую очередь надо экспортировать с сервера RDGW сертификат.
certlm.msc
); Этот сертификат нужно установить на клиенте. Если клиент не доверяет сертификату RD Gateway, он не сможет подключиться к шлюзу.
Вы можете установить сертификат вручную или через GPO . Установить сертификат в Trusted Root Certification Authorities .
Теперь откройте клиент mstsc
и настройте подключение через Remote Desktop Gateway. Укажите имя или IP адрес хоста RDGW в разделе Advanced -> Settings -> Use these RD Gateway settings.
В качестве имени RDP хоста укажите localhost
и имя пользователя для подключения в формате rdssrv01user1
, где rdssrv01- локальное имя компьютера (hostname) Windows Server с ролью RDS.
Если SAN имя в сертификат не соответствует имени RD gateway хоста в подключении, появится ошибка:
Your computer cannot connect to the remote computer because the remote desktop gateway server address requested, and the certificate subject name do not match.
Как менялся логотип Apple на протяжении многих лет. Логотип Apple — это не просто символ,…
Security Boot Fail при загрузке Acer — решение проблемы При загрузке ноутбука Acer с флешки,…
Ноутбук не включается — варианты решения Если при попытке включить ноутбук вы обнаруживаете, что он…
The AC power adapter wattage and type cannot be determined — причины и решение При…
Свистит или звенит блок питания компьютера — причины и решения Некоторые владельцы ПК могут обратить…
Мигает Caps Lock на ноутбуке HP — почему и что делать? При включении ноутбука HP…