bottleneck testcase based on rubbos
[bottlenecks.git] / rubbos / app / httpd-2.0.64 / docs / manual / dns-caveats.html.es
1 <?xml version="1.0" encoding="ISO-8859-1"?>
2 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
3 <html xmlns="http://www.w3.org/1999/xhtml" lang="es" xml:lang="es"><head><!--
4         XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
5               This file is generated from xml source: DO NOT EDIT
6         XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
7       -->
8 <title>Asuntos relacionados con Apache y las DNS - Servidor HTTP Apache</title>
9 <link href="./style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" />
10 <link href="./style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" />
11 <link href="./style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" />
12 <link href="./images/favicon.ico" rel="shortcut icon" /></head>
13 <body id="manual-page"><div id="page-header">
14 <p class="menu"><a href="./mod/">Módulos</a> | <a href="./mod/directives.html">Directivas</a> | <a href="./faq/">Preguntas Frecuentes</a> | <a href="./glossary.html">Glosario</a> | <a href="./sitemap.html">Mapa de este sitio web</a></p>
15 <p class="apache">Versión 2.0 del Servidor HTTP Apache</p>
16 <img alt="" src="./images/feather.gif" /></div>
17 <div class="up"><a href="./"><img title="&lt;-" alt="&lt;-" src="./images/left.gif" /></a></div>
18 <div id="path">
19 <a href="http://www.apache.org/">Apache</a> &gt; <a href="http://httpd.apache.org/">Servidor HTTP</a> &gt; <a href="http://httpd.apache.org/docs/">Documentación</a> &gt; <a href="./">Versión 2.0</a></div><div id="page-content"><div id="preamble"><h1>Asuntos relacionados con Apache y las DNS</h1>
20 <div class="toplang">
21 <p><span>Idiomas disponibles: </span><a href="./en/dns-caveats.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
22 <a href="./es/dns-caveats.html" title="Español">&nbsp;es&nbsp;</a> |
23 <a href="./fr/dns-caveats.html" hreflang="fr" rel="alternate" title="Français">&nbsp;fr&nbsp;</a> |
24 <a href="./ja/dns-caveats.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
25 <a href="./ko/dns-caveats.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
26 <a href="./tr/dns-caveats.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
27 </div>
28
29     <p>Este documento puede resumirse en la siguiente frase: no
30     configure Apache de manera que el análisis sintáctico de
31     los ficheros de configuración tenga que confiar en
32     resoluciones DNS. Si Apache necesita de resoluciones DNS para
33     analizar los ficheros de configuración, entonces su servidor
34     puede no funcionar correctamente (por ejemplo, podría no
35     iniciarse), o sufrir ataques de denegación o robo de servicio
36     (incluyendo que otas web puedan "robar" peticiones de otras
37     web).</p>
38   </div>
39 <div id="quickview"><ul id="toc"><li><img alt="" src="./images/down.gif" /> <a href="#example">Un ejemplo sencillo</a></li>
40 <li><img alt="" src="./images/down.gif" /> <a href="#denial">Denegación de servicio</a></li>
41 <li><img alt="" src="./images/down.gif" /> <a href="#main">La dirección del "servidor principal"</a></li>
42 <li><img alt="" src="./images/down.gif" /> <a href="#tips">Consejos para evitar problemas</a></li>
43 <li><img alt="" src="./images/down.gif" /> <a href="#appendix">Apéndice: Líneas de evolución de Apache</a></li>
44 </ul></div>
45 <div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
46 <div class="section">
47 <h2><a name="example" id="example">Un ejemplo sencillo</a></h2>
48     
49
50     <div class="example"><p><code>
51       &lt;VirtualHost www.abc.dom&gt; <br />
52       ServerAdmin webgirl@abc.dom <br />
53       DocumentRoot /www/abc <br />
54       &lt;/VirtualHost&gt;
55     </code></p></div>
56
57     <p>Para que Apache funcione correctamente, es imprescindible
58     conocer dos aspectos sobre cada host virtual: el valor de la
59     directiva <code class="directive"><a href="./mod/core.html#servername">ServerName</a></code> y al
60     menos una dirección IP en la que servidor escuchará y
61     responderá a las peticiones que se produzcan. El ejemplo
62     mostrado arriba no incluye la direccion IP, de manera que Apache
63     tiene que usar una resolución DNS para encontrar la
64     dirección IP correspondiente a <code>www.abc.dom</code>. Si
65     por alguna razón la resolución DNS no está
66     disponible en el momento en que su servidor está analizando
67     sintánticamente su fichero de configuración, entonces
68     este host virtual <strong>no se configurará</strong> y no
69     será capaz de responder a ninguna de las peticiones que se
70     hagan a ese host virtual (en las versiones de Apache anteriores a
71     la 1.2 el servidor ni siquiera se iniciaba).</p>
72
73     <p>Suponga que <code>www.abc.dom</code> tiene como dirección
74     IP la 10.0.0.1. Considere la siguiente configuración:</p>
75
76     <div class="example"><p><code>
77       &lt;VirtualHost 10.0.0.1&gt; <br />
78       ServerAdmin webgirl@abc.dom <br />
79       DocumentRoot /www/abc <br />
80       &lt;/VirtualHost&gt;
81     </code></p></div>
82
83     <p>Ahora Apache necesita hacer una búsqueda DNS inversa para
84     encontrar el <code>ServerName</code> de este host virtual. Si esta
85     búsqueda inversa falla entonces el host virtual se
86     desactivará parcialmente (en las versiones de Apache
87     anteriores a la 1.2 el servidor ni siquiera se iniciaba). Si el
88     host virtual está basado en el nombre, entonces se
89     desactivará completamente, pero si está basado en la
90     dirección IP, entonces funcionará para la mayor parte de
91     las cosas. Sin embargo, si Apache tiene que generar en algún
92     momento una URL completa que incluya el nombre del servidor, no
93     será capaz de generar una URL válida.</p>
94
95     <p>Aquí tiene una forma de evitar ambos problemas:</p>
96
97     <div class="example"><p><code>
98       &lt;VirtualHost 10.0.0.1&gt; <br />
99       ServerName www.abc.dom <br />
100       ServerAdmin webgirl@abc.dom <br />
101       DocumentRoot /www/abc <br />
102       &lt;/VirtualHost&gt;
103     </code></p></div>
104   </div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
105 <div class="section">
106 <h2><a name="denial" id="denial">Denegación de servicio</a></h2>
107     
108
109     <p>Hay (al menos) dos formas de que ocurra una denegación de
110     servicio. Si está ejecutando una versión de Apache
111     anterior a la 1.2, entonces su servidor no se iniciará si una
112     de las dos búsquedas de DNS mencionadas arriba falla para
113     cualquiera de sus hosts virtuales. En algunos casos estas
114     búsquedas DNS puede que no estén bajo su control; por
115     ejemplo, si <code>abc.dom</code> es uno de sus clientes y ellos
116     controlan su propia DNS, pueden forzar a su servidor (pre-1.2) a
117     fallar al iniciarse simplemente borrando el registro
118     <code>www.abc.dom</code>.</p>
119
120     <p>Otra formas pueden ser bastante más complicadas. Fíjese
121     en esta configuración:</p>
122
123     <div class="example"><p><code>
124       &lt;VirtualHost www.abc.dom&gt; <br />
125       &nbsp;&nbsp;ServerAdmin webgirl@abc.dom <br />
126       &nbsp;&nbsp;DocumentRoot /www/abc <br />
127       &lt;/VirtualHost&gt; <br />
128       <br />
129       &lt;VirtualHost www.def.com&gt; <br />
130       &nbsp;&nbsp;ServerAdmin webguy@def.com <br />
131       &nbsp;&nbsp;DocumentRoot /www/def <br />
132       &lt;/VirtualHost&gt;
133     </code></p></div>
134
135     <p>Suponga que ha asignado la dirección 10.0.0.1 a
136     <code>www.abc.dom</code> y 10.0.0.2 a
137     <code>www.def.com</code>. Todavía más, suponga que
138     <code>def.com</code> tiene el control de sus propias DNS. Con esta
139     configuración ha puesto <code>def.com</code> en una
140     posición en la que puede robar todo el trafico destinado a
141     <code>abc.dom</code>. Para conseguirlo, todo lo que tiene que
142     hacer es asignarle a <code>www.def.com</code> la dirección
143     10.0.0.1. Como ellos controlan sus propias DNS no puede evitar que
144     apunten el registro <code>www.def.com</code> a donde quieran.</p>
145
146     <p>Las peticiones dirigidas a la dirección 10.0.0.1
147     (incluídas aquellas en las los usuarios escriben URLs de tipo
148     <code>http://www.abc.dom/whatever</code>) serán todas
149     servidas por el host virtual <code>def.com</code>. Comprender por
150     qué ocurre esto requiere una discusión más profunda
151     acerca de como Apache asigna las peticiones que recibe a los hosts
152     virtuales que las servirán. Puede consultar <a href="vhosts/details.html">aquí</a> un documento que trata el
153     tema.</p>
154   </div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
155 <div class="section">
156 <h2><a name="main" id="main">La dirección del "servidor principal"</a></h2>
157     
158
159     <p>El que Apache soporte <a href="vhosts/name-based.html">hosting
160     virtual basado en nombres</a> desde la version 1.1 hace que sea
161     necesario que el servidor conozca la dirección (o
162     direcciones) IP del host que <code class="program"><a href="./programs/httpd.html">httpd</a></code> está
163     ejecutando. Para tener acceso a esta dirección puede usar la
164     directiva global <code class="directive"><a href="./mod/core.html#servername">ServerName</a></code>
165     (si está presente) o llamar a la función de C
166     <code>gethostname</code> (la cuál debe devolver el mismo
167     resultado que devuelve ejecutar por línea de comandos
168     "hostname"). Entonces se produce una búsqueda DNS de esa
169     dirección. Actualmente, no hay forma de evitar que se
170     produzca esta búsqueda.</p>
171
172     <p>Si teme que esta búsqueda pueda fallar porque su servidor
173     DNS está desactivado entonces puede insertar el nombre de
174     host en <code>/etc/hosts</code> (donde probablemente ya lo tiene
175     para que la máquina pueda arrancar
176     correctamente). Asegúrese de que su máquina está
177     configurada para usar <code>/etc/hosts</code> en caso de que esa
178     búsqueda DNS falle. En función del sistema operativo que
179     use, puede conseguir esto editando <code>/etc/resolv.conf</code>,
180     o puede que <code>/etc/nsswitch.conf</code>.</p>
181
182     <p>Si su servidor no tiene que ejecutar búsquedas DNS por
183     ninguna otra razón entonces considere ejecutar Apache
184     especificando el valor "local" en la variable de entorno
185     <code>HOSTRESORDER</code>. Todo esto depende del sistema operativo
186     y de las librerías de resolución que use. Esto
187     también afecta a los CGIs a menos que use
188     <code class="module"><a href="./mod/mod_env.html">mod_env</a></code> para controlar el entorno. Por favor,
189     consulte las páginas de ayuda o la sección de Preguntas
190     Más Frecuentes de su sistema operativo.</p>
191   </div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
192 <div class="section">
193 <h2><a name="tips" id="tips">Consejos para evitar problemas</a></h2>
194     
195
196     <ul>
197       <li>
198         use direcciones IP en 
199         <code class="directive"><a href="./mod/core.html#virtualhost">VirtualHost</a></code>
200       </li>
201
202       <li>
203         use direcciones IP en
204         <code class="directive"><a href="./mod/mpm_common.html#listen">Listen</a></code>
205       </li>
206
207       <li>
208         asegúrese de que todos los host virtuales tienen
209         explícitamente especificados una directiva <code class="directive"><a href="./mod/core.html#servername">ServerName</a></code>
210       </li>
211
212       <li>cree un servidor <code>&lt;VirtualHost _default_:*&gt;</code>
213       que no tenga páginas que servir.</li>
214     </ul>
215   </div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
216 <div class="section">
217 <h2><a name="appendix" id="appendix">Apéndice: Líneas de evolución de Apache</a></h2>
218     
219
220     <p>La situación actual respecto a las búsquedas DNS
221     está lejos de ser la deseable. En Apache 1.2 se intentó
222     hacer que el servidor al menos se iniciara a pesar de que fallara
223     la búsqueda DNS, pero puede que esa no sea la mejor
224     solución. En cualquier caso, requerir el uso de direcciones
225     IP explícitas en los ficheros de configuración no es ni
226     mucho menos una solución deseable con la situación
227     actual de Internet, donde la renumeración es una
228     necesidad.</p>
229
230     <p>Una posible solución a los ataques de robo de servicio
231     descritos más arriba, sería hacer una búsqueda DNS
232     inversa de la dirección IP devuelta por la búsqueda
233     previa y comparar los dos nombres -- en caso de que sean
234     diferentes, el host virtual se desactivaría. Esto
235     requeriría configurar correctamente DNS inverso (una tarea
236     con la que suelen estar familiarizados la mayoría de los
237     administradores de sistemas).</p>
238
239     <p>En cualquier caso, no parece posible iniciar en las condiciones
240     apropiadas un servidor web alojado virtualmente cuando DNS ha
241     fallado a no ser que se usen direcciones IP. Soluciones parciales
242     tales como desactivar partes de la configuración podrían
243     ser incluso peores que no iniciar el servidor en absoluto,
244     dependiendo de las funciones que se espera que realice el servidor
245     web.</p>
246
247     <p>Como HTTP/1.1 está ampliamente extendido y los navegadores
248     y los servidores proxy empiezan a usar la cabecera
249     <code>Host</code>, en el futuro será posible evitar el uso de
250     hosting virtual basado en direcciones IP completamente. En ese
251     caso, un servidor web no tiene ninguna necesidad de hacer
252     búsquedas de DNS durante la configuración. Sin embargo,
253     en Marzo de 1997 esas funcionalidades no estaban lo
254     suficientemente implantadas como para ponerlas en uso en
255     servidores web que realizaban tareas de importancia
256     crítica.</p>
257   </div></div>
258 <div class="bottomlang">
259 <p><span>Idiomas disponibles: </span><a href="./en/dns-caveats.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
260 <a href="./es/dns-caveats.html" title="Español">&nbsp;es&nbsp;</a> |
261 <a href="./fr/dns-caveats.html" hreflang="fr" rel="alternate" title="Français">&nbsp;fr&nbsp;</a> |
262 <a href="./ja/dns-caveats.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
263 <a href="./ko/dns-caveats.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
264 <a href="./tr/dns-caveats.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
265 </div><div id="footer">
266 <p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licencia bajo los términos de la <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
267 <p class="menu"><a href="./mod/">Módulos</a> | <a href="./mod/directives.html">Directivas</a> | <a href="./faq/">Preguntas Frecuentes</a> | <a href="./glossary.html">Glosario</a> | <a href="./sitemap.html">Mapa de este sitio web</a></p></div>
268 </body></html>