Remote Desktop Gateway
Remote Desktop Gateway (RDGW) - обеспечивает безопасный доступ к сервисам RDS из Интернета.
Настройка Remote Desktop Gateway выполняется по протоколу RADIUS и происходит в три этапа:
- Этап 1. Установка и настройка фермы Remote Desktop Services
- Этап 2. Установка роли RD Gateway
- Этап 3. Настройка аутентификации через RADIUS сервер
Этап 1. Установка и настройка фермы Remote Desktop Services
Определения:
Remote Desktop Session Host (RDSH) - узлы сеансов RDS, на которых работают приложения пользователей и которым будет осуществляться подключение пользователей;
Remote Desktop Connection Broker (RDCB) - посредник RDS подключений. Используется для управления фермой RDS, распределения нагрузки, обеспечивает переподключение пользователей к своим сеансам, хранит коллекции RDS и опубликованные приложения RemoteApps;
RD Web Access (RDWA) - веб интерфейс для доступа к рабочим столам, программам RemoteApp;
Remote Desktop Licensing (RD Licensing) - служба лицензирования, управляет RDS лицензиями (CAL) пользователей.
Перед созданием RDS фермы выполните предварительные требования:
-
Установите одинаковую версию Windows Server на все сервера. Далее настройте их и добавьте в один домен AD.
-
Откройте консоль Active Directory Users and Computers (ADUC) (Run -> dsa.msc) и переместите все хосты с ролью RDSH в одну OU в AD.
-
Создайте в домене группу для рабочих серверов с ролью RDSH (например,
idb-rdsh
) и добавьте в нее все сервера RDSH.
Далее выполните следующие действия:
- Откройте Server Manager и добавьте все планируемые RDS сервера в консоль. Для этого нажмите правой кнопкой мыши на All Server в списке слева, далее на Add servers.
-
Нажмите ОК.
-
В меню Server Manager выберите Add Roles and Features -> Remote Desktop Services installation -> Standard deployment -> Session-based deployment.
-
Далее укажите, как необходимо распределить роли RDS по серверам. В мастере построения фермы RDS выберите сервера для соответствующих ролей. Например,
-
RD Connection Broker - bip-udc02
-
RD Web Access - bip-udc02
-
RD Session hosts - bip-udc02, bid-dwin02
- Установите флажок напротив Restart destination server automatically if required и нажмите кнопку Deploy. Дождитесь установки ролей RDS на всех серверах.
Этап 2. Установка роли RD Gateway
Для добавления роли Remote Desktop Gateway выполните следующие действия:
-
В меню Server Manager выберите Add Roles and Features -> Role-based or feature-based installation -> выберите сервер bip-udc02 и нажмите Next -> в списке раскройте Remote Desktop Services и выберите Remote Desktop Gateway, нажмите Add Features и Next -> Next -> Install. Дождитесь установки роли.
-
Далее создайте группы доступа в Active Directory с помощью консоли ADUC:
-
rdgwExtUsers - группа пользователей, которым разрешено аутентифицироваться на RDGW.
-
rdgwExternalAdmins - группа для доступа к терминальным серверам через RDGW (данную группу добавьте в группу rdgwExtUsers).
-
rds-farm - должна включать в себя все хосты RDSH и RD Conneciton Broker, к которым необходимо разрешить подключаться через шлюз удаленных рабочих столов.
Настройка политик доступа RD Gateway
- Для управления политиками и правилами доступа на RDGW используется консоль RD Gateway Manager (Run -> tsgateway.msc). Настройка политик и правил доступа может осуществляться локально на сервере RDGW, либо на центральном сервере NPS (Network Policy Server).
- В случае настройки политик на центральном сервере NPS выполните следующие действия:
-
Разверните Policies -> правой кнопкой нажмите на Connection Authorization Policies и выберите Configure Central RD CAP.
-
На вкладке RD CAP Store выберите Central server running NPS.
-
В поле ниже введите IP-адрес или имя центрального сервера NPS и нажмите Add.
- В случае настройки политик локально выполните следующие действия:
-
Разверните Policies -> правой кнопкой нажмите на Connection Authorization Policies и выберите Configure Central RD CAP
-
На вкладке RD CAP Store выберите Local server running NPS
- Далее настройте два типа политик:
- Создайте политику RD CAP:
- Разверните Policies -> правой кнопкой нажмите на Connection Authorization Policies и выберите Create New Policy -> Wizard
-
Укажите имя политики rdgwExtUsers
-
Выберите тип аутентификации по паролю и укажите группу пользователей rdgwExtUsers
-
В окне Enable or Disable Device Redirection укажите, какие устройства разрешено прокидывать в RDP сессию (буфер обмена, принтера, локальные диски и т.д.)
-
Далее настройте таймауты для RDP сеансов
-
Подтвердите создание политики
- Создание политики RD RAP:
-
Разверните Policies -> правой кнопкой нажмите на Resource Authorization Policies и выбрать Create New Policy -> Wizard
-
Укажите имя политики rdgwExternalAdmins
-
Укажите группу пользователей rdgwExternalAdmins
-
На вкладке Network Resources укажите группу rds-farm
-
Укажите разрешенные для подключения порты. По умолчанию используется только стандартный RDP порт 3389. Возможно открыть дополнительные порты.
-
Подтвердите создание политики.
Настройка SSL сертификата для Remote Desktop Gateway
Для подключения из интернета в поле Subject Name (CN) или Subject Alternative Name (SAN) сертификата должно обязательно содержаться DNS имя сервера RDGW, которое будет использоваться для подключения внешними клиентами (доступное из интернета).
- Откройте свойства сервера RDGW в консоли RD Gateway и перейдите на вкладку SSL Certificate.
- При использовании самоподписанного сертификата выберите пункт Create a self-signed certificate -> Create and Import Certificate.
- Укажите имя сертификата (DNS будет использоваться клиентами для подключения к RDGW) и каталог, в который нужно сохранить сертификат (сертификат нужно распространить на клиентов).
В Windows Server 2019 для подключения к RD Gateway используются следующие порты:
-
HTTP Port (default) - 443/TCP
-
UDP Port (default) - 3391/UDP (использование транспортного протокола UDP не обязательно, но его поддержка позволяет значительно улучшить производительность туннеля и качество картинки в RDP сессии)
Необходимо пробросить эти порты на RDGW хост на сетевом оборудовании.
- Откройте консоль RDGW Manager и убедитесь, что в ней нет ошибок и все пункты зеленые.
Настройка RDP клиента для подключения шлюзу RD Gateway
Если используетcя самоподписанный сертификат на RDGW, поместите его в доверенные корневые сертификаты (Trusted Root Certification Authorities) на клиенте.
-
Запустите RDP клиент (Run -> mstsc.exe)
-
На вкладке General укажите имя хоста или компьютера, к которому нужно подключиться по RDP
- Затем перейдите на вкладку Advanced и щелкните на кнопку Settings в разделе Connect from anywhere
- Выберите опцию Use these RD Gateway server settings, укажите внешнее DNS имя, по которому доступен RDGW сервер (это же имя должно быть указано в сертификате).Если используется нестандартный порт для RDGW, его нужно указать после имени сервера через двоеточие. Например:
bip-udc02.bip.loc:4443
.
-
Чтобы при подключении клиент не запрашивал пароль два раза, включите опцию Use my RD Gateway credentials for the remote computer
-
Нажмите кнопку Connect и введите пароль для подключения к RDGW серверу в окне RD Gateway Server Credentials
-
Запустите консоль RD Gateway Manager, перейдите в раздел Monitoring и убедитесь, что в списке отображается подключение клиента.
Этап 3. Настройка аутентификации через RADIUS сервер
Настройка таймаутов RADIUS на RD Gateway NPS
-
В меню Server Manager выберите Tools -> Network Policy Server.
-
В консоли NPS (Local) разверните RADIUS Clients and Servers -> правой кнопкой нажмите на Remote RADIUS Server Groups -> New.
-
Введите желаемое имя новой группы серверов (например,
blitz group
) и нажмите Add
- В открывшемся окне на вкладке Address в поле Server введите IP-адрес Radius-сервера
- На закладке Authentication/Accounting введите Shared secret в соответствующее поле и продублируйте в поле Confirm shared secret. Убедитесь, что все 3 галки на вкладке проставлены
- На вкладке Load Balancing выставите следующие значения:
- Нажмите OK -> OK.
Подготовка NPS к приему аутентификации от сервера MFA
-
В консоли NPS (Local) разверните RADIUS Clients and Servers и нажмите правой кнопкой на RADIUS Clients -> New
-
На закладке Settings установите флажок Enable this RADIUS
-
В поле Friendly name введите любое имя (например,
Blitz
или IP-адрес сервера MFA) -
В поле Address введите IP-адрес или DNS сервера MFA
-
Введите Shared Secret в поля в нижней части окна (тот же Shared Secret, что был указан при настройке таймаутов RADIUS)
Настройка политик запросов на подключение
-
В консоли NPS (Local) разверните Policies и нажмите на Connection Request Policies
-
В правом окне нажмите правой кнопкой на политике TS GATEWAY AUTHORIZATION POLICY и нажмите Duplicate Policy
-
Кликните дважды по политике Copy of TS GATEWAY AUTHORIZATION POLICY
-
На вкладке Overview в поле Policy name введите имя новой политики (например,
blitz-policy
) -
Установите флажок Policy enabled
-
В пункте Type of network access server выберите Remote Desktop Gateway
-
На вкладке Conditions нажмите Add
-
В открывшемся окне выберите пункт Client Friendly Name и нажмите Add
-
В открывшемся окне введите Friendly Name, который указывали ранее при создании записи RADIUS Clients в предыдущих пунктах и нажмите OK
-
На вкладке Settings нажмите на Authentication и проставьте пункт Authenticate requests on this server
-
На той же закладке выберите пункт Attribute, далее выберите тип атрибута User-Name и нажмите Add
-
В открывшемся окне введите ^BIP\\ в поле Find. Оставьте поле Replace with пустым и нажмите OK -> OK
-
Нажмите правой кнопкой по новой политике. Далее нажмите Move Up. Новая политика должна стоять выше, чем старая политика TS GATEWAY AUTHORIZATION POLICY