Построение защищенных БД с использованием мандатного разграничения доступа в 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, на которой мы продемонстрируем защиту чувствительной информации и персональных данных, сравним различные механизмы организации хранилища меток безопасности и производительность решения.
Слайды
Видео
Другие доклады
-
Анатолий Анфиногенов АО "ВНИИЖТ" Зам. директора научного центра - начальник отдела разработки ПО
Как я перестал беспокоиться и перенес 60K строк из 150 процедур PL/SQL в Postgres.
В докладе рассказывается об опыте переноса серверного приложения, работающего на полигоне железных дорог от Калининграда до Хабаровска, с Oracle 11g Standard Edition на ванильный PostgreSQL 11.5.
На момент начала миграции база данных насчитывала порядка 200 хранимых процедур на языке Oracle PL/SQL общим объемом порядка 60000 строк (которые создавались с 2006 года, т.е. уже более 12 лет), около 250 таблиц и 50 Гбайт данных.
Доклад содержит описание сопровождавших этот процесс приключений, приятных и неприятных открытий, а также пролог, эпилог и хэппи-энд.Повествование ведется от лица пользователя Oracle, открывающего для себя Postgres.
-
Григорий Смолкин Postgres Professional инженер по эксплуатации
Резервное копирование с помощью pg_probackup
pg_probackup - гибкий инструмент, позволяющий подобрать стратегию резервного копирования, исходя из характера пишущей нагрузки кластера PostgreSQL, и обладающий рядом других "фич", призванных облегчить и упростить этот жизненно важный аспект обслуживания БД. В нашем мастер-классе мы рассмотрим этот инструмент на практике.
-
Нина Белявская Служба движения ГУП "Мосгортранс" главный специалист
Анализ движения наземного общественного транспорта Москвы: от PostGIS к MobilityDB
Наземный общественный транспорт Москвы во время движения по городу передаёт геоданные с помощью системы ГЛОНАСС. Эти данные хранятся и используются для анализа движения, выявления проблемных мест, составления расписаний и проектирования выделенных полос. Для хранения данных используется БД PostgreSQL c популярным расширением PostGIS. Новое расширение MobilityDB специально предназначено для работы с геоданными, изменяющимися во времени. Я сравнила решения наших задач с использованием MobilityDB и без него и хочу рассказать о полученных результатах и перспективах использования новой системы.
-
Виктор Еремченко Miro Team Lead
Отказоустойчивый кластер PostgreSQL + Patroni
Я расскажу, как мы комплексно подошли к проблеме отказоустойчивости PostgreSQL, какие варианты мы рассматривали и как остановились на Patroni.
Доклад содержит этапы тестирования этого решения, как мы обеспечили быстрое внедрение на production и с какими проблемами мы столкнулись и как их решали.