» Главная
eXcode.ru » Статьи » Базы данных
» Новости
» Опросы
» Файлы
» Журнал



Пользователей: 0
Гостей: 8





Безопасность и разделение доступа




Автор: Dmitry Shakhov

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

Тезис: данные невозможно скрыть. Программный код можно скрыть только в mde.

Так и говорите вашему клиенту. Единственный ход, который позволит заказчику ограничить доступ к базе данных - это не хранить в рабочей копии все данные.

1. Пытаемся обезопасить данные.

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

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

Шифрование. Т.е. наиболее важная информация перед сохранением шифруется. Сам интерфейс (фактически, дешифратор) паролируется, привязывается к винту и т.п., чтобы никто не мог его унести домой. Недостатки: существенное замедление работы. Такое пройдет для таблиц типа "Пароли", но в расчетных таблицах вроде "Заказы", "Клиенты" это приведет к слишком большим тормозам в работе.

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

2. Разделение доступа.

MDW - все, что сказано раньше (вскрывается, но все равно вешаем). К сожалению, основной недостаток, это невозможность разделить доступ до такого уровня: на кнопку, на одну операцию и т.п.

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

Интерфейсно. Создается несколько интерфейсов (пользовательский, административный). Если еще удачно разрезать по нескольким базам данные, то будет пересечение подможества интерфейсов и подмножества данных. Если не нужен секретарю доступ к аналитике, то у нее его и не будет! Просто и со вкусом.) Недостаток в поддержке сразу нескольких АРМ, когда все просто и легко держать в одном.

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





Добавил: LedWormДата публикации: 2005-07-16 20:17:15
Рейтинг статьи:3.33 [Голосов 6]Кол-во просмотров: 14780

Комментарии читателей

Всего комментариев: 0
Ваше имя: *
Текст записи: *
Имя:

Пароль:



Регистрация

Что для вас важнее в ПО
Его размер
7% (9)
Его цена
7% (8)
Его простота и доступность
17% (20)
Его функциональность
64% (77)
Наличие дополнительных фич
0% (0)
Наличие русского языка
5% (6)
Графицеский интерфейс
1% (1)
Изготовитель
0% (0)

Проголосовало: 121
Приходит один программист к другому:
- Слышь, Петя, мне генератор случайных чисел нужен.
- Четырнадцать!
Рейтинг: 0.7/10 (13)
Посмотреть все анекдоты