Публикуем приложения Citrix в WEB
Хочу остановиться на очень интересном вопросе в виде аппаратного решения от компании Citrix NetScaler.
Устройство c огромным функционалам и возможностями. В данной статья останавливаюсь на вопросе публикации приложений и vdi в WEB.
Тем более, что кроме безопасной доставки приложения, обеспечивается еще и его оптимизация пакетная для более быстрой и качественной передачи.
Немного описания:
Будем считать что у нас уже есть NetScaler MPX или VPX (mpx – железка, vpx – виртуальное приложение). В качестве тестирования можете использовать NetScaler VPX Express. Тем более что он бесплатный с полным функционалом, только ограниченный по пропускной способности.
Прежде чем мы начнем, давайте вспомним некоторые термины. Главное знать, это четыре разных IP адреса которые NetScaler использует.
типы IP адресов в NetScaler
NetScaler IP address (NSIP) – управляющий IP адрес для доступа к системе, heartbeat интерфейс для HA, syslog source, etc;
Virtual IP address (VIP) – IP ассоциированный с виртуальным сервером. Зачастую является публичным IP адресом, с которым соединяются клиенты;
Mapped IP address (MIP) – MIP адрес используется для соединений с серверами. Зачастую является адресом смотрящим в сторону ваших серверов для которых нужно осуществлять балансировку нагрузки и/или обеспечивает доступ через Access Gateway и/или защищает приложения с помощью Web Application Firewall
Subnet IP address (SNIP) – когда Netscaler взаимодействует с множеством подсетей SNIP могут быть настроены как MIP для предоставления доступа к этим подсетям. SNIP можно привязывать к VLAN и интерфейсам.
Также будем считать, что первоначальная настойка NS произведена (сконфигурированы IP адреса и установлены лицензии).
Осторожно, под капотом много картинок
Подключаемся к WEB консоли NS:
Проверим, что настроены IP адреса, нажав на Network -> IPs в консоли
Переходим к самому интересному:
Настройка веб-интерфейса…
Теперь мы, наконец, добраться до части мы заботимся о. Добавление веб-интерфейс и XML в NetScaler. После этого шага мы сможем попасть на страницу веб-интерфейса через VIP, который мы создаем. Нам необходимо создать 2 виртуальных сервера.
Но перед созданием серверов я создам необходимые сервисные группы для балансировка.
Участники балансировки
Теперь на основании этой группы создаем сервер LB. Для создания виртуального сервера перейдём к Load Balancing -> Virtual Servers. Нажимаем кнопку Добавить в нижней части экрана. Вводим Virtual Server имя (рекомендую LB сервер называть в соответствии с его задачами, в моем случае XenDesktop_WebInterface_serverIPaddress_port_LoadBalancingIP — XD_WI_192.168.х.х_хх_lbvip). Введите IP-адрес, который будет использоваться в качестве VIP для двух серверов Web Interface. Выбираем HTTP протокол, порт 80
На вкладке Службы установите флажок для двух веб-интерфейс услуги, созданные ранее. На вкладке Method and Persistence и выбреем Least Connection метод. Сохраняем.
Теперь создадим LB сервер для XML.
Для того, чтобы использовать эти функции, нужно создать новый монитор. Этот новый монитор использует XML для отправки запроса на ферму XenApp/Desktop. Следует отметить, что это работает только для XenApp и XenDesktop.
Чтобы создать монитор в Load Balancing -> Monitors. Нажимаем создать. Создаем новый монитор имя и выбираем CITRIX-XD-DDC и XD-WEB-INTERFACE. Название монитора предлагаю использовать аналогично LB серверам.
Краткий итог: Мы настроили 2 сервер балансировщика нагрузки, созданы мониторы для мониторинга конечных серверов.
Сертификаты:
Легче всего настроить с использованием WEB интерфейса, зайдя на NSIP Netscaler.
Полное описание процесса есть тут
Вкратце: (если будут вопросы отвечу, но на мой взгляд генерация при наличии развернутого центра сертификации вопросов вызвать не должна).
Генерируется RSA ключ (Configuration > SSL > Create RSA key);
Создается CSR (Configuration > SSL > Create CSR);
Устанавливаются сертификаты (Configuration > SSL > Certificates > Install);
Серверный сертификат линкуется с CA и Intermediate Authority, образуя цепь (Configuration > SSL > Certificates > Link).
В итоге мы должны получить 2 установленные сертификата – серверный и СА.
И только теперь создаем Access Gateway виртуальный сервер. Чтобы сделать, открываем Access Gateway -> Virtual Servers нажмите кнопку ADD. Указываем имя сервера. Это имя должно совпадать с именем сертификата, который зарегистрирован вами ранее. Назначить IP-адрес, который будет использоваться в качестве VIP для этого соединения. Наконец, добавляем сертификат, созданный ранее.
Теперь можно проверить работу AG сервера. Открываем веб-браузер и переходим на httрs://имя сервера (естественно, используем FQDN, который мы создали). Убедитесь, что используется HTTPS. Страница должна показать без предупреждения сертификата. Если есть предупреждения, надо проверить сертификаты.
AG сервер поднят, но не настроен. Настроим авторизацию LDAP
Для настройки нам необходимо создать LDAP сервер. Переходим System -> Authentication -> Server -> Add…
Название: AD (что душе удобно)
Тип аутентификации: LDAP
IP-адрес: 192.168.х.х (используется IP-адрес одного из контроллеров домена)
Base DN: DC = ваш DC = домен (DN для вашего домена)
Administrator Bind DN: CN = учетная запись DC = ваш DC = домен (учетная запись для доступа к домену).
Пароль администратора: пароль (пароль для пользователя указанного выше)
Создаем.
Имея подключение к AD создадим политику для авторизации на NS. System -> Authentication -> Policies -> Add
Имя: policy_AD (или любое имя)
Тип аутентификации: LDAP
Сервер: AD (это сервер, созданный на предыдущем шаге)
Выражение: Искать любое выражение -> General -> True value (нажмите кнопку Create)
Теперь свяжем созданную LDAP политику c созданным ранее AG virtual server.
Уже почти все готово.
И только теперь переводим к настройкам на WEB сервере Cirtix XenDesktop / XenApp.
Для чистоты создадим новый сайт.
Тут с настройками все понятно (название сайта и путь к файлам)
На следующем шаге выбираем точку проверки подлинности. Выбираем Access Gateway.
Для проверки подлинности URL службы указываем: ваш FQDN/CitrixAuthService/AuthService.asmx
После создания сайта открываем его для настройки. Для настройки XML указываем IP адрес сервера LB который мы создавали раньше. Т.е. NS, будет сам контролировать нагрузку на web/xml серверы.
Как только сайт создан, нам нужно установить тип доступа Access Gateway. Щелкните правой кнопкой мыши на новом сайте и выберите Secure Access.
После изменения метода доступа к шлюзу с Direct на Gateway direct, нажимаем кнопку Далее. В поле Укажите экране В параметрах шлюза вводим адрес FQDN. Нажимаем кнопку далее, чтобы продолжить.
Из Укажите параметры безопасности администрации билетов (STA) экрана нажмите кнопку Добавить. Введите путь к STA, как httр://ваш citrix сервер XD/App/scripts/ctxsta.dll. Дальше замечательная кнопка Finish. (Напомню, у кого кластер XD – надо проделать на всех WEB узлах).
Теперь мы должны добавить STA в the Access Gateway Virtual Server. Открываем Access Gateway -> Virtual Servers, открываем Access Gateway сервер и открываем вкладку Published Applications. В разделе STA, нажимаем Add. Вводим в формате httр://ip адрес (заменить свой IP указанный предыдущем шаге). Сохраняем, нажав OK.
Осталось настроить политики сессий Create Access Gateway Session Policy
Имя: cag_xd_vser_wi (снова придерживаюсь принятому выше правилу ) CitrixAccessGateway_XenDesktop_VirtualServer_WebInterfase
Expression (выражение): любое выражение -> Общие -> True значение (нажмите кнопку Add Expression)
Нажмите кнопку OK и на следующий шаг.
ICA Proxy: ON
Web Interface Address: httр://192.168.x.x/Citrix/AccessGateway/auth/login.aspx (Указываем IP адрес LB сервера назначенного для WEB балансировки) r.
Single Sign-on Domain ваш.домен (FQDN вашего домена)
Последний штрих – на вкладке безопасность Default Authorization Action устанавливаем ALLOW.
Теперь можно безопасно подключаться из любой точки мира к Вашим опубликованным приложениям на Citrix Xendesktop / XenApp используя SSS-VPN туннель.
Спасибо за внимание, если у Вас есть какие-либо вопросы, комментарии пожалуйста задавайте. Тема сложная, но интересная и нужная.
Автор: 0000168