From e8ec7aa8e38a93f5b034ac74cebce5de23710317 Mon Sep 17 00:00:00 2001 From: hongbotian Date: Mon, 30 Nov 2015 01:45:08 -0500 Subject: upload http JIRA: BOTTLENECK-10 Change-Id: I7598427ff904df438ce77c2819ee48ac75ffa8da Signed-off-by: hongbotian --- .../httpd-2.0.64/docs/manual/dns-caveats.html.es | 268 +++++++++++++++++++++ 1 file changed, 268 insertions(+) create mode 100644 rubbos/app/httpd-2.0.64/docs/manual/dns-caveats.html.es (limited to 'rubbos/app/httpd-2.0.64/docs/manual/dns-caveats.html.es') diff --git a/rubbos/app/httpd-2.0.64/docs/manual/dns-caveats.html.es b/rubbos/app/httpd-2.0.64/docs/manual/dns-caveats.html.es new file mode 100644 index 00000000..e276eef1 --- /dev/null +++ b/rubbos/app/httpd-2.0.64/docs/manual/dns-caveats.html.es @@ -0,0 +1,268 @@ + + + +Asuntos relacionados con Apache y las DNS - Servidor HTTP Apache + + + + + +
<-
+

Asuntos relacionados con Apache y las DNS

+
+

Idiomas disponibles:  en  | + es  | + fr  | + ja  | + ko  | + tr 

+
+ +

Este documento puede resumirse en la siguiente frase: no + configure Apache de manera que el análisis sintáctico de + los ficheros de configuración tenga que confiar en + resoluciones DNS. Si Apache necesita de resoluciones DNS para + analizar los ficheros de configuración, entonces su servidor + puede no funcionar correctamente (por ejemplo, podría no + iniciarse), o sufrir ataques de denegación o robo de servicio + (incluyendo que otas web puedan "robar" peticiones de otras + web).

+
+ +
top
+
+

Un ejemplo sencillo

+ + +

+ <VirtualHost www.abc.dom>
+ ServerAdmin webgirl@abc.dom
+ DocumentRoot /www/abc
+ </VirtualHost> +

+ +

Para que Apache funcione correctamente, es imprescindible + conocer dos aspectos sobre cada host virtual: el valor de la + directiva ServerName y al + menos una dirección IP en la que servidor escuchará y + responderá a las peticiones que se produzcan. El ejemplo + mostrado arriba no incluye la direccion IP, de manera que Apache + tiene que usar una resolución DNS para encontrar la + dirección IP correspondiente a www.abc.dom. Si + por alguna razón la resolución DNS no está + disponible en el momento en que su servidor está analizando + sintánticamente su fichero de configuración, entonces + este host virtual no se configurará y no + será capaz de responder a ninguna de las peticiones que se + hagan a ese host virtual (en las versiones de Apache anteriores a + la 1.2 el servidor ni siquiera se iniciaba).

+ +

Suponga que www.abc.dom tiene como dirección + IP la 10.0.0.1. Considere la siguiente configuración:

+ +

+ <VirtualHost 10.0.0.1>
+ ServerAdmin webgirl@abc.dom
+ DocumentRoot /www/abc
+ </VirtualHost> +

+ +

Ahora Apache necesita hacer una búsqueda DNS inversa para + encontrar el ServerName de este host virtual. Si esta + búsqueda inversa falla entonces el host virtual se + desactivará parcialmente (en las versiones de Apache + anteriores a la 1.2 el servidor ni siquiera se iniciaba). Si el + host virtual está basado en el nombre, entonces se + desactivará completamente, pero si está basado en la + dirección IP, entonces funcionará para la mayor parte de + las cosas. Sin embargo, si Apache tiene que generar en algún + momento una URL completa que incluya el nombre del servidor, no + será capaz de generar una URL válida.

+ +

Aquí tiene una forma de evitar ambos problemas:

+ +

+ <VirtualHost 10.0.0.1>
+ ServerName www.abc.dom
+ ServerAdmin webgirl@abc.dom
+ DocumentRoot /www/abc
+ </VirtualHost> +

+
top
+
+

Denegación de servicio

+ + +

Hay (al menos) dos formas de que ocurra una denegación de + servicio. Si está ejecutando una versión de Apache + anterior a la 1.2, entonces su servidor no se iniciará si una + de las dos búsquedas de DNS mencionadas arriba falla para + cualquiera de sus hosts virtuales. En algunos casos estas + búsquedas DNS puede que no estén bajo su control; por + ejemplo, si abc.dom es uno de sus clientes y ellos + controlan su propia DNS, pueden forzar a su servidor (pre-1.2) a + fallar al iniciarse simplemente borrando el registro + www.abc.dom.

+ +

Otra formas pueden ser bastante más complicadas. Fíjese + en esta configuración:

+ +

+ <VirtualHost www.abc.dom>
+   ServerAdmin webgirl@abc.dom
+   DocumentRoot /www/abc
+ </VirtualHost>
+
+ <VirtualHost www.def.com>
+   ServerAdmin webguy@def.com
+   DocumentRoot /www/def
+ </VirtualHost> +

+ +

Suponga que ha asignado la dirección 10.0.0.1 a + www.abc.dom y 10.0.0.2 a + www.def.com. Todavía más, suponga que + def.com tiene el control de sus propias DNS. Con esta + configuración ha puesto def.com en una + posición en la que puede robar todo el trafico destinado a + abc.dom. Para conseguirlo, todo lo que tiene que + hacer es asignarle a www.def.com la dirección + 10.0.0.1. Como ellos controlan sus propias DNS no puede evitar que + apunten el registro www.def.com a donde quieran.

+ +

Las peticiones dirigidas a la dirección 10.0.0.1 + (incluídas aquellas en las los usuarios escriben URLs de tipo + http://www.abc.dom/whatever) serán todas + servidas por el host virtual def.com. Comprender por + qué ocurre esto requiere una discusión más profunda + acerca de como Apache asigna las peticiones que recibe a los hosts + virtuales que las servirán. Puede consultar aquí un documento que trata el + tema.

+
top
+
+

La dirección del "servidor principal"

+ + +

El que Apache soporte hosting + virtual basado en nombres desde la version 1.1 hace que sea + necesario que el servidor conozca la dirección (o + direcciones) IP del host que httpd está + ejecutando. Para tener acceso a esta dirección puede usar la + directiva global ServerName + (si está presente) o llamar a la función de C + gethostname (la cuál debe devolver el mismo + resultado que devuelve ejecutar por línea de comandos + "hostname"). Entonces se produce una búsqueda DNS de esa + dirección. Actualmente, no hay forma de evitar que se + produzca esta búsqueda.

+ +

Si teme que esta búsqueda pueda fallar porque su servidor + DNS está desactivado entonces puede insertar el nombre de + host en /etc/hosts (donde probablemente ya lo tiene + para que la máquina pueda arrancar + correctamente). Asegúrese de que su máquina está + configurada para usar /etc/hosts en caso de que esa + búsqueda DNS falle. En función del sistema operativo que + use, puede conseguir esto editando /etc/resolv.conf, + o puede que /etc/nsswitch.conf.

+ +

Si su servidor no tiene que ejecutar búsquedas DNS por + ninguna otra razón entonces considere ejecutar Apache + especificando el valor "local" en la variable de entorno + HOSTRESORDER. Todo esto depende del sistema operativo + y de las librerías de resolución que use. Esto + también afecta a los CGIs a menos que use + mod_env para controlar el entorno. Por favor, + consulte las páginas de ayuda o la sección de Preguntas + Más Frecuentes de su sistema operativo.

+
top
+
+

Consejos para evitar problemas

+ + +
    +
  • + use direcciones IP en + VirtualHost +
  • + +
  • + use direcciones IP en + Listen +
  • + +
  • + asegúrese de que todos los host virtuales tienen + explícitamente especificados una directiva ServerName +
  • + +
  • cree un servidor <VirtualHost _default_:*> + que no tenga páginas que servir.
  • +
+
top
+
+

Apéndice: Líneas de evolución de Apache

+ + +

La situación actual respecto a las búsquedas DNS + está lejos de ser la deseable. En Apache 1.2 se intentó + hacer que el servidor al menos se iniciara a pesar de que fallara + la búsqueda DNS, pero puede que esa no sea la mejor + solución. En cualquier caso, requerir el uso de direcciones + IP explícitas en los ficheros de configuración no es ni + mucho menos una solución deseable con la situación + actual de Internet, donde la renumeración es una + necesidad.

+ +

Una posible solución a los ataques de robo de servicio + descritos más arriba, sería hacer una búsqueda DNS + inversa de la dirección IP devuelta por la búsqueda + previa y comparar los dos nombres -- en caso de que sean + diferentes, el host virtual se desactivaría. Esto + requeriría configurar correctamente DNS inverso (una tarea + con la que suelen estar familiarizados la mayoría de los + administradores de sistemas).

+ +

En cualquier caso, no parece posible iniciar en las condiciones + apropiadas un servidor web alojado virtualmente cuando DNS ha + fallado a no ser que se usen direcciones IP. Soluciones parciales + tales como desactivar partes de la configuración podrían + ser incluso peores que no iniciar el servidor en absoluto, + dependiendo de las funciones que se espera que realice el servidor + web.

+ +

Como HTTP/1.1 está ampliamente extendido y los navegadores + y los servidores proxy empiezan a usar la cabecera + Host, en el futuro será posible evitar el uso de + hosting virtual basado en direcciones IP completamente. En ese + caso, un servidor web no tiene ninguna necesidad de hacer + búsquedas de DNS durante la configuración. Sin embargo, + en Marzo de 1997 esas funcionalidades no estaban lo + suficientemente implantadas como para ponerlas en uso en + servidores web que realizaban tareas de importancia + crítica.

+
+
+

Idiomas disponibles:  en  | + es  | + fr  | + ja  | + ko  | + tr 

+
+ \ No newline at end of file -- cgit 1.2.3-korg