Блог

Remote Desktop Gateway — это один из сервисов роли Remote Desktop Services в Windows Server, предназначенный для организации защищенного доступа из Интернета к службам рабочих столов и опубликованным RemoteApp приложениям через HTTPS-шлюз. Сервер с ролью RD Gateway выступает в роли посредника между внешними клиентами и внутренними службами RDS. С использованием RD Gateway (RDGW) пользователи могут подключаться к RDS без необходимости настройки VPN. Для подключения используется стандартный клиент Remote Desktop Connection (mstsc.exe). В этой статье мы рассмотрим процесс развертывания шлюза Remote Desktop Gateway на Windows Server 2019. Инструкция также применима для Windows Server 2022/2016 и 2012 R2.

Приобрести оригинальные ключи активации можно у нас в каталоге:

Windows Server 2022 — от 2770 ₽

Windows Server 2019 — от 2640 ₽

Windows Server 2016 — от 2370 ₽

Windows Server 2012 R2 — от 1270 ₽

Установка роли RDS-Gateway в Windows Server

Служба шлюза удаленных рабочих столов не является обязательным компонентом фермы RDS, поэтому её нужно устанавливать отдельно. В большинстве случаев рекомендуется использовать отдельный сервер для развертывания RDGW, хотя его можно совмещать с RDWeb.

Для установки предполагается, что в вашей сети уже развернута служба каталогов Active Directory и ферма серверов RDS.

Вы можете установить роль Remote Desktop Gateway через Server Manager (Add roles & Features -> Server Role -> Remote Desktop Services) или с помощью PowerShell.

Пример установки через Server Manager:

При установке службы RDGW также устанавливаются веб-сервер IIS и роль NPS (Network Policy Server).

Для проверки успешной установки роли выполните команду:

Get-WindowsFeature RDS*

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

Install-WindowsFeature RDS-Gateway -IncludeAllSubFeature –IncludeManagementTools

После установки создайте группы доступа в Active Directory с помощью консоли ADUC или PowerShell:

rdgwExtUsers — группа пользователей, которым разрешено аутентифицироваться на RDGW;

rdgwExternalAdmins — группа для доступа к терминальным серверам через RDGW;

msk-rds-farm — группа для всех хостов RDSH и RD Connection Broker, к которым разрешено подключаться через шлюз.

Настройка политик доступа RDS Gateway

Для управления доступом на RDGW используется консоль RD Gateway Manager (tsgateway.msc). Необходимо настроить два типа политик:

Connection Authorization Policies (RD CAP) — определяют, кому разрешено авторизоваться на шлюзе RDS;

Resource Authorization Policies (RD RAP) — определяют, кому и к каким ресурсам разрешено подключаться через RDGW.

Создание политики RD CAP:

1. Разверните Policies -> Connection Authorization Policies и выберите пункт Create New Policy -> Wizard.

2. Укажите имя политики, например rdgwExtUsers.

3. Выберите тип аутентификации (по паролю или по смарт-карте), укажите группу пользователей, которым разрешено аутентифицироваться на RDGW.

4. Настройте перенаправление локальных устройств (буфер обмена, принтеры и т.д.) в RDP-сессии.

5. Подтвердите создание политики.

Также вы можете создать политику клиентского доступа RDGW с помощью PowerShell:

Import-Module -Name RemoteDesktopServices

New-Item -Path 'RDS:\GatewayServer\CAP' -Name 'rdgwAllowAutht-CAP' -UserGroups rdgwExtUsers -AuthMethod '1'

Создание политики RD RAP:

1. В консоли RD Gateway Manager выберите Policies -> Resource Authorization Policies и выберите Create New Policy -> Wizard.

2. Укажите имя политики, например rdgwExternalAdmins.

3. Укажите группу, которой разрешено подключаться к внутренним ресурсам.

4. На вкладке Network Resources укажите, к каким серверам разрешено подключение (например, msk-rds-farm).

5. Разрешите подключение только по стандартному RDP порту 3389. (По-умолчанию рекомендуется открыть только стандартный RDP порт 3389. Но вы можете открыть и дополнительные порты)

Создание политики RD RAP через PowerShell:

New-Item -Path RDS:\GatewayServer\RAP -Name allowextAdminMskRDS -UserGroups

[email protected] -ComputerGroupType 1 -ComputerGroup [email protected]

Настройка SSL сертификата для Remote Desktop Gateway

Для обеспечения безопасности подключения к RDGW необходимо установить SSL сертификат. Наиболее оптимально использовать коммерческий сертификат, выданный внешним центром сертификации, либо бесплатный сертификат Let’s Encrypt. Также возможна установка самоподписанного SSL сертификата, но клиенты должны доверять такому сертификату. Если клиент не доверяет сертификату RDGW, подключение будет невозможно.

В поле Subject Name (CN) или Subject Alternative Name (SAN) сертификата должно быть указано DNS-имя сервера RDGW, которое будет использоваться для подключения клиентами.

Процесс установки самоподписанного сертификата:

1. Откройте свойства RD Gateway в консоли RD Gateway Manager и перейдите на вкладку SSL Certificate.

2. Выберите пункт Create a self-signed certificate -> Create and Import Certificate.

3. Укажите имя сертификата (DNS имя, которое будет использоваться для подключения) и путь для сохранения сертификата.

Порты для подключения к RDGW:

HTTPPort (по умолчанию) — 443/TCP

UDPPort (по умолчанию) — 3391/UDP (использование UDP повышает производительность).

Не забудьте открыть данные порты на сетевом оборудовании.

4. Откройте консоль RDGW Manager и убедитесь, что в ней нет ошибок и все пункты зелёные.

Настройка RDP клиента для подключения к шлюзу RD Gateway

Чтобы настроить клиент для подключения через RD Gateway:

1. Если используется самоподписанный сертификат, добавьте его в Trusted Root Certification Authorities (в доверенные корневые сертификаты) на клиенте.

2. Откройте клиент mstsc.exe.

3. На вкладке General укажите имя хоста RDSH, фермы или компьютера, к которому вы хотите подключиться по RDP.

4. На вкладке Advanced в разделе Connect from anywhere выберите Settings.

5. Выберите опцию Use these RD Gateway server settings и укажите внешнее DNS имя по которому доступен ваш RDGW сервер (напоминаю, что это имя должно быть указано в сертификате).Если вы используете нестандартный порт для RDGW, его нужно указать после имени сервера через двоеточие, например:

gw.winitpro.ru:4443;

6. Чтобы избежать двойного ввода пароля, активируйте опцию Use my RD Gateway credentials for the remote computer.

После настройки нажмите Connect и введите учетные данные для подключения.

7. Клиент должен установить подключение с RDS/RDP хостом в вашей локальной сети;

8. Для отслеживания подключений к шлюзу можно использовать раздел Monitoring в RD Gateway Manager.

Если вы используете утилиту RDCMan для RDP подключений, параметры RD Gateway можно задать на вкладке GatewaySetting. Включите опцию Use a TS Gateway server и укажите параметры подключения.

Отслеживать удачные и неудачные подключения пользователей через RDGW можно с помощью журнала событий Applications and Services Logs -> Microsoft -> Microsoft-Windows-TerminalServices-Gateway -> Operational.

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

При успешном подключении пользователя через RDGW в журнале появится событие с Event ID 205 от источника TerminalServices-Gateway

The user «winitpro\kbuldogov», on client computer «xx.xx.xx.xx», successfully connected to the remote server «msk-rdsman.winitpro.ru» using UDP proxy. The authentication method used was: «Cookie».

Если вы хотите запускать RemoteApp через RD Gateway, нужно добавить в *.rdp файл remoteapp следующие строки:

gatewayhostname:s:gw.winitpro.ru

gatewayusagemethod:i:1

Настройка шлюза RD Gateway в рабочей группе

В некоторых случаях вы можете развернуть RDSH сервер в рабочей группе (без домена Active Directory) и безопасно опубликовать его через RD Gateway.

Шаги настройки RD Gateway в рабочей группе:

1. Установите роль RD Gateway:

Install-WindowsFeature RDS-Gateway -IncludeAllSubFeature –IncludeManagementTools

2. Откройте консоль RD Gateway Manager (tsgateway.msc) и создайте политику Connection Authorization Policy (CAP), В настройках политики разрешите подключение по паролям для пользователей из локальной группы BUILTIN\Remote Desktop Users

3. Выберите какие устройства разрешено перенаправлять в RDP сессию клиентам (по умолчанию разрешено перенаправлять все, включая принтеры, локальные диски и буфер обмена в RDP);

4. После этого создайте новую Resource Authorization Policy (RAP). Разрешите подключения для группы BUILTIN\Remote Desktop Users

5. Выберите опцию Allow users to connect to any network resource (computer)

6. Разрешите подключение только на RDP порт 3389.

7. Для защиты соединения используйте самоподписанный SSL сертификат. Сгенерируйте сертификат с большим сроком действия через PowerShell:

$todaydate = Get-Date

$addyear = $todaydate.AddYears(5)

New-SelfSignedCertificate -dnsname rdgw.winitpro.ru,123.123.123.12 -notafter $addyear -CertStoreLocation cert:\LocalMachine\My

8. Откройте свойства сервера RDGW, перейдите на вкладку SSL Certificates -> Select an existing certificate from the RD Gateway Certificates Local/Personal Store -> Import Certificate. Выберите созданный вами сертификат.

9. Теперь можно настроить подключение на клиенте. В первую очередь надо экспортировать с сервера RDGW сертификат.

— Откройте консоль сертификатов компьютера (certlm.msc);

— Разверните хранилище Personal -> Certificates;

— Выберите сертификат -> All tasks -> Export

— Экспортируйте сертификат в файл *.CER (без закрытого ключа);

Этот сертификат нужно установить на клиенте. Если клиент не доверяет сертификату RD Gateway, он не сможет подключиться к шлюзу.

Вы можете установить сертификат вручную. Установить сертификат в Trusted Root Certification Authorities.

10. Теперь откройте клиент mstsc и настройте подключение через Remote Desktop Gateway. Укажите имя или IP адрес хоста RDGW в разделе Advanced -> Settings -> Use these RD Gateway settings.

11. В качестве имени RDP хоста укажите localhost и имя пользователя для подключения в формате rdssrv01\user1 , где 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.

Теперь ваш сервер RDSH безопасно опубликован через RD Gateway с SSL/TLS защитой.

Подписаться
Уведомить о
guest
0 комментариев
Межтекстовые Отзывы
Посмотреть все комментарии