![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Политика безопасности в Firebird [firebird 1.5]
Mr. D. © (2007-03-06 01:18:00)Получается, что любой пользователь сервера FB по-умолчанию может создать собственные БД. Вот мне интересно - не является ли это уязвимостью, недоработкой? Ведь нелогично, обычно FB запущен как сервис с достаточно большими привелегиями, он может создавать файлы где угодно...
Мне казалось логичным бы, если БД мог создавать только SYSDBA, а остальные пользователи только по специальному разрешению...
Я что-то не понимаю, это все фигня или недоработка FB?
Плюс к тому любой пользователь может в любых БД создавать таблицы свои... Вот только уже сил не хватило проверить для триггеров. Если еще и триггеры может создавать любой пользователь, блокируя тем самым вставку данных, например (а то и меняя данные)...
P.S. Ну и такой побочный вопрос (решил не создавать новую тему). Почему при создании БД у создателя автоматически выдается доступ к таблице: RDB$ROLES - какой это несет смысл?
G_M_S (2007-03-13 15:21:00) [1]
> но эти же люди сами свои вопросы и сняли
Я тоже вобщем-то свой вопрос снял - переписал нужные мне функции на FreePascal и все дела... К счастью, весь функционал этой либы редко используется.
Val (2007-03-13 15:15:00) [2]>И насколько понял так никто и не смог ее заставить работать :(((
в том, что вернул мне яндекс по запросу "rfunc FreeBSD" было пару веток из форумов с вопросами, но эти же люди сами свои вопросы и сняли - может стоит спросить тогда совета у них(пересобирали, кстати, насколько я помню)? я, к сожалению, тут ничем не помогу - не работаю с .nix
G_M_S (2007-03-13 15:03:00) [3]
> Примечание: попробуй еще раз без мата, если "копипастиш"
> то смотри что...
Еще раз не выйдет - ломает меня снова столько текста долбить... И что-то я там мата не припомню в цитатах.
> PS/ Надеюсь ты библиотеку под FreeBSD пересобрал?
Я пытался и из сырцов компилить по новой, и бинарники готоые юзать (совместимость с линкусом включена). И насколько понял так никто и не смог ее заставить работать :(((
atruhin (2007-03-13 14:31:00) [4]> Если ты такой умный - лучше расскажи, как заcтавить rfunc
> под FreeBSD работать.
А в чем конкретно проблемма? Так и говорит: не заставиш!!!
PS/ Надеюсь ты библиотеку под FreeBSD пересобрал?
G_M_S (2007-03-12 16:31:00) [5]Удалено модератором
Примечание: попробуй еще раз без мата, если "копипастиш" то смотри что...
Val (2007-03-12 15:07:00) [6]>Я не кулхацкер, я под Interbase пишу уже почти 5 лет..
>Зато слив саму базу можно локально перебрать пароли..
да, да.
>..как заcтавить rfunc под FreeBSD работать. Это единственное, чего мне сделать так и не удалось.
без понятия, что у тебя не работает. почему поисковик не знает об этой проблеме - или она только у тебя?
atruhin (2007-03-12 13:59:00) [7]> > А чтобы похакерить с существующими БД
>
> А что бы ее изменить/удалить надо похакерить сначала юзера, ее создавшего. А это уже не проблема админа сервера, это
> проблема самого юзера. Просто так перезаписать БД нельзя - только овнер или SYSDBA может.
К сожалению нет. Есть дастаточно способов испортить БД для простого пользователя.
> Зато слив саму базу можно локально перебрать пароли, что значительно ускоряет процесс.
Их не нужно локально перебирать, пароли хранятся на сервере, а не в БД.
> > И разве к секьюрити БД кто хочет доступ имеет?!
> В Firebird 1.5 судя по всему это действительно "кто хочет" :)))
Доступ то имеет, но не везде и только на чтение.
> И глюков дохрена.
А можно привести хоть один для примера? Найденный лично тобой и мешающий тебе.
А то слова, слова...
> > Например, очень логично было бы, если создавать БД мог
> только
> > SYSDBA по-умолчанию.. и прочее, прочее.
> Ну-у-у... Было бы неплохо
И что каждому кому нужно сделать бэкап, давать пароль SYSDBA? Вначале думать нужно...
G_M_S (2007-03-12 10:03:00) [8]
> Чтобы наплодить новых БД
Что бы наплодить новых БД паразиту надо знать, ГДЕ их плодить. Альясы скрывают реальные пути на сервере.
> А чтобы похакерить с существующими БД
А что бы ее изменить/удалить надо похакерить сначала юзера, ее создавшего. А это уже не проблема админа сервера, это проблема самого юзера. Просто так перезаписать БД нельзя - только овнер или SYSDBA может.
> тык там пароль в защифрованном виде...
Круче - там необратимый хэш. Необратимость его, правда, у некоторых товарищей вызывает сомнения, но мне обнаружить алгоритмов восстановления пароля из хэша не удалось. Зато слив саму базу можно локально перебрать пароли, что значительно ускоряет процесс.
> И разве к секьюрити БД кто хочет доступ имеет?!
Вообще имеет тот, кому разрешено. В Firebird 1.5 судя по всему это действительно "кто хочет" :)))
> не мешай, пусть кулхацкер глаголит..
Я не кулхацкер, я под Interbase пишу уже почти 5 лет. С Firebird познакомился около 2-х лет назад. В силу того, что помимо написания клиентского ПО мне приходилось так же админить серваки с этой замечательной СУБД я методом чтения доков/форумов/научным тыком довольно неплохо ее изучил.
Если ты такой умный - лучше расскажи, как заcтавить rfunc под FreeBSD работать. Это единственное, чего мне сделать так и не удалось.
> А если DatabaseAccess=None - то подключаться(создавать)
> БД можно только к тем
Попробуй указать путь securty.fdb - в 1.5 можно получить к нему доступ. Собсно, к каталогу Firebird можно получить доступ. Кажись даже с None, не говоря уже про дефолтное значение.
> А значит сколько еще таких подводных камней у FB?
Много. И глюков дохрена.
> Конечно, чтобы грамотно настроть - нужно уметь настраивать,
> но и по-умолчанию система должна быть достаточно безопасности,
> имхо.
По дефолту СУБД настроена так, что бы любой идиот мог к ней подключиться, не зная как там раздавать права, куда кидать БД и т.п.... А если ты грамотный юзер - изволь конфиг пошерстить и настроить.
> Например, очень логично было бы, если создавать БД мог только
> SYSDBA по-умолчанию.. и прочее, прочее.
Ну-у-у... Было бы неплохо, но раз сервер халявный, а возможность пофиксить траблу ручками имеется - то что поделать, остается ждать милости авторов.
atruhin (2007-03-11 06:58:00) [9]> FB имеет очень много косяков насчет безопасности?
Ну есть они. FB бесплатный сервер, быстро развивается. Надеемся доделают. :)
> Например, очень логично было бы, если создавать БД мог только
> SYSDBA по-умолчанию..
А вот это не очень логично, т.к. создатель БД становится ее владельцем, с полными правами,
это один из ключевых элементов системы безопасности. Тем более, что запретить создание баз, можно,
ну а то что по умолчанию разрешены....) Видать что бы на форумах меньше вопросов было: не могу создать БД.
В отличии от MSSQL, Oracle с FB многие начинают.
Mr. D. (2007-03-10 23:49:00) [10]atruhin © (09.03.07 15:49) [17]
Чего тебе еще нужно, золотая рыбка?
мне перечислили, что надо настраивать, чтобы ликвидировать дыры в безопасности, придуманной мной - человек, который в БЖ почти не шарит.
А значит сколько еще таких подводных камней у FB? Конечно, чтобы грамотно настроть - нужно уметь настраивать, но и по-умолчанию система должна быть достаточно безопасности, имхо.
Например, очень логично было бы, если создавать БД мог только SYSDBA по-умолчанию.. и прочее, прочее.
Видимо, FB имеет очень много косяков насчет безопасности? Что в общем тоже было подтверждено в посте [2]
Правильный Вася (2007-03-09 18:32:00) [11]мазгов лопатку добавить
atruhin (2007-03-09 15:49:00) [12]> [13] Mr. D. (07.03.07 17:46)
> Виталий Панасенко, ясно! Уже лучше :)
Автор, извини, но ты вообще читать и маленько думать умеешь?
Про создание БД тебе ответили 3 раза. Прежде чем стало Уже лучше :)
Про запрет создания таблиц, тебе ответили в 2] atruhin © (06.03.07 08:13), [7] G_M_S © (07.03.07 10:32),
Если хоть немного задуматься, понятно, что тригерами можно управлять также как и таблицами.
Чего тебе еще нужно, золотая рыбка?
Виталий Панасенко (2007-03-07 23:13:00) [13]
> Виталий Панасенко © (07.03.07 22:53) [15]
>
>
это для юзера, которому не дан доступ к таблице
Виталий Панасенко (2007-03-07 22:53:00) [14]
> Mr. D. (07.03.07 17:46) [13]
>
> Виталий Панасенко, ясно! Уже лучше :)
>
> А вот что делать, что каждый может в любой БД наплодить
> сколько угодно таблиц?
>
Ну, каждый, это когда grant for public...
SQL> create trigger config1 for config active after insert as begin end;
Statement failed, SQLCODE = -607
unsuccessful metadata update
-DEFINE TRIGGER failed
-no permission for control access to TABLE CONFIG
SQL>
Правильный Вася (2007-03-07 18:31:00) [15]неужели?
Mr. D. (2007-03-07 17:46:00) [16]Виталий Панасенко, ясно! Уже лучше :)
А вот что делать, что каждый может в любой БД наплодить сколько угодно таблиц?
И еще непонятная ситуация с триггерами. Допустим, доступа у меня к таблице нету, но я могу нафигачить триггер, который будет изменять все данные при INSERT, UPDATE и прочеее...
Виталий Панасенко (2007-03-07 17:00:00) [17]
> Mr. D. (07.03.07 16:00) [10]
>
> G_M_S © (07.03.07 10:30) [6]
> 1) Юзай альясы. НИ ОДНОГО ПУТИ на клиентской части!
>
> а причем здесь это? Чтобы наплодить новых БД - паразитному
> юзеру не нужны алиасы, может только знание ОС нужно, чтобы
> ориентироваться в БД
DatabaseAccess=Restrict DRIVE:\PATH1[;DRIVE1:\PATH1] поможет. тут нужно знать конкретное имя папки/папок (каталога(ов))
А если DatabaseAccess=None - то подключаться(создавать) БД можно только к тем, которые указаны в ALIAS.CONF
Т.е., нужно изучить машину, где установлен сервер Жар-Птицы...
Val (2007-03-07 16:02:00) [18]не мешай, пусть кулхацкер глаголит..
Mr. D. (2007-03-07 16:00:00) [19]G_M_S © (07.03.07 10:30) [6]
1) Юзай альясы. НИ ОДНОГО ПУТИ на клиентской части!
а причем здесь это? Чтобы наплодить новых БД - паразитному юзеру не нужны алиасы, может только знание ОС нужно, чтобы ориентироваться в БД
А чтобы похакерить с существующими БД, он можео тоже алиасами воспользоваться... так что...
раз благодаря инфе о месторасположении сервера и, как следствие, базы паролей.
тык там пароль в защифрованном виде... И разве к секьюрити БД кто хочет доступ имеет?!
G_M_S (2007-03-07 10:56:00) [20]
> Их может быть несколько, указанных чер ;
Да, может. Но зачем? Одного каталога на сервере достаточно, ты ж не будешь (в здравом уме) плодить сотни баз! 2-3 базы на сервер и хватит: каждая база выделяет отдельно пространство для кэша в памяти и для системных данных по базе (лоченые таблиы и пр.). Чем меньше баз - тем больше каждой можно выделить памяти и, как следствие, ускорить работу.
> ReStRiCt=c:\DiReCtOrY
Во-первых немного не так пишется (см. выше или пример в конфиге), а во-вторых регистр будет иметь значение только под Unix-системами. Под FreeBSD проверено :))) Ну там это вообще системное ограничение со стороны ОС.