Файл: Модель клиент-сервер (Основы модели «Клиент-сервер).pdf

ВУЗ: Не указан

Категория: Курсовая работа

Дисциплина: Не указана

Добавлен: 27.06.2023

Просмотров: 52

Скачиваний: 3

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

Также нашли свое применение JavaScript, VBScript, SGML, HTML, XML и другие языки, ориентированные на описание структур документов.

4. Технология «Клиент-сервер» применительно к Intranet

Для реализации всех достоинств глобальной сети в пределах сети организации, при этом обеспечивая секретность внутренней информации разработали Intranet.[21]

Intranet - частная компьютерная сеть, являющаяся внутренней web-системой, локализованной в пределах одной организации, в которой используются стандарты и протоколы Internet (сервисы Web, TCP/IP, http, протоколы связи и HTML – страницы). Другими словами, Intranet – это частная, защищенная внутрикорпоративная сеть, при построении которой используются технологии Internet, доступная только сотрудникам организации, причем независимо от их физического местонахождения, ведь для доступа в Intranet сети используется Internet как транспорт

Термин «Intranet» впервые появился 19 апреля 1995 году в журнале DigitalNews&Review.

Для преобразования локальной или региональной компьютерной сети в Intranet не потребуется распродавать старое оборудование, можно обойтись уже существующими ресурсами.

Архитектура Intranet основана на архитектуре «Клиент-сервер»

В качестве клиентских программ используются браузеры. При изменениях функциональности корпоративной информационной системы обновление клиентского ПО не требуется. Web-сервер выступает в качестве сервера приложений. Клиент и сервер взаимодействуют обычно по локальной сети, где есть выход в Internet через брандмауэр. Брандмауэром (firewall) – это компьютер с установленным на нем специальном программным обеспечением, позволяющим:

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

- аудит и протоколирование вхождений - запись, кто, когда и зачем входил во внутреннюю сеть;

- криптографию - шифрование секретной информации.

- экранирование - возможность односторонней передачи данных.

Рис. 8 – Простейшая схема Intranet с архитектурой «Клиент – сервер»

Наличие диалоговых свойств в HTML и интерфейса CGI позволяет строить Internet-приложения с доступом к БД. Наиболее распространена схема динамической публикации отчетов. При этом в качестве CGI-процедуры используется параметризуемый генератор отчетов. Однако это не единственная схема, возможно применять программы ввода и обновления информации в БД. [22]


Если используются традиционные статичные страницы гипертекста, то в ответ на запрос клиента Web-сервер передает страницу в формате HTML. При работе с базой данных клиент указывает в форме программу или сценарий для запуска на сервере. Серверная процедура получает введенные пользователем данные, формирует и передает SQL-запрос (определяющий логику управления данными) и, возможно, данные к СУБД. Сервер БД по запросу выполняет обновление, вставку, удаление или выборку записей из БД. CGI-процедура преобразует полученные результаты в формат HTML или в формат диалоговых переменных. Затем Web-сервер посылает полученную HTML-cтраницу или значения диалоговых переменных браузеру для отображения. [23]

Использование CGI-процедур имеет ряд недостатков – статичное представление информации, преобразование результата-отчета в HTML-файл, отсутствие динамического просмотра изменения информации в базе данных, процедура «не помнит состояний запросов» – каждое обращение к БД требует повторного установления соединения. Кроме того, такой принцип работы перегружает коммуникационную среду и имеет системные издержки при запуске серверных процессов.

Для устранения недостатков CGI используют возможности специальных API для Web-серверов и включают дополнительное «релейное» звено в архитектуру. Все это только подталкивает к дальнейшему совершенствования архитектуры «Клиент-сервер».

Intranet имеет пять основных функций:

- электронная почта;

- совместное использование файлов;

- каталогизация;

- кросс-платформенная совместимость; 

- поиск и управление сетью. [24]

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

Основные достоинства Intranet:

-универсальность;

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

-прозрачная интеграция;

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

-гибкость;

Web, как средство доступа к базам данных и приложениям, меняет традиционное отношение к архитектуре «Клиент – сервер». Используя браузер, как средство доступа к корпоративной сети, пользователь получает единый инструмент для работы с базами данных, приложениями и различными другими службами.


-ценовая эффективность;

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

- безопасность;

Используя гибкие и мощные механизмы защиты можно построить Intranet-сеть той степени защищенности, которая необходима.

-высокая производительность.

Для достижения такого уровня производительности в сети используется один из основополагающих принципов построения Intranet - наращиваемость. [25]

Недостатки Intranet:

- легкий доступ к корпоративным данным может спровоцировать их утечку к конкурентам через недобросовестного работника;

- работоспособность и гибкость Интранет требуют значительных накладных расходов на разработку и администрирование;

- Intranet, как и любая сеть может быть взломана и использована в корыстных целях.

5. Защита архитектуры «Клиент-сервер»

Принято разделять классическую и многозвенную архитектуру клиент-сервер. В первом случае имеется выделенный сервер, который полностью обрабатывает запросы некоторого количества клиентов. Типичным примером такого сервера является сервер баз данных. Такой подход требует высоких аппаратных затрат для оборудования сервера. Должна также обеспечиваться бесперебойная работа самого сервера, что требует очень серьезного подхода к его администрированию и разработке ПО для него. Во втором случае существует несколько серверов, которые дифференцируются по своим функциям, причем каждый из них может выступать как сервером, так и клиентом. Обычно эти промежуточные серверы называются серверами приложений, так как с ними взаимодействует прикладное ПО. Эти серверы обслуживают ограниченное количество различных запросов, которые определяются необходимостью работы конкретных приложений. В сложной системе серверы приложений маршрутизируют свои запросы к разным главным серверам, оптимально распределяя их загрузку. Одним из примеров многозвенной архитектуры может служить Web-сервер, который используется для доступа клиентов к базе данных с помощью Web-браузера.[26]


Список наиболее очевидных угроз в архитектуре клиент-сервер выглядит следующим образом:

1) пассивный перехват передаваемых запросов;

2) модификация (активный перехват) передаваемых запросов;

3) пассивный перехват ответов клиенту;

4) модификация ответов клиенту;

5) выдача злоумышленником себя за определенный сервер;

6) выдача злоумышленником себя за определенного клиента;

7) перегрузка сервера выдачей большого числа случайных запросов, что может привести к отказу обслуживания новых клиентов;

8) случайные сбои и ошибки функционирования аппаратуры и программных элементов сервера;

9) злоумышленные действия зарегистрированных клиентов;

10) другие виды атак на ПО сервера.[27]

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

а) клиент - его аппаратная платформа, базы данных и программное обеспечение (в том числе и операционные системы);

б) сервер - его аппаратная платформа, средства администрирования, управления передачей данных и другое программное обеспечение;

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

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

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

Распределенная система имеет несколько точек входа, через которые осуществляется доступ к данным. Это могут быть файл-серверы, рабочие станции и серверы БД. Чем больше в системе таких входов, тем острее проблема безопасности. Открытая архитектура систем клиент-сервер предполагает, что пользователи имеют возможность делать с БД все, что угодно, т.е. не только читать данные, но и модифицировать ее структуру, дописывая новые таблицы, хранимые процедуры и пр.[28]


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

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

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

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

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

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