selinux-policy/man/ru/man8/httpd_selinux.8

138 lines
9.0 KiB
Groff
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

.TH "httpd_selinux" "8" "17 Янв 2005" "dwalsh@redhat.com" "httpd Selinux Policy documentation"
.de EX
.nf
.ft CW
..
.de EE
.ft R
.fi
..
.SH "НАЗВАНИЕ"
httpd_selinux \- Политика Security Enhanced Linux для демона httpd
.SH "ОПИСАНИЕ"
Security-Enhanced Linux обеспечивает защиту сервера httpd при помощи гибко настраиваемого мандатного контроля доступа.
.SH КОНТЕКСТ ФАЙЛОВ
SELinux требует наличия у файлов расширенных атрибутов, определяющих тип файла.
Политика управляет видом доступа демона к этим файлам.
Политика SELinux для демона httpd позволяет пользователям настроить web-службы максимально безопасным методом с высокой степенью гибкости.
.PP
Для httpd определены следующие контексты файлов:
.EX
httpd_sys_content_t
.EE
- Установите контекст httpd_sys_content_t для содержимого, которое должно быть доступно для всех скриптов httpd и для самого демона.
.EX
httpd_sys_script_exec_t
.EE
- Установите контекст httpd_sys_script_exec_t для cgi-скриптов, чтобы разрешить им доступ ко всем sys-типам.
.EX
httpd_sys_script_ro_t
.EE
- Установите на файлы контекст httpd_sys_script_ro_t если вы хотите, чтобы скрипты httpd_sys_script_exec_t могли читать данные, и при этом нужно запретить доступ другим не-sys скриптам.
.EX
httpd_sys_script_rw_t
.EE
- Установите на файлы контекст httpd_sys_script_rw_t если вы хотите, чтобы скрипты httpd_sys_script_exec_t могли читать и писать данные, и при этом нужно запретить доступ другим не-sys скриптам.
.EX
httpd_sys_script_ra_t
.EE
- Установите на файлы контекст httpd_sys_script_ra_t если вы хотите, чтобы скрипты httpd_sys_script_exec_t могли читать и добавлять данные, и при этом нужно запретить доступ другим не-sys скриптам.
.EX
httpd_unconfined_script_exec_t
.EE
- Установите на cgi-скрипты контекст httpd_unconfined_script_exec_t если вы хотите разрешить
им исполняться без какой-либо защиты SELinux. Такой способ должен использоваться только для
скриптов с очень комплексными требованиями, и только в случае, если все остальные варианты настройки не дали результата. Лучше использовать скрипты с контекстом httpd_unconfined_script_exec_t, чем выключать защиту SELinux для httpd.
.SH ЗАМЕЧАНИЕ
Вместе с некоторыми политиками, вы можете определить дополнительные контексты файлов, основанные
на ролях, таких как user или staff. Может быть определен контекст httpd_user_script_exec_t, который будет иметь доступ только к "пользовательским" контекстам.
.SH СОВМЕСТНОЕ ВЛАДЕНИЕ ФАЙЛАМИ
Если вы хотите организовать между несколькими доменами (Apache, FTP, rsync, Samba) совместный
доступ к файлам, то вы можете установить контекст файлов в public_content_t и public_content_rw_t.
Данный контекст позволяет любому из выше перечисленных демонов читать содержимое.
Если вы хотите, чтобы конкретный домен имел право записи в домен public_content_rw_t, вы должны
установить соответствующий переключатель allow_ДОМЕН_anon_write. Таким образом, для httpd вы должны выполнить команду:
.EX
setsebool -P allow_httpd_anon_write=1
.EE
или
.EX
setsebool -P allow_httpd_sys_script_anon_write=1
.EE
.SH ПЕРЕКЛЮЧАТЕЛИ (BOOLEANS)
Политика SELinux настроена исходя из принципа наименьших привилегий. Таким образом,
по умолчанию SELinux препятствует работе некоторых http-скриптов. Политика httpd весьма
гибка, и существующие переключатели управляют политикой, позволяя httpd выполняться
с наименее возможными правами доступа.
.PP
Если вы хотите, чтобы httpd мог исполнять cgi-скрипты, установите переключатель httpd_enable_cgi
.EX
setsebool -P httpd_enable_cgi 1
.EE
.PP
По умолчанию демону httpd не разрешен доступ в домашние дерикториии пользователей. Если вы хотите разрешить доступ, вам необходимо установить переключатель httpd_enable_homedirs и изменить контекст
тех файлов в домашних директориях пользователей, к которым должен быть разрешен доступ.
.EX
setsebool -P httpd_enable_homedirs 1
chcon -R -t httpd_sys_content_t ~user/public_html
.EE
.PP
По умолчанию демон httpd не имеет доступ к управляющему терминалу. В большинстве случаев такое
поведение является предпочтительным. Это связанно с тем, что злоумышленник может попытаться
использовать доступ к терминалу для получения привилегий. Однако, в некоторых ситуациях демон
httpd должен выводить запрос пароля для открытия файла сертификата и в таких случаях нужен доступ
к терминалу. Для того, чтобы разрешить доступ к терминалу, установите переключатель httpd_tty_comm.
.EX
setsebool -P httpd_tty_comm 1
.EE
.PP
httpd может быть настроен так, чтобы не разграничивать тип доступа к файлу на основании контекста.
Иными словами, ко всем файлам, имеющим контекст httpd разрешен доступ на чтение/запись/исполнение.
Установка этого переключателя в false, позволяет настроить политику безопасности таким образом,
что одина служба httpd не конфликтует с другой.
.EX
setsebool -P httpd_unified 0
.EE
.PP
Имеется возможность настроить httpd таким образом, чтобы отключить встроенную поддержку
скриптов (PHP). PHP и другие загружаемые модули работают в том же контексте, что и httpd.
Таким образом, если используются только внешние cgi-скрипты, некоторые из правил политики
разрешают httpd больший доступ к системе, чем необходимо.
.EX
setsebool -P httpd_builtin_scripting 0
.EE
.PP
По умолчанию httpd-скриптам запрещено устанавливать внешние сетевые подключения.
Это не позволит хакеру, взломавшему ваш httpd-сервер, атаковать другие машины.
Если вашим скриптам необходимо иметь возможность подключения, установите переключатель
httpd_can_network_connect
.EX
setsebool -P httpd_can_network_connect 1
.EE
.PP
Для управления настройками SELinux существует графическая утилита system-config-selinux.
.SH АВТОРЫ
Эту страницу руководства написал Dan Walsh <dwalsh@redhat.com>.
Перевод руководства - Андрей Маркелов <andrey@markelov.net>, 2007г.
.SH "СМОТРИ ТАКЖЕ"
selinux(8), httpd(8), chcon(1), setsebool(8)