Читаем Firebird РУКОВОДСТВО РАЗРАБОТЧИКА БАЗ ДАННЫХ полностью

Когда доступ по чтению ограничен таким образом, удаленные клиенты обязаны соединяться с сервером через протокол 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, расположенная где-нибудь на полностью серверной машине, безопасность сервера подвергается большому риску. И вот почему.

Встроенный сервер не использует идентификацию сервера для проверки, имеет ли на это права пользователь, подключающийся к базе данных. Большинство интерфейсов приложений требуют имени и пароля пользователя. Подойдет любое имя пользователя и любой пароль - ничего проверяться не будет. Внутренняя безопасность базы данных, разработанная для использования во встроенном сервере, может быть обеспечена разрешениями SQL (см. главу 35), которые ограничивают доступ, разрешая его конкретному пользователю. Это само по себе является дырой в безопасности на отдельно взятой машине, которая физически доступна для любого "прохожего".

Перейти на страницу:

Похожие книги

Adobe Flash. Создание аркад, головоломок и других игр с помощью ActionScript
Adobe Flash. Создание аркад, головоломок и других игр с помощью ActionScript

Данная книга посвящена программированию игр с помощью ActionScript. Здесь вы найдете подробные указания, необходимые для создания самых разных игр – аркад, головоломок, загадок и даже игровых автоматов. В тексте приведены исходные коды программ и детальные, доступно изложенные инструкции. Базовые принципы программирования ActionScript рассматриваются на примере игр, однако вы без труда сможете применить полученные знания и для разработки неигровых проектов, таких как Web-дизайн и реклама. Рекомендации Гэри Розенцвейга помогут вам не только придумывать занимательные игры и размещать их на Web-сайте, но и оптимизировать скорость их работы, а также защищать свои творения от несанкционированного копирования. Представленный в книге код несложно изменить для использования в других программах.Книга предназначена для широкого круга читателей – создателей анимационных роликов, художников-оформителей, программистов и разработчиков Web-сайтов. Издание может также выступать в качестве практического пособия по изучению ActionScript.

Гэри Розенцвейг

Программирование, программы, базы данных / Программирование / Книги по IT
Эффективное использование C++. 55 верных способов улучшить структуру и код ваших программ
Эффективное использование C++. 55 верных способов улучшить структуру и код ваших программ

Эта книга представляет собой перевод третьего издания американского бестселлера Effective C++ и является руководством по грамотному использованию языка C++. Она поможет сделать ваши программы более понятными, простыми в сопровождении и эффективными. Помимо материала, описывающего общую стратегию проектирования, книга включает в себя главы по программированию с применением шаблонов и по управлению ресурсами, а также множество советов, которые позволят усовершенствовать ваши программы и сделать работу более интересной и творческой. Книга также включает новый материал по принципам обработки исключений, паттернам проектирования и библиотечным средствам.Издание ориентировано на программистов, знакомых с основами C++ и имеющих навыки его практического применения.

Скотт Майерс , Скотт Мейерс

Программирование, программы, базы данных / Программирование / Книги по IT