Firebird РУКОВОДСТВО РАЗРАБОТЧИКА БАЗ ДАННЫХ
Шрифт:
1. Локализовать систему Windows.
2. Вставить *nix CD.
3. Перезагрузиться.
4. Следовать подсказкам инсталляции.
Эти слова были сказаны с насмешкой, они сопровождались обязательными "улыбочками", но доклад Philip Сох содержит серьезный полезный совет системным администраторам, для которых запуск серверов Windows является лишь возможным вариантом. Он основной автор официальной и очаровательно искренней книги по безопасности сервера Windows "Windows 2000 Security Handbook" [132] . Сама Microsoft публикует официальные издания с подробными практическими инструкциями по реализации безопасности на их серверных платформах
132
Windows 2000 Security Handbook (Osborne-McGraw Hill, 2000) написана Philip Сох и Tom Sheldon. Биографию Philip Сох см. на http://www.systemexperts.com/bios.html.
В системах 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 предоставляют возможность выполнения произвольного кода с помощью внешних функций, фильтров BLOB и реализаций пользовательских наборов символов. Такие внешние модули выполняются в том же адресном пространстве, что и серверный процесс, и с теми же привилегиями.
Соответственно, важно защитить сервер от возможности доступа внешних файлов и модулей, написанных неавторизованными пользователями.
В Firebird 1.0.x вы можете сконфигурировать указанные каталоги для хранения внешних модулей и внешне отображаемых файлов данных и применить ограничения на уровне операционной системы для предотвращения неавторизованного доступа. Настоятельно рекомендуется использовать такую возможность в файловых системах, которые способны это поддерживать с полномочиями доступа файловой системы.
При этом сервер Firebird 1.0.x имеет доступ к внешнему коду и данным в любом месте файловой системы, находящейся под управлением хоста.
В версии 1.5 и выше размещение внешних выполняемых модулей и других внешних объектов может быть жестко сконфигурировано для гарантии того, что сервер вызовет исключение, если получит запрос на доступ к внешним объектам, расположенным не в нужном месте. Подробности такого конфигурирования см. в замечаниях относительно внешних объектов в конце главы 36.
Сервисы, выполняемые под профилем localsystem, рассматриваются как часть надежного базового кода (Trusted Code Base, TCB) - предполагается, что они имеют такой же уровень надежности, что и сама Windows. Выполнение сервиса Firebird в Windows 2000 и выше несет в себе явный риск в отношении выполнения произвольного кода, созданного со злым умыслом. Важность обеспечения программной целостности внешних выполняемых модулей Firebird, даже при очень высоких условиях безопасности, является критичной.
Короче говоря, программное обеспечение операционной системы Windows не дает надежных гарантий безопасности серверов базы данных в локальной сети или за ее пределами. Потенциально возможные внешние модули должны быть отключены четко сконфигурированным контролем доступа пользователей с помощью LAN и надежными продуктами сетевой защиты сторонних разработчиков для определения и блокирования атак.
Встроенный сервер под Windows
Библиотека встроенного сервера под Windows, естественно, разработана для работы на машинах, которые не используются как полноценный сервер. Если у вас есть копия библиотеки fbembed.dll, расположенная где-нибудь на полностью серверной машине, безопасность сервера подвергается большому риску. И вот почему.
Встроенный сервер не использует идентификацию сервера для проверки, имеет ли на это права пользователь, подключающийся к базе данных. Большинство интерфейсов приложений требуют имени и пароля пользователя. Подойдет любое имя пользователя и любой пароль - ничего проверяться не будет. Внутренняя безопасность базы данных, разработанная для использования во встроенном сервере, может быть обеспечена разрешениями SQL (см. главу 35), которые ограничивают доступ, разрешая его конкретному пользователю. Это само по себе является дырой в безопасности на отдельно взятой машине, которая физически доступна для любого "прохожего".
Неудержимый. Книга VIII
8. Неудержимый
Фантастика:
фэнтези
попаданцы
аниме
рейтинг книги
Законы Рода. Том 6
6. Граф Берестьев
Фантастика:
юмористическое фэнтези
аниме
рейтинг книги
Восход. Солнцев. Книга I
1. Голос Бога
Фантастика:
фэнтези
попаданцы
аниме
рейтинг книги
Попаданка
Любовные романы:
любовно-фантастические романы
рейтинг книги
Возлюби болезнь свою
Научно-образовательная:
психология
рейтинг книги
