![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Interbase и безопасность [IB5.x]
ShaH © (2002-04-17 08:23:00)Как для базы данных Interbase запретить доступ SYSDBA ? Если этого не делать в любой момент пользователь может переинсталлять сервер и получить доступ ко всем данным.
Alex_Y (2002-04-17 16:47:00) [1]Если есть желание работать на бесплатном IB (FB) и иметь суперзащиту, то ... храни её в хранимых процедурах и триггерах. Т.е. в каждой таблице надо при изменении записей контролировать, кто это делает и блокировать SYSDBA. Правда, все "внутренности" базы видны в простом редакторе :(. Это при том, что злоумышленник имеет полный доступ к самому файлу (т.е. вхож на сервер). Для этого (для предотвращения) есть замки на дверях и сетевые настройки. Это когда Винды "не видят", а клиент могёт.
Кстати это неплохо срабатывает и против разных сторонних программ, например, IBE. Если не знать адрес базы на сервере, то как к ней приконнектиться? Вывод - не храните ссылку к базе в незашифрованных INI.
evgeg (2002-04-17 15:29:00) [2]> Alex_Y
Т. е. просто хранить пароль в программе. Автора вопроса заботит не это, а то, что пользователь может под-ся к базе через другую программу (WISQL или IBExpert какой-нибудь) и получить доступ ко все таблицам, данным и пр.
Alex_Y (2002-04-17 15:11:00) [3]Есть и другой вариант. Поменять пароль SYSDBA на другой (например, mykey). А из клиента проверять: если на связку SYSDBA-mykey сервер не отзывается, значит его переустановили. Что делать дальше - решать вам. Напимер, вылетать из программы с грозным сообщением :). Правда, важно не забывать менять пароль SYSDBA при каждой установке сервера.
evgeg (2002-04-17 14:59:00) [4]Как то этот вопрос уже появлялся. Можно отобрать у SYSDBA все права на все таблицы. Но все равно придется дать эти права какому-то юзеру. И SYSDBA всегда сможет дать ему пароль, который захочет и зайдя под его именем сделать с вашей базой все, что угодно.
AlGin (2002-04-17 14:36:00) [5]Можно просто кодировать данные перед записью и раскодировать при чтении в клиенте. При этом, кроме как через клиента никто ничего не поймет, даже если и увидит.
ShaH (2002-04-17 11:20:00) [6]to Fareader
это как же ? SYSDBA даже не являясь хозяином таблиц имеет к ним и другим объектам БД полный доступ. При переинсталляции если снести файл isc4.gdb, SYSDBA опять появится со своим masterkey"ем
Fareader (2002-04-17 10:39:00) [7]воспользуйся утилитой, которую предлагает Alexandr ©, в ней, если я не ошибаюсь, можно изменить хозяина таблиц (Sysdba), если это сделать, то сколько раз не переустанавливай сервер, а все равно прав не будет.
Johnmen (2002-04-17 10:28:00) [8]>martha (17.04.02 10:12) : А может Informix - там еще мощней !
:-))))
martha (2002-04-17 10:12:00) [9]Oracle forever. Там очень мощный механизм разграничения доступа и именно на базе.
ShaH (2002-04-17 10:04:00) [10]to Zlobny:
задача вовсе не извратная. Удаление данных тоже крайне нежелательно.
Кто-нибудь может подсказать удобоваримый вариант ?
Или другую платформу БД ?
martha (2002-04-17 10:04:00) [11]Господа, для справки, пароль (любой) не на базе, а на IB-сервере.
IB - сервер можно переинсталять и без знания пароля. Либо перенести базу в другое место, где сервер имеет юзера SYSDBA.
Alexandr (2002-04-17 09:33:00) [12]попробуй
ib.demo.ru это тоже самое
утилита называется IBClear
Zlobny (2002-04-17 09:33:00) [13]Для такой извратной задачи есть извратное решение - хранить базу данных в файле isc4.gdb. В этом случае переустановка сервера приведет "лишь" к удалению базы данных, а данные в некоторой степени защищены.
ShaH (2002-04-17 09:19:00) [14]to Alexandr:
адрес www.ibase.ru у меня не отвечает, ты ничего не напутал ?
ShaH (2002-04-17 09:10:00) [15]Дело в том, что разрабатываемая система ставится совсем чужим людям, работает на их машинах, сервером управляет их человек, а в корректности данных заинтересована наша контора, вот и возникла проблема как сделать так, чтобы их администратор не мог править наши данные, удалением SYSDBA дело не решится, после переинсталляции Interbase сервера он появится снова. Надо ему просто доступ убрать.
Alexandr (2002-04-17 08:56:00) [16]на www.ibase.ru есть утилитка для защиты базы данных- она и SYSDBA удаляет и еще много чего делает
gek (2002-04-17 08:53:00) [17]А еше пользователь может и Винду стереть в любой момент.
Доступ к серверу должен быть только у админа.
А SYSDBA удалять насколько я знаю не рекомендуется - потеряешь доступ к системным таблицам