Откуда SYSDBA в БД, созданной другим пользователем?

Как защититься от хаков, спрятать БД и прочие премудрости и настройки

Модератор: kdv

Ответить
Desdechado
Сообщения: 19
Зарегистрирован: 02 авг 2005, 18:53

Откуда SYSDBA в БД, созданной другим пользователем?

Сообщение Desdechado » 08 фев 2006, 12:32

FB 1.5.2 Embedded
Создаю БД от имени пользователя USER1. В бинарнике базы вижу кучу мест со строкой SYSDBA. Откуда он там взялся? И как от него избавиться?

kdv
Forum Admin
Сообщения: 6595
Зарегистрирован: 25 окт 2004, 18:07

Сообщение kdv » 08 фев 2006, 12:53

никак не избавится. для embedded вообще нет никаких юзеров, потому что нет security.fdb. Так что "от имени USER1" ты базу создать "не можешь", потому что такого юзера нигде нет.

Merlin
Динозавр IB/FB
Сообщения: 1502
Зарегистрирован: 27 окт 2004, 11:44

Сообщение Merlin » 08 фев 2006, 13:11

kdv писал(а):никак не избавится. для embedded вообще нет никаких юзеров, потому что нет security.fdb. Так что "от имени USER1" ты базу создать "не можешь", потому что такого юзера нигде нет.
Дим, я не шибко большой знаток embedded, но берёт сомнение насчёт "не можешь". Имхо по причине отстутствия security.fdb ему просто должно быть пофиг, есть такой юзер или нет - натыкает owner в системные таблицы какого велено, ни о чём не думая, и всё. Это просто логично. А слово SYSDBA есть в любой базе, созданной от кого угодно и избавляться от него я бы не советовал :) Потому как оно присутствует в BLR системных триггеров...

Desdechado
Сообщения: 19
Зарегистрирован: 02 авг 2005, 18:53

Сообщение Desdechado » 08 фев 2006, 13:40

Создать могу. И она создается. Но все-таки хотелось бы от этого SYSDBA избавиться.
Ведь если я удалю пользователя SYSDBA в неEmbedded-версии, подсуну туда эту БД, созданную в Embedded, то по идее SYSDBA не должен иметь возможности подключиться к БД.

Merlin
Динозавр IB/FB
Сообщения: 1502
Зарегистрирован: 27 окт 2004, 11:44

Сообщение Merlin » 08 фев 2006, 13:50

Чадо, или меняй ник на Ибумоски Якамуто или иди читай Operations Guide, глава Database Security, а не "по идее".

Desdechado
Сообщения: 19
Зарегистрирован: 02 авг 2005, 18:53

Сообщение Desdechado » 08 фев 2006, 14:02

> меняй ник на Ибумоски Якамуто
ай, зачем такой злой?

kdv
Forum Admin
Сообщения: 6595
Зарегистрирован: 25 окт 2004, 18:07

Сообщение kdv » 08 фев 2006, 14:21

Merlin писал(а):но берёт сомнение насчёт "не можешь"
я потому в кавычках и написал. То есть, ембеддеду покласть на юзеров. Поэтому "создаю базу от имени user1" - фикция. Где он, этот user1, у embedded-то?
Desdechado писал(а):Ведь если я удалю пользователя SYSDBA в неEmbedded-версии, подсуну туда эту БД, созданную в Embedded, то по идее SYSDBA не должен иметь возможности подключиться к БД.
натюрлих Якамуто :-) читай по губам - Embedded вообще игнорирует пользователей и права пользователей. Потому что пользователи у обычного сервера отслеживаются через security.fdb (fb1.5), isc4.gdb (ib/fb) или admin.ib (ib7.0). А у embedded этот файл где??? Где он будет пользователей хранить? В самой базе? А нету еще такого механизма в FB. Да и даже если взять IB 7.5 с EUA, то и там без центральной admin.ib это не работает. (www.ibase.ru/devinfo/ib75eua.htm

И даже если НА ОБЫЧНОМ сервере создашь БД от имени Вася, а потом перенесешь эту БД на другой сервер, то на нем SYSDBA все равно СМОЖЕТ к ней подключиться, просто потому, что для SYSDBA права в базе данных НЕ ПРОВЕРЯЮТСЯ.

Код: Выделить всё

if USER = SYSDBA then
  IgnoreRights
else
  CheckRights(USER)
.

Merlin
Динозавр IB/FB
Сообщения: 1502
Зарегистрирован: 27 окт 2004, 11:44

Сообщение Merlin » 08 фев 2006, 14:41

kdv писал(а): Embedded вообще игнорирует пользователей и права пользователей.
Косноязычен ты сегодня ;) Или Дятел на rdb$user_privileges - rdb$security_classes таки кладёт? FB-то нет. Просто пароль хоть и требует, но не проверяет.

kdv
Forum Admin
Сообщения: 6595
Зарегистрирован: 25 окт 2004, 18:07

Сообщение kdv » 08 фев 2006, 14:49

ок, гоню. FB Embedded привилегии проверяет. Однако мои слова про вседозволенность SYSDBA остаются.

alecsar
Сообщения: 9
Зарегистрирован: 19 май 2006, 18:08

Сообщение alecsar » 26 май 2006, 15:40

Не желаете ли продолжить тему?
Вседозволенность SYSDBA ставит под вопрос безопасность использования Firebirdа Ведь так может каждый скопировать базу данных. Установить security.fdb (свой не изменённый) и юзерить твою базу данных!!!
Никто не знает как от этого можно защититься?

Dimitry Sibiryakov
Заслуженный разработчик
Сообщения: 1436
Зарегистрирован: 15 сен 2005, 09:05

Сообщение Dimitry Sibiryakov » 26 май 2006, 16:00

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

dimitr
Разработчик Firebird
Сообщения: 888
Зарегистрирован: 26 окт 2004, 16:20

Сообщение dimitr » 26 май 2006, 16:01

от ламера защититься можно, но от хакера - без шансов. К слову, это относится к любой СУБД.

kdv
Forum Admin
Сообщения: 6595
Зарегистрирован: 25 окт 2004, 18:07

Сообщение kdv » 27 май 2006, 22:09

Не желаете ли продолжить тему?
нет. на этом форуме данная тема обсуждалась. как и на многих других разных форумах.

Ответить