¿Cómo puede un sitio web pasar el firewall de mi servidor e intentar un enlace directo a los recursos de mi servidor?

0

Me quedé perplejo cuando vi las siguientes líneas en el registro de errores de mi servidor Apache esta mañana:

  

[authz_core: error] [cliente :: 1: 37317] AH01630: cliente denegado por el servidor   configuración: /var/www/styles/style.css, referer:    enlace   [authz_core: error] [cliente :: 1: 37317] AH01630: cliente denegado por el servidor   configuración: /var/www/scripts/script.js, referer:    enlace

Es posible que haya accedido a algún foro que haga que el sitio se ponga en contacto con mi servidor web. Pero mi servidor tiene un firewall que está configurado explícitamente para permitir el acceso solo desde unas pocas direcciones IP internas. Sospecho que podría ser la siguiente línea en mi configuración iptables que les permite acceder a mi servidor:

-A INPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT

¿Es cierto que si me comuniqué con el servidor sin querer accediendo a un iframe oculto en algún foro, estoy permitiendo que el sitio web acceda a mi servidor? ¿Cómo adivinó la ubicación de mi script y hoja de estilo dado que podría haber miles de combinaciones de ruta? ¿Y cuál es la intención de intentar enlazarles? ¿Podría ser malicioso? El sitio web parece una compañía antivirus en China.

ACTUALIZAR :

Al ingresar al registro de acceso del servidor, encontré la siguiente línea:

  

127.0.0.1 GET /adm.html?adm=somehexdec&t=timestamp HTTP / 1.1 404 enlace

Bien, ahora entiendo que mi servidor emitió una página de error personalizada 404 (obviamente porque no hay adm.html ) que contiene el script y el archivo css. Esa parte del misterio está resuelta. Y también, mis reglas de firewall parecen funcionar correctamente ya que la dirección IP 127.0.0.1 representa a localhost.

Ahora el problema es identificar por qué acceder a esa página en baidu activa una búsqueda en mi host local y si este es un problema de seguridad.

    
pregunta Question Overflow 18.12.2013 - 04:29
fuente

1 respuesta

1

Si su access.log indica que hay una conexión a su servidor web desde localhost (127.0.0.1), esto significa que algún proceso que se ejecuta en la misma máquina del servidor hizo esa conexión. Si está ejecutando un navegador web en la misma máquina, entonces ese navegador web podría ser el culpable. De manera similar, si su servidor no es la misma máquina que su sistema de escritorio, pero utiliza ese servidor como un proxy para su navegador (proxy SOCKS, proxy web, VPN ...), toda su actividad de navegación aparecerá como conexiones desde su servidor.

Supongo que estás en una de las dos situaciones descritas anteriormente. Ahora suponga que, con su navegador web, navega por una página (por ejemplo, en un foro web) que contiene, en su HTML, esto:

<img src="http://localhost/adm.html?adm=somehexdec&t=timestamp"/>

luego,sunavegadorintentarácargarlosdatosenesaURLy,debidoasupropiaconfiguracióndered,elnombre"localhost" se resolverá desde su servidor y se señalará a sí mismo. De ahí las entradas de registro.

Ahora, ¿cuál podría ser el punto de tal enlace? Bueno, posiblemente podría ser un intento de ataque. Posiblemente, hay un sistema de software, en algún lugar, que técnicamente se ejecuta como un servidor web local, aceptando conexiones solo desde localhost, con una interfaz "administrativa" para las conexiones al archivo "/adm.html". Si alguien que ejecuta un sistema de este tipo en su máquina navega por una página web que contiene el enlace "localhost" que se muestra arriba, entonces su propio navegador emitirá un comando administrativo a su software, comando elegido por quien haya creado la página web.

Aparentemente, no ejecuta dicho software (ya que su propio servidor no conoce ningún "adm.html" y responde con un 404). El ataque no es contra ti. Sin embargo, esto resalta las limitaciones de la seguridad basada en firewall en un contexto web: las páginas web que navega puede hacer que su navegador realice conexiones a otras máquinas arbitrarias, incluido "localhost", sin su consentimiento, y Dado que estas conexiones provienen de su máquina , es probable que pasen por sus propias reglas de firewall.

(En ese caso, esto puede verse como un ejemplo de falsificación de solicitudes entre sitios , el objetivo el sitio está siendo "localhost".)

    
respondido por el Tom Leek 18.12.2013 - 14:30
fuente

Lea otras preguntas en las etiquetas