Документация Firebird → Документация по Firebird → Безопасность файлов и метаданных → Встроенный Firebird |
Существует специальная версия СУБД Firebird, называемая «встроенной». Это клиентская библиотека, которая содержит, собственно, сам сервер. Когда приложение обращается к такой библиотеке, оно загружает сервер и разрешает прямой доступ к любой базе данных, имеющейся на локальном компьютере. Эта версия сервера не использует базу данных безопасности, содержащую информацию о пользователях сервера. Имя пользователя, указанное при «входе» (проверка пароля при этом не производится), используется для управления доступом пользователя к объектам базы данных (с помощью механизма разрешений/запрещений SQL). Если именем пользователя является SYSDBA или имя владельца базы данных, возможен неограниченный доступ.
Функциональность встроенной версии удобна для разработчиков, которые хотят создать легко распространяемые приложения для одного пользователя, не требующие использования условий безопасности.
Из короткого описания может показаться, что наличие установленной встроенной версии сервера на компьютере, где установлена полная версия сервера, обслуживающего другие базы данных, само по себе является большой проблемой с безопасностью. На самом деле, риск нарушения безопасности не больше, чем когда встроенный сервер не был бы установлен вовсе.
Когда приложение загружает встроенный сервер, то сервер работает в контексте безопасности приложения (и, соответственно, пользователя ОС). Это означает, что встроенный сервер сможет получить доступ только к тем файлам баз данных, к которым пользователь операционной системы имеет прямой доступ. Разрешение обычному пользователю устанавливать программы на сервере, который должен быть обезопасен, является плохой идеей в любом случае. Однако, если Вы указали необходимые права доступа к файлам баз данных сервера, то встроенный сервер доступа к ним не получит.
Опасность исходит от других программ, которые пользователь может установить.
Сам факт существования встроенного сервера только лишь подчеркивает, что возможно сделать, если получить прямой доступ к файлу базы данных, особенно для проектов с открытым кодом. Если бы такой версии сервера еще не было, то, несомненно, кто-то смог бы сделать версию полного сервера, подобную встроенной версии.
Документация Firebird → Документация по Firebird → Безопасность файлов и метаданных → Встроенный Firebird |