martes 11 de agosto de 2009

Firewalls, proxies y navegadores

Algo que me gustaría reproducir de nuevo y mirar con calma, para asegurarme de que lo que supongo es correcto:

Mr. Cl. quiere acceder a un host (llamémosle application01, IP 10.190.112.111) en el puerto TCP 1200, a través de Internet Explorer. Este navegador está configurado para utilizar proxy, pero las excepciones definidas determinan que los accesos a las IP 10.190.*, no lo utilicen. Sin embargo estas excepciones no hacen referencia alguna al nombre application01.

El acceso a 10.190.112.111 desde la máquina de Mr. Cl. pasa por un firewall que permite el paso si la petición llega desde la IP del proxy. Deniega en caso contrario.

Mr. Cl. descarga la última versión de Firefox, la instala, y especifica que se copie la misma configuración que ya hay determinada en el IE en su máquina.

El propio Mr. Cl. me advierte de que lo curioso viene ahora: Con Firefox accede a http://application01:1200, en cambio con IE no.

Me miro el firewall y veo que en el primer caso (Firefox) el acceso se está haciendo desde la IP del proxy, y por lo tanto pasa. En el segundo caso (IE) se está accediendo desde la IP de la máquina de Mr. Cl., y por lo tanto no pasa.

Lo que yo entiendo (insisto, a falta de mirarlo con más calma): Firefox parece estricto, no traduce la URL solicitada por su IP en el momento de comprobar las excepciones de proxy. Como el nombre solicitado no está en las excepciones, el navegador decide utilizar proxy. El firewall ve llegar la petición con la IP del servidor intermedio y la deja pasar.

En cambio IE parece comportarse de otra forma, que acaba siendo menos estricta: Antes de parsear las excepciones del proxy, parece que ya hace la consulta DNS para traducir la URL (application01) por su IP final (10.190.112.111). Como esa IP sí que está en la lista de excepciones, decide no utilizar proxy. El firewall ve llegar la petición con la IP real de la máquina y la deniega.

Tendría que pensarlo dos o tres veces más, pero si estoy entendiendo bien todo este tinglado, creo que lo correcto es lo que hace IE. ¡Hostia! ¿Estaré siendo abducido por el lado oscuro?