powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / SA 12 и выше: Защита от стороннего досупа, как ?
4 сообщений из 4, страница 1 из 1
SA 12 и выше: Защита от стороннего досупа, как ?
    #39238873
Stalker4
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Hi All,

Есть классический Client-Server, т.е. пользователь с помощью программы по tcp/ip ходит к серверу БД (SA 12 или выше).
Когда пользователь работает с данными, то из программы на сервер посылаются sql-команды (insert, update, delete и т.п.). Соответственно в программе есть ограничения на то, с какими именно документами может работать пользователь.

Но есть проблема: она состоит в том, что пользователь-оператор используя свой логин может соединиться с БД не через мою программу, а через какую нибудь прогу умеющую работать с БД или хотя бы через тот же Sybase Central - и тогда он может обойти все ограничения на изменения данных и править любые документы.

Вопрос как это можно предотвратить ?

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

Может есть еще какие то варианты решения этой проблемы ?
Скажем какие то спец. фичи SA 12 или выше ?

То есть я хочу запретить работу с БД любым сторонним программам.
...
Рейтинг: 0 / 0
SA 12 и выше: Защита от стороннего досупа, как ?
    #39239522
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Оба предложенных варианта вполне правильные и рабочие. Они конечно потребуют сильного редизайна нынешней системы, но зато они хорошо известны и есть много книг по ним.

Но есть и третий вариант. Он не потребует переписывания клиентов, и позволит более-менее сохранить текущую структуру БД, но...
Переименовываешь все таблицы в что-то типа "<oldname>_table". Создаешь на их месте (со старыми именами) представления типа
Код: sql
1.
2.
3.
create view ABCD as
select * from ABCD_table
where ABCD_row_allowed_for(ABCD_table.pk, user_name())="Y"


Здесь ABCD_row_allowed_for() это собственная функция разрешающая или запрещающая данному юзеру видеть конкретную строку из таблицы. Это может быть и просто join на какую-нибудь таблицу авторизации.
Потом вешаешь на эти представления instead of триггеры в которых уже и обновляешь базовые таблицы.
Ну и естественно, никто кроме DBA не может смотреть/изменять базовые таблицы, а юзерам можно работать только с представлениями.
...
Рейтинг: 0 / 0
SA 12 и выше: Защита от стороннего досупа, как ?
    #39240093
Фотография komrad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Stalker4То есть я хочу запретить работу с БД любым сторонним программам.
Если к серверу доступ только у легитимных пользователей, то можно эккаунты в Sybase заводить и управлять ими через вашу программу.
Идея в шифровании пароля вашей прогой, когда будете заводить пользователей.
Пример: пользователь заводит/меняет свой пароль через вашу прогу и она заносит уже шифрованный. В итоге, через интерфейс пользователь зайти может, а напрямую в Sybase - пароль не подходит.
...
Рейтинг: 0 / 0
SA 12 и выше: Защита от стороннего досупа, как ?
    #39242071
Stalker4
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
komradStalker4То есть я хочу запретить работу с БД любым сторонним программам.
Если к серверу доступ только у легитимных пользователей, то можно эккаунты в Sybase заводить и управлять ими через вашу программу.
Идея в шифровании пароля вашей прогой, когда будете заводить пользователей.
Пример: пользователь заводит/меняет свой пароль через вашу прогу и она заносит уже шифрованный. В итоге, через интерфейс пользователь зайти может, а напрямую в Sybase - пароль не подходит.
Шикарная идея, и как это я сам до нее не додумался.

Думаю ее реализация + изменения данных только через SP существенно усилит защиту данных от сторонних изменений.
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / SA 12 и выше: Защита от стороннего досупа, как ?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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