Защита системы управления базами данных

Автор работы: Пользователь скрыл имя, 14 Марта 2012 в 10:19, доклад

Краткое описание

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

Содержимое работы - 1 файл

Защита СУБД.docx

— 78.75 Кб (Скачать файл)
    • роль (высший приоритет)
    • пользователь
    • группа
    • PUBLIC (низший приоритет)

3.7. Метки безопасности  и принудительный контроль доступа

Выше были описаны средства произвольного управления доступом, характерные для уровня безопасности C. Они в принципе достаточны для подавляющего большинства коммерческих приложений. Тем не менее, они не решают одной весьма важной задачи - задачи слежения за передачей информации. Средства произвольного управления доступом не могут помешать авторизованному пользователю законным образом получить секретную информацию и затем сделать ее доступной для других, неавторизованных пользователей. Нетрудно понять, почему это так. При произвольном управлении доступом привилегии существуют отдельно от данных (в случае реляционных СУБД - отдельно от строк реляционных таблиц). В результате данные оказываются "обезличенными", и ничто не мешает передать их кому угодно даже средствами самой СУБД. 
В "Критериях оценки надежных компьютерных систем", применительно к системам уровня безопасности B, описан механизм меток безопасности, реализованный в версии INGRES/Enhanced Security (INGRES с повышенной безопасностью). Применять эту версию на практике имеет смысл только в сочетании с операционной системой и другими программными компонентами того же уровня безопасности. В СУБД INGRES/Enhanced Security к каждой реляционной таблице неявно добавляется столбец, содержащий метки безопасности строк таблицы. Метка безопасности состоит из трех компонентов:

    • Уровень секретности. Смысл этого компонента зависит от приложения. В частности, возможен традиционный спектр уровней от "совершенно секретно" до "несекретно".
    • Категории. Понятие категории позволяет разделить данные на "отсеки" и тем самым повысить надежность системы безопасности. В коммерческих приложениях категориями могут служить "финансы", "кадры", "материальные ценности" и т.п. Ниже назначение категорий разъясняется более подробно.
    • Области. Является дополнительным средством деления информации на отсеки. На практике компонент "область" может действительно иметь географический смысл, обозначая, например, страну, к которой относятся данные.

Каждый пользователь СУБД INGRES/Enhanced Security характеризуется степенью благонадежности, которая также  определяется меткой безопасности, присвоенной  данному пользователю. Пользователь может получить доступ к данным, если степень его благонадежности  удовлетворяет требованиям соответствующей  метки безопасности. Более точно:

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

Специальная привилегия, DOWNGRADE, позволяет изменять метки безопасности, ассоциированные с данными. Подобная возможность необходима, например, для коррекции меток, по тем или  иным причинам оказавшихся неправильными. 
Представляется естественным, что СУБД INGRES/Enhanced Security допускает не только скрытое, но и явное включение меток безопасности в реляционные таблицы. Появился новый тип данных, security label, поддерживающий соответствующие операции сравнения. 
INGRES/Enhanced Security - первая СУБД, получившая сертификат, эквивалентный аттестации на класс безопасности B1. Вероятно, метки безопасности постепенно войдут в стандартный репертуар систем управления базами данных.

 

4. Поддержание  целостности данных в СУБД

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

4.1. Ограничения

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

CREATE TABLE dept ( 
dname char(10), 
budget money, 
expenses money, 
CONSTRAINT check_amount CHECK (budget > 0 and expenses <= budget) 
); 
{Бюджет должен быть положительным, а расходы не должны выходить за рамки бюджета}

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

CREATE TABLE emp ( 
ename char(10), 
edept char(10) references dept(dname) 
); 
{Ни один работник не должен числиться в неизвестном отделе}

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

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

4.2. Правила

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

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

5. Средства поддержания  высокой готовности

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

5.1. Кластерная  организация сервера баз данных

Мы будем понимать под  кластером конфигурацию из нескольких компьютеров (узлов), выполняющих общее  приложение (такое, например, как сервер баз данных). Обычно кластер содержит также несколько дисковых подсистем, совместно используемых узлами-компьютерами, и избыточные связи между компонентами. С внешней точки зрения кластер  выглядит как единое целое, а наличие  нескольких узлов способствует повышению  производительности и устойчивости к отказам. 
В настоящем разделе будет рассмотрена разработка компании Sun Microsystems, Inc - SPARCcluster PDB Server (параллельный сервер баз данных на основе SPARC-кластера).

 
В минимальной конфигурации SPARCcluster PDB Server состоит из двух узлов SPARCserver 1000, двух дисковых подсистем SPARCstorage Array и консоли кластера (SPARCclassic). Узлы- компьютеры соединяются между собой  посредством быстрого Ethernet (100 Мбит/с), дисковые подсистемы подключаются через  оптоволоконные каналы. В более мощной конфигурации вместо SPARCserver 1000 может  использоваться SPARCcenter 2000, а число  дисковых подсистем способно достигать 32 (до 1 Тб дискового пространства). Каждый узел кластера - это многопроцессорный  компьютер, к которому, помимо прочих, подключены накопители на DAT-лентах (или  автозагрузчики кассет с такими лентами). Все связи с компьютерами и  дисковыми подсистемами продублированы. 
Следующий рисунок поясняет аппаратную организацию SPARCcluster PDB Server.

Рис. 1. Аппаратная организация SPARCcluster PDB Server (на рисунке не показаны связи кластера с внешним миром)

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

5.1.2. Программная  организация SPARCcluster PDB Server 
Если рассматривать программную организацию SPARCcluster PDB Server в контексте надежной работы баз данных, необходимо обратить внимание еще на один компонент - фронтальную машину, на которой выполняется какой-либо монитор транзакций, например, TUXEDO. С учетом этого дополнения программная организация приобретает следующий вид. 
Рассмотрим компоненты программного обеспечения SPARCcluster PDB Server. 
Устойчивый к отказам распределенный менеджер блокировок (Fault Tolerant Distributed Lock Manager, FT-DLM) управляет параллельным доступом к базам данных, устанавливая и снимая блокировки. Кроме того, FT-DLM нейтрализует последствия отказов, снимая блокировки, установленные вышедшим из строя узлом. FT-DLM взаимодействует с сервером Oracle для поддержки неблокируемых операций чтения и для блокировки на уровне строк при записи в таблицы. В результате обеспечивается целостность и сериализация транзакций в сочетании с параллельной работой узлов кластера и с параллельным доступом к нескольким дисковым подсистемам.

Рис. 2. Программная организация SPARCcluster PDB Server (узлы кластера работают под управлением  ОС Solaris версии 2.4 или выше)

Распределенность менеджера  блокировок означает, что на каждом узле кластера работает свой экземпляр FT-DLM и что FT-DLM умеет динамически  реконфигурировать себя (как при  выходе узлов из строя, так и при  добавлении новых узлов). В результате выход из строя одного узла не означает краха всего сервера баз данных - сервер жив, пока работает хотя бы один менеджер блокировок. 
В рассматриваемом контексте основное назначение распределенного менеджера томов - поддержка зеркалирования дисков с тем важным дополнением, что устройства, составляющие пару, могут принадлежать разным дисковым подсистемам. 
Подсистема обнаружения и нейтрализации отказов постоянно отслеживает доступность ресурсов, составляющих кластер. При обнаружении неисправности запускается процесс реконфигурации, изолирующий вышедший из строя компонент при сохранении работоспособности кластера в целом (с выходом из строя диска справляется менеджер томов). 
Подсистема управления кластером состоит из трех инструментов с графическим интерфейсом: консоли кластера, менеджера томов и менеджера сервера Oracle. Их интеграция обеспечивает централизованное оперативное управление всеми ресурсами кластера.

5.1.3. Нейтрализация  отказа узла 
Рассмотрим, как в SPARCcluster PDB Server реализована нейтрализация самого неприятного из отказов - отказа узла. Программное обеспечение предпринимает при этом следующие действия:

    • Подсистема обнаружения отказов выявляет вышедший из строя узел.
    • Создается новая конфигурация кластера, без отказавшего узла. Этот процесс занимает 1 - 2 минуты, в течение которых обработка транзакций приостанавливается.
    • Менеджер блокировок производит восстановление: а
  • Подтвержденные транзакции от отказавшего узла (транзакции, об успешном завершении которых другие узлы кластера не успели узнать) накатываются вперед и деблокируются. а
  • Неподтвержденные транзакции от отказавшего узла откатываются и также деблокируются.

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

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

Информация о работе Защита системы управления базами данных