-
Notifications
You must be signed in to change notification settings - Fork 81
Expand file tree
/
Copy pathapache.xml
More file actions
72 lines (72 loc) · 4.74 KB
/
apache.xml
File metadata and controls
72 lines (72 loc) · 4.74 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
<?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
-->