19.04.2012

Безопасность базы данных

 БЕЗОПАСНОСТЬ БАЗЫ ДАННЫХ. 
Как она обеспечивается в программах фирмы "ЛокИС".

В. Гаврилов, Б. Шлуинский
Журнал "Бухгалтер и компьютер"
№2. 2002.
Рубрика "Знакомимся с программой".
 
Этой статьёй мы продолжим знакомить читателей
с подходами фирмы "ЛокИС" к построению систем.
На этот раз речь пойдёт о проблеме обеспечения
безопасности информации.
Среди многочисленных аспектов этой проблемы
(правовых, организационных, технических, физических и т. п.)
здесь рассматриваются вопросы, касающиеся системы
управления базой данных, реализованной в ИС "ЛокОФФИС",
а также безопасности и целостности в ней этой самой базы.
 
Прежде чем приступить к рассмотрению таких важных вопросов, как сохранность и конфиденциальность информации, целесообразно пояснить некоторые термины, которые часто употребляются в публикациях по этой тематике, тесно связаны и используются совместно.
Под "безопасностью" будем понимать защиту данных от несанкционированного доступа, изменения и разрушения, т. е. использование системы мероприятий, разрешающих или запрещающих выполнение пользователем некоторых действий. Понятие "целостность" подразумевает обеспечение истинности или точности данных, иначе говоря - корректность выполнения пользователем разрешённых ему действий.
Решение существующих проблем безопасности БД должно быть, по нашему мнению, плодом совместных усилий администратора данных (АД) и администратора базы данных (АБД), функции которых существенным образом различаются.
Администратор данных - это человек, персонально отвечающий за обеспечение безопасности информации на предприятии, использующем систему управления базами данных. Он должен на уровне высшего руководства предприятия понимать местную специфику уровня конфиденциальности информации, возможности обеспечения санкционированного доступа к ней и на этом основании организовывать работу пользователей.
Администратор базы данных - это, прежде всего, технический специалист в области информационных технологий, ответственный за реализацию решений, принятых АД. АБД занимается созданием баз данных, контролем их целостности, обеспечением быстродействия системы, а также техническим обслуживанием БД и необходимыми для её функционирования техническими средствами и аппаратурой.
А теперь перейдём к вопросам, касающимся системы управления базой данных. Ниже мы детально рассмотрим, как предотвратить несанкционированный доступ к данным внутри предприятия и извне, а также методы, при помощи которых эта задача решена в ИС "ЛокОФФИС".

Защита информации от внешнего доступа
Одна из традиционных проблем защиты информации касается возможности закрытия её от доступа посторонних. Защита данных от копирования, просмотра и анализа сотрудниками сторонних организаций обеспечивается в ИС "ЛокОФФИС" несколькими способами. Некоторые из них основываются на "внешних" средствах, не связанных с разработкой специальных алгоритмов, используемых системой, другие же были нами специально разработаны и встроены во все модули.
Прежде всего сама структура базы и формат файлов, в которых хранится информация (используется СУБД RDM - Raima Database Manager), таковы, что понять содержимое без специальных средств, с помощью так называемых стандартных утилит просмотра данных, не представляется возможным. Поэтому, если у вас нет программ, входящих в поставку, становится бессмысленным несанкционированное копирование БД для последующего изучения. В свою очередь и сами программы защищены от пиратского копирования с помощью специальных аппаратных средств (HASP-ключи).
Кроме того, специалисты фирмы разработали ещё и специальные алгоритмические средства, автоматически включаемые во все поставляемые модули. Параметры такой программной защиты определяются составом дистрибутива конкретного клиента. По специальному заказу VIP-клиентов разработчики могут также сформировать для фирмы свой, уникальный "описатель" базы данных, после чего использование стандартных программ системы "ЛокОФФИС" ("Гусарик", "ДЕМО, "ЛокОФ-ФИС Лтд") для анализа содержимого данной базы также становится невозможным.
Наконец, использование подсистемы "ПРЕРОГАТИВЫ ДОСТУПА", обеспечивающей в основном внутреннюю безопасность базы данных, закрывает паролями запуск любого модуля, что усложняет просмотр информации посторонними лицами. Остаются, естественно, и организационные меры, такие как хранение информации на съёмном жёстком диске, который в нерабочее время может убираться в специальный сейф.

Внутренняя безопасность БД
При решении проблемы обеспечения внутренней безопасности информации в ИС "ЛокОФФИС" используется так называемый избирательный подход к вопросу доступа к данным. Он характеризуется тем, что разные пользователи могут обладать разными правами доступа к одной и той же информации. Такой подход отличается значительно большей гибкостью по сравнению с обязательным, при котором каждому объекту данных присваивается тот или иной квалификационный уровень, а каждый пользователь обладает некоторым уровнем допуска к информации.
Реализация избирательного подхода осуществляется в ИС "ЛокОФФИС" несколькими способами, обеспечивающими различную степень доступа к данным.

Формирование карты пользователя
На основе анализа функций различных подразделений предприятия и отдельных сотрудников, проведённого администратором данных, АБД формирует карту пользователя для каждой рабочей станции сети (рис. 1).
Карта пользователей системы ЛокОФФИС
Рис.1. Пример карты пользователя
 
Во-первых, такая карта даёт возможность регламентировать перечень объектов данных, доступных конкретному сотруднику. Объектами являются используемые на предприятии базы данных, а их количество определяется самими пользователями в зависимости от структуры предприятия, наличия удаленных филиалов и пр.
Во-вторых, она определяет список функциональных модулей системы, запуск которых может осуществляться с данной рабочей станции. В зависимости от назначения модули используются для ввода новых данных, просмотра, корректировки и дальнейшей обработки введённой ранее информации, а также для получения различного рода аналитических справок и выполнения множества других функций на основе информации, хранящейся в БД.
Формирование карты пользователя представляет собой как бы глобальный уровень регламентации доступа к объектам данных.

Прерогативы доступа сотрудников
Последующие уровни дают возможность более детально определить возможности доступа каждого конкретного пользователя к объектам данных и функциональным возможностям программ. Их реализация осуществляется путём использования специально разработанной для этих целей подсистемы "ПРЕРОГАТИВЫ ДОСТУПА". Она включает в себя два модуля: "ПАРОЛИ" и "ДОКУМЕНТЫ СОТРУДНИКОВ". Первый из них позволяет АД с помощью АБД задать каждому пользователю необходимый для выполнения его функций перечень прерогатив доступа к объектам данных и конкретизировать его возможности по их обработке. Второй служит для осуществления контрольных функций за деятельностью пользователей по вводу и корректировке первичной информации. Возможности контроля действий пользователей по работе с данными будут рассмотрены ниже.
Ограничение доступа к самой подсистеме "ПРЕРОГАТИВЫ" реализуется по двум направлениям. Во-первых, её модули включены в карту пользователя только тех сотрудников-администраторов, в обязанности которых входят функции управления прерогативами. Во-вторых, в программе предусмотрено задание системного пароля администратора, без знания которого вход в модуль "ПАРОЛИ" невозможен. Не стоит забывать о том, что предъявление системного пароля открывает доступ к любому модулю системы без ограничения возможностей работы.
Функциональные возможности модуля "ПАРОЛИ" включают в себя ряд направлений регламентации доступа:
   задание отдельных паролей для входа в каждый из модулей ИС "ЛокОФФИС";
   регламентация доступа сотрудников к имеющемуся в БД объекту данных (по каждому отдельному складу, расчётному счёту, кассе и "нашей" фирме). Под "нашими" фирмами в данном случае понимаются различные юридические лица, осуществляющие работу в рамках одного предприятия;
   задание прерогатив доступа для каждого пользователя. При этом регламентируется не только доступ к отдельным модулям программы (например, "СКЛАД" или "ПЛАТЁЖНЫЕ ДОКУМЕНТЫ"), но и доступ к отдельным задачам и наиболее важным режимам каждого из модулей, а также к отдельным функциям, имеющимся в доступных модулях.
Ключом для доступа сотрудника к разрешённым для него функциям служит его личный пароль, вводимый администратором БД в карточку сотрудника и хранящийся в базе данных в зашифрованном виде (рис. 2).
Карточка сотрудника
Рис.2. Личная карточка прерогатив доступа сотрудника
 
По нашему мнению, определение необходимых прерогатив, соответствующих служебным обязанностям каждого сотрудника предприятия, должно осуществляться администратором данных на основе принятой на предприятии стратегии и методики работы, а также распределения функций между конкретными должностными лицами.
Практическая реализация этого механизма разграничения доступа может быть возложена и на АБД. При установлении индивидуальных прерогатив администратор имеет возможность определить права сотрудника тремя способами: "Всё нельзя", "Всё можно", "По задачам".
Первые два предполагают недоступность или доступность всех возможностей для работы в полном объёме. При выборе способа "По задачам" прерогативы доступа конкретного сотрудника (пользователя) могут быть определены администратором вручную (набором из списка) или скопированы у другого сотрудника, а затем откорректированы. В обоих случаях АБД имеет возможность детально определить порядок доступа данного сотрудника к модулям ИС "ЛокОФФИС", к их отдельным режимам и/или к принципиально важным функциональным действиям в этих режимах. Кроме этого в карточке может быть установлен индивидуальный процент отклонения от заданной контрольной цены для данного сотрудника.
Например, сотруднику разрешен доступ к модулю "СКЛАД". Определены функционально необходимые для него режимы работы. Скажем, режимы "Продажа" (работа с расходными накладными, формируемыми для клиентов) и "Просмотр документов".
Кроме того, с помощью дополнительных прерогатив доступа для него работа в режиме "Продажа" может быть ограничена только созданием новых накладных (без права корректировки ранее созданных), запрещено изменение отпускных цен документа, а также изменение цен, характеристик и других атрибутов, составляющих описание товаров в каталоге "ТОВАРЫ".
В режиме "Просмотр документов" сотрудник может быть ограничен только возможностью просмотра ранее созданных им документов без права их корректировки и удаления. Для него все другие задачи и режимы модуля "СКЛАД" могут быть сделаны недоступными.
И таких сочетаний - бесконечно много. Прерогативами доступа охвачены все модули ИС "ЛокОФФИС", все наиболее важные режимы и функции.

Контроль и управление доступом к информации
Программы, входящие в ИС "ЛокОФФИС", насыщены значительным количеством контрольных функций, часть из которых может настраиваться непосредственно пользователем. Они могут осуществляться автоматически и выводиться пользователю в виде предупреждений или запрещений на различных этапах его работы.
По типам осуществления контроля функции условно можно разделить на следующие группы:
   контрольно-справочные функции, которые позволяют оперативно предоставлять пользователю справочную информацию по различным аспектам решаемых им задач без прерывания их выполнения;
   контрольно-предупредительные функции, в результате реализации которых пользователь получает предупреждения о некорректности выполненных им действий (иногда ещё до завершения выполняемой операции), но в то же время не запрещающие их продолжение;
   контрольно-запретительные функции, с помощью которых программы препятствуют продолжению некорректно выполняемых пользователем операций.
Следует отметить, что вторая и третья группы контрольных функций для некоторых режимов программ тесно взаимосвязаны. Выбор между предупреждением, запрещением или отключением контроля в большинстве случаев осуществляется непосредственно самим пользователем с помощью гибких настроек модулей ИС "ЛокОФФИС".
Эти же функции можно сгруппировать следующим образом по сферам осуществления контроля:
   количественные характеристики товаров;
   ценовые и стоимостные показатели;
   корректность отдельных характеристик товара (уникальность кода и штрих-кода товара);
   ввод первичных документов;
   работа пользователей в сети и их действия, связанные с вводом новой информации в БД.
Кроме того, в ИС "ЛокОФФИО предусмотрен контроль целостности состояния базы данных:
   контроль состояния БД на физическом уровне осуществляется с помощью специальной утилиты администратора для DOS- или для Windows-версии программы;
   контроль корректности ввода информации в БД по складу, контрактам, счетам-фактурам и заказам, состояния каталогов модуля "АДМИНИСТРАТОР СКЛАДА"; контроль каталога "КЛИЕНТЫ"; контроль информации по банку, кассе и платёжным документам модуля "АДМИНИСТРАТОР БАНКА И КАССЫ".
Контроль состояния БД выполняется администратором базы данных при отсутствии в сети других работающих пользователей. При возникновении замечаний к состоянию БД вначале запускается специальная утилита администратора, а затем используются контрольные режимы модуля "АДМИНИСТРАТОР СКЛАДА" и других перечисленных выше модулей.
Остановимся подробнее на функциональных возможностях программ, связанных как с контролем доступа пользователей к объектам данных в локальной сети, так и с контролем за их действиями при вводе в БД новой информации.
Для осуществления этих функций разработаны программы "МОНИТОР" и "ДОКУМЕНТЫ СОТРУДНИКОВ".

Контроль доступа к объектам данных в сети
Для контроля и управления порядком работы пользователей с модулями и базами данных в сети в составе сетевых версий ИС "ЛокОФФИС" включается программа "МОНИТОР". С её помощью администратор имеет возможность наблюдать за списком активных пользователей сети (частота обновления информации задается в настройках модуля "МОНИТОР"). При этом на экране отображается, кто из пользователей и с какими именно модулями в данный момент работает. В случае необходимости администратор имеет возможность отключать тех из них, которые по каким-либо причинам перестали быть активными (отключение компьютера, сбой в работе сети или нештатное завершение работы).
Модуль
Рис.3.Рабочий экран модуля "МОНИТОР"


Контроль ввода первичных документов
Для контроля ввода первичных документов, являющихся основой учёта в ИС "ЛокОФФИС", служит модуль "ДОКУМЕНТЫ СОТРУДНИКОВ". Этот модуль, входящий в подсистему "ПРЕРОГАТИВЫ ДОСТУПА", позволяет получать справочную информацию о том, кто из сотрудников создавал и осуществлял начальный ввод в БД различных типов первичных документов. В последней версии появилась также возможность авторизации операции последней корректировки документа.
Справки могут формироваться как по всем, так и по отдельным типам документов, формируемых в модулях "СКЛАД", "КОНТРАКТЫ" и "ПЛАТЁЖНЫЕ ДОКУМЕНТЫ" (все типы складских накладных, договоров и счетов, банковских платёжных документов и кассовых ордеров). Отчёты строятся за интересующий период и отражают картину ввода документов не только по их типам, но и в разрезе конкретно указанного сотрудника или клиента. Информация предоставляется для просмотра на экране и может выводиться на печать в виде справки. 

     Программа LokOFFICE, уникальна на рынке по своей надежности. С самого начала т.е. с 1992 года, программа поставлялась в готовом виде, «как есть», и предприятия самостоятельно устанавливали и внедряли ее в требуемом объеме. Все обновления программы, а их за почти 30 лет было не мало, проводились на предприятиях за 1 час собственными силами без привлечения услуг программистов. Потребности в перезагрузке сервера не возникает до тех пор пока вы не решили заменить его. Благодаря использованию для хранения и доступа к данным самой быстрой и надежной безтранзакционной СУБД Locis собственной разработки наши клиенты не получили ни одного разрушительного сбоя базы данных за 30 лет! В это трудно поверить, но это так!