Структура сетевых сервисов. Сетевые сервисы Сетевые сервисы примеры

знать: назначение и особенности использования основных сетевых сервисов

уметь: использовать средства сетевых сервисов

Сервисы (Услуги), предоставляемые сетью Интернет

Протоколы семейства TCP/IP реализуют всевозможные сервисы (услуги) Интернет.

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

К числу услуг связи между абонентами принадлежат:

Telnet - удаленный доступ. Дает возможность абоненту работать на любой ЭВМ сети Internet, как на своей собственной. То есть запускать программы, менять режим работы и т.д.

FTP (File Transfer Protocol) - протокол передачи файлов. Дает возможность абоненту обмениваться двоичными и текстовыми файлами с любым компьютером сети. Установив связь с удаленным компьютером, пользователь может скопировать файл с удаленного компьютера на свой или скопировать файл со своего компьютера на удаленный.

NFS (Network File System) - распределенная файловая система. Дает возможность абоненту пользоваться файловой системой удаленного компьютера, как своей собственной.

Электронная почта - обмен почтовыми сообщениями с любым абонентом сети Internet. Существует возможность отправки как текстовых, так и двоичных файлов. На размер почтового сообщения в сети Internet накладывается следующее ограничение - размер почтового сообщения не должен превышать 64 килобайт.

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

Электронный переводчик - производит перевод присланного на него текста с одного языка на другой. Обращение к электронным переводчикам происходит посредством электронной почты.

Шлюзы - дают возможность абоненту отправлять сообщения в сети, не работающие с протоколами TCP\IP (Fido, Goldnet, AT50) .


Общее понятие о базах данных. Основные понятия систем управления базами данных. Модели данных

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

уметь: использовать модели хранения данных и знаний; проектировать структуры таблиц баз данных; устанавливать связи между таблицами базы данных; выбирать СУБД для решения задач построения информационных систем

База данных (БД) – это структурированная совокупность данных, отражающая свойства и состояние объектов конкретной предметной области и связи между ними.

Система управления базами данных (СУБД) – это комплекс программных средств, предназначенных для создания, накопления, обработки и управления БД.

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

Наибольшее распространение получили СУБД, основанные на реляционной модели данных, предложенной Э.Ф. Коддом.

Одной из наиболее распространенных СУБД является MS Access, входящий в состав профессиональной версии пакеты MicrosoftOffice.

Популярность MS Access во многом объясняется следующими ее свойствами:
- направленность на пользователей самых различных уровней подготовки;
- наличие удобных визуальных средств разработки;
- возможность интеграции с другими программными продуктами пакета Microsoft Office.

СУБД MS Access состоит из шести основных компонентов:
- таблицы – для хранения структуры БД и самих данных;
- запросы – для создания QBE и SQL запросов к БД (для поиска информации в БД);
- формы – для удобства ввода, просмотра и редактирования данных;
- отчеты – для подготовки и оформления данных в виде документа для распечатки на принтере;
- страницы – для обеспечения доступа в БД с Web – страницы;
- макросы – для автоматизации выполнения повторяющихся операций (макрос состоит из последовательности внутренних команд СУБД);
- модули – для автоматизации выполнения стандартных операций и создания новых процедур средствами языка программирования Visual Basic.

Таблица

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

Основными характеристиками поля являются его имя (последовательность символов, кроме знаков препинания – должен быть информативным, но кратким) и тип (характеризует содержание данных).

Основные типы полей:

- текстовый – для хранения данных в виде совокупности символов;
- числовой – для хранения числовых данных;
- логический – для хранения логических данных, имеющих только одно из двух значений – истина/ложь;
- Дата/время – для ввода даты или времени;
- MEMO – для обеспечения возможности работы с длинными текстами;
- счетчик – специальное числовое поле для нумерации записей;
- денежный – для удобства работы с числами, обозначающими денежные суммы;
- объект OLE – для обеспечения возможности хранения рисунков, картинок, звука, видеофрагментов.

- вложение (аналог OLE)–создает поле типа "Вложение", и в диалоге вставлять нужные файлы с изображением

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

Одно из полей таблицы назначают ключевым полем (чаще всего называют первичным ключом, обязательно тип - счетчик), т.е. полем, значение которого однозначно определяет запись.

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

Схема данных

Механизм описания логической связи между таблицами MS Access реализован в виде объекта называемого схемой данных. В данном объекте связи между таблицами организуются через ключевые поля таблиц.

Выделяют несколько типов связи:

Схема «один-ко-одному» - одному значению поля одной таблицы соответствует одно значение поля другой таблицы;
- схема «один-ко-многим» - одному значению поля одной таблицы («главная таблица») соответствует несколько значений поля другой таблицы («подчиненная таблица»);
- схема «многие-ко-многим» - нескольким значениям поля одной таблицы соответствует несколько значений поля другой таблицы.

Чаще всего в реляционных БД встречается отношение «один-ко-многим».

Пример связи «один-ко-многим»


Типовые действия, допустимые в Access

ЛКМ – левая кнопка мыши, ПКМ – правая кнопка мыши

Что сделать? Как сделать?
Запуск программы Access Пуск -> Программы -> Microsoft Office -> Microsoft Access
Создание новой БД Кнопка Microsoft Office -> Создать -> ввести имя создаваемой БД -> Создать
Открытие существующей БД Кнопка Microsoft Office -> Открыть -> указать имя необходимой БД -> кнопка Открыть
Создание таблицы в режиме конструктора Меню Создание -> кнопка Таблица -> меню Работа с таблицами -> группа Представления -> кнопка с рисунком Линейки (или кнопка Вид -> выбрать режим конструктора) -> сохранить таблицу, задать имя таблицы-> кнопка ОК -> ввести имена и типы полей создаваемой таблицы -> указать какое поле является первичным ключом -> перейти в режим таблицы -> ввести необходимое количество надписей, т.е. заполнить строки
Установка первичного ключа Выделить строку, в которой находится ключевое поле -> меню Конструктор -> кнопка Ключевое поле (с рисунка ключа)
Сохранение таблицы Файл -> Сохранить -> Ввести имя таблицы -> ОК
Переход в режим таблицы меню Работа с таблицами -> группа Представления -> кнопка с рисунком Таблицы (или кнопка Вид -> выбрать режим таблицы)
Редактирование таблицы (изменение имен или типов полей, их создание или же удаление) Перейти в режим конструктора -> изменить имя или тип необходимого поля
Переход в режим конструктора меню Работа с таблицами -> группа Представления -> кнопка с рисунком Линейки (или кнопка Вид -> выбрать режим конструктора)
Создание схемы данных Сохранить и закрыть связываемые таблицы -> меню Работа с базами данных -> группа Показать или скрыть -> кнопка Схема данных -> добавить связываемые таблицы -> закрыть окно «Добавление таблицы» -> создать связи -> сохранить схему данных
Создание связей между таблицами Навести указатель мыши на имя поля -> при нажатой ЛКМ перетащить его на связанное с ним поле в другой таблице ->установить в диалоговом окне «Изменение связей» флажок «Обеспечение целостности данных» -> если хотите можете установить флажки каскадной модификации -> тип связи определяется самостоятельно -> Создать
Изменение связи Выделить линию связи ЛКМ -> ПКМ -> Изменить связь…
Удаление связи Выделить линию связи ЛКМ -> ПКМ -> Удалить
Поиск данных в таблице Курсор расположить в любом месте столбца, по которому введется поиск -> меню Главная -> группа Найти -> кнопка Найти (с рисунком бинокля) -> в строке Образец ввести значение поискового данное -> в остальных разделах установить параметры поиска (указать -> кнопка Найти далее
Замена данных в таблице Курсор расположить в любом месте столбца, по которому введется поиск -> меню Главная -> группа Найти -> кнопка Заменить (с рисунком ab->ac) -> в строках Образец и Заменить на ввести необходимые данные -> в остальных разделах установить параметры поиска -> кнопка Найти далее -> Заменить
Использование фильтра при поиске данных Нажать ЛКМ на стрелку вниз, находящейся в названии поля, по которому ведется поиск -> меню Главная -> группа Сортировка и фильтр -> кнопка Фильтр -> команда Фильтры -> выбрать необходимый Фильтр -> ввести необходимые параметры -> ОК
Отмена фильтра меню Главная -> группа Сортировка и фильтр -> кнопка Параметры расширенного фильтра -> команда Очистить все фильтры
Сортировка данных Курсор расположить в любом месте столбца, который нужно сортировать -> меню Главная -> группа Сортировка и фильтр -> кнопка По убыванию или По возрастанию

Основные понятия реляционных баз данных

знать: основные понятия реляционной модели данных; основные принципы работы с объектами СУБД MS Access; основные возможности СУБД Access

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

В основе реляционной модели данных лежит понятие отношения .

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

Столбец таблицы соответствует понятию атрибута отношения, строка – понятию кортежа отношения.

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

Ключ отношения – один или несколько атрибутов, значения которых однозначно идентифицируют любой кортеж отношения.

Спецификации Access 2007


В зависимости от того, что можно делать с помощью данного сервиса (программного средства), выделяют следующие виды сервисов:

2.Совместный поиск информации (социальные поисковые системы)

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

Например, система пользовательского поиска Google (http://www.google.com/cse)

3.Совместное хранение закладок

Примером русскоязычного сервиса социальных закладок является (http://bobrdobr.ru/)

4.Совместное хранение медиафайлов

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

По типу хранящихся файлов выделяют следующие виды:

I.Фотографии, схемы, рисунки

Примерами таких сервисов являются:

Фликр - предназначен для хранения и дальнейшего личного либо совместного использования цифровых фотографий (http://www.flickr.com).

Панорамио - позволяет хранить фотографии и привязывать их к определенной точке местности, а также осуществлять поиск географических объектов с использованием сервиса Google Maps (http://www.panoramio.com)

Picasa – это бесплатная программа для работы с цифровыми фотографиями. При каждом запуске на автономном компьютере автоматически Picasa определяет местоположение фотографий на жестком диске и сортирует их в визуальные альбомы, упорядоченные по датам в которых фотографии можно редактировать, хранить, распечатывать, отправлять по электронной почте, создавать из них коллаж.. В 2004 г. была приобретена компанией Google, и в дальнейшем Picasa интегрирована с фотохостингом (http://picasa.google.com).

II.Презентации

Сервисы, позволяющие создавать веб-презентации, предоставляя следующие возможности:

Совместная работа нескольких пользователей над созданием одной презентации в режиме онлайн;

Хранение в виртуальном файл-менеджере готовых презентаций и библиотеки графических элементов, которые можно использовать в следующих презентациях;

Импортирование презентации в формате Power Point для ее дальнейшего просмотра как веб-презентации.

III.Видео

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

Пример: YouTube (Ютьюб) (http://youtube.com), RuTube (Рутьюб)

(http://rutube.ru/)

IV.Текстовые документы

Сервисы, предназначенные для: создания документов в режиме он-лайн, хранения этих документов, просмотра (чтения) в режиме он-лайн.

Например Google Docs (http://docs.google.com Þ Документы)

V.Карты знаний (ментальные карты, mind maps, интеллект-карты)

Сервисы, предназначенные для создания, хранения, просмотра и редактирования интеллект-карт в режиме он-лайн.

VI.Аудиозаписи, подкасты, интернет-радио

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

Подкасты – это аудиофайлы с использованием технологии RSS, чаще всего существующие в формате MP3.

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

Один из множества сайтов с подкастингами: http://www.podcastdepo.ru

5.Блоги

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

Популярные блог-хостинги:

Живой журнал ЖЖ (http://Livejournal.com);

Живой Интернет (http://Liveinternet.ru)

Блоги Google (http://www.blogger.com)

6.ВикиВики (WikiWiki)

Cредство для быстрого создания и редактирования коллективного гипертекста.

Достоинствами ВикиВики являются:

Например,

­Общероссийский образовательный проект Летописи.ру (http://letopisi.ru);

­Открытая всемирная энциклопедия ВикиПедия (на русском языке http://ru.wikipedia.org).

7.Социальные геосервисы

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

Примеры геосервисов:

WikiMapia (http://wikimapia.org)

Google Maps (http://www.google.ru/maps)

Google Earth (Google Планета Земля) (http://www.google.com/earth)

8.Обмен сообщениями

К таким сервисам относятся:

−Чат (англ. chat - болтать) - это средство обмена текстовыми сообщениями по компьютерной сети в режиме реального времени посредством мессенджеров - программ мгновенного обмена сообщениями (Mail.Ru Агент, ISQ, Skype)

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

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

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

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

Сервер - это модуль, который постоянно ожидает прихода из сети запросов от клиентов, и приняв запрос, пытается его обслужить, как правило, с участием локальной ОС; один сервер может обслуживать запросы сразу нескольких клиентов (поочередно или одновременно).

Пара клиент -сервер, предоставляющая доступ к конкретному типу ресурса компьютера через сеть, образует сетевую службу.

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

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

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

На схеме веб-службы, показанной на рис., два компьютера связаны не непосредственно, как это было во всех предыдущих примерах, а через множество промежуточных компьютеров и других сетевых устройств, входящих в состав Интернета. Для того чтобы отразить этот факт графически, мы поместили между двумя компьютерами так называемое коммуникационное облако, которое позволяет нам абстрагироваться от всех деталей среды передачи сообщений. Обмен сообщениями между клиентской и серверной частями веб-службы выполняется по стандартному протоколу HTTP и никак не зависит от того, перелаются ли эти сообщения «из рук в руки» (от интерфейса одного компьютера к интерфейсу другого) или через большое число посредников - транзитных коммуникационных устройств. Вместе с тем, усложнение среды передачи сообщений приводит к возникновению новых дополнительных задач, на решение которых не был рассчитан упоминавшийся ранее простейший драйвер сетевой интерфейсной карты. Вместо него на взаимодействующих компьютерах должны быть установлены более развитые программные транспортные средства.


Сетевая операционная система

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

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

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

Сегодня практически все операционные системы являются сетевыми.

Из примеров, рассмотренных в предыдущих разделах, мы видим, что удаленный доступ к сетевым ресурсам обеспечивается:

· сетевыми службами;

· средствами транспортировки сообщений по сети (в простейшем случае - сетевыми интерфейсными картами и их драйверами).

Следовательно, именно эти функциональные модули должны быть добавлены к ОС, чтобы она могла называться сетевой (рис.).

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

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

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

И сетевые службы, и транспортные средства могут являться неотъемлемыми (встроенными) компонентами ОС или существовать в виде отдельных программных продуктов. Например, сетевая файловая служба обычно встраивается в ОС, а вот веб-браузер чаще всего приобретается отдельно. Типичная сетевая ОС имеет в своем составе широкий набор драйверов и протокольных модулей, однако у пользователя, как правило, есть возможность дополнить этот стандартный набор необходимыми ему программами. Решение о способе реализации клиентов и серверов сетевой службы, а также драйверов и протокольных модулей принимается разработчиками с учетом самых разных соображений: технических, коммерческих и лаже юридических. Так, например, именно на основании антимонопольного закона США компании Microsoft было запрещено включать ее браузер Internet Explorer в состав ОС этой компании.

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

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

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

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

Сетевые приложения

Компьютер, подключенный к сети, может выполнять следующие типы приложений:

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

· Централизованное сетевое приложение целиком выполняется на данном компьютере. но обращается в процессе своего выполнения к ресурсам других компьютеров сети. Б примере на рисунке б приложение, которое выполняется на клиентском компьютере, обрабатывает данные из файла, хранящегося на файл-сервере, а затем распечатывает результаты на принтере, подключенном к серверу печати. Очевидно, что работа такого типа приложений невозможна без участия сетевых служб и средств транспортировки сообщений.

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

Очевидным преимуществом распределенных приложений является возможность распараллеливания вычислений, а также специализация компьютеров. Так, в приложении, предназначенном, скажем, для анализа климатических изменений, можно выделить три достаточно самостоятельные части (см. рис. 2.6, в), допускающие распараллеливание. Первая часть приложения, выполняющаяся на сравнительно маломощном персональном компьютере, могла бы поддерживать специализированный графический пользовательский интерфейс, вторая - заниматься статистической обработкой данных на высокопроизводительном мэйнфрейме, а третья - генерировать отчеты на сервере с установленной стандартной СУБД. В общем случае каждая из частей распределенного приложения может быть представлена несколькими копиями, работающими на разных компьютерах. Скажем, в данном примере часть 1, ответственную за поддержку специализированного пользовательского интерфейса, можно было бы запустить на нескольких персональных компьютерах, что позволило бы работать с этим приложением нескольким пользователям одновременно.

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

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

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

Многочисленные примеры распределенных приложений можно встретить и в такой области, как обработка данных научных экспериментов. Это не удивительно, так как многие эксперименты порождают такие большие объемы данных, генерируемых в реальном масштабе времени, которые просто невозможно обработать на одном, даже очень мощном, суперкомпьютере. Кроме того, алгоритмы обработки экспериментальных данных часто легко распараллеливаются, что также важно для успешного применения взаимосвязанных компьютеров с целью решения какой-либо общей задачи. Одним из последних и очень известных примеров распределенного научного приложения является программное обеспечение обработки данных большого адронного коллайдера (Large Hadron Collider, LHC), запущенного 10 сентября 2008 года в CERN - это приложение работает более чем на 30 тысячах компьютеров, объединенных в сеть.

CCS

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

Тарифы на интернет CCS

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

Особенности

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

Средства удаленного управления операционными системами UNIX, Windows NT и NetWare.

Когда говорят про удаленное управление, обычно имеют в виду платформы сетевого управления на базе протокола SNMP. Среди наиболее распространенных платформ можно назвать HP OpenView, Microsoft SMS, Novell ManageWise и др. Однако их возможности достаточно ограничены: они хорошо подходят для мониторинга сетевых устройств, но гораздо хуже - для непосредственного управления работой серверов и ОС. Так, с помощью платформы сетевого управления невозможно создать учетную запись пользователя, запустить на сервере программу, написать исполняемый сценарий и многое другое. Поэтому вместо «платформа управления» правильнее было бы употребить термин «платформа мониторинга».

Общеизвестно, что самое удобное средство администрирования сервера - это его консоль. (Операционная система NetWare представляет особый случай, который мы рассмотрим отдельно.) С консоли администратор может отслеживать любую активность на сервере, а также управлять ресурсами сетевой ОС. Однако администратор не всегда имеет возможность находиться за консолью UNIX или Windows NT.

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

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

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

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

ОПЕРАЦИОННЫЕ СИСТЕМЫ И АДМИНИСТРИРОВАНИЕ

Прежде чем говорить об удаленном управлении сетевыми ОС, мы кратко рассмотрим принципы администрирования самых популярных операционных систем: Windows NT, UNIX и NetWare. Пожалуй, самой мощной системой не только по функциональным параметрам, но и по возможностям администрирования является ОС UNIX. В UNIX ядро отделено от графической оболочки, при этом для работы сервера графическая оболочка не нужна, хотя и используется довольно часто. Интерактивное взаимодействие между пользователем и ОС осуществляется через командную оболочку shell. Она имеет несколько реализаций, причем особой популярностью пользуются Bourne shell (sh), C shell (csh), Korn shell (ksh) и Bourne again shell (bash). Каждая из командных оболочек имеет свой собственный язык программирования для написания программ-сценариев. Кроме того, UNIX славится богатейшим набором прикладных утилит, в том числе утилит сортировки, поиска, потокового редактирования, лексического анализа, обработки макросов, фильтров и множеством других. С помощью shell, системных утилит, прикладных программ и конвейеров UNIX позволяет создавать необычайно гибкие программы администрирования.

В UNIX используется графическая оболочка X Window System (X11). В отличие от подобных оболочек в составе Microsoft Windows и Apple MacOS, среда X11 является сетевой и отделена от ядра. Т. е. с точки зрения ядра система X11 представляет собой обычную пользовательскую программу. В рамках X11 любой компьютер UNIX (при наличии соответствующих прав) может выступать в качестве клиента или сервера X11. Следует иметь в виду, что, вразрез с общепринятой практикой, сервером X11 называют компьютер, на дисплее которого выводится изображение, а клиентом - машину, на которой запускается программа. Серверное ПО X11 существует для многих распространенных ОС, включая Windows, MacOS и др., тогда как клиентское ПО реализовано в основном на UNIX.

В современных UNIX для задач управления задействуют утилиты с тремя типами интерфейсов: командной строки, интерактивным текстовым и графическим. Тем не менее наиболее мощными и покрывающими все возможности ОС являются утилиты на базе командной строки. Подобные программы активно используются для выполнения повторяющихся операций вроде создания учетной записи пользователя или назначения прав доступа. Интерактивные текстовые и графические утилиты появились в составе UNIX сравнительно недавно, но из-за интерактивного характера общения выгода от их применения в составе программ на shell далеко неочевидна. Подобные утилиты применяются, главным образом, для эпизодических и тонких настроек ОС и оборудования. Таким образом, для администрирования UNIX подойдет любой эмулятор текстового терминала.

Несмотря на свое широкое распространение, Microsoft Windows NT не может тягаться с UNIX в вопросах администрирования. По удобству администрирования - да, но никак не по его возможностям. Как известно, графическая оболочка Windows неотделима от ядра системы. Хотя с точки зрения надежности это не лучший вариант, подобная реализация позволяет добиваться исключительно высоких показателей производительности на графических операциях. Другое дело, что на сервере NT проку от этого немного - назначение сервера состоит никак не в быстром выводе графической информации. Компания Microsoft фактически загнала пользователей в угол, предложив в качестве клиента (NT Workstation) и сервера (NT Server) по сути одну и ту же систему. Вдобавок, графическая среда Windows не является сетевой.

Для Windows NT имеется несколько утилит администрирования на базе командной строки. Однако их набор достаточно ограничен, к тому же возможности встроенного командного процессора не идут ни в какое сравнение с shell из UNIX. В комплекте с Windows NT Server поставляется также ряд программ удаленного управления пользователями, доменами, правами доступа и т. д. Такие программы можно инсталлировать на компьютеры Windows 9x и NT. Тем не менее многие сетевые приложения, особенно независимых разработчиков, не имеют средств удаленного управления. Поэтому для полноценного управления сетевой средой администратор вынужден садиться за консоль либо эмулировать консоль с помощью специализированных программ.

Структура управления NetWare кардинальным образом отличается от принятой в других сетевых ОС. Все операции настройки сервера, включая запуск приложений, осуществляются с консоли. В то же время, управление учетными записями, принтерами, файлами, службой каталогов NDS производится с клиентских мест. Правда, в последней версии NetWare 5 имеется единая консоль управления сетью ConsoleOne, с помощью которой администратор может управлять сетевыми ресурсами из любой точки сети, в том числе и с консоли. Однако возможности ConsoleOne пока слишком ограничены, да и работает она медленно, поскольку написана на Java. Вдобавок, доля NetWare 5 на рынке сетевых ОС пренебрежимо мала, так как основная часть сетей Novell создана на базе NetWare версий 4.x. Консоль NetWare работает в текстовом режиме (в NetWare 5 сервер поддерживает и графический режим), поэтому управление осуществляется с помощью программ с командной строкой и интерактивным текстовым интерфейсом. Командный язык NetWare достаточно слаб, но в составе ОС имеются интерпретаторы Basic и Perl, позволяющие создавать вполне серьезные программы. Входящая в состав NetWare программа удаленной консоли обеспечивает доступ к консоли сервера по сети с клиентских машин DOS, Windows, MacOS, UNIX.

Для управления NDS, учетными записями, принтерами, правами доступа и т. д. имеются графические и интерактивные текстовые программы, предназначенные для работы на клиентских местах. Число имеющихся утилит на базе командной строки невелико, а их возможности ограничены. Если говорить кратко, то с точки зрения управления NDS наиболее мощными возможностями обладают графические утилиты (и в первую очередь - NetWare Administrator), далее идут интерактивные текстовые программы (NETADMIN, PCONSOLE и др.) и лишь затем утилиты командной строки.

Рассмотрев основные особенности структуры управления сетевыми ОС, мы можем теперь перейти к знакомству с наиболее распространенными средствами удаленного управления.

TELNET

Пожалуй, самой известной программой удаленного управления UNIX является telnet, тем более что она входит в комплект поставки практически любой современной операционной системы. telnet представляет собой программу эмуляции терминала, использующую собственный протокол прикладного уровня TELNET. Для поддержки сервиса telnet на сервере должна быть запущена системная программа (называемая в UNIX демоном) telnetd, которая обрабатывает запросы клиентов telnet. Сервер telnet может обслуживать сразу несколько клиентов, при этом протокол TELNET использует в качестве транспортного протокол TCP (порт 23).

С помощью telnet можно управлять не только компьютерами UNIX, но и такими сетевыми устройствами, как маршрутизаторы, коммутаторы, серверы удаленного доступа и т. д. telnet можно использовать и для администрирования Windows NT (серверное ПО для этой службы имеется в виде нескольких бесплатных и коммерческих программ), но только в режиме командной строки. Telnet дает пользователю возможность со своего места подключаться к удаленному серверу и работать с ним в текстовом режиме. При этом для пользователя создается полная иллюзия, что он сидит за текстовым терминалом данного сервера.

Telnet прекрасно подходит для гетерогенных сетей, поскольку опирается на концепцию сетевого виртуального терминала (Network Virtual Terminal, NVT). Известно, что различные операционные системы и аппаратные средства имеют специфические особенности, связанные со вводом/выводом и обработкой информации. Так, в UNIX в качестве символа перехода на другую строку используется LF, в то время как в MS-DOS и Windows - пара символов CR-LF. Сетевой виртуальный терминал NVT позволяет абстрагироваться от особенностей конкретного оборудования за счет использования стандартного набора символов. Клиент telnet отвечает за преобразование кодов клиента в коды NVT, а сервер делает обратное преобразование (см. Рисунок 1).

Telnet предусматривает механизм конфигурирования параметров, при котором клиент и сервер могут договариваться об определенных опциях, в том числе о кодировке данных (7- или 8-битовая), режиме передачи (полудуплексный, посимвольный, построчный), типе терминала и некоторых других. Команды и данные в telnet передаются независимо друг от друга. Для этого с помощью специального кода telnet переводится из режима передачи данных в режим передачи команд, и наоборот. Команды - это информация, служащая для управления сервисом telnet, тогда как данные - это то, что вводится/выводится через драйверы терминала (клиента) или псевдотерминала (сервера).

Telnet является достаточно мощной программой удаленного управления, но у нее есть ряд принципиальных недостатков. Самый главный - в том, что все данные, включая пароли, передаются между компьютерами в открытом виде. Подключившись к сети, любой человек с помощью самого простого анализатора протокола может не только прочитать информацию, но даже завладеть паролем для несанкционированного доступа. В локальной сети вероятность таких атак можно уменьшить посредством применения коммутаторов (коммутирующих концентраторов). Конечно, в локальной сети широкомасштабное использование коммутаторов весьма накладно, но рабочие места администраторов лучше подключать через них. Однако при доступе через сеть Internet, в частности, когда администратор работает дома, проблема остается. Впрочем, можно организовать доступ к серверам через серверы удаленного доступа, применяя такие протоколы аутентификации, как CHAP, а не задействовать каналы связи провайдеров Internet. К сожалению, такой подход приемлем не для всех организаций.

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

Тем не менее, несмотря на указанные недостатки, telnet остается самой распространенной программой удаленного управления.

RLOGIN

Впервые появившаяся в составе 4.2BSD UNIX, программа rlogin одно время была исключительно популярной в среде UNIX. В качестве средства терминального доступа rlogin очень похожа на telnet, но из-за тесной интеграции с ОС нашла весьма ограниченное применение в других системах. В rlogin отсутствуют многие опции, свойственные telnet, в частности режим согласования параметров между клиентом и сервером: тип терминала, кодировка данных и т. д. Поэтому размер кода программы rlogin почти в десять раз меньше, чем у telnet. Однако rlogin предусматривает доверительные отношения между хостами: на сервере rlogin в специальных системных файлах (обычно /etc/hosts.equiv и $HOME/.rhosts) администратор может перечислить компьютеры, доступ с которых к данному серверу будет разрешен без пароля. Пользователи других компьютеров (не перечисленных в этих файлах) могут войти на сервер лишь после ввода пароля.

Другой вариант программы rlogin, известный как rsh, позволяет запускать программы на удаленной машине, причем ввод и вывод осуществляются на локальном компьютере. Еще одна программа - rcp - предназначается для копирования файлов между компьютерами сети. Утилиты rlogin, rsh и rcp часто объединяют под общим названием r-команд.

К сожалению, как показала практика, доверительные отношения на основе имен хостов представляют крайнюю опасность, поскольку открывают возможность для несанкционированного доступа. Широкое использование хакерами технологии подмены IP-адресов (IP-spoofing) и доменных имен (DNS-spoofing) делает сервис r-команд незащищенным. Это справедливо, даже когда доверительные отношения между хостами не установлены вовсе. Поэтому в настоящее время сервис rlogin нашел применение лишь в сетях, полностью закрытых от Internet. Так же, как и у telnet, данные и пароли (при отсутствии доверительных отношений) передаются в открытом виде.

Кроме того, клиентское ПО для r-команд на платформах DOS и Windows распространено меньше, чем для telnet, и в основном оно имеется только в составе достаточно дорогих коммерческих продуктов.

SECURE SHELL

Очевидно, что передача данных и особенно паролей по сети в открытом виде в программах telnet и rlogin не может удовлетворить даже минимальным требованиям к безопасности. Защитить информационные системы от атак злоумышленников можно несколькими способами. Некоторые из них предусматривают защиту паролей, тогда как другие направлены на шифрование всего потока информации. Среди последних наибольшей популярностью пользуется программа Secure shell (ssh), входящая в любой джентльменский набор для безопасного терминального доступа UNIX. Некоммерческую версию Secure shell можно загрузить с сервера автора программы Т. Ялонена (http://www.ssh.fi ). Однако бесплатная версия ssh имеется только для UNIX. Компания Data Fellows (http://www.datafellows.com ) поставляет коммерческий, усовершенствованный вариант ssh, в том числе для платформы Windows.

Secure shell предоставляет возможности, аналогичные имеющимся у telnet и r-команд, включая не только терминальный доступ, но и средства копирования между компьютерами. Но, в отличие от них, ssh обеспечивает также безопасное подключение по X11.

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

Как уже было сказано, Secure shell стал своего рода стандартом для безопасного доступа, в том числе и в России. Это весьма интересный продукт, о котором можно говорить очень долго. Однако мы этого делать не будем (более подробную информацию о Secure shell можно почерпнуть в статье М. Кузьминского «Ssh - повседневное средство безопасной работы» в журнале «Открытые системы» №2 за 1999 год). Все дело в том, что данный продукт так же, как многие подобные, запрещен для использования в России.

Согласно Указу Президента Российской Федерации № 334 от 03.04.95 физическим лицам и любым организациям, включая государственные, частные и акционерные, запрещена эксплуатация систем криптографии, не прошедших сертификации в ФАПСИ. А Secure shell является именно такой системой. Однако обижаться на наши спецслужбы не стоит - мы в мире не одни такие, в некоторых странах, например во Франции, правила еще более жесткие (справедливости ради стоит отметить, что во Франции с марта этого года ограничения в области систем шифрования значительно ослаблены). Не стоит также думать, что нам пытаются запретить защищать конфиденциальную информацию: организации не только могут, но и обязаны защищать важную информацию. Только для этого они должны применять сертифицированные средства, а не свободно распространяемые в Internet. Конечно, программы на основе ssh, SSL, PGP и т. п. распространены у нас повсеместно, но следует помнить, что их использование чревато немалыми неприятностями. Пользователи подобных программ потенциально подвергаются риску разбирательства со стороны спецслужб. Во всяком случае мы не имеем права и желания пропагандировать такой подход.

БЕЗОПАСНАЯ АУТЕНТИФИКАЦИЯ

В большинстве задач управления администраторов интересует не защита передаваемых данных, а надежная аутентификация пользователей, чтобы злоумышленник не мог перехватить и воспользоваться паролем администратора. Решений может быть несколько. Прежде всего, это технология Kerberos, основанная на выдаче мандатов (ticket). (На самом деле, Kerberos обеспечивает не только аутентификацию, но и шифрование сетевых коммуникаций, что, опять же, подпадает под действие Указа Президента.) Правда, из-за экспортных ограничений правительства США механизм шифрования значительно ослаблен. В корпоративных системах коммутируемого доступа могут использоваться такие надежные сервисы аутентификации, как RADIUS, TACACS+ и XTACACS. Но все эти службы (включая Kerberos) подразумевают широкомасштабную перекройку сетевой инфраструктуры, влекущую за собой большие затраты. Вряд ли это оправдано, если круг задач удаленного доступа ограничен лишь проблемами управления сетевыми ОС.

Для таких задач больше подходят средства поддержки одноразовых паролей (One-Time Password, OTP). Суть подобных систем состоит в том, что передаваемый по сети пароль пользователя действителен в течение только одного сеанса связи. Т. е. даже если злоумышленнику удалось перехватить пароль, то воспользоваться им он не сможет, поскольку при следующем сеансе пароль будет уже изменен.

Чтобы задействовать OTP на сервере, демоны telnet, rlogin, ftp придется заменить (разумеется, новые сервисы можно запускать выборочно, например использовать модернизированный telnetd, но оставить «родной» ftpd). При этом клиентское ПО обновлять не нужно, что очень удобно. Впервые работоспособная система OTP была выпущена компанией Bell Core (сейчас Telcordia Technologies) в 1991 году под названием S/Key. Важной особенностью S/Key является то, что вначале это был некоммерческий продукт, работающий со множеством версий UNIX. Сейчас наиболее популярными являются следующие версии систем OTP (все они, кроме S/Key версии 2.0 и выше, распространяются бесплатно):

  • S/Key компании Telcordia Technologies (ftp://ftp.bellcore.com);
  • OPIE исследовательской лаборатории ВМС США (ftp://ftp.nrl.navy.mil);
  • LogDaemon, разработанный Виетсе (ftp://ftp.porcupine.org/pub/security).

Перечисленные системы обратно совместимы с S/Key 1.0. Текущие реализации OTP основаны на алгоритмах хэширования MD4 и MD5 (в S/Key 1.0 использовался исключительно MD4).

Как работают системы OTP? При инициализации OTP на сервере каждый пользователь назначает два параметра: секретный ключ (он не передается по сети) и количество итераций, т. е. количество входов в систему, при которых будет действовать этот секретный ключ. На сервере к секретному ключу применяется алгоритм MD4 или MD5, а хэшированное значение запоминается. После этого пользователь может работать с сервером по сети через обычные telnet, ftp и т. д.

Аутентификация пользователя при терминальном доступе осуществляется следующим образом. После ввода имени пользователя ему выдается номер очередной итерации и некий источник (seed). Начало процедуры аутентификации пользователя показано на Рисунке 2. Здесь номер итерации равен 967, а источник - jar564. В поле Password пользователь должен ввести не свой секретный ключ, а парольную фразу, состоящую из шести слов. Эта фраза формируется на основе секретного ключа, номера итерации и источника с помощью специального калькулятора (см. Рисунок 3). Для получения парольной фразы пользователь вводит номер итерации, источник и свой секретный ключ (в приводимом примере итоговая парольная фраза имеет вид: «NO HUFF ODE HUNK DOG RAY»).

Затем парольная фраза вводится в поле Password программы терминального доступа, после чего пользователь идентифицируется сервером. Следует иметь в виду, что при следующей аутентификации номер итерации уменьшится на единицу, источник не изменится, а парольная фраза будет совершенно иной. Таким образом, перехват парольной фразы злоумышленнику ничего не даст, так как при попытке регистрации система его не идентифицирует. Главным компонентом безопасности является секретный ключ, а он никогда не передается по сети. Из-за использования алгоритмов MD4 и MD5 вычислить секретный ключ по парольной фразе, номеру итерации и источнику практически невозможно.

При достижении номером итерации нулевого значения учетную запись пользователя необходимо инициализировать заново.

Может показаться, что основным неудобством для пользователя является калькулятор. Но это не совсем так, поскольку калькулятор представляет собой очень небольшую программу, не требующую каких-либо настроек. Такие калькуляторы свободно распространяются для всех популярных платформ, включая MS-DOS, Windows, Macintosh и UNIX. Более того, парольные фразы можно запомнить (или записать) заранее, на несколько сеансов терминального доступа вперед, последовательно уменьшая номер итерации. Таким образом, для удаленного управления сервером администратору нет необходимости устанавливать калькулятор на все клиентские места, на которых ему, возможно, придется работать.

X WINDOW SYSTEM

Хотя практически все задачи управления UNIX могут выполняться в текстовом режиме, администраторы нередко предпочитают графический интерфейс, как более удобный. Вдобавок, некоторыми появившимися на рынке приложениями UNIX можно управлять только в графической среде. Программное обеспечение X-server, отвечающее за вывод графической информации, имеется для множества платформ, включая DOS, Windows, Macintosh, UNIX и т. д. Однако в большинстве случаев (за исключением UNIX) оно поставляется вместе с дорогими коммерческими продуктами. В качестве клиентов X11 (как уже было подчеркнуто, понятие клиента и сервера в X Window System не соответствует общепринятой практике) используются, главным образом, серверы UNIX.

Следует иметь в виду, что применение X Window System предполагает наличие достаточно большой пропускной способности сети. Система прекрасно работает в локальных сетях, но очень медленно - по глобальным каналам. Поэтому при использовании X Window System на домашнем компьютере администратора управление лучше осуществлять через терминальные утилиты наподобие xterm, а не посредством графических утилит.

При подключении к серверу UNIX (на котором запускаются клиенты X11) аутентификация может осуществляться двумя методами: через терминальные утилиты (telnet, rlogin и т. п.) и через менеджер дисплеев X (X Display Manager, xdm). В первом варианте передачи пароля в открытом виде можно избежать, применяя вместо telnet и rlogin уже упоминавшиеся программы ssh и OTP. В случае X Display Manager пароли по умолчанию передаются в открытом виде. Поэтому при удаленном управлении сервером UNIX по общедоступным сетям xdm пользоваться не стоит.

Очень осторожно администраторы должны подходить к вопросу использования сервера UNIX в качестве сервера X (т. е., говоря понятным языком, к запуску графической оболочки X11 на сервере UNIX). X Window System устроена так, что пользователь может со своей машины запустить клиента X на удаленном сервере X и перехватывать на нем ввод/вывод информации. В результате злоумышленник получает возможность считывать конфиденциальную информацию с сервера X, включая пароли, вводимые пользователем на сервере X (хотя эмулятор терминала xterm позволяет блокировать перехват пароля, этой возможностью редко кто пользуется).

На серверах X применяются две схемы аутентификации клиентов: по имени хоста и с помощью «магических плюшек» (MIT-MAGIC-COOKIE-1). При аутентификации по имени хоста на сервере X создаются системные файлы, где перечисляются хосты, откуда разрешено запускать клиентские программы X на данном сервере X. Но подобную защиту никак не назовешь достаточной, так как с помощью подмены IP-адресов или доменных имен злоумышленник может провести атаку на X11. При использовании же схемы «магических плюшек» (их поддержка встроена в протокол XDMCP, на основе которого функционирует X Display Manager) аутентификация осуществляется на основании учетных записей пользователей. Чтобы иметь право запустить клиента на сервере X, пользователь в своем домашнем каталоге машины-клиента X11 должен иметь системный файл с записанным секретным кодом сервера X. Этот секретный код и называется магической плюшкой. Беда только в том, что плюшка передается по сети в открытом виде, поэтому данный метод также вряд ли можно считать безопасным.

В X Window System 11 Release 5 добавлены еще две схемы (XDM-AUTHORIZATION-1 и SUN-DES-1), напоминающие схему MIT-MAGIC-COOKIE-1, но использующие алгоритм шифрования DES. Однако из-за экспортных ограничений такие схемы в комплект поставки X Window System не включают. Исходя из вышеприведенных соображений, запускать серверное ПО X11 на сервере UNIX можно лишь в том случае, когда запрещен доступ клиентов X11 с других компьютеров.

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

WINDOWS NT SERVER

При инсталляции Microsoft Windows NT Server предполагается, что администрирование ОС будет осуществляться с консоли сервера. Тем не менее комплект NT Server содержит и утилиты удаленного управления. Они находятся на дистрибутиве Windows NT Server в каталоге \Clients\Srvtools. Эти утилиты можно установить как на Windows NT Workstation, так и на Windows 9x (см. Рисунок 4). С их помощью можно выполнять администрирование учетных записей пользователей и групп, прав и привилегий, доменов NT, контролировать журналы событий на серверах и рабочих станциях. Утилиты работают в графическом режиме, аналогично «родным» утилитам управления NT Server. Хотя утилиты удаленного управления позволяют выполнять большую часть работ по администрированию системы, в данном наборе отсутствует ряд важных программ. Например, с их помощью невозможно осуществлять аппаратную настройку сервера, резервное копирование, управление лицензиями, мониторинг производительности и т. д. Вдобавок, немало серверных приложений третьих фирм не имеют никаких программ удаленного управления.

В комплект Windows NT Server Resource Kit, поставляемый компанией Microsoft, входит ряд дополнительных программ администрирования, в том числе на базе командной строки. Наиболее важными из них являются ADDUSER.EXE (создание новых учетных записей пользователей и групп), CACLS.EXE (управление правами доступа), DUMPEL.EXE (вывод на экран или в файл информации о событиях из журналов событий), RMTSHARE (управление сетевыми ресурсами). Используя даже слабый командный процессор NT, администратору не составит труда написать типовую программу создания новой учетной записи с автоматическим назначением прав и привилегий.

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

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

В первую очередь, я хотел бы отметить продукты WinFrame компании Citrix и Windows Terminal Server (WTS) компании Microsoft. В соответствии с архитектурой этих продуктов, приложения выполняются на сервере NT, а ввод/вывод информации осуществляется на клиентских компьютерах. По утверждению их производителей, WinFrame и WTS приемлемо работают уже на скоростях 28 Кбит/с, поэтому управлять серверами можно даже из дома. Для использования этих средств на сервере NT необходимо разместить серверную часть ПО, а на рабочих местах администраторов - клиентское ПО. WinFrame и WTS не передают пароли в открытом виде.

Справедливости ради стоит сказать, что для задач администрирования подобные решения оказываются избыточны. Технология WinFrame и WTS подразумевают подключение к серверу нескольких клиентов. (Обычно же администратору достаточно, чтобы доступ к серверу имел лишь он один.) Из-за этого решения на базе указанных продуктов довольно дороги. Например, подключение клиента к серверу WinFrame обойдется в сумму от 200 до 400 долларов, что очень накладно, поскольку в организации может быть не один сервер и не один администратор.

Более подходящими, на мой взгляд, для удаленного администрирования являются специализированные пакеты удаленного управления, такие, как pcANYWHERE компании Symantec и ReachOut компании Stac. При использовании таких продуктов содержимое экрана сервера NT дублируется на дисплее локального компьютера, ввод информации осуществляется с клавиатуры (и мыши) локального компьютера и передается на удаленный (в данном случае - на сервер NT). Все выглядит так, как будто администратор сидит за консолью сервера. pcANYWHERE и другие подобные продукты неплохо функционируют не только в локальной сети, но и по медленным коммутируемым линиям. Однако они имеют ограничение на количество одновременных подключений к серверу (обычно лишь одно подключение). Продукты категории pcANYWHERE имеют встроенные средства шифрования, поэтому возможность перехвата пароля маловероятна.

Общими недостатками средств удаленного управления Windows NT является необходимость установки на клиентские места администраторов дополнительных программных продуктов.

NETWARE

Из-за своеобразия архитектуры Novell NetWare проблемы удаленного доступа к консоли следует отделить от проблем управления ресурсами сети.

Управление учетными записями пользователей, групп, объектами NDS, правами доступа в NetWare осуществляется с клиентских мест, поэтому администрирование изначально является удаленным. Тем не менее администраторы могут столкнуться с одним препятствием: до пятой версии NetWare основным сетевым протоколом был IPX/SPX. Это создавало и создает большие проблемы при управлении серверами NetWare через Internet. Если администратор должен иметь возможность управления сетевой ОС с домашнего компьютера, то ему стоит подумать о подключении к локальной сети через сервер удаленного доступа, поддерживающий протоколы IPX/SPX. К счастью, большинство аппаратных серверов поддерживают такой режим.

Однако затраты на создание необходимой инфраструктуры могут оказаться неприемлемыми, поэтому нередко домашние компьютеры администраторов подключаются к локальной сети через Internet. В такой ситуации можно предложить следующий вариант: установить на один из компьютеров локальной сети программу pcANYWHERE (или аналогичную), а управление сетью с домашнего компьютера осуществлять через это промежуточное звено. Такой подход, кстати, может оказаться и более привлекательным с точки зрения производительности, поскольку по коммутируемым каналам связи программы управления сетью (особенно NetWare Administrator) работают очень медленно. Еще один способ - модернизировать NetWare до пятой версии (или инсталлировать NetWare/IP).

Что касается удаленного доступа к консоли, то в состав NetWare входит утилита Rconsole для доступа к консоли с рабочей станции сети. Однако у нее есть два ограничения: во-первых, пароль консоли передается в открытом виде, во-вторых, в качестве протокола используется IPX/SPX. Избежать передачи паролей в открытом виде позволяют утилиты независимых производителей, реализующие безопасный удаленный доступ к консоли. Среди них наибольшей известностью пользуется коммерческая программа SecureConsole for NetWare компании Protocom Development Systems (http://www.serversystems.com ). При доступе она задействует зашифрованный пароль администратора.

Как и в других случаях, препятствие в виде протоколов IPX/SPX можно устранить за счет применения программ типа pcANYWHERE (т. е. использовать один из компьютеров локальной сети в качестве передаточного звена). Еще один способ состоит в применении программы xconsole, реализующей доступ к консоли через X Window System, т. е. по TCP/IP. Написанная на Java утилита удаленного доступа RConsoleJ в составе NetWare 5 также использует в качестве транспорта TCP/IP. Однако программами xconsole и RConsoleJ пароль передается в открытом виде. Подводя итоги, можно сказать, что для удаленного управления NetWare рекомендуется использовать специализированные средства наподобие pcANYWHERE.

ТЕХНОЛОГИЯ WEB

Технология Web оказывает все большее влияние на средства управления сетевой средой. Уже сейчас многие маршрутизаторы, коммутаторы, сетевые принтеры допускают управление через браузеры Web. Но список этот далеко не исчерпывается ими, Web вторгается и в сферу управления сетевыми ОС. Вначале из Web можно было управлять лишь серверами HTTP и FTP, но этот список постоянно расширяется и охватывает теперь СУБД, файловые системы, межсетевые экраны, сетевые службы DNS, DHCP и многое другое. Даже службой каталогов NDS можно управляться через браузеры с помощью специальных коммерческих программ. Несмотря на вышеизложенное, до полноценного управления всей сетевой средой технологии на базе Web еще не доросли. Проблему обостряет и то, что для многих приложений и, особенно, сетевых устройств пароль по HTTP передается в открытом виде.

ЗАКЛЮЧЕНИЕ

При организации удаленного управления серверами необходимо принимать во внимание множество факторов, в первую очередь, характеристики сетевой ОС, производительность линий связи, вопросы безопасной аутентификации. Наиболее полный набор средств управления предоставляет UNIX, однако, при грамотном подходе, администраторам Windows NT и NetWare также нет основания для беспокойства.

Понравилась статья? Поделитесь ей
Наверх