SELinux, или Security-Enhanced Linux, – это механизм безопасности для обязательного контроля доступа (MAC), реализованный в ядре Linux для добавления дополнительного уровня защиты путем контроля доступа к файлам, процессам и ресурсам.
Одним из аспектов SELinux является управление Booleans, которые представляют собой переключатели, контролирующие различные политики безопасности.
В этой статье мы сосредоточимся на включении и отключении определенных SELinux Boolean, особенно для Apache в дистрибутивах на базе RHEL, чтобы обеспечить оптимальную безопасность и функциональность.
Понимание булевых функций SELinux
Boolean в SELinux похожи на переключатели, которые определяют, разрешены или запрещены определенные действия. Эти переменные можно переключать, чтобы включить или отключить определенные политики безопасности.
Для Apache существует несколько переменных, которые управляют его взаимодействием с SELinux.
Включение или отключение булевых функций Apache SELinux
Чтобы просмотреть все переменные SELinux, используйте команду getsebool
вместе с командой less.
getsebool -a | less

Чтобы просмотреть все логические значения программы (или демона) Apache, используйте команду getsebool с утилитой grep, которая выведет список всех httpd связанных логических значений.
getsebool -a | grep httpd

Вот некоторые общие переменные SELinux, связанные с Apache:
- httpd_can_network_connect: Позволяет Apache устанавливать сетевые соединения.
- httpd_can_network_connect_db: Позволяет Apache подключаться к базам данных по сети.
- httpd_can_sendmail: Позволяет Apache отправлять электронную почту.
- httpd_enable_cgi: Разрешает Apache выполнять CGI-скрипты.
- httpd_enable_homedirs: Разрешает Apache читать домашние каталоги пользователей.
Эти переменные управляют различными аспектами взаимодействия Apache с SELinux, помогая поддерживать безопасность и при этом обеспечивая необходимую функциональность.
Для включения можно использовать переключатель On или числовое значение 1. Для отключения булевой функции можно использовать переключатель Off или числовое значение 0 с помощью команды setsebool
, как описано ниже.
Включение булевых функций для Apache
Если в вашей системе установлен веб-сервер, вы можете разрешить скриптам HTTPD записывать файлы в каталоги с меткой public_content_rw_t
, включив булевое значение allow_httpd_sys_script_anon_write
.
getsebool allow_httpd_sys_script_anon_write setsebool -P allow_httpd_sys_script_anon_write on OR setsebool -P allow_httpd_sys_script_anon_write 1

Опция -P
в команде setsebool обеспечивает сохранение изменений при перезагрузке системы, что важно для поддержания согласованных политик безопасности.
Отключение булевых функций для Apache
Чтобы отключить или выключить вышеупомянутое булево значение SELinux, выполните следующую команду.
setsebool allow_httpd_sys_script_anon_write off setsebool allow_mount_anyfile off OR setsebool allow_httpd_sys_script_anon_write 0 setsebool allow_mount_anyfile 0
SELinux Boolean предоставляет гибкий способ управления политиками безопасности в системах Linux. Для Apache включение или отключение определенных булевых функций может повысить безопасность и одновременно обеспечить необходимую функциональность.
Понимая, как управлять этими булями, администраторы могут эффективно настраивать политики SELinux под нужды своей организации.
Комментарии (0)