powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Построить развитое секьюрите в оракле - пообщаемся?
7 сообщений из 7, страница 1 из 1
Построить развитое секьюрите в оракле - пообщаемся?
    #32259706
Фотография UK0IAI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Привет алл

Встала задача модернизировать подсистему разграничения доступа. Есть идеи, наметки, план работы...:-)

Хотелось бы пообщаться на тему. Есть желание?
...
Рейтинг: 0 / 0
Построить развитое секьюрите в оракле - пообщаемся?
    #32259822
Jinn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А в чем там проблемы? Подробней можно.
...
Рейтинг: 0 / 0
Построить развитое секьюрите в оракле - пообщаемся?
    #32260097
Фотография PL99
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сделать разграничение доступа на Oracle лучше, чем это сделано в Oracle?
Круто
...
Рейтинг: 0 / 0
Построить развитое секьюрите в оракле - пообщаемся?
    #32260432
Фотография UK0IAI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот описание - текст рассчитан на прочтением начальством (не DBA).
Не могу сказать - как написано, еще никто не читал, ну если есть возможность дать оценку какую либо - буду признателен.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
107.
108.
Общие принципы и функции организации подсистемы 
разграничения доступа в Системе

В системе ведутся  Журналы (списки):
 1 . Пользователи
 2 . Группы пользователей
 3 . Рабочие места (АРМ-ы)
 4 . Бизнес-функции
 5 . Интерфейсы системы (коллекции элементов экранных форм)
 6 . Задачи системы (списки ран-тайм модулей экранов, отчетов, скриптов).
 7 . Объекты БД (Таблицы, Views, Программы, Роли БД)
 8 . Организационная структура ( Должности, Сотрудники, Подразделения)
 9 . Терминалы системы.

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

Коллекции прав доступа к данным назначаются только на Бизнес-функции. 

Коллекции прав на запуск Задачи - только для Рабочих мест.

Группа пользователей - получает наборы Рабочих мест и Бизнес-функций.

Каждый юзер имеет свою Должность в орг_струкуре, и все права доступа 
назначаются для Должности (в Группы пользователей входят Должности).

Орг_структура отвечает за встроенную бизнес-функцию - доступ к данным 
Подразделений. Здесь используется иерархия подчинения (Старшая Должность
автоматически видит данных Подчиненой)

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

В системе имеется Алгоритм Открытия Прав Доступа. 

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

Если Пользователь входит в систему минуя Первый Интерфейс (например, по 
протоколам ODBC или в SQL*Plus) – система исключает наличия у 
Пользователей каких либо  прав доступа к данным в системе и ее программам.

(это не Ревоке грантов, а фишки в коде, см.ниже)]

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

Каждая Программа в системе имеет Первую Строку Программного кода, где 
производится аудит всех прав Пользователя. 

Если Пользователь вошел в систему минуя Первый интерфейс, и пытается 
запустить на исполнение любую программу (ран_тайм) системы  - то любая 
программа системы обязана автоматически завершить свою работу, путем 
выполнения инструкции в Первой строке Программного кода.
(это когда нет значения Специальной Переменной)

Система обеспечивает  5  уровней разграничения доступа.

 1 . На уровне задач. (Первый интерфейс). Любая задача может быть запущена 
на исполнение только через аудит прав на запуск задачи. 

 2 . На уровне Прикладного Интерфейса Программы. Система обеспечивает 
защиту критических элементов Интерфейса путем динамического изменения 
их свойств – в соответствии с назначенными для Пользователя доступными 
Бизнес-функциями (согласно инфо в Журнале Интерфейсы системы 

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

 4 . На уровне файловой системы – разграничение доступа к исполняемым 
модулям. 

 5 . На уровне Терминала. Все права доступа назначаются  для Пользователя и 
Терминала. Это исключает возможность не санкционированного доступа к 
данным в Системе СуперПользователя с произвольного Терминала.

(кажется здесь - тормоз, никак OWNERа с удаленного терминала не 
обрезать по правам если он зная пароль - через  "типа sql_plus полезет" .... а 
надо очень)


Принцип разграничения доступа к Данным

 1 . Для всех Юзеров закрыт доступ к Таблицам БД
 2 . Для всех таблиц - созданы VIEW
 3 . Каждое VIEW имеет свое WHERE с логическим условием 
состоящие из трех логических условий по формуле AND, где,
[li]Первое Условие – есть проверка значения Специальной Переменной 
инициализированной  при входе Пользователя в систему через Первый 
Интерфейс.
[li]Второе условие – блок логической проверки разрешений Терминала. 
[li]Третье условие – блок логических проверок области видимости данных 
одноименной Таблицы БД для разных Пользователей в соответствии с Бизнес-
Функциями (по кодам подразделений, раздела бюджета, контрагентов, 
ресурсов и др.). Эта часть WHERE имеет свой  "вид"  для разных VIEW.

И естественно, есть Роли БД, где OWNER (Супер_пользователь) раздает гранты 
на объекты БД - Ролям.

А Юзеры БД - получают гранты на Роли.

В итоге есть Пользователи системы (Должности)  и Юзеры БД.
...
Рейтинг: 0 / 0
Построить развитое секьюрите в оракле - пообщаемся?
    #32260452
Фотография PL99
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Построить развитое секьюрите в оракле - пообщаемся?
    #32260460
Фотография UK0IAI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сделать разграничение доступа на Oracle лучше, чем это сделано в Oracle?
Речь идет о архитектуре прикладного модуля и функциях программной части.

Замечу - что наполнить Журналы - это тьфу, семечки и уже частично работает.

Весь сыр бор разгорелся после обсуждения...что если все могут работать только из Защищенного Помещения, но есть еще и удаленка. Надо быть уверенным что по удаленке - СуперПользователь ниче не увидит.

Короче - напрямую (SQL*PLuse , в БД ниче не видно должно быть).

Вопрос - как при этом - "перекрыть кислород" DBA? Снести все чтения в пакаджи и WRAP?. Крайне не хочется. Пока изучается возможность - Первого Интерфейса, что если через него не прошел (а там свои аудиты) - то ниче не видно тебе.

Другими словами - пусть DBA через удаленный терминал (что вне спец_помещения стоит) вошел в систему - пусть он увидит только то - что может видеть Рядовой юзер с этого терминала.
...
Рейтинг: 0 / 0
Построить развитое секьюрите в оракле - пообщаемся?
    #32260499
DimaR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 UK0IAI\r
Уже ведь обсуждалось в форуме по Ораклу\r
В Оракле есть\r
Fine-Grained Access Control\r
+\r
Посмотрите топик \r
/topic/48097\r
+\r
Тригеры OnLogon
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Построить развитое секьюрите в оракле - пообщаемся?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]