Самоучитель
системного администратора

5.4. Терминальный доступ

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

Принцип действия терминальных служб состоит в том, что все вычисления производятся на мощном удаленном компьютере (его называют терминальным сервером), а пользовательский компьютер является "удаленной консолью". Данные и команды, которые пользователь вводит (с клавиатуры, мышью), передаются на терминальный сервер, где они обрабатываются, а пользователю возвращаются лишь графические изменения в интерфейсе. Иными словами, пользовательский компьютер практически использует только монитор, клавиатуру, мышь.

В результате при работе в типовой офисной программе терминальный клиент в среднем передает по сети около 500 байт данных в секунду, что позволяет полноценно работать с удаленным компьютером, используя модемные соединения или медленные каналы связи.

Терминальные серверы от Microsoft

В 1995 г. компания Citrix выпустила продукт под названием Winframe, который стал первым терминальным сервером на базе Windows NT. После договора между Microsoft и Citrix о кросс-лицензировании в 1998 г. вышли версии Windows NT Server Terminal Server Edition и Citrix MetaFrame (продукт Citrix расширял возможности терминального сервера Windows NT TSE). В "поколении W2K" терминальные службы включены в поставку всей линейки серверов Windows 200х Server.

Терминальные клиенты

В качестве клиентов терминала могут служить практически любые компьютеры, в том числе и классов 386/486/Pentium, причем сами терминалы не нуждаются в модернизации. Поскольку все вычисления выполняются на сервере, то при необходимости нужно наращивать или обновлять только его мощности.

Одновременно использование терминалов снижает административные затраты на сопровождение. У пользователя становится меньше возможностей повлиять на стабильность работы системы, а администраторы начинают управлять "всем в одном месте". Терминальные системы более безопасны, поскольку устранение уязвимости на сервере ведет к аналогичному результату для всех его клиентов, и практически не оставляют никаких "вольностей" пользователю — ведь контролю администратора поддается практически все.

Кроме того, стоимость терминальных устройств существенно ниже полнофункциональных компьютеров. Терминалы могут быть выполнены на бездисковой основе (Linux-терминалы, которые можно загрузить по сети с сервера), так и на основе загрузки с тех или иных аналогов жесткого диска (например, DiskOnModule и т. п. — объем ядра Linux вместе с программой подключения к RDP-серверу составляет менее 8 Мбайт).

    Примечание

    Тонкие клиенты на базе Linux обычно содержат в себе возможности подключения к различным терминальным службам (по протоколам Citrix ICA, RDP, Tarantella, X, telnet, tn5250 и т. д.). Пользователи могут бесплатно загрузить как исходные коды, так и готовые образы программ для любого варианта загрузки — с диска или дискеты, CD, по сети и т. п. (см., например, http://thinstation.sourceforge.net/).

Если в качестве клиента терминального сервера используется Windows XP/ Windows 7, то необходимое программное обеспечение для подключения к серверу уже установлено. Это программа Подключение к удаленному рабочему столу (вызов из меню Пуск | Стандартные | Связь). Однако желательно обновить ее до последней версии (например, с выпуском Windows 2008 сменилась версия протокола подключения). Имеющиеся версии можно продолжать использовать, но все же лучше бесплатно загрузить обновления с сайта вендора.

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

Еще одно место, где контролируется право работы в терминале, — это параметр учетной записи пользователя, разрешающий такое подключение. По умолчанию это право включено для каждой учетной записи. Но администраторы могут задействовать этот параметр для индивидуальных запретов или разрешений.

Режимы терминальных служб

Существует два варианта подключения к рабочему столу удаленного компьютера.

  • Подключение к рабочему столу (ранее административный режим) используется только для удаленного управления сервером или рабочей станцией. При подключении к рабочему столу сервера1 одновременно могут работать не более двух человек, причем обладающих административными правами на данном сервере. В этом режиме не требуется дополнительных лицензий.
  • В терминальном режиме (ранее назывался режим приложений) для подключения необходимы дополнительные специальные лицензии, но количество одновременных подключений не ограничено, причем работать на сервере могут и пользователи с обычными, не административными правами.

Лицензирование терминальных служб

Для использования терминальных служб необходимы специальные лицензии, которые приобретаются отдельно от сервера. Существуют различные схемы лицензирования, на которых мы не будем останавливаться. Лицензии достаточно дороги для того, чтобы обеспечить благожелательное отношение к вам продавца при обращении за консультациями.

Лицензии специфичны для каждого выпуска, иными словами, лицензии от сервера Windows 2003 не подойдут для Windows 2008. Лицензии должны покупаться для каждого подключения, независимо от того, подключается ли рабочая станция Windows 7 Ultimate или бездисковая Linux-система.

"Технически" необходимость выдачи лицензий предполагает установку в локальной сети (и активацию) специального сервера лицензий. При работе в составе домена Windows сервер лицензий необходимо устанавливать на контроллере домена. Если использовать вариант установки Enterprise, то сервер терминальных лицензий будет обнаруживаться клиентами автоматически (используя службу каталогов) в любом домене леса, но только в пределах данного сайта.

Сервер лицензий обязательно должен быть активирован через сайт изготовителя. Также активируются клиентские лицензии. В случае необходимости администраторы легко найдут в Сети любые рекомендации по выполнению данной операции. Без активации лицензий сервер создает временные лицензии, которые можно использовать в течение 90 дней. Но и постоянные лицензии также не выдаются клиентам на неограниченный срок: они периодически обновляются, чтобы восстановить лицензии, "отданные" компьютерам, которые уже больше не работают в сети (например, вышли из строя).

    Примечание

    После установки лицензий имеет смысл выполнить резервное копирование сервера, чтобы можно было восстановить лицензии.

Особенности использования приложений на терминальном сервере

Режим терминального сервера не предназначен для использования программ, вызывающих интенсивную нагрузку на процессор. Не рекомендуется использовать этот режим для мультимедийных и аналогичных приложений. Такие задачи целесообразнее решать на локальных системах. Терминальный сервер предназначен прежде всего для "обычных" офисных программ.

Установка прикладных программ в режиме приложений должна использовать специальные условия. Эти условия реализуются автоматически при запуске установки через утилиту установки и удаления программ, расположенную в Панели управления (или когда установка производится файлом setup или install).

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

Для корректной работы приложений в режиме терминального сервера должен выполняться ряд условий (отсутствие записи данных в каталоги самой программы и т. д.). Эти требования стали предъявляться и программам, предназначенным для установки в Windows 7/Windows 2008, поэтому такие условия обычно выполняются. Но на практике можно встретить любую ситуацию. Исправить ее можно включением специальных сценариев (подробности можно уточнить в сопроводительной документации).

Безопасность терминальных сессий

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

    Примечание

    Конечно, как и при всяких настройках, администратору нужно представлять возможные опасности и разумно реализовывать только необходимые ограничения. Если вы включите все те ограничения, параметры которых присутствуют в групповых политиках для терминального сервера от Microsoft, то нормально работать в терминальной сессии не сможет ни один пользователь.

Поскольку терминальный сервер предоставляется многим пользователям, то крайне важно администратору сохранить его работоспособность, не давая пользователям устанавливать лишние программное обеспечение, менять настройки и т. д. Мы не будем останавливаться на описании возможных административных настроек, отметим только, что для терминального сервера очень развиты опции тюнинга через политики безопасности. В политиках безопасности можно установить практически любые ограничения. Администратору нужно найти золотую середину.

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

    Примечание

    Желательно создать специальное подразделение в службе каталогов (OU, Organization Unit), в которое переместить терминальный сервер. Для этого OU следует назначить собственную групповую политику, в которой и определить необходимые ограничения.

  • Ограничить список программ, которые разрешено запускать пользователям терминала.
  • Ограничить перечень устройств, к которым предоставляется доступ пользователю терминала. Например, исключить доступ к CD-ROM, сменным дискам и т. д.
  • Без необходимости не стоит разрешать пользователю подключать как диски своего компьютера, так и с любых других систем (для исключения запуска программ с этих носителей).
  • Желательно отключить возможность установки пользователем программ с использованием Windows Installer.
  • Рекомендуется запретить просмотр и поиск любых ресурсов (например, просмотр сети, поиск принтеров, поиск файлов и т. п.).
  • Желательно настроить административные шаблоны для таких задач, как: Проводник, меню Пуск, Панель управления и т. д., ограничив состав возможностей только необходимыми функциями.
    Примечание

    Операцию поиска в Проводнике можно вызвать быстрыми клавишами +. Чтобы заблокировать эту возможность, создайте файл с некоторым поясняющим текстом (например, текстовый или в формате HTML) и установите следующие значения реестра системы: HKLM\SOFTWARE\Microsoft\Internet Explorer\Search параметры SearchAssistant=REG_SZ: <путь к файлу> и CustomizeSearch=REG_SZ: <путь к файлу>. Теперь при попытке выполнить операцию поиска пользователь увидит только содержание данного файла.

В общем случае следует руководствоваться принципом: чем более публичным является терминальный сервер, тем большие ограничения должны налагаться на его использование в целях предупреждения не всегда разумных инициатив пользователей.

Подключение к консоли терминального сервера

Если вы работали за консолью сервера, войдя в систему локально с клавиатуры, а потом попытались подключиться для удаленного управления, то по умолчанию будет создана новая сессия, со своим экраном, а не тем, который вы оставили. Это не всегда удобно для администраторов: иногда необходимо увидеть сообщения, которые отображаются после старта системы (например, сообщения от системы контроля серверной платформой или предупреждения о неудачном запуске службы), или использовать задачи управления, доступ к которым сохранен на локальном столе, или просто продолжить работу с документом, который остался открыт, когда вам неожиданно пришлось уйти с рабочего места.

Для работы с экраном консоли нужно запустить клиента подключения к удаленному рабочему столу с ключом /console:

MSTSC /console

Этот ключ можно указать в параметрах (свойствах) ярлыка подключения. Кроме того, есть возможность переключиться в консольную сессию, уже работая в терминале. Среди команд терминала есть утилита SHADOW, позволяющая подключиться к любой терминальной сессии. Сессия консоли всегда имеет нулевой номер, поэтому достаточно выполнить команду:

SHADOW 0

В отличие от запуска подключения с ключом (mstsc /console), данная команда не сможет подключить к консоли, если с последней предварительно не был выполнен вход в систему.

Подключение администратора к сессии пользователя

Администратор терминального сервера (точнее, тот пользователь, которому такое право дано протоколом RDP; по умолчанию это только администраторы терминального сервера, но при необходимости данное значение можно изменить, воспользовавшись оснасткой управления параметрами RDP-протокола) имеет возможность подключиться к пользовательской сессии. Данный режим обычно служит для оказания помощи пользователям терминального сервера: администратор получает возможность наблюдать за чужим экраном и демонстрировать выполнение операций.

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

Эти настройки определяются в параметрах по умолчанию для терминальной сессии.

Публикация приложений в терминале

Часто пользователи подключаются к терминальному серверу для работы только в каком-либо конкретном приложении. Существуют специальные технологии публикации одного приложения, лидером таких решений являются продукты Citrix. Публикация приложения позволяет работать в нужной программе без ее установки на локальную систему.

Для терминалов Microsoft можно реализовать такие настройки подключения, которые внешне соответствуют подключению к одной задаче. В версии терминальных серверов Windows 2000/Windows 2003 достаточно в свойствах подключения на вкладке Программы указать параметры вызываемой задачи (рис. 5.15). После этого при подключении пользователя к терминальному серверу автоматически запускалась указанное приложение. Если пользователь завершал работу в приложении, то вслед за его закрытием прерывалось и подключение к терминальному серверу.

Рис. 5.15.
Настройка запуска в терминальной сессии заданного приложения

Настройку запускаемого приложения обычно администраторы использовали для таких пользователей, как бухгалтеры: подключение к терминальному серверу для них воспринималось просто как запуск программы 1С.

С появлением новой версии протокола подключения к терминальному серверу возможность указания запускаемого приложения появилась не только на клиентской стороне, но и на сервере. При этом технология подключения не изменилась. При подключении пользователя также полностью формируется терминальная сессия и только после этого осуществляется запуск программы. Причем для клиентов, использующих предыдущую версию протокола (предыдущую версию программного обеспечения терминального клиента), будет просто открываться рабочий стол терминального сервера — параметры настройки подключаемого приложения будут просто проигнорированы.

Удаленные приложения (RemoteApp) в Windows 2008 настраиваются через Диспетчер удаленных приложений (RemoteApp) служб терминала выбором опции Добавить удаленное приложение в правой панели навигации. После этого мастер проведет вас через все шаги назначения параметров удаленного приложения. Перечень всех приложений, настроенных для удаленного использования, доступен в нижней части окна оснастки (рис. 5.16).

Рис. 5.16.
Диспетчер удаленных подключений

Данная оснастка позволяет из одного места настраивать основные параметры терминального сервера. Панель навигации в правой части окна отображает операции, доступные для каждого выделяемого объекта.

Перенос настроек приложения в параметры подключения предоставил администраторам дополнительные возможности. Удаленное приложение стало возможным публиковать или устанавливать: достаточно любым средством (через групповые политики или с использованием специализированного ПО разворачивания приложений, создавая файл установки msi и т. п.) предоставить пользователю файл настроек подключения. Более подробно способы публикации удаленных приложений описаны в онлайновой справке.

    Примечание

    Существует возможность разрешать запуск на терминале только приложений, публикуемых через список RemoteApp.

Веб-доступ к терминальному серверу

Веб-доступ к терминальному серверу появился в тот момент, когда программное обеспечение терминальных клиентов не устанавливалось по умолчанию на рабочих станциях Windows. Фактически это решение представляет собой ActiveX-модуль, автоматически устанавливаемый на локальный компьютер при обращении из обозревателя к терминальному серверу. Соответственно, использовать для работы можно только Internet Explorer и необходимо иметь права и разрешающие настройки обозревателя для установки ActiveX. Реальное подключение к терминальной сессии осуществляется по протоколу RDP (Remote Display Protocol, протокол для удаленных дисплеев), что требует и открытого порта 3389.

Веб-доступ в версии Windows 2008 несколько изменился. Теперь на исходной странице публикуются не только ссылки на доступ к терминальной сессии, но и перечень опубликованных приложений (рис. 5.17).

Рис. 5.17.
Веб-интерфейс терминального сервера

По умолчанию веб-интерфейс доступен по пути http://<имя_сервера>/ts.

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

Шлюз терминалов

Если необходимо обеспечить подключение пользователей, работающих в Интернете, к ресурсам, расположенным на различных терминальных серверах внутри локальной сети организации, то администраторы должны были настраивать публикацию для каждого терминала, а пользователи — вручную создавать несколько подключений, для каждого ресурса отдельно.

В Windows 2008 Server появилась функциональность шлюза терминалов. Шлюз терминалов позволяет публиковать в Интернет по одному адресу несколько внутренних терминальных серверов.

Доступ к шлюзу, а потом к терминальному серверу, осуществляется клиентом по порту 443 — это порт протокола HTTPS, который обычно открыт в межсетевых экранах. Это расширяет возможности доступа к терминальным серверам из Интернета. Регулируется доступ к внутренним терминалам обычным способом, с помощью политик.

Настройка шлюза терминалов не представляет особой сложности, и мы специально останавливаться на ней не будем.


1К рабочей станции можно удаленно подключиться только одному администратору, при этом текущий пользователь отключается от рабочего стола. Ограничение это, скорее, лицензионное, поскольку в Интернете можно найти решения, снимающие ограничения на количество удаленных сессий и фактически превращающие рабочую станцию в терминальный сервер.


Рейтинг@Mail.ru