Оглавление |
---|
Признаки проблемы
Выполнение системного вызова shmget() из пользовательской сессии с ненулевой классификационной меткой заканчивается ошибкой вида:
Блок кода |
---|
Can't shmget: at .. |
Информация | ||
---|---|---|
| ||
| ||
Информация | ||
title | Данная статья применима к:
Данная статья неприменима к Astra Linux Special Edition РУСБ.10015-10 |
Особенности применения IPC в Astra Linux Special Edition
По умолчанию при работе с Astra Linux Special Edition с включенным МРД запрещено
Устранение проблемы
межпроцессное взаимодействие (inter-process communication, IPC) между пользовательскими сессиями, имеющими ненулевую классификационную
метку (приметкую. При этом работа IPC разрешена:
- внутри одной сессии независимо от классификационной метки сессии
- ;
- между разными сессиями, имеющими нулевые классификационные метки (т.е. имеющими иерархический уровень конфиденциальности ноль и неиерархические категории конфиденциальности ноль)
- .
При работе в сессиях с ненулевой классификационной меткой для каждой такой сессии создается свое отдельное пространство IPC, и работа IPC с любыми другими сессиями по умолчанию невозможна. Это ограничение установлено в Astra Linux Special Edition в соответствии с нормативными требованиями к системам защиты информации и политиками мандатного
разграничения доступауправления доступом (МРД). Доверенным системным процессам для использования IPC
предоставляется Parsecмежду сессиями может быть предоставлена PARSEC-привилегия parsec_cap_ipc_owner (см. Привилегии PARSEC), назначение которой пользовательским процессами должно быть исключено.
Проявление ограничения применения IPC
При действии ограничения применения IPC попытка выполнения из пользовательской сессии с ненулевой классификационной меткой системного вызова shmget() заканчивается ошибкой.
Снятие ограничения применения IPC в Astra Linux Special Edition
Предупреждение |
---|
Снятие ограничений применения , неприменимая для пользовательских сессий. Снятие ограничений использования IPC на уровне пользовательских сессий ведет к появлению возможности использования недоверенных пользовательских приложений для несанкционированного доступа к информации с использованием механизмов IPC. |
Для того, чтобы разрешить использование снятия ограничения применения IPC (разрешения применения IPC независимо от классификационной метки пользовательской сессии необходимо) выполнить следующие действия:
- В файлах авторизации пользователей в каталоге /etc/pam.d в вызовы PAM-модуля pam_parsec_mac.so добавить параметр public_sysv_ipc
- ;
- Если в файле имеются несколько вызовов PAM-модуля pam_paresec_mac.so, то параметр public_sysv_ipc добавить ко всем существующим вызовам.
В итоге вызовы модуля для стандартного набора файлов должны выглядеть так:
Блок кода |
---|
/etc/pam.d/fly-dm:session required pam_parsec_mac.so unshare_root_only public_sysv_ipc /etc/pam.d/fly-dm:auth required pam_parsec_mac.so public_sysv_ipc /etc/pam.d/fly-dm:account required pam_parsec_mac.so labelselect=appset public_sysv_ipc /etc/pam.d/fly-dm:session required pam_parsec_mac.so public_sysv_ipc /etc/pam.d/fly-dm-np:session required pam_parsec_mac.so unshare_root_only public_sysv_ipc /etc/pam.d/fly-dm-np:auth required pam_parsec_mac.so public_sysv_ipc /etc/pam.d/fly-dm-np:account required pam_parsec_mac.so labelselect=appset public_sysv_ipc /etc/pam.d/fly-dm-np:session required pam_parsec_mac.so public_sysv_ipc /etc/pam.d/login:session required pam_parsec_mac.so unshare_root_only public_sysv_ipc /etc/pam.d/login:auth required pam_parsec_mac.so public_sysv_ipc /etc/pam.d/login:account required pam_parsec_mac.so public_sysv_ipc /etc/pam.d/login:session required pam_parsec_mac.so public_sysv_ipc /etc/pam.d/passwd:password required pam_parsec_mac.so public_sysv_ipc /etc/pam.d/sshd:session required pam_parsec_mac.so stub public_sysv_ipc /etc/pam.d/sumac.xauth:auth required pam_parsec_mac.so public_sysv_ipc /etc/pam.d/sumac.xauth:account required pam_parsec_mac.so labelselect=appset public_sysv_ipc /etc/pam.d/sumac.xauth:session required pam_parsec_mac.so public_sysv_ipc |
Если в каталоге /etc/pam.d имеются дополнительные файлы то в них нужно сделать внести аналогичные изменения.