И.А. Гнатченко, А.А. Гнатченко, А.К.
Мустафина
Казахский Национальный Технический Университет
им. К.И.Сатпаева, Казахстан
Анализ безопасности реляционных баз данных с
использованием облачной вычислительной платформы OpenStack
Выбор базы
данных, как одной из составляющих облачного хранилища, является неотъемлемой
частью построения структур, относящихся к распределенным вычислениям. Реализация
и специфика конкретной базы данных влияет не только на метод доступа к
облачному хранилищу, но и на порядок развертывания данной технологии в пределах
сервера.
О того,
насколько хорошо будут реализованы интерфейсы доступа к базе данных во много
зависит то, какой объем трафика, объем данных сможет обрабатывать данное
облачное хранилище.
При выборе
базы данных в качестве основополагающего хранилища структурированной информации
стоит обратить внимание на поддержку внутреннего языка базы данных. [1] Также
стоит установить уровень поддерживаемых функций и то, удовлетворяют ли они
заранее определенные предприятием цели. Чаще всего базы данных используют
собственный язык обращения к внутренним структурам. При необходимости можно
использовать так называемые адаптеры, которые позволят применять язык одной
системы в рамках другой. Именно это свойство и следует реализовать в пределах
выбранной СУБД.
Учитывая
специфику построения облачных хранилищ, использующих базы данных, стоит также
обратить внимание на возможность обеспечения клиентов облачных вычислений не
только свободным пространством, но и вычислительной мощностью. [1] Технология
облачных вычислений, реализованная в OpenStack построена таким
образом, что позволяет использовать практически любую из современных баз
данных. [2] При работе с OpenStack в основном применяются две доступные системы
управления базами данных: PostgreSQL и MySQL.
К
положительным сторонам Postgre можно отнести огромное
количество поддерживаемых функций, большинство из которых являются фактическим
стандартом построения систем, основанных на применении баз данных в качестве
структурных единиц хранения и переработки данных. Одной из отличительных
характеристик Postgre является поддержка пользовательской документации на
высоком уровне, которая обеспечивается за счет гибкой системы объединений
пользователей, а также серии утилит, которые обеспечивают реализацию передовых
политик безопасности.
К
положительным сторонам MySQL можно отнести широкую пользовательскую поддержку,
широкое распространение в некоммерческих проектах различной сложности, а также
огромное разнообразие опций, доступных для установки. MySQL также обеспечивает
возможность клиентской аутентификации, используя механизм подключения средств
аутентификации "на лету". Очень важным является выбрать определенную
реализацию MySQL базируясь на свойствах системы, ее параметрах для того, чтобы
использовать базу данных на высоком уровне производительности.
Каждый из
данных сервисов хранит состояние и конфигурационную информацию в базе данных.
Доступ к базе данных может обеспечиваться различными путями. В зависимости от
того, выбран ли удаленный метод аутентификации или же локальная его версия,
зависят и методы контроля, логирования и подотчетности действий, производимых в
среде.
В случае
удаленного контроля доступа следует учитывать такие факторы, как идентификация
пользователя средствами доверенных сертификатов, безопасный канал соединения, а
также средства динамического шифрования контента. При рассмотрении варианта
доступа к базе данных, используемого в OpenStack, необходимо определиться с
моделью доступа. Все сервисы в пределах структуры OpenStack реализуются
посредствам доступа к единой базе данных. Чаще всего политика доступа к базе
данных не ограничивается созданием таблиц, связей и привилегий. По умолчанию
каждый сервис OpenStack и его процессы получают доступ к базе данных
посредствам так называемых общих наборов доступа. Это делает учет базы данных,
операций по обработке данных, изъятие привилегий достаточно трудоемким
процессом. [2]

Рисунок. 1. Схема
интеграции базы данных в общую пользовательскую сеть
Единственным
доверенным узлом из сервисов OpenStack является Nova Conductor. [2] Он
обрабатывает их хранит все образцы сущностей, используемых для доступа к базе
данных. Он применяется в качестве средства создания прокси базы данных, а также
используется как промежуточных узел между остальными узлами OpenStack и базой
данных.
Выделенный
аккаунт для администрирования базы данных должен быть создан для того, чтобы
защитить базу данных от преднамеренного удаления или искажения. Часто такое
разделение пользовательских привилегий используется для того, чтобы снизить
риск и повысить границы доверенной среды. Учитывая специфику построения
распределенных вычислительных облачных систем, при работе с OpenStack следует
ограничивать доступ к каждому узлу настолько, насколько это возможно. [3] Варианты
установления SSL транзакций между OpenStack и базой данных. Для того, чтобы
поддержать безопасность системы на должном уровне, необходимо использовать
уровень защищенных сокетов. В зависимости от того, к какой базе данных
производится попытка доступа, стратегии реализации защиты разнятся. При работе
с базой данных MySQL инфраструктура уровня защищенных сокетов требует определения
называния базы данных, пользователя базы данных, а также имени хоста.
Конфигурация
базы данных в случае использования Postgre реализуется через директивы
управления, расположенные в конфигурационном файле. Примером такой команды,
реализующей обработку паролей пользователей в виде хэшей, является следующая
команда.
Обратите
внимание, что команда оперирует практически теми же параметрами, что и
рассмотренная на предыдущем шаге. Отличие заключается в том, что данная команда
только добавляет возможность взаимодействия на уровне защищенных сокетов, но не
предотвращает использование других каналов коммуникации. При необходимости
задать ограничения на использование каналов связи, не реализующих поддержку
шифрования, можно такие каналы исключить из использования. В этом случае
единственным каналом доступа к базе данных будет канал, реализующих
взаимодействия в защищенном режиме.
Параметр
данной команды (md5) определяет метод аутентификации паролей. [4]
Безопасность
может быть повышена при использовании пользовательский сертификатов
аутентификации. В случае применения пользовательских сертификатов
аутентификация доступа к базе данных позволяет обеспечить надежную
аутентификацию пользователя. При использовании этого стандарта применяются два
подхода: конфигурация в расчете на MySQL и конфигурация в расчете на
PostgreSQL.
OpenStack предлагает sub-сервисы, называемые
Nova Conductor, которые являются промежуточными звеньями между клиентскими
функциями и базой данных. Работа данных посредников основывается на предположении
о том, что пользователь отправляет запросы через интерфейс удаленных процедур и
производит необходимое ему действие от имени вызываемого сервиса.
В этом
случае пользователю необязательно предоставлять повышенные полномочия, а можно
использовать полномочия, имеющиеся в распоряжении промежуточного звена доступа.
Применение данных средств позволяет обойти процесс подключения к базе данных
напрямую, что обеспечивает дополнительный уровень абстракции, повышая
безопасность системы. Также применение посредников позволяет использовать схемы
на подобии хранимых процедур, предотвращая возможность большого числа систем
одновременно подключаться и модифицировать базы данных.
Существует
огромное число возможностей для внедрения технологии шифрования в базы данных
под управлением OpenStack. Пользователи при работе с OpenStack вряд ли захотят
самостоятельно шифровать данные при передаче их в базу данных. Более того,
иногда существуют ситуации, когда провайдер услуги требует передачи данных в
открытой и доступной для чтения форме. [4]
Существует
два вида шифрования, применительно к данным, хранимым в базе данных под
управлением OpenStack: шифрование образца передачи данных и шифрование объекта
передачи данные. Очень часто бывает так, что шифрование данных позитивно влияет
на возможность сохранения данных и безопасную их передачу по сети. При этом
существуют следующие возможности для шифрования пользовательских данных:
Список использованной
литературы
1. А.К. Мустафина. «Применение
информационно-коммуникационных технологий в КазНТУ» 2011г.
2. А.К. Мустафина. «Облачные
технологии в образовании» 2011г.
3. А.К. Мустафина. «Электронные
сервисы в учебном процессе» 2010г.
4. Ф. Том. «OpenStack Operations Guide», 2014г.