Настройка шлюза служб терминала (Terminal Services Gateway) в Windows Server 2008
ОГЛАВЛЕНИЕ
Windows Server 2008 предоставляет решение для этой проблемы безопасности: шлюз служб терминала (Terminal Services Gateway). Используя шлюз служб терминала, вы можете предварительно аутентифицировать пользователей и контролировать, к каким серверам терминала пользователи могут получить доступ на основе мандатов и политики. Этот дает вам гибкий контроль, необходимый для RDP решения по безопасному удаленному доступу.
В этой серии статей, состоящей из двух частей, о том как заставить это решение работать, мы будем использовать лабораторную сеть, показанную на рисунке ниже. Стрелки показывают поток соединений внешнего RDP клиента с сервером терминала.
На каждом сервере в этом примере стоит Windows Server 2008 Enterprise Edition.
В этой сети я использую Windows Server 2008 NAT сервер в качестве Интернет-шлюза. Вы можете использовать любое другое простое устройство NAT или маршрутизатор с фильтрацией пакетов, например PIX, или даже расширенный брандмауэр типа Microsoft ISA Firewall. Ключевая опция конфигурации здесь заключается в том, что вы будете направлять соединения TCP порта 443 на компьютер шлюза служб терминала.
На контроллере домена установлены DNS, DHCP, служба сертификации в режиме Enterprise CA, а также WINS.
На сервере терминала установлена только базовая операционная система. Мы установим другие службы в ходе статьи.
На шлюзе TS установлена только базовая ОС. Мы будем устанавливать другие сервисы по ходу этой серии статей.
В этой серии статей я опишу следующие процессы и процедуры, которые вы должны будите выполнить, чтобы ваше решение работало:
- Установка служб терминала (Terminal Services) и лицензий этих служб на сервере терминала
- Настройка лицензирования служб терминала (Terminal Services Licensing)
- Установка Desktop Experience на сервер терминала (не обязательно)
- Настройка режима лицензирования служб терминала (Terminal Services Licensing Mode)
- Установка сервиса шлюза служб терминала (Terminal Services Gateway Service) на шлюзе TS
- Запрос сертификата для шлюза TS
- Настройка шлюза TS на использование сертификата
- Создание RAP шлюза TS
- Создание САР шлюза TS
- Настройка клиента RDP на использование шлюза TS
Установка служб терминала и лицензирования служб терминала на сервере терминала
Первым шагом будет установка служб терминала на компьютере служб терминала.
Для этого нужно выполнить следующие шаги:
- На компьютере служб терминала отрываем менеджера Server Manager. В Server Manager жмем по вкладке Роли в левой панели консоли.
- Переходим по ссылке Добавить роли в правой панели консоли.
- Жмем Далее на странице Прежде чем вы начнете.
- На странице Выберите роли сервера ставим галочку напротив строки Службы терминала. Жмем Далее.
- Жмем Далее на странице Службы терминала.
- На странице Выберите роль служб ставим галочку напротив стоки Сервер терминала и TS лицензирование. Жмем Далее.
- Жмем Далее на странице Удалить и переустановить приложение для совместимости.
- На странице Укажите способ аутентификации для сервера терминала выбираем опцию Требовать сетевой уровень аутентификации. В данном случае мы можем выбрать эту опцию, поскольку мы используем только Vista SP1 клиентов для подключения к серверу терминала через TS шлюз. Мы бы не смогли использовать эту опцию, если бы нам пришлось поддерживать Windows XP SP2 клиентов. Однако вы сможете поддерживать аутентификацию на сетевом уровне (Network Level Authentication) для клиентов Windows XP SP3. Но эта информация еще не подтверждена, поэтому прочтите инструкцию к Windows XP SP3, когда она будет выпущена. Жмем Далее.
- На странице Укажите способ лицензирования выбираем опцию Настроить позже. Мы могли бы выбрать опцию и сейчас, но я решил, что мы выберем опцию Настроить позже, чтобы я смог показать вам, где в консоли служб терминала вы можете настроить режим лицензирования. Жмем Далее.
- На странице Выберите использование групп, которым разрешен доступ к этому серверу терминала выбираем опцию по умолчанию. Вы можете добавлять или удалять группы, если хотите более точный контроль доступа к серверу терминала. Однако если все пользователи будут проходить через шлюз TS, вы сможете контролировать, кто из них сможет подключаться к серверу терминала, используя параметры политики шлюза TS. Оставляем стандартные настройки, как они есть, и жмем Далее.
- На странице Настроить границы обнаружения (Discovery Scope) для TS лицензирования выбираем опцию Этот домен. Мы выбираем эту опцию в данном случае, потому что у нас есть только один домен. Если бы у нас был мультидоменная среда, мы могли бы выбрать опцию Среда. Жмем Далее.
- На странице Подтвердите выбранные компоненты установки проверяем окно предупреждения, указывающее на то, что нам, возможно, придется переустановить приложения, которые уже были установлены на эту машину, если мы хотим, чтобы они корректно работали в окружении сеанса служб терминала. Также следует обратить внимание на то, что расширенные настройки безопасности IE будут выключены. Жмем Установить.
- На странице Результаты установки вы увидите предупреждение о том, что нужно перезагрузить сервер, чтобы завершить процесс установки. Жмем Далее.
- Жмем Да в диалоговом окне Мастер добавления ролей, которое спрашивает, хотим ли мы перезагрузить сервер.
- Входим от имени администратора. Процесс установки продолжится в течение пары минут после того, как появится страница Прогресс установки после открытия менеджера Server Manager.
- Жмем Закрыть на странице Результаты установки после того, как появилось сообщение Установка успешно завершена.
- Может появиться подсказка, говорящая, что Режим лицензирования служб терминала не настроен. Вы можете пропустить это предупреждение, поскольку мы настроим лицензирование служб терминала и режим лицензирования на сервер терминала позже.
Настройка лицензирования служб терминала
На данный момент мы готовы настроить лицензирование служб терминала. В этом примере я буду использовать некоторые подложные данные, которые не отвечают действительным требованиям лицензирования служб терминала клиентских подключений, но послужат примером того, как работает этот процесс. Пожалуйста, НЕ используйте ту же процедуру, которую я буду показывать здесь, для лицензирования ваших клиентов служб терминала, поскольку в этом случае вы не будете соответствовать действительным требованиям лицензирования.
Для активации вашего сервера лицензирования служб терминала выполните следующие шаги:
- В меню инструменты администрирования выберите меню Службы терминала, а затем нажмите Менеджер лицензирования TS.
- В левой панели консоли TS Licensing Manager правой клавишей кликните на имени сервера. Нажмите Активировать сервер.
- Нажмите Далее на приветственной странице Welcome to the Activate Server Wizard.
- На странице Способ соединения выберите опцию Автоматическое подключение (рекомендуется). Нажмите Далее.
- На странице Информация о компании введите информацию о своей компании и нажмите Далее.
- Если нужно введите информацию в необязательные поля на странице Информация о компании. Нажмите Далее.
- На странице завершения работы мастера Completing the Activate Server Wizard проверьте, что опция Запустить мастера установки лицензий (Start Install Licenses Wizard) теперь выбрана. Нажмите Далее.
- Нажмите Далее на приветственной странице Welcome to the Install Licenses Wizard.
- На странице Программа лицензированиянажмите стрелку вниз в списке Программа лицензирования и выберите программу лицензирования, в которой вы хотите участвовать. В этом примере я выбрал опцию Другое соглашение поскольку данное лабораторное окружение не участвует ни в одной лицензионной программе. Нажмите Далее.
- На странице Программа лицензирования введите свой Номер соглашения. В этом примере я просто ввел 1234567. Нажмите Далее.
- На странице Версия продукта и тип лицензии выберите Версию продукта, Тип лицензии и Количество, которые соответствуют нуждам вашего окружения. В этом примере мы используем Windows Server 2008 Terminal Servers, поэтому мы выбрали Windows Server 2008. Мы будем использовать CAL для каждого пользователя в примерной сети, поэтому выбрали Windows Server 2008 TS Per User (для каждого пользователя) CAL. Мы также введем 50 в текстовом окне Количество. Нажмите Далее.
- Нажмите Закончить на странице завершения работы мастера Completing the Install Licenses Wizard.
Установка Desktop Experience на сервере терминала (необязательно)
Когда клиенты Windows Vista подключаются к серверу терминала Windows Server 2008 Terminal Server, они смогут использовать функцию Vista-like desktop experience во время сеанса с сервером терминала, если установить опцию Desktop Experience на сервере терминала.
Для установки функции Desktop Experience на сервере терминала выполните следующие шаги:
- На странице Выберите параметры поставьте галочку напротив строки Desktop Experience. Нажмите Далее.
- Нажмите Установить на странице Подтвердите выбранные компоненты установки.
- На странице Результаты установки прочтите предупреждение, говорящее о том, что необходимо перезагрузить компьютер для завершения процесса установки. Нажмите Закрыть.
- Нажмите Да в диалоговом окне, запрашивающем ваше согласие на перезагрузку компьютера.
- Войдите от имени администратора. Процесс установки возобновится и займет пару минут, так что наберитесь терпения.
- Нажмите Закрыть на странице Результаты установки, которая показывает, что процесс установки успешно завершен.
Настройка режима лицензирования служб терминала
Сейчас мы завершим настройку севера терминала путем установки режима лицензирования служб терминала. Для этого нужно выполнить следующие шаги:
- В меню Инструменты администрирования выбираем элемент Службы терминала и жмем Конфигурация служб терминала.
- В средней панели консоли Конфигурация служб терминала дважды жмем на строку Режим лицензирования служб терминала.
- В диалоговом окне Свойства выбираем опцию Для каждого пользователя (Per User) для строки Укажите режим лицензирования служб терминала. Выбираем Автоматически определять сервер лицензирования для опции Укажите режим определения сервера лицензирования. Нажимаем OK.
- Переходим по вкладке Диагностика лицензирования в левой панели консоли. В средней панели вы увидите подробности конфигурации лицензирования для этого сервера терминала.
Закрываем консоль Конфигурация служб терминала
Установка службы шлюза TS на шлюзе служб терминала
Теперь мы перенесем наше внимание на компьютер шлюза TS. Это та машина, к которой внешние клиенты сначала будут подключаться при создании соединений клиента служб терминала.
Выполните следующие шаги для установки шлюза TS на компьютере шлюза служб терминала:
- Откройте менеджера Server Manager на компьютере шлюза TS. Перейдите по вкладке Роли в левой панели консоли и нажмите по ссылке Добавить роль в правой панели.
- Нажмите Далее на странице Прежде чем начать.
- На странице Выбор роли сервера поставьте галочку напротив строки Службы терминала.
- На странице Службы терминала нажмите Далее.
- На странице Выбор служб роли поставьте галочку напротив строки TS шлюз. У вас появится диалоговое окно Мастера добавления ролей с вопросом, действительно ли вы хотите Добавить службы и параметры роли, требующиеся для шлюза TS. Нажмите кнопку Добавить требующиеся службы роли.
- Нажмите Далее на странице Выбор служб роли.
- На странице Выберите сертификат аутентификации сервера для шифрования SSL выберите опцию Выбрать сертификат для SSL шифрования позже. Мы выбираем эту опцию, поскольку у нас еще не создан сертификат шлюза TS для использования его в SSL соединении шлюза и RDP клиента. Мы сделаем запрос на этот сертификат позже, а затем настроим шлюз TS на использование данного сертификата. Нажмите Далее.
- На странице Создание политик авторизации для TS шлюза выберите опцию Позже. Мы выбираем эту опцию, поскольку я хочу продемонстрировать вам консоль шлюза TS и показать, как с ее помощью настраивать политики авторизации. Нажмите Далее.
- Нажмите Далее на странице Политика сети и службы доступа.
- На странице Выбор служб роли убедитесь, что строка Сервер сетевой политики отмечена галочкой. Нажмите Далее.
- На странице Веб сервер (IIS) нажмите Далее.
- На странице Выбор служб роли примите службы по умолчанию, выбранные мастером. Это службы, требуемые для запуска службы шлюза TS. Нажмите Далее.
- Посмотрите информацию на странице Подтверждение выбранных параметров установки и нажмите Установить.
- Нажмите Закрыть на странице Результаты установки, которая показывает, что процесс установки успешно завершен.
Запрос сертификата для шлюза TS
Теперь мы можем сделать запрос сертификата, который веб сайт шлюза TS сможет использовать для создания SSL соединений с RDP клиентом.
Для запроса сертификата компьютера шлюза нужно выполнить следующие шаги:
- В меню Инструменты администрирования выбираем менеджера Internet Information Services (IIS) Manager.
- В консоли менеджера Internet Information Services (IIS) Manager жмем на имени сервера в левой панели. Дважды жмем на иконке Сертификаты сервера в средней панели консоли.
- В правой панели консоли жмем по ссылке Создать сертификат домена.
- На странице Определенные свойства имени вводим информацию, указанную на этой странице. Самым важным элементом здесь будет запись Общее имя. Имя, которое вы введете здесь, должно быть тем же именем, которое стоит в настройке клиента служб терминала для связи с компьютером шлюза TS. Это будет также и именем, которое в соответствии с настройками будут использовать ваши публичные DNS серверы, чтобы предоставлять публичный адрес для доступа к шлюзу TS. В большинстве случаев, это будет внешний интерфейс маршрутизатора или устройства NAT, или, возможно, внешний интерфейс расширенного брандмауэра, такого как Microsoft ISA Firewall. Жмем Далее.
- На странице Интерактивный центр сертификации жмем кнопку Выбрать. В диалоговом окне Выбор центра сертификации выбираем имя Enterprise CA, с которого хотим получить сертификат. Следует помнить, что мы можем получить сертификат домена и автоматически установить его, поскольку используем Enterprise CA. Если бы мы использовали отдельный CA, нам пришлось бы испытать неудобства сайта веб регистрации, и это было бы только после того, как мы создали автономный запрос, а также нам пришлось бы устанавливать сертификат компьютера вручную. Жмем OK после выбора Enterprise CA.
- Вводим Сетевое имя на странице Интерактивный цент сертификации. В этом примере мы дали сертификату сетевое имя TSG Cert. Жмем Закончить.
- После получения сертификата, у нас появится информация о нем в средней панели консоли. Если мы дважды нажмем на сертификате, то увидим диалоговое окно Сертификат, показывающее нам общее имя в поле Назначено для и тот факт, что У вас есть личный ключ, соответствующий данному сертификату. Это решающий момент, поскольку сертификат не будет работать, если у вас нет личного ключа. Жмем OK, чтобы закрыть диалоговое окно Сертификат.
Настройка шлюза TS на использование сертификата
Когда сертификат установлен в хранилище сертификатов компьютера, вы можете назначить шлюз TS на использование этого сертификата.
Для настройки шлюза на использование сертификата выполняем следующие шаги:
- В консоли Инструменты администрирования жмем по элементу Службы терминала и затем выбираем Шлюз TS.
- В менеджере TS Gateway Manager жмем по имени компьютера шлюза TS в левой панели консоли. В средней панели появляется полезная информация о шагах настройки, которые необходимо закончить для завершения процесса установки. Переходим по ссылке Показать или изменить свойства сертификата.
- В диалоговом окне Свойства для шлюза TS, во вкладке SSL Сертификат убеждаемся, что опция Выбрать существующий сертификат для SSL шифрования активна и жмем кнопку Просмотр сертификатов. Это вызовет диалоговое окно Установить сертификат. Жмем на сертификате, которым в нашем случае будет tsg.msfirewall.org, а затем жмем кнопку Установить.
- Теперь во вкладке SSL сертификат будет показана информация о сертификате, который шлюз TS будет использовать для создания SSL соединений. Жмем OK.
- Содержимое в средней панели измениться, указывая на то, что сертификат теперь установлен на шлюзе TS. Однако теперь мы видим в разделе Статус конфигурации, что нам нужно создать политику авторизации соединения и политику авторизации ресурсов.
Создание политики авторизации соединения шлюза TS
Политика авторизации соединения (connection authorization policy (CAP)) позволяет контролировать, кто сможет подключаться к серверу терминала через шлюз TS.
Для создания политики авторизации соединения выполняем следующие шаги:
- В левой панели консоли переходим по вкладке Политики авторизации соединения, которая расположена во вкладке Политики. В правой панели консоли жмем на стрелке справа от Создать новую политику, а затем нажимаем Мастер.
- На странице Политики авторизации выбираем опцию Создать только TS CAP. Жмем Далее.
- На странице Политика авторизации соединений вводим имя для CAP. В этом примере мы назовем CAP General CAP. Нажимаем Далее.
- На странице Требования ставим галочку напротив строки Пароль. Если вы собираетесь использовать аутентификацию Smartcard, тогда вам нужно выбрать опцию Smartcard. Теперь нам нужно настроить группы, которые будут иметь доступ к серверу терминала через шлюз TS. Для этого нажимаем кнопку Добавить группу. В диалоговом окне Выберите группы вводим имя группы, которой мы хотим разрешить доступ и жмем Проверить имена (Check Names). В данном примере мы ввели Domain Users и нажали OK.
- Обратите внимание на странице Требования, что у вас также есть возможность создавать группы компьютеров и позволять доступ только указанным компьютерам. Теперь мы настроим эту опцию в данном примере. Жмем Далее.
- На странице Перенаправление устройства выбираем опцию Разрешить перенаправление устройств для всех клиентских устройств. Обратите внимание на то, что если вы хотите более безопасное окружение, вы можете выбрать опцию Запретить перенаправление устройств для следующих типов клиентских устройств и затем выбрать опции Приводы и Буферная память. Для еще большей безопасности вы можете выбрать Отключить перенаправление устройств для всех типов клиентских устройств, кроме смарт-карт. Жмем Далее.
- На странице Результаты параметров TS CAP читаем данные о результатах нашего выбора и жмем Закончить.
- Жмем Закрыть на странице Подтвердите создание политики.
Создание политики авторизации ресурсов для шлюза TS
Следующая политика, которую нам нужно создать, это политика авторизации ресурсов (Resource Authorization Policy – RAP). RAP используется для контролирования того, к каким серверам терминала можно получить доступ через шлюз TS.
Выполните следующие шаги для создания RAP:
- Перейдите по узлу Политика авторизации ресурсов в левой панели консоли TS Gateway Manager. В правой панели консоли нажмите на стрелку справа от ссылки Создать новую политику и затем нажмите Мастер.
- На странице Политики авторизации выберите опцию Создать только TS RAP.
- На странице Политика авторизации ресурсов задайте имя для RAP в текстовом окне Введите имя для TS RAP. В этом примере мы назвали RAP General RAP. Нажмите Далее.
- На странице Группы пользователей выберите группы, к которым будет применена политика RAP. Это даст вам возможность четко контролировать, какие пользователи смогут получать доступ к серверу терминала A, и некоторым другим группам, возможно, тоже понадобится доступ к серверу терминала B. Политика RAP дает вам такой контроль. В этом примере мы переходим по ссылке Добавить группу и добавляем группу Domain Users. Нажимаем Далее.
- На странице Группа компьютеров у вас есть возможность определения того, к каким серверам терминала можно получить доступ с помощью политики RAP. У вас есть возможность выбора определенной группы компьютеров Active Directory, или вы можете создавать управляемую группу шлюза TS. В этом примере, поскольку у нас есть только один сервер терминала, мы выберем самую простую опцию, которой является опция Разрешить пользователям подключаться к любому ресурсу (компьютеру) сети. Это позволит пользователям подключаться ко всем серверам терминала сети. Жмем Далее.
- На странице Общая информация TS Rap проверьте параметры и нажмите Закончить.
- Нажмите Закрыть на странице Подтвердите создание политики.
- В левой панели консоли нажмите на имени сервера. Вы увидите, что больше нет проблемных моментов, которые необходимо решить. Теперь шлюз TS готов к работе с новыми входящими соединениями с любым сервером терминала в сети.
Настройка RDP клиента на использование шлюза TS
Мы сделали практически все! Сервер терминала и шлюз TS настроены и готовы к работе. Последним шагом будет настройка RDP клиента на компьютере Vista. Нам нужно настроить клиента с именем сервера терминала, к которому он будет подключаться, и именем компьютера шлюза TS, который он будет использовать для подключения к серверу терминала.
Заметка: Я настроил компьютер клиента Vista с записью HOSTS файла для tsg.msfirewall.org, чтобы он смог преобразовать имя шлюза TS в IP адрес внешнего интерфейса устройства NAT в передней части сети.
Для настройки RDP клиента на компьютере Windows Vista нужно выполнить следующие шаги:
- На компьютере Vista нажимаем кнопку Пуск, а затем жмем Аксессуары. Дважды жмем Подключение к удаленному компьютеру.
- В диалоговом окне Подключение к удаленному компьютеру во вкладке Общие, вводим имя компьютера для сервера терминала в текстовом окне Компьютер. Вводим имя пользователя в текстовом окне Имя пользователя. Если вы хотите, чтобы клиент сохранил ваши мандаты, вы можете поставить галочку напротив строки Разрешить мне сохранять мандаты.
- Жмем по вкладке Дополнительно. В разделе Аутентификация сервера убеждаемся, что опция Предупреждать меня выбрана. Жмем кнопку Параметры в разделе Подключаться из любого места.
- В диалоговом окне Параметры сервера шлюза TS выбираем опцию Использовать эти параметры сервера шлюза TS. Вводим имя шлюза TS в текстовое окно Имя сервера. Для Способа регистрации выбираем опцию Запрашивать пароль (NTLM). Обратите внимание, что опция Автоматически определять параметры сервера шлюза TS позволяет вам настроить RDP клиента так, что он будет получать свои параметры посредством групповой политики. Жмем OK.
- Переходим по вкладке Общие и затем жмем Подключить.
- У нас появится диалоговое окно Безопасность Windows. Вводим пароль и жмем OK.
- Открывается сеанс служб терминала, и вы видите рабочий стол и приложения запущенные для вашей учетной записи в сеансе служб терминала.
- Переходим на компьютер шлюза TS и жмем на вкладке Мониторинг в левой панели консоли шлюза TS. Здесь у нас есть информация о сеансах служб терминала, запущенных через шлюз TS.
Томас Шиндер (Thomas Shinder)