Поддержи Openmeetings

вторник, 20 мая 2014 г.

Введение в СУБД SE-PostgreSQL

p>Представляем вашему вниманию вводную статью про реляционную систему управления базами данных (СУБД) с улучшенной безопасностью SE–PostgreSQL. На русском языке про SE–PostgreSQL, к сожалению, можно найти всего парочку актуальных статей и несколько обсуждений на форумах, поэтому мы рады восполнить этот пробел и разместить серию статей про СУБД с открытым исходным кодом SE–PostgreSQL для наших русскоязычных читателей.

Вообще, те, кто по роду деятельности работает с базами данных, наверняка уже знакомы или слышали про PostgreSQL. Так вот, грубо говоря, SE–PostgreSQL — это встроенное улучшение PostgreSQL, которое предоставляет дополнительный контроль доступа, основанный на политике безопасности SELinux. Тем, для кого PostgreSQL и SE–PostgreSQL представляются новыми и непонятными сущностями, прошу заглянуть под кат, где сегодняшняя обзорная статья поможет ликвидировать этот пробел в знаниях.

Что такое SE–PostgreSQL?

Вообще говоря, базы данных обладают существенными возможностями для управления информацией. Так, например, базы данных помогают искать информацию и хранить ее в более элегантном виде, чем если бы она хранилась в файловой системе. Современные операционные системы содержат улучшенную функциональность контроля доступа, например, SELinux, позволяющие управлять доступам ко всей системе через централизованную политику безопасности.

Таким образом, SE–PostgreSQL — это встроенное улучшение PostgreSQL, позволяющее тонко настраивать мандатное управление доступом (Mandatory Access Control, MAC) для объектов базы данных. SE–PostgreSQL принимает решения по контролю доступа, основанные на политике безопасности SELinux, точно так же, как когда доступ пользователя к объектам файловой системы управляется операционной системой.

Функция мандатного управления доступом (MAC)

PostgreSQL использует концепцию суперпользователя базы данных, которая может обойти все контроли доступа нативной PostgreSQL. А SE–PostgreSQL же обеспечивает контроль доступа по каждому клиенту без исключений (даже если клиент — суперпользователь базы данных). Клиенты могут получить доступ к объектам базы данных только когда доступ разрешен и нативной PostgreSQL, и SE–PostgreSQL.

Тонкая настройка доступа

Предоставление контроля доступа зависит от реляционной системы управления базами данных (RDBMS). SE–PostgreSQL позволяет конфигурировать контроль доступа на уровнях столбцов и строк (только некоторые проприетарные RDBMS поддерживают возможность контроля доступа по строкам и столбцам). Строки и столбцы — это самые маленькие части объектов базы данных. Контроль доступа этих объектов позволяет администраторам базы данных применять гибкие настройки по контролю доступа к ним.

Согласованность контроля доступов

SELinux требует, чтобы все процессы и объекты имели безопасное содержание, которое представляет их привилегии и атрибуты. SE–PostgreSQL назначает безопасный содержание на каждый объект базы данных и делает решения по контролю доступа на основании привилегий и атрибутов, так как если бы SELinux применял их в кернеле.libselinux предоставляет интересный API getpeercon(), который позволяет получать безопасное содержание однорангового (peer) процесса, связанного с серверным процессом. SE–PostgreSQL необходимы безопасные содержания для принятия решений. Это значительная возможность для согласованность контроля доступов, в котором привилегии для клиентов и атрибуты для объектов представлены в одной и той же форме.

В следующей статье про SE–PostgreSQL подробнее остановимся на ее архитектуре.

Комментариев нет :

Отправить комментарий