SQLBase SafeGarde - СУБД с полной защитой данныхС. А. Большаков
Обеспечение защиты данных выполняется в SQLBase SafeGarde на административном уровне и не требует перепрограммирования бизнес-приложений. Введение Потребность в защите электронной информации становиться все более актуальной. Этому вопросу посвящено много разработок и исследований. Но цель нашей статьи иная, подчеркну самое главное, что, на наш взгляд, не является пока достаточно известным в мире информационных технологий. Необходимость защиты информации в информационных системах жестко регламентируется законодательством Российской Федерации. Существуют десятки законов РФ и отраслевых стандартов, которые определяют необходимость защиты информации и требования к ее организации. Недавно (24 января 2001 года) на эту тему в Interface Ltd был проведен семинар, результаты обсуждений по этой теме Вы можете найти на сайте. В связи этим актуальным становиться переориентация на программные продукты и, в частности, СУБД, которые обеспечивают полную или частичную защиту. Так получилось, что большинство SQL серверов являются открытыми и прозрачными не только для пользователей, но и для попыток несанкционированного доступа: практически любой запрос позволяет получить доступ к информации, хранимой в БД. Получение или подбор системного пароля при нынешних уровнях производительности компьютеров не является для взломщиков непреодолимой преградой. Одним из первых в мире, и первым в своем классе СУБД, предоставляет полную защиту SQL СУБД фирмы Centura - Centura SQLBase SafeGarde. Этот программный продукт является популярным у нас в стране и за рубежом по причинам, которые будут отмечены ниже. Здесь же скажем, что популярность его должна еще больше возрасти в связи с тем, что, начиная с января 2000 года, вышла новая версия программного продукта SQLBase SafeGarde (или даже семейство версий), рассчитанных на обеспечение пользователей СУБД всеми необходимыми механизмами защиты информации. Характерной чертой продукта, как и, впрочем идеологии фирмы Centura, является ориентация на пользователя, что в данном случае означает минимум переработок для внедрения механизмов защиты в существующих БД и минимум затрат при построении новых систем с защитой информации. Это достигается тем, что подключаются и настраиваются защитные процедуры на административном уровне. О том, как это реализовано и может быть сделано при эксплуатации СУБД и пойдет речь в данной статье. Сначала несколько слов о самом программном продукте для тех, кто недостаточно знаком с продуктами Centura. Остальные читатели могут опустить следующие два подраздела. Версии SQLBase и новые версии, планируемые в 2001 году СУБД SQLBase имеет продолжительную историю, начало которой нужно искать в 1980 году. За этот период развитие СУБД шло в ногу со временем, было создано много версий, которые неизменно находили широкое применение. Ниже приведены основное сведения относительно версий, защиты данных в SQLBase и перспективы развития. Семейство версий СУБД SQLBase:
Уровни защиты информации в SQLBase:
Перспективы выхода новых версий SQLBase с защитой данных:
СУБД SQLBase выходит в следующих комплектах:
Особенности СУБД, его отличительные свойства и функции Особенности СУБД SQLBase выделены ниже:
СУБД SQLBase обеспечивает выполнение всех функций и операций, характерных для профессионального SQL сервера БД, в частности выделим основные:
Перейдем далее к рассмотрению вопросов защиты информации в SQLBase. Для этого предварительно нужно ответить на следующие вопросы: что представляет собой защита данных, и в каких случаях она должна применяться?
Что такое защита информации?
Уровень защищенности данных в информационных системах самого различного уровня определяется ответами на совокупность вопросов представленных ниже. На рисунке, расположенном ниже (Рис. 1), схематично показаны узкие места, в которых возможно хищение, умышленное изменение и несанкционированный доступ к информации (на рисунке они выделены пиктограммой со знаком вопроса). Если мероприятия, применяемые для защиты информации, обеспечивают положительные ответы на поставленные ниже вопросы, то можно считать, что уровень защиты информации в вашей системе достаточно высок. Основные вопросы следующие:
Мы постараемся ответить на эти вопросы, рассматривая возможности защиты информации в SQLBase SafeGarde и методы их практической настройки. Поскольку обеспечение защиты информации в системах - мероприятие дорогостоящее: по некоторым оценкам затраты на защиту приближаются к затратам на проектирование и создание сложных информационных систем (т.е. затраты на проектирование и эксплуатацию могут возрасти почти вдвое), то необходимо ответить на вопрос о необходимости ее введения. Постараемся ответить на него.
Когда нужна защита информации?
Как было отмечено выше, первостепенным при введении защиты информации может быть требование законодательства России, которым регламентируются случаи и методы обеспечения защиты информации, хранимой в электронном виде.
Рис. 1 Узкие места в системе с точки зрения защиты информации В частности, подлежит защите любая информация, служащая для идентификации личности (ФИО, адрес, телефон и т.д.). Кроме того, любая коммерческая информация, разглашение которой нежелательно для нормальной работы организации, тоже должна быть защищена по закону. Этот перечень может быть продолжен. Если проанализировать любую информационную бизнес систему, то легко можно убедиться, что в ней защита необходима только по закону. Потребность в защите информации с помощью СУБД предопределяется следующими факторами:
Из приведенного перечня видно, что существует много оснований очень серьезно прорабатывать вопросы защиты данных практически в любых информационных системах. В этом вам может помочь переход на СУБД SQLBase, который обеспечит плавный переход к системам с защитой данных, причем практически не потребует перепрограммирования приложений, большинство механизмов защиты реализовано на административном уровне. Рассмотрим эти механизмы. Разновидности защиты в SQLBase Safegarde Для реализации защиты информации в SQLBase Safegarde предложены механизмы: Реализация защиты в СУБД по отдельным позициям Данные механизмы реализованы в SQLBase SafeGarde следующим образом: Авторизация прав доступа и привилегии доступа к объектам БД и процедурам: Введены четыре категории пользователей, права которых различны: Используются специальные SQL и SQLTalk команды для назначения привилегий и режимов защиты: Пароли для сервера и защиты: Введены специальные команды для установки режимов защиты данных и сервера: Предусмотрены два раздельных, но взаимосвязанных пароля для защиты: Server connection passwords: Server connection passwords - устанавливается в SQL.INI (секция сервера) и служит для выполнения административных операций и получения информации о сервере БД. Его можно использовать даже для БД, которые не шифруются. Его можно опускать ('*') и желательно не использовать в зашифрованных БД. Роль Server connection passwords в этом случае будет играть Server security passwords. Server connection passwords позволяет: Подключение к серверу для выполнения административных функций и с паролем для доступа (пример): SET SERVER SERVER1/SECRET; Server security passwords Server security passwords - в дополнение к функциям Server connection passwords этот пароль позволяет вам шифровать БД и контролировать несанкционированные изменения страниц БД. Пока не задан Server security passwords, невозможна шифровка БД и нельзя получить доступ к зашифрованным БД. Для доступа к зашифрованной БД или установки режима защиты нужно указать ключ шифрования (database encryption key). ALTER DBSECURITY - команда установки ключа (команда SQLTalk). Установка - при работе в WINDOWS выберете <Security - Set Security Password в SQLBase консоли сервера>. При работе в NetWare нажмите F4. Только после установки Server security passwords (16 символов максимально) вы получаете возможность использования и ввода кода для шифрования БД (ключ шифрования - 18 символов максимально). В команде в SQLTalk ALTER DBSECURITY задаются: ключ, режимы шифрования данных, а также режимы защиты страниц. Это делается следующими параметрами: Код шифрования будет сформирован на основе двух параметров: ключа шифрования (database encryption key) и пароля шифрования сервера (Server security passwords). Режимы шифрования БД и Уровни защиты данных С помощью параметра SET SECURITY TO могут быть установлены четыре режима шифрования данных в БД, которые определяют степень защиты информации. Это следующие режимы: ь NONE - нет шифрования в БД, режим шифрования отключен. В процессе эксплуатации БД предусмотрена возможность миграции от одного уровня шифрования к другому, вплоть до полного отключения этого режима (NONE). Эти операции выполняются в административном режиме. Если включена защита, то выполняется шифрование и журналов транзакций по методу MEDIUM. Назначение режимов защиты страниц от доступа БД разделена на страницы размером 1кб. На каждую станицу создается ключ/код, что позволяет контролировать доступ: невозможно прочитать и при изменении вручную не записывается в БД. СУБД контролирует несанкционированное изменение страниц БД. В случае нарушения доступа сервер автоматически закрывается. Предусмотрены следующие режимы, задаваемые параметром SET CHECK TO команды ALTER DBSECURITY: ь NONE - нет защиты, но при защите в БД страницу все равно нельзя изменить! Защита при передаче данных Для защиты по передаче данных в SQL.INI в клиентской и серверной части устанавливаются параметр secureapi = {0/1/2} (Определяет режимы: None, Medium, High). При этом специально не нужно программировать защитные функции. Для работы с защитой передачи данных нужно всего подключить три DLL: SQLWNTM, SQLNGCI и любая comdll (например, для TCP/IP - sqlws32). Задержка при проверке пароля Для усложнения процесса подборки пароля, защиты от "хакерских атак" и предотвращения ошибок доступа предусматривается отложенная проверка вводимых паролей. В тех случаях, когда распознается неправильный пароль или пользователь, то выполняется задержка ответа на вызов (задержка времени ответа увеличивается в геометрической прогрессии). Правильное подключение никогда не задерживается. SQLBase увеличивает время ответа при каждой неправильной (несанкционированной) попытке доступа, поэтому циклические процедуры подбора паролей пользователя становятся практически невозможны. Защита от выполнения функций SQL/API для защиты файлов от доступа С помощью специальной директивы (fileaccess=0) можно исключить выполнение функций доступа к файлам БД на уровне "С" API для SQLBase. Этих функций нижнего уровня несколько: sqlfgt, sqlfpt, sqlmop и sqlmdl. Весь остальной контроль и защиту данных выполнит сервер SQLBase Safegarde при доступе посредством SQL команд. Оценка снижения производительности при защите данных СУБД SQLBase 7.5 по сравнению с предыдущей версией (7.0) является более производительным приблизительно в три раза, это достигается за счет оптимизирующих алгоритмов доступа к данным. При введении уровней защиты для ОС Windows NT производительность снижается до 99% (MEDIUM и LOW) и до 94% (HIGH) соответственно. При использовании NetWare снижение более заметно: 93% (MEDIUM и LOW) и до 91% (HIGH) соответственно. Данные измерения проводились третьей фирмой. Таким образом, максимальное снижение производительности находится в пределах 10%, что является очень хорошим показателем для СУБД с защитой информации, обычно эта величина составляет несколько десятков процентов. Заключение В заключение отметим, что мощный и современный SQL сервер с защитой информации в БД - Centura SQLBase Safecarde несомненно привлечет большое число пользователей и разработчиков, как это было сделано в Германии при автоматизации Berliner Deutsche Bank. |