Security-Enhanced Linux обеспечивает защиту сервера httpd при помощи гибко настраиваемого мандатного контроля доступа.
Для httpd определены следующие контексты файлов:
httpd_sys_content_t- Установите контекст httpd_sys_content_t для содержимого, которое должно быть доступно для всех скриптов httpd и для самого демона.
httpd_sys_script_exec_t- Установите контекст httpd_sys_script_exec_t для cgi-скриптов, чтобы разрешить им доступ ко всем sys-типам.
httpd_sys_script_ro_t- Установите на файлы контекст httpd_sys_script_ro_t если вы хотите, чтобы скрипты httpd_sys_script_exec_t могли читать данные, и при этом нужно запретить доступ другим не-sys скриптам.
httpd_sys_script_rw_t- Установите на файлы контекст httpd_sys_script_rw_t если вы хотите, чтобы скрипты httpd_sys_script_exec_t могли читать и писать данные, и при этом нужно запретить доступ другим не-sys скриптам.
httpd_sys_script_ra_t- Установите на файлы контекст httpd_sys_script_ra_t если вы хотите, чтобы скрипты httpd_sys_script_exec_t могли читать и добавлять данные, и при этом нужно запретить доступ другим не-sys скриптам.
httpd_unconfined_script_exec_t- Установите на cgi-скрипты контекст httpd_unconfined_script_exec_t если вы хотите разрешить им исполняться без какой-либо защиты SELinux. Такой способ должен использоваться только для скриптов с очень комплексными требованиями, и только в случае, если все остальные варианты настройки не дали результата. Лучше использовать скрипты с контекстом httpd_unconfined_script_exec_t, чем выключать защиту SELinux для httpd.
setsebool -P allow_httpd_anon_write=1
или
setsebool -P allow_httpd_sys_script_anon_write=1
Если вы хотите, чтобы httpd мог исполнять cgi-скрипты, установите переключатель httpd_enable_cgi
setsebool -P httpd_enable_cgi 1
По умолчанию демону httpd не разрешен доступ в домашние дерикториии пользователей. Если вы хотите разрешить доступ, вам необходимо установить переключатель httpd_enable_homedirs и изменить контекст тех файлов в домашних директориях пользователей, к которым должен быть разрешен доступ.
setsebool -P httpd_enable_homedirs 1 chcon -R -t httpd_sys_content_t ~user/public_html
По умолчанию демон httpd не имеет доступ к управляющему терминалу. В большинстве случаев такое поведение является предпочтительным. Это связанно с тем, что злоумышленник может попытаться использовать доступ к терминалу для получения привилегий. Однако, в некоторых ситуациях демон httpd должен выводить запрос пароля для открытия файла сертификата и в таких случаях нужен доступ к терминалу. Для того, чтобы разрешить доступ к терминалу, установите переключатель httpd_tty_comm.
setsebool -P httpd_tty_comm 1
httpd может быть настроен так, чтобы не разграничивать тип доступа к файлу на основании контекста. Иными словами, ко всем файлам, имеющим контекст httpd разрешен доступ на чтение/запись/исполнение. Установка этого переключателя в false, позволяет настроить политику безопасности таким образом, что одина служба httpd не конфликтует с другой.
setsebool -P httpd_unified 0
Имеется возможность настроить httpd таким образом, чтобы отключить встроенную поддержку скриптов (PHP). PHP и другие загружаемые модули работают в том же контексте, что и httpd. Таким образом, если используются только внешние cgi-скрипты, некоторые из правил политики разрешают httpd больший доступ к системе, чем необходимо.
setsebool -P httpd_builtin_scripting 0
По умолчанию httpd-скриптам запрещено устанавливать внешние сетевые подключения. Это не позволит хакеру, взломавшему ваш httpd-сервер, атаковать другие машины. Если вашим скриптам необходимо иметь возможность подключения, установите переключатель httpd_can_network_connect
setsebool -P httpd_can_network_connect 1
Для управления настройками SELinux существует графическая утилита system-config-selinux.
Закладки на сайте Проследить за страницей |
Created 1996-2024 by Maxim Chirkov Добавить, Поддержать, Вебмастеру |