33670

МОДЕЛЬ БЕЗОПАСНОСТИ СУБД MS SQL. РЕЖИМЫ И ТАБЛИЦЫ ПРОВЕРКИ ПРАВ

Доклад

Информатика, кибернетика и программирование

МОДЕЛЬ БЕЗОПАСНОСТИ СУБД MS SQL. В инф сист 2 уровня защиты данных: ур приложения и ур БД 3 основных механизма разграничения доступа: Для создания учетных записей пользователя можно воспользоваться языком SQL и утилитой командной строки SQL Plus для Orclе. В MS SQL для добавления учётных записей вы можете использовать SQL Enterprise Mnger или системную процедуру sp_ddlogin. По умолчанию доступом к SQL Serverу пользуются администраторы BUILDIN dministrtors и s.

Русский

2013-09-06

114.5 KB

10 чел.

39. МОДЕЛЬ БЕЗОПАСНОСТИ СУБД MS SQL.  РЕЖИМЫ И ТАБЛИЦЫ ПРОВЕРКИ ПРАВ.

В инф сист 2 уровня защиты данных: ур приложения и ур БД

3 основных механизма разграничения доступа:

Для создания учетных записей пользователя можно воспользоваться языком SQL и утилитой командной строки SQL Plus для Oraclе.

Create user NAME identified by password

Если добавить externally, то используется логин и пароль из ОС.

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

В MS SQL для добавления учётных записей вы можете использовать SQL Enterprise Manager или системную процедуру sp_addlogin. Только системные администраторы или администраторы безопасности  могут  выполнять  эту  процедуру.  При  добавлении  новой  учётной  записи, добавляется запись в системную таблицу sysxlogins базы данных master.  По  умолчанию  доступом  к SQL Server-у  пользуются  администраторы BUILDIN/ Administrators и sa. Учётные записи BUILDIN/ Administrators используются по умолчанию для всех администраторов Windows 2000. Они имеют все права на SQL Server и

все базы данных. Системная  таблица  sysusers  в  базе  данных  содержит  одну  строку  для  каждого пользователя Windows 2000, группы Windows 2000, пользователя SQL Server или роли в базе данных. Разрешения назначенные на входящие в таблицу sysusers, хранятся в системной таблице sysprotects текущей базы данных.  Для  доступа  к  базе  данных,  учётная  запись  может  использовать  одно  из  двух – назначенную пользовательскую учётную запись или одну из учётных записей по умолчанию. Для  добавления пользовательской  учётной  записи  к  базе  данных,  вы  можете использовать SQL Enterprise Manager  или  выполнить  системную  встроенную  процедуру sp_grantdbaccess.  Вы  можете  также  добавлять  пользовтельские  учётные  записи  к  базе данных  во  время  создания  учётной  записи.  Только  владельцы  базы  данных  или администраторы могут выполнять sp_grantdbaccess.

Далее пользователю назначают привилегии. 2 типа привилегий – объектные (доступ к объектам) и системные (возможность создавать другие объекты и менять их структуру. Каждый пользователь получает в свое распоряжение часть БД – схему. Имя схемы = имени пользователя. Если пользователь имеет привилегию any, то он может созавать объекты не только в своей схеме. При этом он владелец этих объектов(т. е. имеет все привилегии на манипулирование с ними). Владелец может предоставлять привилегии пользователям на использование своих объектов. Можно экспортировать объекты из одной схемы в другую.

Обычно системные привилегии у разработчиков, а объектные – упользователей.

Объектные – select, insert, update, execute и тд.

Предоставление привилегий:

Grand список_привилегий to имя_пользователя.

Можно давать привилегии на некоторую часть объекта (например поля таблицы)

2) Роли

Роль – это именованная совокупность привилегий. Роль пользователю можно присвоить через команду grand.

Можно создать собственную роль и присвоить ей привилегии.

Create role role_name

Grand список привилегий to role_name

В Oraclе есть стандартные роли:

Connect, resorse, dba.

Отменяют привилегии командой revoke.

Фиксированные  серверные   роли в MS SQL обеспечивают  сгруппированные  административные привилегии на серверном уровне. Они управляются независимо от пользователей баз данных на серверном уровне и хранятся в системной таблице master.sysxlogins.

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

Средства защиты информации в базах данных

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

В настоящее время наиболее распространёнными СУБД можно назвать:

  •  Oracle
  •  Microsoft SQL Server
  •  Sybase 

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

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

- идентификация и проверка подлинности (аутентификация) пользователей (применяются либо соответствующие механизмы ОС, либо SQL-оператор CONNECT);

- управление доступом к данным, когда владелец объекта передает права доступа к нему (привилегии доступа) по своему усмотрению;

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

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

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

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

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

. Режимы проверки прав пользователя

В версии 7.0 поддерживается два механизма проверки прав пользователя:

  •  Стандартный (Standart Security) - права определяются на основании идентификатора и пароля, передаваемых непосредственно SQL Server
  •  Интегрированный (Integrated Security) - проверка выполняется средствами Windows NT.

Контроль прав доступа подразумевает проверку того, что может делать пользователь, получив доступ к серверу. При этом SQL Server использует информацию из нескольких системных таблиц (рис. 6.1).

Связь таблиц, используемых при проверке прав доступа

Рис. 6.1

Пользователь, получивший доступ к серверу, автоматически подключается к базе данных (БД), назначенной ему по умолчанию. В рамках этой БД пользователь получает некоторый набор прав (по умолчанию пользователь обладает правами, определенными для роли public).

В таблице SysUsers хранятся два элемента: один описывает права доступа к БД, другой — к объектам БД.

При подключении под именем пользователя Windows NT серверу передается имя группы, к которой принадлежит пользователь и имя его учетной записи. Сервер ищет в таблице Syslogins запись с упоминанием учетной записи пользователя или группы, к которой он принадлежит. Если таковая найдена, пользователь получает доступ к серверу. Такая система проверки доступа обеспечивает большую надежность системы безопасности, чем проверка прав средствами SQL Server.

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

6.3. Получение доступа к БД

Право на доступ к БД организуется установлением связи идентификатора пользователя (Login) и учётного имени (User account) в БД. Учётное имя может быть создано:

  •  На основании имени группы Windows 
  •  На основании имени учетной записи в домене Windows 

На основании идентификатора пользователя SQL Server Идентификатор пользователя После установки SQL Server создаются два стандартных идентификатора:

  •  Sa - Сохранён для совместимости с приложениями, написанными под SQL Server версии 6.x. Имеет пустой пароль.
  •  BULTINXAdministrators - Служит для обеспечения доступа к серверу всем членам группы администраторов Windows.

Для создаваемой БД есть два учётных имени:

  •  Dbo - ставится в соответствие системному администратору. Удалить нельзя.
  •  Guest - служит для допуска пользователей, не имеющих учётной имени в БД

Учётное имя Guest не может быть удалено из БД Master и Tempdb.

Роль - именованный набор прав на уровне сервера или БД. Роль может включать:

  •  пользователя Windows;
  •  группу Windows; пользователя SQL Server;
  •  другие роли.

Принадлежность к роли определяется после подключения пользователя к БД. Имеются роли уровня сервера (например, Sysadmin, Serveradmin и др.) и роли уровня БД (например, db_owner, db_datareader и др.).

Роль Public - стандартная роль уровня БД, ассоциируемая с набором прав по умолчанию для любого пользователя БД.

6.4. Доступ к объектам БД

Доступ к объектам БД регулируется путём установления разрешений (permissions). Имеется несколько типов разрешений.

Выполнение SQL выражений

Здесь необходимо выделить:

  •  разрешение на создание БД. Это право распространяется на сам оператор, а не на конкретную БД или её объект;
  •  разрешение на выполнение остальных SQL выражений. Может относиться к БД или её объектам.

Действия с объектами БД

Разрешения на действия с объектами определяют права пользователя при работе с данными или исполнении хранимых процедур:

  •  разрешения на работу с таблицами и просмотрами;
  •  разрешения на доступ к определённым полям;
  •  разрешения на исполнение хранимых процедур.

Предопределённые разрешения

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


 

А также другие работы, которые могут Вас заинтересовать

22924. ЛЕМА ПРО ДВІ СИСТЕМИ 37.5 KB
  bk – дві системи векторів кожен вектор першої системи лінійно визначається через другу систему. Якщо m k то перша система лінійно залежна. Нехай а1 а2 аm і b1 b2 bk – дві системи векторів кожен вектор першої системи лінійно виражається через другу систему. Якщо перша система лінійно незалежна то m≤k.
22925. Поняття базису 25.5 KB
  aik лінійно незалежна; Всі вектори системи a1 a2 am лінійно виражаються через ai1ai2. Базисом простору Rn називається система векторів a1 a2 an є Rn така що система a1 a2 an лінійно незалежна; Кожний вектор простору Rn лінійно виражається через a1 a2 an. Звідси α1= α2==αn=0 лінійна коомбінація тривіальна і система лінійно незалежна. Будьякий вектор простору лінійно виражається через e1e2en .
22926. Властивості базисів 33.5 KB
  Оскільки при m n система з m векторів лінійно залежна то m≤n. Якщо m n то за означенням базису всі вектори простору а тому і вектори системи e1e2en лінійно виражаються через базис a1 a2 am .Тоді за лемою про дві системи вектори e1e2en лінійно залежні. Отже В просторі Rn будьяка лінійно незалежна система з n векторів утворює базис простору.
22927. Поняття рангу 47.5 KB
  В довільній системі векторів a1a2am візьмемо всі лінійно незалежні підсистеми. Число векторів в цій фіксованій підсистемі будемо називати рангом системи векторів a1 a2 am . Таким чином рангом системи векторів називається максимальна кількість лінійно незалежних векторів в системі. Зрозуміло що ранг лінійно незалежної системи дорівнює числу всіх векторів в системі.
22928. Поняття рангу матриці 28 KB
  Ранг системи векторів a1 a2 am називається горизонтальним рангом матриці або рангом матриці за рядками і позначається . Стовпчики матриці A можна розглядати як m вимірні вектори b1 b2bn з дійсними координатами елементи простору Rm. Ранг системи векторів b1 b2bn називається вертикальним рангом матриці A або рангом матриці A за стовпчиками і позначається rbA.
22929. Поняття базисного мінору 15.5 KB
  Припустимо Поняття базисного мінору. Припустимо Δr деякий мінор порядку r матриці A r≤mr≤n. Мінор порядку r1 матриці називається оточуючим для мінора Δr якщо його матриця містить в собі матрицю мінору Δr .
22930. Існування базисного мінора 21 KB
  Для мінора Δ1 складаються всі можливі оточуючі мінори. Для цього послідовно до мінора Δ1 дописуються всі можливі рядки і всі можливі стовпчики. Якщо всі оточуючі мінори дорівнюють нулю то за означенням мінор Δ1 базисний і процес закінчується . Для мінора Δ2 складаються всі можливі оточуючі мінори послідовно дописуючи всі можливі рядки і стовпчики.
22931. Теорема про базисний мінор та її наслідки 87 KB
  Нехай мінор Δr порядку r є базисним мінором ненульової матриці. Тоді рядки матриці на яких будується мінор Δr лінійно незалежі; всі інші рядки матриці лінійно виражаються через них. Не втрачаючи загальності міркувань можна вважати що базисний мінор будується на перетині перших r рядків і r стовпчиків матриці . Можна вважати що a11 інакше для того щоб це виконалось можна переставити перші r рядків матриці A і при цьому умови теореми не змінюються.
22932. Теорема про ранг матриці 21 KB
  Для будь якої матриці її горизонтальний та вертикальний ранги рівні та співпадають з рангом матриці за мінорами . Це означає що порядок базисного мінора матриці дорівнює k . За теоремою про базисний мінор k рядків матриці A на яких будується базисний мінор лінійно незалежні а решта рядків лінійно виражаються через них.