В современном мире все чаще используются удаленные методы работы в компании - люди подключаются к инфраструктуре компании из дома. Чтобы обеспечить работников доступом к корпоративным приложениям, можно выдать им портативные компьютеры с настроенными приложениями и организовать VPN-подключение к сети компании. А можно сделать шлюз к серверу удаленных рабочих столов и разрешить подключение с домашних компьютеров к готовому рабочему месту на сервере компании. Это же решение можно использовать как альтернативу установки специфических промышленных или секретных программ на компьютеры пользователей, то есть устанавливать приложения на серверах, а пользователям предоставлять доступ к экранам таких серверов. В этой серии заметок я расскажу, как создать инфраструктуру удаленных рабочих столов (RDS).
Составляющие компоненты инфраструктуры:
- доменная инфраструктура;
- центр сертификации домена;
- хранилище перемещаемых профилей пользователей;
- сервер брокера подключений удаленных рабочих столов (RD connection broker);
- веб-сервер для публикации ярлыков удаленных рабочих столов (RD web access);
- сервер лицензирования удаленных рабочих столов (RD Licensing);
- серверы сессий удаленных рабочих столов (RD session host);
- сервер-шлюз для подключений к службе терминалов снаружи (RD Gateway).
Итак, развертывание службы удаленных рабочих столов начинается с планирования инфраструктуры. Предполагается, что в компании уже существует доменная инфраструктура с действующими доменными контроллерами, DNS и центром сертификации - на базе этой системы и предстоит построить службу терминалов. Схема данной инфраструктуры будет выглядеть так

Обязательными компонентами службы терминалов являются сервер лицензирования, сервер брокера подключений, сервер веб-подключений, серверы сессий удаленных рабочих столов. Остальные компоненты можно устанавливать по желанию.
В первой части публикаций про терминальные серверы я расскажу, как подготовить сервер для хранения профилей пользователей (RD profile storage).
Этот сервер нужен для хранения настроек и содержимого рабочих столов пользователей, чтобы при переключении сессии от хоста к хосту рабочее пространство было идентичным. Иными словами, если сегодня пользователь был распределен брокером на первый хост, то по завершении работы его профиль должен быть сохранен в общее хранилище профилей, а завтра тот же самый профиль должен быть подгружен опять даже в случае, если брокер распределит его на другой хост.
Требования к серверу хранения профилей:
- поддержка протокола SMB 2.0;
- поддержка файловой системы NTFS;
- членство в домене, где будет состоять сервер брокер подключений;
- достаточное пространство на диске (от 1 ГБ х количество пользователей + 10%).
Желательно, чтобы сервер хранения профилей был отделен от других ролей, так как при активных сессиях пользователей его нельзя перезагружать.
Итак, имеется сервер Windows Server 2016 STD с дополнительным диском E: для размещения профилей пользователей. На этом диске я создаю папку RDSProfiles, а в ней папку с именем коллекции BOFC_TEST, которая в будущем будет присвоена группе серверов с ролью RD session host.

У папки BOFC_TEST необходимо настроить безопасность, отключив наследование настроек от родительской папки.

Полный доступ (Full control) к папке должны иметь только следующие учетные записи:
- система SYSTEM;
- администраторы Administrators (RDSPROFILE\Administrators);
- сервер брокера подключений RDSBROKER (DOMAIN_NAME\RDSBROKER).

На вкладке общего доступа необходимо выбрать Расширенные настройки доступа (Advanced sharing), создать сетевую папку с именем папки с долларом BOFC_TEST$ (символ $ скроет папку от посторонних глаз), а в настройках безопасности сетевой папки указать Everyone - Full control. Данная настройка никак не повлияет на уязвимость папки, так как доступ к содержимому регулируется разрешениями NTFS, которые настроены ранее (доступ только системе, администраторам и брокеру).

Проверить доступ к папке со своего компьютера можно, набрав полное имя сервера и сетевого ресурса, например \\RDSPROFILE.domain.com\BOFC_TEST$.

В следующей части я расскажу, как создать сервер управления RDS инфраструктурой и установить на него роль брокера подключений и веб сервис доступа к RDS.
Все заметки о службе терминалов в моем блоге можно найти по тегу RDS.