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