Table of Contents

Общие моменты

Развертывание XenApp включает в себя два этапа - подготовка инфраструктуры и развертывание самого XenApp.

Для XenApp необходимы как минимум два сервера: контроллер домена Active Directory с установленным на контроллере домена центром сертификации (CA) и хотя бы один сервер XenApp, на который будут установлены компоненты - License Server, XenApp, Web-interface и SecureGateway для доступа к ферме из интернета.

Установка контроллера домена AD и центра сертификации CA

Установка роли контроллера домена обычно не вызывает проблем - уже давно все отлажено. Если использовать ферму с доступом через интернет, то следует зарегистрировать реальный домен и строить AD с его именем, т.к. в работе используются сертификаты (как минимум сертификат SecureGateway) и именно его доменное имя пользователи будут вводить при подключении Citrix Receiver. Хотя можно делать и домен типа domenname.local, только в таком случае помимо установки сертификатов на системах клиентов придется править и файл hosts, чтобы имя прописанное в сертификате резолвилось в фактический IP, а это не всегда допустимо.

Поднятие контроллера домена

Поднятие контроллера домена осуществляется путем добавления серверу соответствующей роли и запуска мастера dcpromo.exe.

Поднятие центра сертификации

По мотивам: http://interface31.ru/tech_it/2010/11/windows-server-sozdanie-avtonomnogo-centra-sertifikacii.html
- Выбираем Диспетчер сервера - Роли - Добавить роли, в списке ролей выбираем Службы сертификации Active Directory.
В окне выбора служб выбираем также Служба регистрации в центре сертификации через Интернет. Потом везде Далее

Тип установки - Предприятие. Это важно, потому что мы будем выдавать сертификаты на основе шаблонов, а шаблоны поддерживает только ЦС типа “Предприятие”.

Тип ЦС в зависимости от имеющейся инфраструктуры. Если это первый ЦС - то Корневой ЦС





После установки, возможно, потребуется перезагрузка.
Теперь на всех серверах нашей инсталляции и на всех клиентах следует установить корневой сертификат нашего нового центра сертификации.

Установка сервера лицензирования

ВНИМАНИЕ! Предполагается наличие у вас лицензий Citrix XenApp.

Запускам autorun из дистрибутива, автоматически устанавливаются необходимые компоненты. В Citrix XenApp Role manager жмем Add Or remove Server Roles и устанавливаем сервер лицензирования. После установки, в меню Citrix XenApp Role manager жмём Configure рядом с License Server. Он предлагает настроить порты:

License Server Port: 2700
Vendor Daemon Port: 7279
Management Console Web Port: 8082

Порты менять не следует!
Задаём пароль админа и жмём ОК. License Server помечен зелёной галочкой и перешёл в состояние Configured.

После этого нужно добавить лицензию в сервер лицензирования. Для этого идём Пуск — Все программы — Citrix — Management Consoles — License Administration Console.

В открывшемся Web-интерфейсе, справа в углу жмём Administration, и вводим пароль админа, который мы указали ранее.
Затем слева внизу переходим в раздел Vendor Daemon Configuration, и жмём кнопку Import License.
Выбираем наш файл лицензии, ставим галку Overwrite License File (ведь лицензия у нас только эта), и жмём Import License.
Далее жмём ОК, в списке лицензий выбираем нашу лицензию, и жмём кнопку Reread License.

Установка первого сервера фермы XenApp и Web-интерфейса

В папке с дистрибутивом XenApp запускаем autorun.exe.
После этого установщик предложит нам установить NetFramework 3.5 с первым сервиспаком.
Нажимаем кнопку с Add server roles.
Выбираем роли:
XenApp
Web Interface
Secure Gateway

Жмём «далее» на следующей вкладке выбираем

XML Service IIS Integration - (обязательная компонента!).

Больше НИЧЕГО выбирать не надо!
Два раза жмём Next, Install и ждём, чем закончится.

После непродолжительной установки XenApp выдаст окно с кучей восклицательных знаков и кнопкой Finish.
В этом нет ничего страшного, просто нужна перезагрузка. Закрываем все окна и перезагружаем сервер. После перезагрузки setup возобновит свою работу автоматически, нужно выбрать Resume install.

ВНИМАНИЕ! Все компоненты должны установиться без ошибок!

Т.е. все пункты должны быть отмечены зелёной галочкой! В противном случае придётся сносить и ставить систему заново!

В итоге всех телодвижений у нас должно появиться окно установщика со списком установленных компонент, напротив каждой из которых появится слово «configure».

Первичная настройка

При первичной настройке фермы XenApp нужно:
- Указать параметры сервера лицензий
- Настроить первый сервер фермы
- Настроить Web-интерфейсы
- Настроить Secure Gateway

Параметры сервера лицензирования

В XenApp Server Role Manager нажимаем Specify Licensing, чтобы XenApp увидел сервер лицензий и рабочие лицензии.

Вводим имя компьютера, на который был установлен сервер лицензий, жмём Test Connection, и жмём Next. Если все хорошо, то XenApp распознает лицензии и предложит, при необходимости, выбрать тип лицензий. Обычно он все распознает правильно сам и менять ничего не надо.
Жмём Apply и видим, что Specify Licensing перешло в состояние Configured и помечено зелёной галочкой.

Настройка первого сервера фермы

Теперь сконфигурируем сам сервер XenApp, нажав на Configure.

Т.к. это единственный и новый сервер XenApp в нашей сети, мы выбираем пункт Create a new server farm, т.е. создаём новую ферму серверов XenApp.
Указываем имя фермы, остальные параметры на этой вкладке оставляем по умолчанию.
Дальше установщик предлагает выбор: Создать новую базу Data Store или использовать существующую. Т.к. предполагается, что никаких баз у нас нет, мы жмём New Database.
После этого вводим логин и пароль администратора сервера (только локального, даже если сервер в домене!), всё время жмём Next, оставляя параметры по умолчанию, и после нажатия Apply видим процесс настройки базы данных. Жмём Finish и Reboot.
В результате установится экземпляр Microsoft SQL Server Express с именем CITRIX_METAFRAME и создастся база данных с именем MF20 с аутентификацией Windows.

После перезагрузки останется несконфигурирован Web-сервер. Его конфигурировать будем после установки SecureGateway.
Сворачиваем установщик и запускаем:

Пуск — Все программы — Администрирование — Citrix — Management Consoles — Citrix AppCenter

В открывшемся окне выбираем:
Disable Authenticode Signature Checking

Откроется окно настройки фермы XenApp, жмём Далее, снимаем галочку с позиции Single Sign-On, жмём Далее, жмём Add Local Computer — тут мы добавляем серверы, где установлен XenApp. В нашем случае это локальный сервер, его и добавляем.

Потом всё время далее, установщик дисковерит сеть и сервер на предмет соответствия всем указанным параметрам, и, если его всё устраивает, то предлагает нажать Apply. Жмём, и вот мы в консоли управления XenApp.

Настройка сертификатов на серверах

Приведенный ниже рисунок демонстрирует один из самый простых вариантов взаимодействия компонентов XenApp. Наш вариант проще тем, что Web-интерфейс и Secure Gateway у нас также размещены на единственном сервере фермы.

Тут показано, какие сертификаты должны быть установлены на системах. На всех серверах и клиентских ПК должен быть установлен корневой сертификат нашего ЦС. А также у каждого сервера должен быть свой сертификат. У нас рассматривается один сервер.

Получение и установка корневого сертификата ЦС

Нам надо скачать корневой сертификат ЦС. ЕГо можно получить либо из консоли управления сертификатами на самом ЦС (выгрузить сертификат), либо через web-интерфейс ЦС. Для этого - на сервере XenApp (клиенте все происходит также) в браузере нужно открыть страницу http://CA_server_name/certsrv.

Прежде всего необходимо загрузить сертификат ЦС на компьютер, которому выдаем сертификат и поместить его в хранилище доверенных коренных центров сертификации. Если в вашей сети несколько ЦС следует загрузить и установить цепочку сертификатов. Для этого выбираем: Загрузка сертификата ЦС, цепочки сертификатов или CRL.

Затем Загрузка сертификата ЦС или Загрузка цепочки сертификатов ЦС и сохраняем сертификат в любое удобное место.

Щелкнем правой кнопкой на только что полученном файле сертификата и выберем Установить сертификат, откроется мастер импорта, в котором откажемся от автоматического выбора хранилища вручную выбрав хранилище Доверенные корневые центры сертификации, теперь данный сервер (или ПК) будет доверять всем сертификатам выданным данным ЦС.

Настройка шаблона сертификата для сервера XenApp

Выдача сертификатов для сервера XenApp начинается с настройки шаблона в соответствии со статьей http://support.citrix.com/article/CTX128257.
Получение сертификата сервера состоит из двух этапов:
1. Создаем правильный шаблон. Его нужно создать только один раз.
2. Получаем сертификат на каждый сервер XenApp.

На центре сертификации (ЦС) меню Пуск, Администрирование выбираем Центр Сертификации
Затем в открывшейся консоли нажимаем правой кнопкой по пункту Шаблоны сертификатов и кликаем Управление.

В открывшемся окошке ищем шаблон Веб-сервер, нажимаем по нему правой кнопкой и кликаем Скопировать шаблон

Затем выбираем какого типа будет шаблон. Тут надо обязательно выбирать Windows 2003, потому что сертификаты из шаблона типа Windows 2008 будут требовать авторизацию для доступа к private key. То есть Secure Gateway не сможет получить доступ к private key.

Дальше нам надо указать имя нового шаблона и расширить время его валидности (при необходимости), а на вкладке Обработка запроса(Request Handling) нужно поставить галочку Разрешить экспортировать закрытый ключ (Allow private key to be exported).

На вкладке Безопасность нужно дать права на запрос сертификата тому кто будет его запрашивать (например администраторам домена). Я ставлю Прошедшим проверку и выбираю права Заявка и Автоматическая подача заявок. Нжмаем ОК. Новый шаблон создан.
Консоль управления шаблонами сертификатов можно закрывать.

А дальше нужно разрешить выдавать сертификаты на базе этого шаблона. Кликнуть правой кнопкой по Шаблона сертификатов, затем Создать → Выдаваемый шаблон сертификата (Certificate Templates → New → Certificate Template to Issue). В появившемся окне надо выбрать созданный на предыдущем этапе шаблон.

После этого Центр сертификации мы больше не трогаем.

Получения сертификата сервера XenApp

ВНИМАНИЕ! При настройке серверов следует управлять сертификатами компьютера, а не вошедшего в данный момент пользователя. Для управления сертификатами компьютера нужно запускать mmc.exe, потом добавлять оснастку certmgr.msc и при добавлении указывать, что будем управлять сертификатами учетной записи компьютера, а не пользователя. Затем ярлык можно сохранить из меню файл.



На сервере XenApp, которому мы выдаем сертификат открываем оснастку с сертификатами локального компьютера.
Слева выбираем Личное. В правой части кликаем правой кнопкой и выбираем Все задачи… → Запросить новый сертификат.
На этапе выбора политики кликаем Далее (как правило политика одна).

Обычно в следующем окне, если предыдущие этапы выполнены правильно, видно два шаблона. Один - стандартный Компьютер, а второй - шаблон созданный нами на базе шаблона Веб-сервер. Под этим шаблоном - приглашение ввести дополнительные сведения. Кликаем туда.

В открывшемся окне мы можем заполнить только необходимый минимум. Выбираем Общее имя (это имя - адрес сервера, который мы будем вводить в Citrix Reciever. оно должно быть нормальным доменным именем) и вводим общее имя сервера, того на котором будет установлен шлюз SecureGateway. Я ввел xenapp.autosys.tk. И нажал Добавить. Остальное можно не заполнять.

Нажимаем в окне ввода параметров ОК. Выбираем нужный шаблон и нажимаем Заявка.

Сертификат создан.

Теперь на сервере которому мы выдавали сертификат в папке Личное → Сертификаты появился новый сертификат.

Теперь все нужные сертификаты (корневой сертификат и сертификат сервера) установлены.

Установка корневого сертификата на клиентском ПК

На клиентском ПК нужно установить только корневой сертификат. Передадим корневой сертификат на клиентский ПК (его можно получить на странице ЦС http://CA_server_name/certsrv). Щелкнем правой кнопкой на файле сертификата и выберем Установить сертификат, откроется мастер импорта, в котором откажемся от автоматического выбора хранилища вручную выбрав хранилище Доверенные корневые центры сертификации, теперь данный ПК будет доверять всем сертификатам выданным данным ЦС.

ВНИМАНИЕ! При настройке серверов следует управлять сертификатами компьютера, а не вошедшего в данный момент пользователя. Для управления сертификатами компьютера нужно запускать mmc.exe, потом добавлять оснастку certmgr.msc и при добавлении указывать, что будем управлять сертификатами учетной записи компьютера, а не пользователя.

Установка SecureGateway и конфигурирование Web-интерфейса

http://aaronwalrath.wordpress.com/2010/04/19/installing-citrix-secure-gateway-and-web-interface-xenapp-6/#more-315
SecureGateway - это компонент, который заворачивает весь трафик (и XML с описаниями приложений и трафик сессий ICA) в протокол HTTPS. То есть для работы с фермой через интернет нам понадобится извне пробросить через файервол только один порт - 443 на сервер с SecureGateway. Это очень удобно и достаточно безопасно.
Итак - для работы через интернет нам понадобятся: “белый” IP-адрес, доменное имя, которое резолвится публичными DNS и сертификаты нашего центра сертификации и сервера SecureGateway.

Стандартная схема размещения компонентов выглядит так: сервер, на котором работает сервис Secure Gateway, располагается в первой секции DMZ. Web-интерфейс и Secure Gateway Proxy расположены во второй секции. Трафик между Secure Gateway Proxy и фермой XenApp защищен с помощью IPSec.

В этом варианте инсталляции Secure Gateway позволяет не публиковать адрес каждого сервера фермы и обеспечивает единую точку доступа и шифрования. Secure Gateway представляет собой шлюз, который отделен от серверов фермы и позволяет не транслировать порты для трафика ICA через файервол.

В случае использования одной секции DMZ пользователи могут подключиться к системе двумя способами. Первый - это когда Secure Gateway перехватывает клиентское подключение, производит аутентификацию пользователя и направляет его к Web-интерфейсу. Второй - когда пользователь подключается к Web-интерфейсу и аутентифицируется на нем, а затем Secure Gateway защищает подключение. Первый вариант компоненты работают - последовательно, а второй - параллельно.

Как правило используется более простая схема:

На рисунке приведена схема сети предприятия, отделенная от интернета одной секцией DMZ. Предприятие имеет ферму XenApp с одним сервером, на котором работает Secure Ticket Authority (STA). На файерволе, отделяющем безопасную сеть от DMZ открыты порты 80 (HTTP), 443(HTTPS) и 1494(ICA) и при включенной Session Reliability - порт 2598.
В DMZ находится единственный сервер, на котором работает Secure Gateway и Web-интерфейс. Трафик к Web-интерфейсу проксируется через Secure Gateway, который взаимодействует с Web-интерфейсом по HTTP.

DMZ отделена от интернета файерволом, на котором открыт порт 443.
Клиенты используют ноутбуки с 32-битной Windows, Internet Explorer и Citrix online plug-in.

В варианте с одной секцией DMZ весь траффик перехватывается Secure Gateway. Web-интерфейс можно установить как на одном сервере с Secure Gateway так и на отдельном. Весь обмен данными между пользовтаельскими устройствами и Web-интерфейсом транслируется через Secure Gateway.
На внешнем интерфейсе файрвола открыт порт 443. Пользователи подключаются к Secure Gateway при помощи URL вида: https://Secure Gateway FQDN/.

Преимущества этого варинта:
Для двух серверов - Secure Gateway и Web-интерфейса нужен один сертификат.
На файерволе открыт единственный порт - 443.
Из интернета нет прямого доступа к Web-интерфейсу, что повышает безопасность.
Недостатки:
Работа в таком режиме ограничивает функциональность Web-интерфейса. Во-первых не работает аутентификация с помощью смарт-карт, интегрированная в web-интерфейс. Во-вторых - невозможно определить IP-адрес конкретного пользователя. Все подключения к web-интерфейсу будут исходить от IP-адреса Secure Gateway.

Citrix рекомендует устанавливать Secure Gateway в такой конфигурации в небольших сетях и сетях среднего размера до нескольких сотен пользователей.

Если перечисленные недостатки критичны или имеется большое число пользователей, подключающихся из локальной сети то следует использовать вариант параллельной работы Web-интерфейса и Secure Gateway.

Необходимые сертификаты

Если Secure Gateway находится в DMZ, то серверам и клиентам потребуются следующие сертификаты:
- Корневые сертификаты на всех клиентстких устройствах, подключаемых через Secure Gateway.
- Корневые сертификаты на всех компонентах Secure Gateway, которые подключаются к защищенному серверу. Например, корневой сертификат должен присутствовать на сервере на котором работает Secure Gateway для проверки сертификата сервера, на котором работает сервер Secure Ticket Authority (STA).
- Сертификат сервера на сервере с Secure Gateway.
- Опционально - сертификаты сервера на серверах STA. STA устанавливается по-умолчанию, при установке XenApp.
Все компоненты Secure Gateway поддерживают сертификаты. Citrix рекомендует, чтобы все каналы связи между Secure Gateway и другими серверами в DMZ были зашифрованы.

Установка и настройка Citrix Secure Gateway (CSG)

В комплекте с XenApp 6.5 может поставляться устаревшая версия CSG, в которой есть ряд ошибок. Например - не работает Session Reliability.
Исправление доступно тут: http://support.citrix.com/article/CTX133095. В этой версии Sessio Reliability тоже не работает. СТранно. буду выяснять.
Установка проблем не вызывает. При установке в нашем случае следует выбирать Secure Gateway (а не Secure Gateway Proxy).

Затем будет предложено выбрать учетную запись, под которой будет работать CSG. Я выбираю NETWORK SERVICE.

После установки предложат сконфигурировать CSG.
Тип конфигурации - обычно достаточно стандартного - Standard.

Следующий этап - выбор сертификата. Если на сервере установлен сертификат - он отобразится в окошке и его нужно будет выбрать, кликнув по нему. Без сертификата CSG не работает.

Затем нужно выбрать сетевой интерфейс и порт, на котором CSG будет принимать подключения. Также можно включить прослушивание всех доступных интерфейсов.

Затем нужно настроить ограничения исходящего трафика. В простейшем случае достаточно отставить включенной опцию No outbond traffic restrictions.

Дальше нужно прописать STA. Эта служба выбдает “билеты” клиентам и по-умолчанию ставится на каждый сервер вместе с XenApp. Кликаем Add и прописываем имя сервера XenApp. Если все правильно - слева от имени появится номер STA.


Дальше мы прописываем параметры взаимодействия клиентов с Web-интерфейсом. Они могут подключаться к Web-интерфейсу через CSG, либо напрямую. Я прописываю подключение через CSG.

На следующем этапе надо выбрать глубину логов. И на этом конфигурирование CSG закончено.

Конфигурирование Web-интерфейса для работы через CSG