Полезное:
Как сделать разговор полезным и приятным
Как сделать объемную звезду своими руками
Как сделать то, что делать не хочется?
Как сделать погремушку
Как сделать так чтобы женщины сами знакомились с вами
Как сделать идею коммерческой
Как сделать хорошую растяжку ног?
Как сделать наш разум здоровым?
Как сделать, чтобы люди обманывали меньше
Вопрос 4. Как сделать так, чтобы вас уважали и ценили?
Как сделать лучше себе и другим людям
Как сделать свидание интересным?
Категории:
АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника
|
Защита архитектуры клиент/сервер
В основе общения с сетью Internet лежит технология клиент/сервер. Определений архитектуры клиент/сервер очень много. В общем случае это такой способ проектирования информационной системы, при котором она может быть рассмотрена как совокупность некоторого числа подсистем двух видов — клиентской и серверной. Клиентская часть системы инициирует запросы, а серверная обрабатывает запросы и при необходимости генерирует ответы клиенту. Принято разделять классическую и многозвенную архитектуру клиент/сервер. В первом случае имеется выделенный сервер, который полностью обрабатывает запросы некоторого числа клиентов. Типичным примером такого сервера является сервер баз данных. Такой подход требует высоких аппаратных затрат для оборудования сервера. Также должна обеспечиваться бесперебойная работа самого сервера, что требует очень серьезного подхода к его администрированию и разработке ПО для него. Чтобы устранить эти и некоторые другие недостатки, была создана многозвенная модель. В этом случае существует несколько серверов, которые дифференцируются по своим функциям, причем каждый из них может выступать как сервером, так и клиентом. Обычно эти промежуточные серверы называются серверами приложений, так как с ними взаимодействует прикладное ПО. Эти серверы обслуживают ограниченное число различных запросов, которые определяются необходимостью работы конкретных приложений. В сложной системе серверы приложений маршрутизируют свои запросы к разным главным серверам, оптимально распределяя их загрузку. Одним из примеров многозвенной архитектуры может служить Web-сервер, который используется для доступа клиентов к базе данных с помощью Web-браузера. Сервером приложений является сам Web-сервер, а главным сервером служит сервер баз данных. Выбирать многозвенную архитектуру следует в тех случаях, когда в системе присутствует большое число клиентов, система должна легко масштабироваться, возможны частые изменения логики функционирования системы и т.п. Список наиболее очевидных угроз в архитектуре клиент/сервер выглядит следующим образом: · пассивный перехват передаваемых запросов; · модификация (активный перехват) передаваемых запросов; · пассивный перехват ответов клиенту; · модификация ответов клиенту; · выдача злоумышленником себя за определенный сервер; · выдача злоумышленником себя за определенного клиента; · перегрузка сервера выдачей большого числа случайных запросов, что может привести к отказу обслуживания новых клиентов; · случайные сбои и ошибки функционирования аппаратуры и программных элементов сервера; · злоумышленные действия зарегистрированных клиентов; · другие виды атак на ПО сервера. Защите подлежат все составляющие данной архитектуры: · клиент - его аппаратная платформа, базы данных и программное обеспечение (в том числе и операционные системы); · сервер - его аппаратная платформа, средства администрирования, управления передачей данных и другое программное обеспечение; · оборудование и обеспечение линий связи, соединяющее клиентов и серверы. Защита в двух указанных типах архитектур клиент/сервер различается. В первом случае основные средства безопасности должны помещаться на сервере, обладать повышенной отказоустойчивостью и иметь возможность обслуживать большое число клиентов. На клиентском месте средства безопасности, в основном, не должны допускать проникновение защищаемой информации во внешний мир, а также обеспечивать проверку подлинности сервера. В многозвенной архитектуре средства безопасности должны быть размещены на серверах приложений, а в случае необходимости — на главных серверах (если каналы связи между различными серверами проходят по физически незащищенной зоне). Часто удобно создавать отдельно выделенный сервер безопасности как специальный тип сервера приложений. Открытые системы клиент/сервер подкупают администраторов ИС исключительно простым доступом к корпоративной информации, но обескураживают сложностью решения задач защиты данных в связи с разнородностью вычислительных компонентов - аппаратныхплатформ, ОС, СУБД и прикладного ПО. Когда закрытая хост-система интегрируется с интрасетью и серверами баз данных, ее пользователи страдают не столько от недостатка средств защиты, сколько от их избытка и несовместимости. В дополнение к собственным средствам защиты для мэйнфреймов появляются системы защиты мониторов транзакций, интрасетей И серверов БД. В таких условиях был бы весьма эффективен продукт, выполняющий функции "зонтика безопасности" над всей компьютерной системой. К сожалению, подобного продукта на рынке пока нет. Проблема не только в том, чтобы добиться согласованной работы средств защиты различных звеньев, но и упростить жизнь рядовых пользователей, дабы не заставлять их в поисках нужных данных продираться через множество заградительных кордонов. В распределенных вычислительных средах, в отличие от централизованных, решение проблемы безопасности усложняется, что обусловлено рядом факторов. Распределенная система имеет несколько точек входа, через которые осуществляется доступ к данным. Это могут быть файл-серверы, рабочие станции и серверы БД. Чем больше в системе таких входов, тем острее проблема безопасности. Открытая архитектура систем клиент/сервер предполагает, что пользователи имеют возможность делать с БД все, что угодно, т.е. не только читать данные, но и модифицировать ее структуру, дописывая новые таблицы, хранимые процедуры и пр. Уровень защиты всей системы определяется степенью защиты ее самого уязвимого звена, которым, как правило, являются включенные в сеть персональные компьютеры. Многие производители СУБД, стараясь облегчить жизнь конечных пользователей, перекладывают функции контроля доступа к данным на ОС. Основная идея сводится к минимизации средств защиты в случае доступа к данным с Unix-машины, исходя из того, что в ОС Unix реализована надежная защита информации. Распределенная система нередко состоит из нескольких баз данных, расположенных на разных серверах. БД каждого сервера, являясь составной частью одной общей БД, в то же время функционирует самостоятельно и должна иметь свой собственный механизм безопасности. Бывает, что данные из одной таблицы хранятся на разных физических устройствах, т.е. информация фрагментирована. Здесь возможны два варианта: информация хранится по строкам или по столбцам. Маршрут доступа к данным программируется посредством задания связей между хранимой по фрагментам информации: указываются реквизиты пользователя (регистрационное имя и пароль), тип сетевого протокола и имя БД. К сожалению, все эти параметры приходится описывать в тексте сценариев. Чтобы засекретить указанную информацию, пароли можно хранить в словаре данных в зашифрованном виде. Наличие нескольких внутренних БД в распределенной системе, с одной стороны, усложняет проблему безопасности, а с другой - упрощает ее. Поскольку любая БД администрируется автономно, для каждой из них можно реализовать свой собственный способ защиты. Кроме того, в такой архитектуре легко изолировать и обслуживать конфиденциальную информацию. Когда хакер взламывает защиту БД, он получает доступ к содержимому только одной БД, а не ко всей системе в целом. Для планирования общей системы защиты в распределенной среде полезно наметить уровни обороны. Чтобы добраться до данных, например, с помощью штатных программ администрирования, пользователю необходимо сначала попасть в компьютер (уровень защиты рабочей станции), потом в сеть (сетевой уровень защиты), а уж затем на сервер БД. При этом оперировать конкретными данными пользователь сможет лишь при наличии соответствующих прав доступа (уровень защиты СУБД). Для работы с БД через клиентское приложение придется преодолеть еще один барьер - уровень защиты приложения. Система защиты должна предоставлять разные уровни доступа к данным: от самого простого (и распространенного), когда всем уполномоченным пользователям предоставляется возможности чтения всех таблиц БД с неконфиденциальной информацией, до наиболее сложного, при котором доступ к данным организован на уровне отдельных строк или столбцов таблиц. Между двух полюсов лежат промежуточные уровни: выборочное чтение и выборочная модификация. В первом случае пользователи могут только просматривать, а во втором - просматривать и редактировать записи из ограниченного списка таблиц, который заранее определяется администратором системы. Более четко принципы создания защищенных средств связи объектов в распределенных системах могут быть сформулированы следующим образом: · Взаимодействие между объектами должно осуществляться по физически выделенному каналу. · Надо заранее предусмотреть ситуацию, когда все сообщения, передаваемые по каналу связи, могут быть перехвачены. Но, это не должно нарушить безопасность системы в целом или привести к минимальным отрицательным последствиям. · Взаимодействие объектов должно быть организовано по виртуальному каналу связи. · Для создания виртуального канала рекомендуется использование криптоалгоритмов с открытым ключом (цифровая подпись сообщений и их шифрование). · На сетевом уровне должен быть обеспечен контроль за маршрутом сообщений для аутентификации адреса отправителя. · Для обеспечения доступности всех сетевых ресурсов должен осуществляться контроль за виртуальными соединениями — как при их создании, так и при использовании. · Полезно руководствоваться принципом, согласно которому наиболее безопасна та система, в которой информация о ее объектах · изначально полностью определена и в которой не используются алгоритмы удаленного поиска. · Использование алгоритмов удаленного поиска лучше всего организовать с выделенного сервера, взаимодействие с которым осуществляется только по виртуальному (а не широковещательному) каналу с применением надежных алгоритмов защиты соединения с обязательным использованием статической ключевой информации. Date: 2016-08-30; view: 862; Нарушение авторских прав |