title

text

Валерий Попов
Валерий Попов Postgres Professional Руководитель группы информационной безопасности и сертификации
Николай Чадаев
Николай Чадаев Postgres Professional Старший инженер
12:15 04 февраля
45 мин

Построение защищенных БД с использованием мандатного разграничения доступа в PostgreSQL

Ролевая модель разграничения доступа (RBAC) является основным механизмом разграничения доступа во многих СУБД, в том числе и в PostgreSQL. Эта модель является разновидностью дискреционного разграничения с присущими ей ограничениями. Во многих ОС в дополнение к традиционному дискреционному разграничению доступа используется мандатное разграничение (MAC) на основе меток безопасности, которое является обязательным для защиты информации высоких классов, а также представляет дополнительный механизм защиты. Естественно, хочется использовать возможности мандатного разграничения доступа к данным в среде СУБД при работе в ОС с включенным мандатным разграничением.
В нашем докладе мы рассмотрим имеющиеся реализации MAC в СУБД, а также предлагаем свой подход к использованию в PostgreSQL механизмов защиты, которые предоставляет SELinux, расширение sepgsql для PostgreSQL, а также стандартный механизм политики защиты строк (RLS, row level security), который есть в PostgreSQL начиная с версии 9.5.
Созданный прототип работает в enforced режиме под управлением ОС CentOS 7 с включенным SELinux, системными политиками MLS/MCS (Multi Level Security/Multi Category Security). В дополнение к функциональности модуля sepgsql реализовано мандатное разграничение MLS/MCS на уровне строк таблиц. Обеспечивается сетевое взаимодействие с передачей меток по сети с использованием механизмов IPSEC, CIPSO, что позволяет использовать этот подход в многопользовательской, многоузловой сети. Реализация MLS в СУБД оформлена в виде стандартных расширений PostgreSQL. Одно является оберткой вокруг расширения sepgsql, и обеспечивает легкую инсталляцию расширения sepgsql в БД, а также восстановление контекстов безопасности данных при дампе/восстановлении БД. Второе расширение предоставляет сервисные функции для работы с метками, в том числе в доверенном режиме, позволяющем менять контексты безопасности.
В качестве демо-примера мы использовали демонстрационную базу данных Авиаперевозки, подготовленную компанией Postgres Professional, на которой мы продемонстрируем защиту чувствительной информации и персональных данных, сравним различные механизмы организации хранилища меток безопасности и производительность решения.

Слайды

Видео

Другие доклады

  • O
    Oleksii Kozlov Swarm64 AS Senior Test Engineer
    Михаил Цветков
    Михаил Цветков Intel Технический директор
    22 мин

    Новые разработки для PostgreSQL: аппаратные технологии энергонезависимой памяти и SQL-акселераторы на ПЛИС в 2020

    Серверные технологии не стоят на месте и иерархия хранения и обработки данных стремительно меняется. В приходом в 2019 году принципиально новой памяти Intel® OptaneTM DC persistent memory типовой сервер получил возможность конфигурироваться с терабайтами прямо адресуемой памяти или использовать эти модули как сверхбыстрый энергонезависимый кэш. Параллельно, активно ведется работа по переносу части операций СУБД c ядер ЦПУ на акселераторы на базе ПЛИС.

  • Кирилл Калистратов
    Кирилл Калистратов InCountry Senior Performance Engineer
    Александр Спирин
    Александр Спирин Лига Цифровой Экономики DBA
    22 мин

    PostgreSQL Citus vs MongoDB sharded

    Мы хотим поделиться структурой и результатами теста (производительности и не только), в котором участвовали PostgreSQL/Citus и MongoDB для данных нашей компании. Это был весьма увлекательный процесс с неожиданными поворотами и неоднозначным результатом.

  • Брюс Момжиан
    Брюс Момжиан EnterpriseDB Senior Database Architect
    45 мин

    Non-Relational Postgres

    Postgres has always had strong support for relational storage. However, there are many cases where relational storage is either inefficient or overly restrictive. This talk shows the many ways that Postgres has expanded to support non-relational storage, specifically the ability to store and index multiple values, even unrelated ones, in a single database field. Such storage allows for greater efficiency and access simplicity, and can also avoid the negatives of entity-attribute-value (eav) storage. The talk will cover many examples of multiple-value-per-field storage, including arrays, range types, geometry, full text search, xml, json, and records.

  • Александр Чирков
    Александр Чирков Барс Груп Архитектор ПО
    Александр Кварацхелия
    Александр Кварацхелия БАРС Груп Архитектор программного обеспечения
    45 мин

    Миграция с Oracle на PostgreSQL с использованием автоматического конвертера

    В докладе мы хотим рассказать об опыте миграции одной большой системы с Oracle на PostgreSQL. Сама система построена на стеке PHP + Oracle, её отличительной особенностью было то, что вся бизнес-логика была реализована в PL/SQL коде. В СУБД - это более 3000 пакетов с 4-10 функциями (процедурами) в каждом. В PHP - более 10000 форм со вставками анонимных блоков, используемых для получения данных, обработки и сохранения результатов в Oracle.

    Для решения этой крайне объемной работы мы взяли ANTLR4 (синтаксический анализатор для чтения, обработки, выполнения или перевода структурированного текста), грамматику PL/SQL и создали автоматический конвертер, который позволяет преобразовать все объекты схемы и нашей системы из Oracle в рабочий код для PostgreSQL.