АНТОН БОРИСОВ, специализируется на экспертизе аппаратных и программных решений
Sun Secure Global Desktop
Все ваши приложения в окне браузера
Как предоставить сотруднику, часто бывающему в командировках, унифицированный доступ к приложениям ИТ-инфраструктуры?
Вся ИТ-инфраструктура предприятия постепенно перемещается в виртуализированные контейнеры и окружение. С одной стороны, таким образом снижаются расходы на поддержание работоспособности рабочего места, поэтому сотрудник может работать вне зависимости, где конкретно он сейчас находится – дома, в офисе, в командировке. С другой стороны, необходимо предоставить такой унифицированный доступ к приложениям, чтобы можно было приступить к работе из любой операционной системы. Что это за инструмент? Безусловно, веб-браузер.
История развития
Попытки создавать интеграционное ПО для работы в гетерогенных сетях уходят корнями в далекие 80-е. Когда становится понятным, что мир меняется в сторону персональных ЭВМ и появляются операционные системы с разнонаправленной идеологией – Windows, UNIX. Понятно, что технологически легче визуально предоставить доступ к приложениям работающим, например, на UNIX-мейнфреймах, нежели переписывать эти приложения с нуля, для одной лишь цели – запустить их в другой среде. Как пример – Windows. Впрочем, возможны были ситуации и обратного характера – клиентам из UNIX-мира требовалось иногда работать и с Windows-приложениями, как впрочем и с другим ПО под другой UNIX-мейнфрейм. Визуальный доступ посредством X11-протокола позволил бы без всяких ухищрений обойти технологические трудности. Чем, в частности, и занимались компании IXI Limited и Visionware, пока их не купила Santa Cruz Operation в первой половине 90-х.
Покупка в конечном итоге вылилась в появление в 1996 году проекта Tarantella, главный девиз которого был «Любое приложение от любого клиента с любого места». Такой унифицированный подход позволял запустить любое приложение с любого устройства, на котором установлен веб-браузер с Java-плагином. В некоторой степени проект Tarantella являлся конкурирующим продуктом в пику решений от Citrix – Citrix Metaframe/Presentation Server.
Компания Santa Cruz Operation понимала важность этого проекта и поэтому, по-видимому, позиционировала Tarantella как отдельный бренд, который никак не ассоциируется с темной славой SCO.
В силу определенных причин в 2005 году этот бизнес перешел под крыло Sun Microsystems, поэтому теперь он звучит как Sun Secure Global Desktop Software.
Аппаратные требования
Что из себя представляет Secure Global Desktop? В первую очередь это веб-сервер Apache, контейнер сервлет-приложений Tomcat, а также сервер приложений, связывающий логику работы первых двух с управляющим внутренним функционалом Tarantella. Фактически SGD преобразует видеопредставление, идущее от браузера, в представление, понятное для конкретного сервера – X11, SSH, RDP, ICA.
Рисунок 1. Задача SGD-сервера заключается в транслировании протокола клиента в протокол сервера приложений
Серверная часть может работать на следующих операционных системах и платформах:
- Sun Solaris 8, 9, 10 (SPARC);
- Sun Solaris 10 (x86);
- SUSE LINUX Enterprise Server (Intel x86) 9/10;
- Red Hat Enterprise Linux (Intel x86) 4.0/5.0;
- Fedora Linux Core 8.
Минимальные требования, предъявляемые к серверу: 256 Мб ОЗУ, свободное дисковое пространство не менее 500 Мб, тактовая частота не ниже 1 ГГц. Для работы клиентов следует исходить из правила: каждое новое подключение требует 20 Мб памяти и в среднем 15 МГц тактовой частоты процессора.
Сервером SGD поддерживаются следующие протоколы передачи данных: Microsoft RDP, X11, http/https, ssh, Telnet VT, ANSI tn3270/tn5250. Авторизоваться пользователи могут по протоколам: LDAP v3, Microsoft Active Directory, RSA SecurID, NIS, Microsoft Windows Domains и некоторым другим.
Установка
В качестве серверной операционной системы я выбрал CentOS 5.3 (бесплатный аналог RedHat Enterprise Linux 5). И теперь переходим к загрузке пробной, 30-дневной версии SGD. Загружаем со страницы [1] RPM-пакет для RHEL5 (x86). Начинаем установку.
# rpm -ih tta-4.50-907.i386.rpm
Получаем ошибку – необходимые пользователи ttaserv и ttasys в системе не зарегистрированы:
ERROR: Required users (ttaserv and ttasys) are not correctly defined.
Setup will now exit.
You must create two user accounts before you can install Secure Global Desktop.
- The user names must be "ttaserv" and "ttasys".
- Both must have their primary group set to "ttaserv".
- You can use any UIDs and GID you want.
- Both users must have a valid shell, for example /bin/sh.
- Both users must have writeable home directories.
- We recommend that you lock the user accounts (passwd -l).
Можно создать их вручную либо запустить скрипт, идущий в этой поставке SGD:
# /tmp/SGDCreateUsers.sh
Locking password for user ttasys.
passwd: Success
Locking password for user ttaserv.
passwd: Success
В прошлой версии администраторы были лишены такой поблажки.
Еще раз запустим установку:
# rpm -ih tta-4.50-907.i386.rpm
########################################### [100%]
########################################### [100%]
To complete the installation, please run /opt/tarantella/bin/tarantella start
Предварительный этап пройден. Теперь запускаем сервер и приготовимся сконфигурировать Apache/Tomcat (веб-сервер и контейнер сервлетов).
# /opt/tarantella/bin/tarantella start
В ходе процесса конфигурирования необходимо будет выбрать порт, на котором будет работать веб-сервер, выбрать DNS-имя этого сервера и время ротирования логов. В общем и целом достаточно тривиально. В любой последующий момент вы можете сами поменять настройки, благо все компоненты – как сервер Apache, так и контейнер сервлетов Tomcat – широко распространены и хорошо задокументированы.
Secure Global Desktop is now installed and ready to use.
To get started:
- In a web browser, go to:
http://sgd.intra.net:9090/
- When prompted, log in with username "Administrator" and
root's password.
- On your webtop, click Administration Guide to learn more
about the product.
To add license keys, type:
/opt/tarantella/bin/tarantella license add <key>...
Note: Setup has created some application objects.
Setup detected that telnet is not enabled on your system
but SSH is, and SSH appears to be configured to work with
Secure Global Desktop.
Consequently the application objects have been configured
to use SSH.
For more information on Secure Global Desktop and SSH,
see the Administration Guide.
-----------------------------------------------------------
Successfully installed Sun Secure Global Desktop Software
-----------------------------------------------------------
Настройка приложений
Теперь необходимо настроить приложения, которые пользователи будут запускать со своих клиентских мест.
Я решил не возиться со сложной авторизацией и просто создал новые учетные записи пользователей, которые будут обслуживаться в CentOS.
Чтобы добавить новые приложения, например, OpenOffice, нам потребуется зайти под администраторской учетной записью и произвести необходимые изменения. Для полноценной работы с SGD необходимо, чтобы на пользовательских местах была установлена JRE (Java Runtime Environment). Однако при невозможности использования JRE есть альтернативный вариант – установить клиент от SGD и с помощью его функционала авторизовываться в Secure Global Desktop (см. рис. 2). В случае если в системе не будет обнаружена Java, то браузер будет автоматически перенаправлен на локальную страницу загрузки клиента.
Рисунок 2. Вместо JRE можно поставить клиент SGD с тем же функционалом
Фактически в этом случае для браузера не надо будет устанавливать Java-плагин, а вместо этого клиент от SGD сам запустит браузер по умолчанию и проделает работу по интеграции ввода/вывода браузера и серверной части. Для старта необходимо набрать полный адрес вашего установленного SGD-сервера: http://sgd.intra.net:9090/sgd/index.jsp.
Запускаем SGD-клиент:
$ ~/bin/ttatcc
Вводим полный адрес (см. выше) и перед нами появляется окно авторизации SGD (см. рис. 3).
Рисунок 3. Окно авторизации в Secure Global Desktop
Входим под пользователем Administrator (он же пользователь root в CentOS) – и перед нами главное окно управления сервером. Отсюда мы можем поменять серверные настройки, создать новые приложения, назначить права на запуск приложений и т.п. (см. рис. 4).
Рисунок 4. Под учетной записью администратора можно поменять серверные настройки
Нас же в первую очередь интересует консоль управления – Administration Console. Зайдем туда и попробуем создать приложение, которое перенаправляло бы пользователя на сторонний сервер – Windows Server 2003 – вкладка Applications.
Далее создаем объект – нажимаем на кнопку New и выбираем тип объекта – X Application. Заполняем название объекта, например RDP2Windows2003, и подтверждаем создание объекта клавишей Save (см. рис. 5).
Рисунок 5. Создаем новое приложение для доступа к RDP-серверу
Объект создан, теперь предстоит выбрать, как его запускать, и некоторые характиристики для отображения окна на клиентской машине.
Для этого нажимаем на название объекта и в открывшемся меню переходим на вкладку Launch.
В поле Application Command вбиваем путь к исполняемому файлу, который находится на CentOS: /home/ab/go_rdp.sh.
#!/bin/sh
rdesktop-vrdp win2003server.intra.net -u RemoteAccessUser -g 1024x768
В поле Connection Method выбираем ssh-доступ и не забываем поставить флаг -X – перенаправление вывода X11-протокола (см. man ssh) (см. рис. 6).
Рисунок 6. Выбор исполняемого файла и механизма доступа SGD-сервера к серверу приложений
Для удобства отображения приложений, в частности цветовая гамма, размер окна и т.д., предусмотрена вкладка Presentation. За выбор оконного отображения отвечает Window Type. Также можно зафиксировать размер окна – поле Window Size. Либо сделать его масштабируемым. И выберите цветовую гамму – Color Depth, – иначе вся радуга цветов будет ограничена 8 битами.
На этом можно было бы сказать, что настройка завершена и пользователи могут запускать свои браузеры. Однако пока рано рапортовать о готовности. Чтобы у пользователя появилась возможность запуска приложения RDP2Windows2003Server, этого пользователя (либо группу пользователей) надо назначить приложению – вкладка Assigned User Profiles. В таблицу Editable Assignments добавляем всех возможных пользователей.
Не забываем нажать на кнопку Save. Всё – теперь можно зазывать пользователей опробовать новый сервис – запуская из браузера RDP-сессию на сервер Windows 2003, вы можете забыть про сложности взаимодействия разных платформ и программных решений (см. рис. 7).
Рисунок 7. Запущено SGD-приложение RDP2Windows2003, обеспечивающее доступ на RDP-сервер
Ценность подобного решения – унификация. Вы даете пользователям свободу перемещения. Единственная их забота, чтобы под руками у них был веб-браузер с Java-плагином, да и чтобы не забывали свой пароль. А выделить приложения для запуска и синхронизировать внутренний документооборот с внутренними требованиями, я думаю, не так уж сложно (см. рис. 8).
Рисунок 8. Перевести документооборот с Microsoft Office на OpenOffice, развернутом в CentOS, достаточно тривиально
Здесь был приведен пример, когда настройка приложений и всей системы, ведется через веб-интерфейс. Однако в еще тогдашнем продукте от Tarantella хорошо был продуман режим администрирования через командную строку. И фактически режим веб-администрирования – это только верхушка айсберга, полностью же функционал реализовывается через такие, например, команды, как:
# /opt/tarantella/bin/tarantella object new_person
# /opt/tarantella/bin/tarantella license info
Безопасность
Secure Global Desktop – достаточно интересная игрушка. Как с точки зрения технологии, так и возможностей применения. Следует помнить, что даже сильно «интеллектуальные» системы можно вывести из строя, если не произвести дополнительных манипуляций в настройке.
Первое, и наиболее важное, условие – ограничение доступа на уровне файловой системы. Хотя SGD и работает с правами пользователя ttaserv/ttasys, при первоначальной настройке apache/tomcat лучше задействовать порты выше 1024. Второй момент – закрывайте файерволом порты, которые не потребуются при работе серверных частей (см. Sun Secure Global Desktop 4.5 – Administration Guide, пункт Firewalls [2]). В-третьих, по умолчанию, работа с клиентскими местами ведется по открытому, незашифрованному протоколу HTTP. Поэтому предполагается, что специалисты, ответственные за функционирование SGD, самостоятельно заведут SSL-сертификаты (например, самоподписанные – с помощью OpenSSL, либо для работы во внешней сети – от компании VeriSign) и перейдут на использование HTTPS (такой функционал в комплекте предоставляется, но закомментирован как в Apache, так и в Tomcat). И четвертое условие, которое касается взаимодействия SGD и серверов приложений внутри предприятия – следует использовать инкапсуляцию передачи данных посредством SSH и внимательно отнестись к документации на протоколы данных. Поскольку RDP представляет возможность шифрации трафика, а вот ICA (от Citrix) не всегда – представляет только безопасную передачу пароля.
По большому счету четвертое условие наиболее актуально для интеграции SGD с портальными решениями. Когда используются портлеты, являющиеся на самом деле «обертками» для SGD-приложений. Которые в свою очередь запускают то или иное приложение с сервера приложений [3].
Лицензирование
Как и любой коммерческий продукт, Secure Global Desktop является платным. Сия особенность проявляется в годовой подписке, т.е. за каждого пользователя платится лицензионное отчисление за год. Фактически вы платите за годовое обслуживание серверной части [2] и выбираете число пользователей, которые будут зарегистрированы на SGD-сервере. Так, например, годовое обслуживание сервера с поддержкой UNIX-протоколов и 25 пользователей выльется в сумму 219 + 25*103 = 2794 USD. В дальнейшем стоимость лицензии для клиентских мест может составлять в разы меньше, нежели в первый год обслуживания [4]. Насколько она будет круглой для вашей организации и перевесят ли плюсы минусы – судить вам. Думаю, что за 30 дней вполне можно будет выразить свое непредвзятое мнение.
- http://www.sun.com/software/products/sgd/get.jsp.
- http://dlc.sun.com/pdf/820-6690/820-6690.pdf.
- http://rabbs.com/uuasc/ssgd.pdf.
- http://catalogs.sun.com/is-bin/INTERSHOP.enfinity/WFS/Sun_Catalogue-Sun_Catalogue_RU-Site/en_US/-/USD/ViewCatalog-Browse?CatalogCategoryID=0cVIBe.ddWAAAAEUxV05G_c2&PriceIt=true.
- http://www.sun.com/software/products/sgd/whitepapers/wp_tei_sgd.pdf.