mirror of
https://github.com/php/doc-ru.git
synced 2026-03-23 23:32:16 +01:00
73 lines
4.7 KiB
XML
73 lines
4.7 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
||
<!-- EN-Revision: ab6785b01ce1006e3a9761988575289f40c9b678 Maintainer: shein Status: ready -->
|
||
<!-- Reviewed: no -->
|
||
<chapter xml:id="security.apache" xmlns="http://docbook.org/ns/docbook">
|
||
<title>Если PHP установлен как модуль Apache</title>
|
||
<simpara>
|
||
Если <acronym>PHP</acronym> используется как модуль Apache, он
|
||
наследует права пользователя, с которыми был запущен веб-сервер
|
||
(обычно это пользователь "nobody"). Это влияет на обеспечение
|
||
безопасности и реализацию авторизации. Например, если вы
|
||
используете <acronym>PHP</acronym> для доступа к базе данных,
|
||
которая не имеет встроенного механизма разграничения доступа,
|
||
вам придётся обеспечить доступ к БД для пользователя 'nobody'.
|
||
В таком случае вредоносный скрипт может получить доступ к базе
|
||
данных и модифицировать её, даже не зная логина и пароля.
|
||
Вполне возможна ситуация, при которой веб-паук неверными запросами
|
||
на страницу администратора базы данных может уничтожить все ваши
|
||
базы данных. Вы можете избежать такой ситуации при помощи авторизации Apache
|
||
или разработав собственную модель доступа, используя LDAP, файлы &htaccess; или
|
||
любые другие технологии, внедряя соответствующий код в ваши
|
||
<acronym>PHP</acronym>-скрипты.
|
||
</simpara>
|
||
<simpara>
|
||
Достаточно часто используются такие настройки безопасности, при которых
|
||
<acronym>PHP</acronym> (имеется в виду пользователь, с правами
|
||
которого выполняется Apache) имеет минимальные привилегии,
|
||
например, отсутствует возможность записи в пользовательские директории
|
||
с помощью <acronym>PHP</acronym>. Или, например, отсутствует
|
||
возможность работать с базой данных. При этом система
|
||
безопасности не позволяет записывать как "хорошие", так и
|
||
"плохие" файлы, или провести "хорошие" или "плохие" транзакции.
|
||
</simpara>
|
||
<simpara>
|
||
Распространённой ошибкой является запуск Apache с правами
|
||
суперпользователя или любое другое расширение полномочий веб-сервера.
|
||
</simpara>
|
||
<simpara>
|
||
Расширение привилегий веб-сервера до полномочий суперпользователя
|
||
угрожает работоспособности всей системы, поэтому такие команды,
|
||
как sudo, chroot и другие способы запуска с правами
|
||
суперпользователя должны выполняться исключительно теми, кто
|
||
профессионально разбирается в вопросах безопасности.
|
||
</simpara>
|
||
<simpara>
|
||
Существует несколько простых решений. Используя
|
||
<link linkend="ini.open-basedir">open_basedir</link>,
|
||
вы можете ограничить дерево доступных директорий для
|
||
<acronym>PHP</acronym>. Вы так же можете определить область
|
||
доступа Apache, ограничив все действия, совершаемые из веба
|
||
не пользовательскими или несистемными файлами.
|
||
</simpara>
|
||
</chapter>
|
||
<!-- Keep this comment at the end of the file
|
||
Local variables:
|
||
mode: sgml
|
||
sgml-omittag:t
|
||
sgml-shorttag:t
|
||
sgml-minimize-attributes:nil
|
||
sgml-always-quote-attributes:t
|
||
sgml-indent-step:1
|
||
sgml-indent-data:t
|
||
indent-tabs-mode:nil
|
||
sgml-parent-document:nil
|
||
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
|
||
sgml-exposed-tags:nil
|
||
sgml-local-catalogs:nil
|
||
sgml-local-ecat-files:nil
|
||
End:
|
||
vim600: syn=xml fen fdm=syntax fdl=2 si
|
||
vim: et tw=78 syn=sgml
|
||
vi: ts=1 sw=1
|
||
-->
|