Базы данных с появлением реляционной модели стали гибким инструментом хранения и анализа информации, позволяющим реализовать большинство способов обеспечения информационной безопасности. Почти каждое готовое решение требует доработки и настройки, для многих организаций разрабатываются собственные программные продукты при помощи языка SQL.
Особенностями БД как информационного объекта являются постоянство хранения данных, их структурирование, возможность генерации запросов по разным параметрам.
Принципы функционирования баз данных:
Все это требует от разработчика высокой профессиональной подготовки и умения ориентироваться в современных технических решениях. Особенно важна настройка аналитических механизмов, в которых используются сложные SQL-запросы, обрабатываются существенные массивы записей.
Базу данных следует отличать от обычного файлового хранилища, которое содержит необработанную информацию без метатегов. Поиск по нему проводить крайне сложно. Современные БД, работающие с АСУ ТП, обрабатывающие большой объем информации, поступающей от датчиков, использующие нейронные сети, требуют продвинутых программных решений в части структурирования БД, от момента создания архитектуры до заполнения ее данными.
Функционирование БД в качестве сложного информационного объекта, информация в котором должна быть защищена, целостна и доступна, привело к возникновению следующих требований, которые учитываются при разработке:
Готовя ТЗ на разработку БД, необходимо учитывать эти требования. Некоторые из них более приоритетны. Так, для компании, работающей с финансовой информацией, целостность данных важнее, чем масштабируемость БД под различные задачи, например, использование одной оболочки для бухгалтерских и складских БД.
Создавая новую базу данных, разработчик может:
Доработка решения с открытым кодом | Создание ПО с нуля | |
Плюсы |
невысокая итоговая стоимость; простота доработки и эксплуатации; небольшие трудозатраты и временные затраты. |
100% выполнение всех требований к функционалу; высокая степень защиты за счет устранения уязвимостей. |
Минусы |
известные хакерам уязвимости; слабая система защиты; невозможность реализовать все требования пользователей. |
высокая итоговая стоимость; повышенные требования к навыкам разработчиков; необходимость создания механизма администрирования, прав доступа и привилегий. |
Собственный программный продукт надежнее с точки зрения ИБ, но для его разработки потребуются существенно больший бюджет и высокая квалификация программистов.
В самописном продукте также придется создавать с нуля механизм администрирования. В готовых решениях роли администраторов и ранжирование их по правам пользователей уже прописаны. В новом решении необходимо продумывать, каким ролям какие привилегии полагаются.
Одной из ключевых является роль администратора базы данных. В его обязанности входит:
Также администратор БД отвечает за загрузку, обеспечение целостности данных и непрерывного доступа к ним, резервное копирование. Все эти действия производятся в ручном режиме, и не могут быть полностью автоматизированы.
Администратор приложений – вторая важная роль. Он отвечает за моделирование пользовательских приложений, взаимодействующих с базой данных. Также для обслуживания базы данных нужны программисты, которые будут отвечать за настройку БД и создание новых типов таблиц.
Информация в БД может быть представлена по-разному. Среди распространенных моделей представления данных – фактографическая и документальная.
В фактографических БД сведения хорошо структурированы, поиск ведется по очищенной и легко анализируемой информации, например, по перечню клиентов или товарной номенклатуре. Пример: «1С:Предприятие».
Документальные БД содержат копии документов. Поиск в них может вестись по наименованию, типу, дате, но не по содержащейся в файлах информации. Пример: большинство приложений, обеспечивающих ведение электронного документооборота.
Для любой модели представления данных архитектор БД должен продумать:
Далее решается вопрос о создании компонентов баз данных:
На этапе выбора компонентов для структуры новой базы нужно выбрать уровни представления информации.
Существуют три уровня:
Описание представлений информации для разных уровней требует использования различных языков программирования – Python, SQL, С+. Важную роль играет SQL, который является одновременно языком манипулирования данными и языком их описания. Кроме того, он выполняет функции языка шлюзов, когда совместно используются СУБД различных типов.
При подготовке концепции и технического задания программисты должны описать структуру элементов БД на каждом уровне и согласовать их между собой.
Требуется создать описание на выбранном языке программирования:
Следующий шаг – выбор программных средств для конструирования следующих компонентов БД:
Например, для отслеживания пользовательских операций в БД на профессиональном уровне можно подключить Database Monitor. Узнать больше.
Описывая технологии разработки и защиты баз данных и выбирая тип СУБД, надо понимать, что программное решение работает в среде операционной системы и настраивается по ней. Часть решений по безопасности может быть перенесена на ОС, где уже есть механизмы идентификации и записи логов.
Централизованная система управления информацией на основе взаимодействия БД и ОС решает следующие задачи:
Выбор дополнительных программных инструментов – межсетевых экранов, антивирусов, средств криптографической защиты, отвечающих за решение технических задач, – определяется спецификой работы компании.
Основная задача – выбор сервера или серверов, на которых размещаются компоненты базы данных. Обычно на одном помещается СУБД, на втором – утилиты.
При выборе сервера необходимо обратить внимание на:
Как правило, современное оборудование соответствует этим требованиям. Если база данных существует в распределенном виде, то схожие требования предъявляются ко всем реальным и виртуальным машинам.
Дополнительное требование к конфигурации сервера – наличие RAID-системы, которая объединяет несколько жестких дисков. Специальная утилита обеспечивает одновременную запись новых данных на каждый из них. При выходе одного диска из строя остальные продолжают работать. Это снижает риск потери данных.
Для баз данных АСУ ТП, требующих повышенной мощности, используются многопроцессорные системы, которые ускоряют обработку больших массивов информации.
После создания БД необходимо подготовить следующие документы:
После создания «технического облика» БД (выбора программных и технических решений для СУБД и утилит) начинается этап формирования ее наполненности, структуры отчетов, распределения привилегий.
Основные этапы создания базы данных:
Тестирование лучше проводить отдельно для каждого приложения, а по его завершении производить приемку результатов работы. Мониторинг работоспособности средств безопасности производится при помощи специальных программных продуктов, выявляющих уязвимости. Иногда на этом этапе предложенные решения отклоняются. К этому нужно быть готовым и гибко строить техническое задание. Для ГИС, государственных баз данных, этап приемки обязателен. А если в БД обрабатываются сведения ограниченного уровня доступа, то дополнительно нужна сертификация.
25.08.2020
Подпишитесь на нашу рассылку и получите
свод правил информационной безопасности
для сотрудников в шуточных