Дерево страниц

Сравнение версий

Ключ

  • Эта строка добавлена.
  • Эта строка удалена.
  • Изменено форматирование.

Оглавление

Признаки проблемы

Выполнение системного вызова shmget() из пользовательской сессии с ненулевой классификационной меткой заканчивается ошибкой вида:

Блок кода
Can't shmget: at ..


Информация
titleДанная статья применима к:
  • Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.6)
  • Astra Linux Special Edition РУСБ.10015-16 исп. 1 и исп. 2
  • Astra Linux Special Edition РУСБ.10265-01 (очередное обновление 8.1)


Особенности применения системного вызова shmget в Astra Linux Special Edition

По умолчанию при работе с Astra Linux Special Edition с включенным МРД запрещено

Устранение проблемы

ПредупреждениеПроблема вызвана запретом на

межпроцессное взаимодействие (inter-process communication, IPC) между пользовательскими сессиями, имеющими ненулевую классификационную метку (при этом работа IPC разрешена внутри одной сессии независимо от классификационной метки сессии и между разными сессиями, имеющими нулевые классификационные метки (т.е. имеющими иерархический уровень конфиденциальности ноль и неиерархические категории конфиденциальности ноль)).

Это ограничение установлено

Этот запрет установлен в Astra Linux Special Edition в соответствии с нормативными требованиями к системам защиты информации и политиками мандатного разграничения доступа. Доверенным системным процессам для использования IPC предоставляется Parsec-привилегия parsec_cap_ipc_owner, неприменимая для пользовательских сессий.

При запрете системного вызова shmget() выполнение системного вызова из пользовательской сессии с ненулевой классификационной меткой заканчивается ошибкой вида:

Блок кода
Can't shmget: at ..

Разрешение применения системного вызова shmget в Astra Linux Special Edition

Предупреждение
Снятие ограничений использования 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 имеются дополнительные файлы то в них нужно сделать аналогичные изменения.