Хелен Борри - Firebird РУКОВОДСТВО РАЗРАБОТЧИКА БАЗ ДАННЫХ
- Название:Firebird РУКОВОДСТВО РАЗРАБОТЧИКА БАЗ ДАННЫХ
- Автор:
- Жанр:
- Издательство:БХВ-Петербург
- Год:2006
- Город:Санкт-Петербург
- ISBN:5-94157-609-9
- Рейтинг:
- Избранное:Добавить в избранное
-
Отзывы:
-
Ваша оценка:
Хелен Борри - Firebird РУКОВОДСТВО РАЗРАБОТЧИКА БАЗ ДАННЫХ краткое содержание
Рассмотрены вопросы, необходимые разработчику для создания клиент-серверных приложений с использованием СУБД Firebird, явившейся развитием СУБД Borland Interbase 6. Содержится обзор концепций и моделей архитектуры клиент/сервер, а также практические рекомендации по работе с клиентскими библиотеками Firebird. Детально описаны особенности типов данных SQL, язык манипулирования данными (Data Manipulation Language, DML), а также синтаксис и операторы языка определения данных ( Data Definition Language, DDL). Большое внимание уделено описанию транзакций и приведены советы по их использованию при разработке приложений. Описано программирование на стороне клиента и сервера написание триггеров и хранимых процедур, создание и использование событий базы данных, обработка ошибок в коде на сервере и многое другое. Материал сопровождается многочисленными примерами, советами и практическими рекомендациями.
Для разработчиков баз данных
Firebird РУКОВОДСТВО РАЗРАБОТЧИКА БАЗ ДАННЫХ - читать онлайн бесплатно полную версию (весь текст целиком)
Интервал:
Закладка:
* Файлы gbak не являются базами данных, следовательно, не могут быть использованы злоумышленником. Любой может восстановить базу данных из копии вашего файла gbak.
Защита, основанная на возможностях платформы
Тот уровень защиты, основанный на платформе, который вы можете использовать при инсталляции вашего сервера базы данных, зависит от двух факторов: как хорошо платформа операционной системы и ее файловая система могут защитить вашу систему (программы и данные) и насколько безопасной должна быть ваша система. Второе может быть хорошим основанием для выбора первого.
Если у вас есть очень веские причины поступить иначе, вам следует запустить сервер Firebird как сервис.
Если возможно, используйте специальную учетную запись пользователя для запуска сервиса Firebird. В Firebird 1.5 это реализовано по умолчанию для Linux и некоторых других POSIX-систем. Под Windows и для Firebird 1.0.x вы должны это сделать сами.
Ограничение подключения к операционной системе
Требуйте пароли при всех подключениях и отменяйте кэширование подключения на серверах и рабочих станциях Windows. В сетях отменяйте возможность для пользователей и групп изменять их собственные установки регистрации. Задавайте строгие пароли. Усиливайте блокировки учетных записей на всех серверах и рабочих станциях, которые соединяются с базами данных.
Заставьте использовать обычные учетные записи при нормальной работе. Ограничьте подключения root или администратора административными сессиями. Отключите учетные записи "guest", "world" и "everyone".
Отслеживайте неверные подключения, ошибки при отключениях, ошибки при доступе к объектам файлов и программ, нарушения пользовательских привилегий, необычные завершения и перезагрузки системы.
POSIX
Linux, UNIX и другие платформы POSIX более предпочтительны, чем Windows, если требуется высокая безопасность. Технологии безопасности этих платформ являются продуманными и очень понятными в реализации. Безопасность файловой системы и надежный доступ присущи требованиям проектирования, которые определены в общих стандартах. Это не означает, что просто инсталляция сервера баз данных на платформе POSIX является гарантией безопасности. Это говорит о том, что тут существуют элементы, необходимые для установки систем безопасности, обеспечивающих надежную защиту.
Платформы Microsoft Windows
Инсталляции сервера Windows являются столь безобразно сложными в плане безопасности, что требования высокой защищенности могут просто полностью исключить Windows в качестве платформы для установки серверов базы данных, в которых оценка и отслеживание безопасности на местах отсутствует.
В презентации лаборатории, озаглавленной "Укрепление Windows 2000" [131] См. http://security.ucdavis.edu/HardenWin2Klab.pdf
, гуру сетевой безопасности Philip Сох из SystemExperts Corporation начал очерчивать "Четыре шага практической безопасности в Win2K" следующим образом:
1. Локализовать систему Windows.
2. Вставить *nix CD.
3. Перезагрузиться.
4. Следовать подсказкам инсталляции.
Эти слова были сказаны с насмешкой, они сопровождались обязательными "улыбочками", но доклад Philip Сох содержит серьезный полезный совет системным администраторам, для которых запуск серверов Windows является лишь возможным вариантом. Он основной автор официальной и очаровательно искренней книги по безопасности сервера Windows "Windows 2000 Security Handbook" [132] Windows 2000 Security Handbook (Osborne-McGraw Hill, 2000) написана Philip Сох и Tom Sheldon. Биографию Philip Сох см. на http://www.systemexperts.com/bios.html.
. Сама Microsoft публикует официальные издания с подробными практическими инструкциями по реализации безопасности на их серверных платформах и часто выпускает патчи безопасности. Сайт activewin.com является полезным источником связанных описаний множества патчей безопасности, которые были созданы и продолжают создаваться в различных версиях Windows.
В системах Windows NT/2000 и XP сервисы доступны удаленным клиентам, даже когда ни один пользователь не соединен с сервером.
При выполнении сервис Firebird, как и большинство сервисов Windows, выполняется под учетной записью localsystem. Localsystem является встроенной учетной записью, которая для Windows NT 4 и меньших версий сервера имеет мало возможностей. На более поздних серверных платформах Windows localsystem была наделена чрезмерным уровнем привилегий доступа к локальным системным ресурсам, включая привилегии, которые не могут быть предоставлены даже членам группы администраторов.
Приложения же выполняются под обычными учетными записями пользователей и требуют, чтобы пользователь был соединен с сервером. Любой стандартный пользователь Windows может запустить сервер Firebird как приложение.
Под Windows строго рекомендуется ограничить размещение каталогов (папок), где располагаются файлы базы данных и компоненты сервера, и защитить к ним доступ. Установите права к объектам и полномочия для совместно используемого ресурса для каждого файла, к которому потенциально могут обращаться сетевые пользователи. Чтобы быть защищенными, каталоги и файлы должны находиться в разделах NTFS, в деревьях, предназначенных для этих целей, и должны быть сделаны читаемыми только для учетной записи или группы с соответствующими привилегиями.
Когда доступ по чтению ограничен таким образом, удаленные клиенты обязаны соединяться с сервером через протокол TCP/IP, но не через Windows Networking (часто называемый NetBEUI).
Дополнительно для Firebird 1.5 и выше вы можете (и должны) ограничить локализацию, где сервер может читать файлы базы данных с помощью параметра DatabaseAccess в файле конфигурации firebird.conf.
Когда безопасность является важной, системы Windows 95/98 и ME не должны рассматриваться для использования в качестве хоста для Firebird. Они не имеют поддержки сервисов или безопасности на уровне файлов. Любой человек, имеющий доступ к файловой системе, может легко сделать копию базы данных с помощью команды копирования или архивирования файлов или просто использовать возможности GUI (Drag-and-Drop, копировать и вставить и т.д.) для воровства базы данных Firebird.
Возможность В Firebird 1.5 конфигурировать ограничение DatabaseAccess в файле firebird.conf (см. главу 36) доступна на этих "не серверных" платформах. По крайней мере, это ограничит размещение каталога, в котором сервер сможет читать файлы базы данных. При этом файловая система FAT32 открыта всему миру и не предоставляет никакой защиты от случайного или намеренного перезаписывания баз данных, кодов внешних функций или других файлов, связанных с Firebird.
Выполнение произвольного кода
Для плохо защищенных систем все текущие версии Firebird предоставляют возможность выполнения произвольного кода с помощью внешних функций, фильтров BLOB и реализаций пользовательских наборов символов. Такие внешние модули выполняются в том же адресном пространстве, что и серверный процесс, и с теми же привилегиями.
Читать дальшеИнтервал:
Закладка: