Операционная система должна предоставлять механизм управления фиксированными состояниями ключевых объектов безопасности системы, сохраняющий установленные права доступа к объектам файловой системы при обновлении пакетов.
https://www.altlinux.org/Управление_правамиchown, chmod, SUID, GUID, sticky bit, ACL, umask
https://metanit.com/os/linux/5.8.php
Acess Control Lists
ACL или Access Control Lists (Списки контроля доступом) в Linux предоставляют еще одну возможность предоставлять разрешения нескольким пользователям и группам для одного и того же файла или каталога. ACL позволяют решить некоторые ограничения других общих инструментов управления разрешениями, в частности:
- У файла/каталога может быть только один пользователь-владелец и одна группа-владелец
- Не работает наследование разрешений, чтобы разрешения каталога передавались его файлам и подкаталогам
Списки ACL часто применяются к каталогам, чтобы гарантировать, что новые файлы, созданные в каталоге, автоматически получат необходимые разрешения. Для установки ACL применяется команда setfacl
:
setfacl [options] operation entity:entityname:permissions file
Она принимает следующие компоненты:
options
: с помощью необязательных опций позволяет управлять работой команды setfacl. Распространенные опции:-d
: устанавливает ACL по умолчанию. Это параметр ACL также наследуется подкаталогами и файлами.-k
: удаляет список ACL по умолчанию.-R
: рекурсивно применяет настройки ACL.
ACL по умолчанию предназначен для новых файлов и не влияет на существующие файлы. Все новые файлы получат разрешения, установленные в ACL по умолчанию. Без опции
-d
командаsetfacl
работает только с существующими файлами. Чтобы убедиться, что все новые файлы получат желаемые настройки ACL, следует дважды использовать командуsetfacl
. Сначала с опцией-d
, чтобы был установлен список ACL по умолчанию, а затем с опцией-R
и без опции-d
, чтобы позаботиться о существующих в данный момент файлах.operation
: устанавливает, что надо сделать: добавить или удалить настройку ACL. Доступны следующие операции:--set
: используется для установки ACL. Стоит учитывать, что она заменит любой существующий ACL.-m
: дополняет текущие настройки ACL, без полной замены.-x
: удаляет существующий ACL.
entity
иentity name
: тип объекта имя объекта, которые определяют, для кого надо установить ACL. Существует два типа объектов:u
для пользователя иg
для группы. После указания типа объекта надо указать имя объекта.permissions
: разрешения, которые надо установить с помощью списков управления доступом.file
: имя файла или каталога, к которому надо применить списки ACL.
Для получения информации о списках ACL применяется команда getfacl
, которой передается имя файла/каталога:
getfacl file
В ОС Альт СП реализован механизм дискреционного разграничения доступа. Управление доступом применяется ко всем объектам, включая объекты файловой системы, базы данных, процессам и устройствам. Разграничение прав доступа осуществляется администратором в соответствие с типами операций (чтение, запись, исполнение). Реализуется такими средствами как ACL
, alterator-users
, alterator-group
, DAC
, polkit
, kiosk
.
Разделение полномочий (ролей) пользователей осуществляется администратором с помощью инструментов: alterator-users
, alterator-ldap-users
, alterator-group
, alterator-root
, alterator-multiseat
, chmod
, chown
, setfacl
, chgrp
, ACL
. Настройка проводится в соответствии с организационно-распорядительными документами оператора.
Назначение минимально необходимых прав и привилегий, разделение полномочий (ролей) пользователей осуществляется администратором с помощью инструментов управления учетными записями: alterator-users
, alterator-ldap-users
, alterator-group
, alterator-root
, alterator-multiseat
, chmod
, chown
, setfacl
, chgrp
, chow
, DAC
. Настройка проводится в соответствии с организационно-распорядительными документами оператора.
В ОС каждый объект хранит свои права доступа, назначенные ему в соответствие с DAC (Discretionary Access Control)
SELinux (Не заработало) (Появилась задача 183415)
SELinux (Security-Enhanced Linux) – это модуль ядра Linux, который предоставляет механизмы контроля доступа на основе политик безопасности. SELinux может быть важным инструментом для повышения безопасности вашей системы ALT Linux.
Чтобы проверить, активирован ли SELinux в вашей системе, используйте следующую команду:
sestatus
Если SELinux не активирован, вы можете включить его, отредактировав файл конфигурации:
sudo nano /etc/selinux/config
В этом файле измените значение SELINUX:
SELINUX=permissive
SELINUXTYPE=strict
enforcing
- SELinux security policy is enforced. permissive
- SELinux prints warnings instead of enforcing. disabled
- No SELinux policy is loaded.
SELINUXTYPE can take one of these four values: targeted
- Only targeted network daemons are protected. strict
- Full SELinux protection. mls
- Full SELinux protection with Multi-Level Security mcs
- Full SELinux protection with Multi-Category Security (mls
, but only one sensitivity level)
Howto get working SeLinux Alt Linux policy
Факты
libselinux
для своей работы требует /proc
это требует учитывать для зачрученных приложений, которые могут отказывать работать по необяснимым причинам. Это относится к всяким родам службам, которые в ALT часто делают chroot
с целью усиления защищенности.
Force relabeling
touch /.autorelabel
Update Grub config
Update configuration GRUB's file: /etc/sysconfig/grub2
:
GRUB_CMDLINE_LINUX_DEFAULT='panic=30 quiet splash security=selinux selinux=1'
It is also possible to add:
enforcing=1
log_buf_len=1M
grub-mkconfig > /boot/grub/grub.cfg
PAM configuration
- Add to
/etc/pam.d/newrole
beforepam_namespace.so
module
session required pam_exec.so debug /etc/security/alt.newrole/helper /etc/security/alt.newrole/config
- Add to
/etc/pam.d/common-login
:
The first session module pam_selinux.so
close should be the first session rule
session required pam_selinux.so close
The last session module pam_selinux.so
open should only be followed by sessions to be executed in the user context
session required pam_selinux.so open verbose
Reboot
reboot system with enabled selinux
Install policy
Install package selinux-policy-altlinux
Reboot system again
Грузиться система не хочет, переходит в emergency mode Setting SELINUX context failed
| Продемонстрировать наличие соответствующих возможностей
Механизм control
Пример настройки через механизм control
Просмотреть температуру жёсткого диска можно также средствами консоль режима:
hddtemp — утилита мониторинга температуры жёсткого диска
Настройка прав доступа можно выполнить через control-механизм в консоли:
control | grep hdd
control hddtemp list
control hddtemp restricted
control hddtemp public
control hddtemp wheelonly
Настройка прав доступа к hddtemp через control-механизм средствами администрирования «Альт Домена» описана в разделе документации 10.4.2. Управление control framework https://docs.altlinux.org/ru-RU/domain/10.4/html/group-policy/control.html