Руководство для начинающих по SELinux

SELinux означает «Security Enhanced Linux».

Стандартная безопасность Linux основана на дискретном управлении доступом (DAC).

С DAC доступ к файлам и устройствам основан исключительно на идентификации пользователей и их собственности.

Каждый файл может иметь права на чтение, запись и выполнение для владельца файла, для группы и для других пользователей.

SELinux был создан Агентством национальной безопасности США, чтобы обеспечить более тонкий уровень контроля над файлами, процессами, пользователями и приложениями в системе.

Это усовершенствование ядра Linux, и оно реализует другой тип безопасности под названием Mandatory Access Control (MAC).

Политика MAC управляется централизованно, а не управляется пользователем.

SELinux работает в одном из трех режимов:

Enforcing: доступ запрещен пользователям и программам, если это не разрешено правилами политики безопасности SELinux.
Permissive: правила политики безопасности не применяются, но SELinux отправляет сообщения об отказе в доступе в файл журнала.
Disabled: SELinux не применяет политику безопасности, поскольку в ядре не загружается политика. Для контроля доступа используются только правила DAC.

Отображение режима SELinux

Вы можете использовать команду sestatus для отображения режима SELinux, а также некоторую дополнительную информацию о SELinux.

# sestatus
SELinux status:                 enabled
SELinuxfs mount:                /sys/fs/selinux
SELinux root directory:         /etc/selinux
Loaded policy name:             targeted
Current mode:                   enforcing
Mode from config file:          enforcing
Policy MLS status:              enabled
Policy deny_unknown status:     allowed
Max kernel policy version:      28

Вы можете использовать команду getenforce для отображения режима SELinux.

Эта команда отображает текущий режим: «Enforcing», «Permissive», «или« Disabled ». Например:

# getenforce
Enforcing

Изменение режима SELinux

Большую часть времени вы увидите, как люди меняют режим enforcing на permissive, чтобы решить проблему, связанную с разрешениями файлов / процессов.

Это не самая лучшая практика безопасности для применения, но является одним из наиболее широко используемых и быстрых способов решить проблему в Linux.

Вы можете использовать команду setenforce, чтобы изменить режим на «Enforcing (1)» или «Permissive (0)». Например:

# setenforce 0 
# getenforce 
Permissive

Booleans

SELinux также предоставляет «Booleans», которые позволяют изменять части политики SELinux во время выполнения без перезагрузки или перекомпиляции политики SELinux.

Вы можете отобразить список логических объектов, информацию о состоянии и описание логического элемента, выполнив следующую команду:

# semanage boolean -l
SELinux boolean                State  Default Description
privoxy_connect_any            (on   ,   on)  Allow privoxy to connect any
smartmon_3ware                 (off  ,  off)  Allow smartmon to 3ware
mpd_enable_homedirs            (off  ,  off)  Allow mpd to enable homedirs
xdm_sysadm_login               (off  ,  off)  Allow xdm to sysadm login
....

Вы можете изменить состояние определенного логического значения, чтобы включить или выключить его с помощью команды setsebool.

Например, чтобы включить ftp_home_dir Boolean для включения:

# setsebool ftpd_use_nfs on

Используйте команду getsebool для отображения состояния определенного логического значения. Пример:

# getsebool ftpd_use_nfs
ftpd_use_nfs --> on

 

cryptoparty

Cryptography is typically bypassed, not penetrated.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

5e7fa976b0640d40