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