MyTetra Share
Делитесь знаниями!
Работа с PostgreSQL в Astra Linux - настройка мандатных прав доступа
Время создания: 08.04.2024 16:15
Автор: Xintrea, Анатолий Борисов
Текстовые метки: astra, linux, postgresql, sql, postgres, пользователь, мандатные, права, доступа, ошибка, подключение
Раздел: Компьютер - Linux - Дистрибутив Astra Linux
Запись: xintrea/mytetra_syncro/master/base/1712582102chhzyvnv9y/text.html на raw.github.com

Информация от 15 июля 2018 г.



Краткая мысль из всей нижеприведенной статьи: в Astra Linux, невозможна правильная работа с postgresql-пользователем, если не создан unix-пользователь с таким же именем. Это утверждение справедливо не только для режима идентификации peer, но и для всех других режимов, например md5. Если не будет создан unix-пользователь, то при попытке соединения с PostgreSQL под postgresql-пользователем, будет возникать ошибка:



СБОЙ: ошибка получения мандатных атрибутов на сервере для пользователя "username"



То есть, надо создать unix-пользователя с именем, таким же как и у postgres-пользователя. А чтобы вход на PostgreSQL сервер работал, необходимо затем обязательно выполнить команду установки мандатных прав unix-пользователю:



pdpl-user -z <username>



Практика показывает, что установка мандатных прав unix-пользователю не требуется, если вначале был создан unix-пользователь, а потом postgres-пользователь. Если же наоборот - то необходимо воспользоваться командой pdpl-user.



* * *



Для реализации требований защиты информации при работе с защищенной системой управления базами данных «PostgreSQL» (ЗСУБД) в операционной системе специального назначения «Astra Linux Special Edition» (ОССН «Astra Linux SE») необходимо использовать только методы аутентификации, при которых выполняется сопоставление пользователей (также известных как роли с привилегией «LOGIN») ЗСУБД с пользователями ОССН «Astra Linux SE».


Для использования методов аутентификации, при которых выполняется сопоставление пользователей ЗСУБД с пользователями ОССН «Astra Linux SE», необходимо выполнить следующие действия:


– предоставить пользователю, от имени которого работает ЗСУБД (как правило, это пользователь «postgres»), права на чтение информации о пользователях ОССН «Astra Linux SE»:



usermod -a -G shadow postgres



и права на чтение информации о мандатных атрибутах:



setfacl -d -m u:postgres:r /etc/parsec/macdb
setfacl -R -m u:postgres:r /etc/parsec/macdb
setfacl -m u:postgres:rx /etc/parsec/macdb

setfacl -d -m u:postgres:r /etc/parsec/capdb
setfacl -R -m u:postgres:r /etc/parsec/capdb
setfacl -m u:postgres:rx /etc/parsec/capdb



– установить у пользователей ОССН «Astra Linux SE», соответствущих пользователям ЗСУБД, мандатные атрибуты (даже если предполагается работа только с информацией, имеющей нулевые значения мандатных уровней и категорий):



pdpl-user -z <username>



где <username> – имя пользователя ОССН «Astra Linux SE».


При использовании ЗСУБД в ОССН «Astra Linux SE» (1.5 «Смоленск») выяснилась еще одна особенность.


Методы аутентификации, не предполагающие (в соответствии с описанием методов аутентификации в документации) сопоставления пользователей ЗСУБД с пользователями ОССН «Astra Linux SE» (например, метод «md5»), работают только при наличии в ОССН «Astra Linux SE» пользователей, соответствующих пользователям ЗСУБД.


Согласно информации, полученной от техподдержки ОССН «Astra Linux SE»:


– указанная особенность является следствием доработки СУБД «PostgreSQL» разработчиками ОССН «Astra Linux SE»;


– такое поведение можно изменить путем установки значения «yes» у параметра «zero_if_notfound» в файле «/etc/parsec/mswitch.conf». В этом случае методы аутентификации, не предполагающие сопоставления пользователей ЗСУБД с пользователями ОССН «Astra Linux SE», будут работать и при отсутствии в ОССН «Astra Linux SE» пользователей, соответствующих пользователям ЗСУБД. Однако тут всплыл нюанс. На практике выяснилось, что этот подход не работает в случае работы ЗСУБД в едином пространстве пользователей (ЕПП). Специалисты техподдержки ОССН «Astra Linux SE» сказали, что в дальнейшем постараются решить этот вопрос.


Так же в этом разделе:
 
MyTetra Share v.0.59
Яндекс индекс цитирования