-
Notifications
You must be signed in to change notification settings - Fork 59
Expand file tree
/
Copy pathapache.xml
More file actions
78 lines (77 loc) · 3.48 KB
/
apache.xml
File metadata and controls
78 lines (77 loc) · 3.48 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
73
74
75
76
77
78
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: ab6785b01ce1006e3a9761988575289f40c9b678 Maintainer: andphe Status: ready -->
<!-- splitted from ./index.xml, last change in rev 1.66 -->
<chapter xml:id="security.apache" xmlns="http://docbook.org/ns/docbook">
<title>Instalado como módulo de Apache</title>
<simpara>
Cuando <acronym>PHP</acronym> es usado como un módulo de Apache, hereda los
permisos del usuario de Apache (generalmente los del usuario
"nobody"). Este hecho representa varios impactos sobre la
seguridad y las autorizaciones. Por ejemplo, si se está usando
<acronym>PHP</acronym> para acceder a una base de datos, a menos que tal base de
datos disponga de un control de acceso propio, se tendrá
que hacer que la base de datos sea asequible por el usuario
"nobody". Esto quiere decir que un script malicioso podría
tener acceso y modificar la base de datos, incluso sin un nombre
de usuario y contraseña. Es completamente posible que una
araña web (bot) pudiera toparse con la página web de administración de
una base de datos, y eliminar todo de la base de datos. Una
protección ante este tipo de situaciones es mediante el uso del
mecanismo de autorización de Apache, o con modelos de acceso
de diseño propio usando LDAP, archivos &htaccess;, etc. e
incluir ese código como parte de los scripts <acronym>PHP</acronym>.
</simpara>
<simpara>
Con frecuencia, una vez la seguridad se ha establecido en un punto
en donde el usuario de <acronym>PHP</acronym> (en este caso, el usuario de apache)
tiene asociada muy poco riesgo, se descubre que
<acronym>PHP</acronym> se encuentra ahora imposibilitado de escribir archivos en los
directorios de los usuarios. O quizás se le haya
desprovisto de la capacidad de acceder o modificar bases de
datos. Se ha prevenido que pudiera escribir tanto
archivos buenos como malos, o que pudiera realizar transacciones
buenas o malas en la base de datos.
</simpara>
<simpara>
Un error de seguridad cometido con frecuencia en este punto es
darle permisos de administrador (root) a apache, o incrementar las
habilidades del usuario de apache de alguna otra forma.
</simpara>
<simpara>
Incrementar los permisos del usuario de Apache hasta el nivel de
administrador es extremadamente peligroso y puede comprometer al
sistema entero, así que el uso de entornos sudo, chroot, o
cualquier otro mecanismo que sea ejecutado como root no
debería ser considerado como una opción por aquellos que no
son profesionales en seguridad.
</simpara>
<simpara>
Existen otras soluciones más simples. Mediante el uso
de <link linkend="ini.open-basedir">open_basedir</link> se
puede controlar y restringir qué directorios
pueden ser usados por <acronym>PHP</acronym>. También se pueden definir
áreas solo-Apache, para restringir todas las actividades
basadas en web a archivos que no son de usuarios o del sistema.
</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
-->