Читать интересную книгу Firebird РУКОВОДСТВО РАЗРАБОТЧИКА БАЗ ДАННЫХ - Хелен Борри

Шрифт:

-
+

Интервал:

-
+

Закладка:

Сделать
1 ... 148 149 150 151 152 153 154 155 156 ... 238

* Файлы 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], гуру сетевой безопасности Philip Сох из SystemExperts Corporation начал очерчивать "Четыре шага практической безопасности в Win2K" следующим образом:

1. Локализовать систему Windows.

2. Вставить *nix CD.

3. Перезагрузиться.

4. Следовать подсказкам инсталляции.

Эти слова были сказаны с насмешкой, они сопровождались обязательными "улыбочками", но доклад Philip Сох содержит серьезный полезный совет системным администраторам, для которых запуск серверов Windows является лишь возможным вариантом. Он основной автор официальной и очаровательно искренней книги по безопасности сервера Windows "Windows 2000 Security Handbook"[132]. Сама Microsoft публикует официальные издания с подробными практическими инструкциями по реализации безопасности на их серверных платформах и часто выпускает патчи безопасности. Сайт activewin.com является полезным источником связанных описаний множества патчей безопасности, которые были созданы и продолжают создаваться в различных версиях Windows.

Windows NT/2000 и XP

В системах 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

Когда безопасность является важной, системы Windows 95/98 и ME не должны рассматриваться для использования в качестве хоста для Firebird. Они не имеют поддержки сервисов или безопасности на уровне файлов. Любой человек, имеющий доступ к файловой системе, может легко сделать копию базы данных с помощью команды копирования или архивирования файлов или просто использовать возможности GUI (Drag-and-Drop, копировать и вставить и т.д.) для воровства базы данных Firebird.

Возможность В Firebird 1.5 конфигурировать ограничение DatabaseAccess в файле firebird.conf (см. главу 36) доступна на этих "не серверных" платформах. По крайней мере, это ограничит размещение каталога, в котором сервер сможет читать файлы базы данных. При этом файловая система FAT32 открыта всему миру и не предоставляет никакой защиты от случайного или намеренного перезаписывания баз данных, кодов внешних функций или других файлов, связанных с Firebird.

Выполнение произвольного кода

Для плохо защищенных систем все текущие версии Firebird предоставляют возможность выполнения произвольного кода с помощью внешних функций, фильтров BLOB и реализаций пользовательских наборов символов. Такие внешние модули выполняются в том же адресном пространстве, что и серверный процесс, и с теми же привилегиями.

Соответственно, важно защитить сервер от возможности доступа внешних файлов и модулей, написанных неавторизованными пользователями.

Firebird 1.0.x

В Firebird 1.0.x вы можете сконфигурировать указанные каталоги для хранения внешних модулей и внешне отображаемых файлов данных и применить ограничения на уровне операционной системы для предотвращения неавторизованного доступа. Настоятельно рекомендуется использовать такую возможность в файловых системах, которые способны это поддерживать с полномочиями доступа файловой системы.

При этом сервер Firebird 1.0.x имеет доступ к внешнему коду и данным в любом месте файловой системы, находящейся под управлением хоста.

Firebird 1.5

В версии 1.5 и выше размещение внешних выполняемых модулей и других внешних объектов может быть жестко сконфигурировано для гарантии того, что сервер вызовет исключение, если получит запрос на доступ к внешним объектам, расположенным не в нужном месте. Подробности такого конфигурирования см. в замечаниях относительно внешних объектов в конце главы 36.

Особые риски, связанные с сервисами Windows

Сервисы, выполняемые под профилем localsystem, рассматриваются как часть надежного базового кода (Trusted Code Base, TCB) - предполагается, что они имеют такой же уровень надежности, что и сама Windows. Выполнение сервиса Firebird в Windows 2000 и выше несет в себе явный риск в отношении выполнения произвольного кода, созданного со злым умыслом. Важность обеспечения программной целостности внешних выполняемых модулей Firebird, даже при очень высоких условиях безопасности, является критичной.

Короче говоря, программное обеспечение операционной системы Windows не дает надежных гарантий безопасности серверов базы данных в локальной сети или за ее пределами. Потенциально возможные внешние модули должны быть отключены четко сконфигурированным контролем доступа пользователей с помощью LAN и надежными продуктами сетевой защиты сторонних разработчиков для определения и блокирования атак.

Встроенный сервер под Windows

Библиотека встроенного сервера под Windows, естественно, разработана для работы на машинах, которые не используются как полноценный сервер. Если у вас есть копия библиотеки fbembed.dll, расположенная где-нибудь на полностью серверной машине, безопасность сервера подвергается большому риску. И вот почему.

1 ... 148 149 150 151 152 153 154 155 156 ... 238
На этом сайте Вы можете читать книги онлайн бесплатно русская версия Firebird РУКОВОДСТВО РАЗРАБОТЧИКА БАЗ ДАННЫХ - Хелен Борри.
Книги, аналогичгные Firebird РУКОВОДСТВО РАЗРАБОТЧИКА БАЗ ДАННЫХ - Хелен Борри

Оставить комментарий