русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Другие возможности обеспечения безопасности


Дата добавления: 2013-12-23; просмотров: 1444; Нарушение авторских прав


АУДИТ

Роли

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

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

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

Команда ALTER USER позволяет задать одну или несколько ролей по умолчанию. Роли, назначенные по умолчанию, действуют, когда пользователь регистрируется в базе данных Oracle.

Системные роли.СУБД Oracle предлагает ряд предопределенных системных ролей:

Таблица

Роль Назначение
CONNECT Включает в себя системные привилегии ALTER SESSION, CREATE CLUSTER, CREATE DATABASE LINK, CREATE SEQUENCE, CREATE SESSION, CREATE SYNONYM, CREATE TABLE и CREATE VIEW
RESOURCE Включает в себя системные привилегии CREATE CLUSTER, CREATE INDEXTYPE, CREATE OPERATOR, CREATE PROCEDURE, CREATE SEQUENCE, CREATE TABLE и CREATE TYPE
DBA Включает в себя все системные привилегии с указанием WITH ADMIN OPTION
CREATE TYPE Включает в себя привилегии CREATE TYPE, EXECUTE, EXECUTE ANY TYPE, ADMIN OPTION и GRANT OPTION
EXP_FULL_DATABASE Предназначена для предоставления всех привилегий, необходимых для выполнения полного и инкрементного экспорта базы данных.
IMP_FULL_DATABASE Предназначена для предоставления всех привилегий, необходимых для выполнения полного импорта базы данных
DELETE_CATALOG_ ROLE Содержит в себе привилегию DELETE для таблицы аудита системы (AUD$)
SELECT_CATALOG_ ROLE Включает в себя привилегию SELECT для таблицы аудита системы (AUD$)
RECOVERY_CATALOG_OWNER Предназначена для предоставления всех привилегий, необходимых владельцу каталога восстановления
HS_ADMIN_ROLE Предназначена для защиты пакетов и представлений словарей данных гетерогенных сервисов

Определение ролей.Описанные в последующих разделах команды позволяют создавать, изменять и удалять роли. Команда ALTER USER позволяет определить одну или несколько ролей по умолчанию. Роли, назначенные по умолчанию, действуют, когда пользователь регистрируется в базе данных Oracle.



Когда пользователь создает роль, она автоматически выдается ему как роль по умолчанию. Роль создается следующим образом:

CREATE ROLE имя_роли {NOT IDENTIFIED | IDENTIFIED

{EXTERNALLY | GLOBALLY | BY пароль | USING [схема.] пакет}};

Определение ключевых слов приведено в таблице

Таблица

Ключевое слово назначение
NOT IDENTIFIED Указывает, что для роли не требуется пароль
IDENTIFIED Определяет, каким способом пользователь будет аутентифицирован, прежде чем ему будет разрешено активировать роль или назначить ее ролью по умолчанию
BY пароль Локальный пользователь должен предоставить пароль для активирования роли
USING (схема.)пакет Проверку пользователя осуществит пакет. Применяется для ролей приложений
EXTERNALLY Внешний пользователь авторизуется сторонней службой, такой как операционная система
GLOBALLY Пользователь авторизуется службой каталогов предприятия

 

Изменение определенной роли возможно инструкцией ALTER ROLE, которая изменяет способ аутентификации пользователя роли. Ключевые слова совпадают с ключевыми словами, приведенными для команды CREATE ROLE.

ALTER ROLE имя_роли {NOT IDENTIFIED | IDENTIFIED

{EXTERNALLY | GLOBALLY | BY пароль | USING [схема.] пакет}};

 

DROP ROLE удаляет роль из базы данных. Если роль используется в данный момент, то ничего не произойдет, но заново использовать роль пользователь уже не сможет.

DROP ROLE имя_роли

 

SET ROLE разрешает пользователю применение одной или нескольких ролей или запрещает применение всех ролей.

SET ROLE {роль [IDENTIFIED BY пароль

[, роль [IDENTIFIED BY PASSWORD_ ._ ._ ._ ]] |

ALL [EXCEPT роль[, роль_ ._ ._ ._ ]] NONE}

 

гдеALL – разрешает применение всех ролей, предоставленных пользователю;

EXCEPT – применяется для исключения некоторых ролей из списка разрешенных при помощи ключевого слова ALL;

NONE – запрещает применение всех ролей пользователя.

 

Аудит применяется как способ отслеживания использования БД и предупреждения о возможных проблемах с безопасностью.

В Oracle разрешен аудит четырех различных типов:

- Аудит команд. Аудит команд, направленных БД отдельными пользователями или всеми пользователями.

- Аудит привилегий. Аудит использования системных привилегий отдельными пользователями или всеми пользователями.

- Аудит объектов схемы. Аудит определенного набора команд SQL для конкретного объекта схемы.

- Детальный аудит. Детальный аудит (fine1grained auditing) появился в Oracle9i. Как и детальный контроль доступа, детальный аудит реализуется за счет определения предиката, вводящего ограничение для команд SQL, которые будут подвергнуты аудиту. Проводя такую политику аудита, можно сконцентрироваться на отслеживании действий с небольшим объемом жизненно важных данных. Уменьшение общего количества записей аудита облегчает выявление потенциальных проблем с безопасностью.

Для всех типов аудита Oracle вносит записи в журнал аудита БД или таблицу SYS.FGA_LOG$ или же в файл ОС в двоичном формате. Записи журнала аудита содержат различную информацию в зависимости от типа аудита и установленных параметров выполнения аудита.

Вне зависимости, включен ли аудит для БД, следующие действия всегда формируют записи в журнале аудита ОС:

1. Запуск экземпляра БД.

2. Остановка экземпляра БД.

3. Доступ пользователей с привилегиями администратора.

Включать и выключать аудит можно при помощи команд AUDIT и NOAUDIT.

 

AUDITинструкция_для_команд SQL | инструкция_для_объектов_схемы

[BY SESSION | ACCESS] [WHENEVER [NOT] SUCCESSFUL]

 

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

 

{[параметр_команды | ALL] [, …]} |

{[системная_привилегия | ALL PRIVILEGES] [, …]}

BY {прокси_сервер (, прокси_сервер …] ON BEHALF OF [{пользователь [, пользователь …]} | {пользователь [, пользователь …]};

 

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

{параметр_объекта [, параметр_объекта …] | ALL}

ON {схема.[объект] | DIRECTORY имя_каталога | DEFAULT}

 

Определение ключевых слов приведено в таблице

Таблица

Ключевое слово назначение
BY SESSION | ACCESS Определяет, должны ли данные аудита записываться один раз за сеанс или при каждой попытке определенного типа доступа. Аудит для всех команд и всех привилегий для команд DDL может задаваться только как BY ACCESS.
WHENEVER [NOT] SUCCESSFUL Указывает, следует ли проверять только успешные или неудавшиеся команды SQL. Единственные неудавшиеся команды, отслеживаемые при помощи ключевого слова NOT – это команды, которые не удается выполнить, или приводят к возникновению ошибок из-за недостаточных привилегий или отсутствия объекта, на который приведена ссылка. По умолчанию проверяются все команды вне зависимости от того, выполнились они успешно или же не удались по упомянутым причинам.
BY пользователь Задает аудит по одному или нескольким именам пользователя
BY прокси_сервер ON BEHALF OF Задает аудит действий, выполняемых прокси-сервером от имени пользователя
параметр_команды Включает аудит отдельных команд SQL.

 

Синтаксис команды отмены аудита приведен ниже:

 

NOAUDIT инструкция_для_команд SQL | инструкция_для_объектов_схемы [BY SESSION | ACCESS]

 

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

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

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

Детальный контроль доступа и политика безопасности.Детальный контроль доступа (fine1grained access control) предлагает способ контекстного обеспечения безопасности, который может быть реализован в коде приложения или в представлениях. Благодаря тому, что детальный контроль доступа реализуется на уровне базы данных, он единообразно действует для всех приложений.

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

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

Виртуальные частные базы данных.Механизм контекстных мер безопасности позволяет создавать виртуальные частные базы данных (VPD, Virtual Private Database). Благодаря применению VPD сразу несколько пользователей могут видеть свои собственные представления одной или нескольких таблиц базы данных. Ранее говорилось о том, что подобные меры безопасности можно обеспечить за счет создания и поддержания представлений, но применение VPD избавляет от забот по созданию представлений и разграничению доступа к ним для отдельных пользователей и групп пользователей.

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

Метки безопасности относятся к дополнительным компонентам Oracle9i Enterprise Edition. Policy Manager, инструмент администрирования с графическим интерфейсом пользователя, входящий в состав Enterprise Manager, также появился в версии Oracle9i. Он реализует управление метками безопасности.

Контекст приложения.Контекст приложения (application context), введенный в Oracle8i, позволяет установить для пользователя некоторые атрибуты, которые будут действовать в течение всего пользовательского сеанса. Применяя такие атрибуты для предоставления доступа, можно создать роль для конкретного приложения, которая продолжает существовать в базе данных на всем протяжении работы приложения. Контекст приложения может использоваться для реализации детального контроля доступа.

LogMiner.LogMiner – это инструментальное средство, позволяющее применять команды SQL для анализа событий в журнале базы данных. LogMiner позволяет отслеживать транзакции по мере их обработки или выявлять, какие конкретно функции вызвали изменение данных. Утилита LogMiner появилась в Oracle8i. С помощью LogMiner (наряду с журналами аудита) можно определить, что происходило с вашей базой данных Oracle. В версии Oracle9i LogMiner включен в Enterprise Manager. Исследование возможностей LogMiner лежит за пределами нашей книги. Подробную информацию можно найти в документации по Oracle.

Oracle Advanced Security.Продукт Oracle Advanced Security, который ранее назывался Secure Network Services, а затем Advanced Network Services, – это пакет расширения, предлагающий мощные средства шифрования данных. Oracle Advanced Security обеспечивает дополнительные возможности по обеспечению безопасности в трех областях:

Сетевая безопасность

Шифрование сообщений, передаваемых службами Oracle Net Services, реализация SSL_шифрования (Secure Sockets Layer – протокола защищенных сокетов) и поддержка RADIUS, Kerberos, смарт-карт, карточек-идентификаторов (tokencards) и биометрической аутентификации.

Безопасность пользователей предприятия

Включает применение разнообразных сторонних средств поддержки каталогов, таких как LDAP_каталоги, с помощью которых можно реализовать возможность однократной регистрации. Oracle Advanced Security включает в себя сервис каталогов Oracle Internet Directory (OID).

Безопасность инфраструктуры открытых ключей

Включает поддержку стандартных сертификатов X.509 версии 3. Oracle работает с основными поставщиками сервисов инфраструктуры открытых ключей (Public Key Infrastructure – PKI), такими как Baltimore Technologies и VeriSign, для обеспечения координации с их доверенными корневыми сертификатами.

Oracle Advanced Security внедряет эти сервисы на уровне Oracle Net Services, который реализует взаимодействие между сервером и клиентом. Кроме того, Oracle Advanced Security можно использовать с драйвером Thin JDBC, несодержащим Oracle Net Services.

Oracle Advanced Security включает в себя Oracle Enterprise Security Manager, графический интерфейс пользователя для управления доменами и пользователями предприятия.

 



<== предыдущая лекция | следующая лекция ==>
Привилегии | Анализ доходности сберегательных сертификатов выполненный в Excel 1 страница


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.005 сек.