28 may 2009

Alerta-Antivirus.es: Seguridad Informática

Alerta-Antivirus.es: Seguridad Informática: "El archivo HOSTS"

El archivo HOSTS

Qué es el archivo Hosts.

El archivo Hosts tanto en Windows como otros sistemas operativos es un archivo de texto que se utiliza para resolver nombres de dominio en direcciones IP de forma local, es decir, una libreta de direcciones. Es bastante arcaico pues fue concebido en tiempos en que sólo había unos pocos dominios que se enviaban en una lista (archivo hosts) todos ellos con sus respectivas Ips y para resolver nombres de dominio en redes locales (LAN).

Cómo funciona la Resolución nombres de dominio, DNS.

Cuando desde cualquier aplicación basada en el protocolo IP (navegador, línea de comandos, gestor de correo…) escribimos un nombre de dominio se formula una consulta de resolución de nombres al servidor DNS que tengamos configurado. Este responderá con la dirección IP correspondiente y en el caso del navegador finalmente se accederá al servidor web para cargar la página. Este proceso de traducción se conoce como resolución de nombres (en ingles DNS, Domain Name Server).

Veamos un ejemplo y quedara más claro, el nombre de dominio para “alerta-antivirus” es www.alerta-antivirus.red.es, y su dirección IP es 194.69.254.61. Si escribimos en la barra de direcciones del navegador la IP 194.69.254.61 también aparecerá el sitio “alerta-antivirus” como si hubieramos escrito www.alerta-antivirus.red.es. Esto es debido a que todos los ordenadores que están conectados a internet están identificados por su dirección IP. Además de ser más fácil de recordar, el nombre es más fiable ya que la dirección numérica podría cambiar por muchas razones sin que por ello tenga que cambiar el nombre.

El archivo HOSTS simplemente acelera el proceso guardando los dominios y su equivalente dirección IP de manera que su navegador (o cualquier aplicación basada en el protocolo IP) pueda omitir la petición de la dirección IP actual al servidor DNS.

Para entender mejor la funcionalidad del archivo hosts veremos los mecanismos básicos de resolución de nombres de dominio que se aplican en el siguiente orden:

  1. Comprueba si el dominio solicitado se encuentra en el propio host. Si se encuentra se utiliza la IP indicada.
  2. Si no se cumple 1º mira si se pidió hace poco tiempo y lo tiene guardado en la caché.
  3. Si no se cumple 1º ni 2º se formula una consulta al servidor DNS el cual devolverá la IP correspondiente, que será guardada en la caché para futuras consultas. Esta caché se vacía al poco tiempo, al reiniciar el equipo, etc. En cambio los datos del archivo Hosts son permanentes.

Ubicación del archivo hosts.

En los sistemas operativos windows puede haber varios archivos hosts. Esta es la ubicación por defecto de los que nos interesan:

  • Windows 95/98/Me c:/windows/hosts
  • Windows NT/2000/XP Pro c:/winnt/system32/drivers/etc/hosts
  • Windows XP Home c:/windows/system32/drivers/etc/hosts

Estrucutura del archivo hosts.

Lo podemos visualizar con herramientas especificas para ello o con cualquier editor de texto (ej: notepad) y veremos que su contenido típico es algo como:

#Host list for localhost generated by browserc.dll
127.0.0.1 localhost

La primera línea empieza con el carácter 'almohadilla' y es simplemente un comentario. La segunda que es la importante indica que hay un ordenador llamado localhost cuya IP es 127.0.0.1.

Algunos comentarios sobre el archivo hosts:

  • Se pueden asignar varios nombres de dominio a una misma dirección IP.
  • El archivo se lee de arriba a abajo por lo que se deben colocar al principio los nombres utilizados más a menudo.
  • Un nombre de dominio puede tener hasta 255 caracteres. En sistemas Windows no se distingue entre mayúsculas y minúsculas.
  • No funciona con comodines, tales como: *.banners.com.

Funcionalidad del archivo hosts.

A continuación veremos las principales aplicaciones de uso que se deducen de todo lo anterior.

Uso fraudulento del archivo hosts.
Algunos malwares (virus, gusanos, troyanos ó spyware) han sabido utilizar este orden de aplicación (archivo hosts antes que el servidor DNS) para sus propios intereses. En la variante más común de lo que se conoce como Pharming modifican el archivo hosts con diferentes fines:

    - Evitar que un usuario pueda ingresar a determinados sitios, generalmente para impedir la actualización de antivirus u otro software de seguridad. Esto lo consiguen modificando el archivo hosts, escribiendo las direcciones web de los servidores legítimos dirigidas a la IP local 127.0.0.1 (u otra IP), por lo que el ordenador no contactara con esos servidores de publicidad ya que buscara la información en nuestra propia maquina.

    - Redirigir al usuario a sitios falsos suplantando la identidad del original con el fin de conseguir información confidencial (Phishing).
    Esto lo consiguen modificando el archivo hosts, escribiendo las direcciones web de los servidores legítimos dirigidas a la IP falsa.

    - Redirigir al usuario a sitios web desde donde se puede descargar software malicioso sin el conocimiento/consentimiento del usuario. Mismo procedimiento que el caso anterior.

En la sección de Fraude en Internet se puede encontrar más información sobre este fraude así como herramientas para combatirlo con diferentes funcionalidades como:

    -Bloquear la modificación del archivo hosts haciéndolo de sólo lectura (no es infalible, la familia de spyware CoolWebSearch consiguen saltarse esta protección).
    -Monitorizar y editar el archivo hosts para mantener su eficiencia.
    -Mostrar avisos de intentos de modificación del archivo hosts.
    -Realizar copias de seguridad del archivo hosts para poder restaurarlo en caso de necesidad.
    -Añadir una lista de servidores no confiables al archivo hosts, en su mayoría sitios que instalan software espía o monitorizan la navegación del usuario.
    -Comprobar la respuesta DNS para evitar redirecciones engañosas.

Bloqueando publicidad y otros sitios.
Muchos sitios web tienen enlaces a otros sitios web que les proveen de banners, scripts, imágenes GIF, JPG de publicidad que pueden resultar molestos ya que intentan captar nuestra atención, demoran la carga de la página e intentan obtener un perfil de nuestra navegación ó de lo que hacemos en ese sitio web. Si en el archivo hosts escribimos las direcciones web de servidores de publicidad dirigidas a nuestra IP local 127.0.0.1, el ordenador no contactara con esos servidores de publicidad ya que buscara la información en nuestra propia maquina.

Veamos un ejemplo, si visitamos www.ya.com, encontraremos banner con publicidad, la cual se encuentra alojada en el servidor "ad.es.doubleclick.net" y no en www.ya.com, así que, si agregamos al archivo hosts la cadena:

127.0.0.1 ad.es.doubleclick.net

Guardamos los cambios al archivo hosts, reiniciamos el navegador y al entrar nuevamente en www.ya.com en lugar del banner que salía antes aparecerá un mensaje con el texto "Not Found. The requested URL ******* was not found on this server.", y el resto de la página permanecerá igual.

Hay que tener en cuenta que no funciona con publicidad que esté alojada en el mismo sitio web que visitamos, el archivo hosts no bloquea subdirectorios ó rutas, sólo el sitio completo. Por lo que deberemos recurrir a otros métodos como por ejemplo el cortafuegos Outpost de Agnitum ó la extensión Adblock del Mozilla Firefox.

De la misma manera podremos bloquear servidores que contienen parásitos (adwares ó spywares), con el valor añadido de que también funcionara en el sentido inverso. Es decir, si algún parásito ha conseguido alojarse en nuestro sistema e intenta contactar con alguno de estos servidores (ya sea para suministrar información ó para descargar código) no podrá mientras esa IP este bloqueada en nuestro archivo hosts.

Y también podremos usarlo para filtrar páginas con contenidos para adultos.

Tal y como decíamos antes algunas utilidades (Spybot Search and Destroy por ejemplo), agregan al hosts direcciones de conocidos sitios que descargan adwares o spywares, para que no podamos acceder a sus páginas.
Hay dispares opiniones en cuanto a las ventajas de bloquear servidores mediante el archivo hosts, ya que tiene ciertos inconvenientes.
Archivos hosts extensos (más de 135kb) pueden provocar que el sistema se ralentice (ver resolución de problemas más abajo), y hay tener en cuenta que si por cualquier razón cambia la dirección IP de esos dominios seremos direccionados a una IP obsoleta. Tendremos que vigilar esto en caso de tener problemas al cargar alguna página.

Considerando lo anterior puede resultar útil conseguir una lista de sitios bloqueados por servir publicidad ó contenido indeseado. En el web www.mvps.org actualizan periódicamente un archivo hosts con IP bloqueadas y que podemos descargar comprimido en ZIP desde el siguiente enlace,

http://www.mvps.org/winhelp2002/hosts2.htm

ó en formato texto desde,

http://www.mvps.org/winhelp2002/hosts.txt

Una búsqueda en Google! también es útil para conseguir archivos hosts con IP de servidores bloqueadas.

Acelerar la carga de las páginas mas visitadas.
Si añadimos al archivo hosts las direcciones IP de las páginas que visitamos más frecuentemente, en especial la de la página de inicio del navegador, conseguiremos cargarla más rápidamente. Podemos conseguir la IP asociada a un nombre de dominio con el comando PING desde línea de comandos (Inicio-Ejecutar, escribimos “cmd” sin comillas).
Por ejemplo, "ping www.alerta-antivirus.red.es" devolverá en la salida la IP 172.16.250.110 que podremos incluir en el archivo hosts:

# Ejemplo de archivo HOSTS
127.0.0.1 localhost
194.69.254.61 www.alerta-antivirus.red.es

Hay que recordar que si la IP cambia tendremos que actualizarla.

Utilizar abreviaturas para nombres de servidores.
Algo que puede resultar útil e incluso cómico es que podemos asignar abreviaturas ó nombres distintos a servidores web. Estos servidores tienen que ser dedicados (asignados a una IP) y no virtuales (varios servidores con la misma IP). Con un archivo hosts como el siguiente conseguiremos que al escribir "cata" en nuestro navegador, seamos direccionados a “www.alerta-antivirus.red.es”, y que cuando escribamos “Tobias” (un supuesto amigo) seamos dirigidos a su página “www.paginadetobias.tk”.

# Ejemplo de archivo hosts
194.69.254.61 cata
129.43.19.32 Tobias
192.168.0.1 router


Posibles errores y Restauración del archivo hosts.

Si se ralentiza el sistema:
En sistemas Windows 2000 y XP se ha detectado que para archivos hosts mayores de 135kb la maquina tiende a ralentizarse, no ocurre para Windows 98 y Me. Para evitar este problema recomiendan configurar el Cliente DNS de automático a manual:
• Abrir el editor de servicios, Inicio->Ejecutar, teclear “services.msc” (sin comillas) y pulsar Aceptar.
• Seleccionar “Cliente DNS” en la columna nombre, hacer clic con el botón derecho y seleccionar Propiedades.
• Señalar “Tipo de Inicio” y seleccionar “Manual”, hacer clic en Aceptar y reiniciar.

Puedes comprobar si el servicio anterior es necesario abriendo el Editor de Servicios de nuevo después de un periodo de navegación. Para este servicio la columna de estado debería estar en blanco, si este servicio ha sido necesario la columna mostrara “Iniciado”.

Si usas un Proxy Server:
Si estas conectado a Internet usando AOL (un dialer proporcionado por tu ISP), a través de una conexión LAN (Red de Área Local) ó un servidor proxy remoto las recomendaciones sobre el archivo hosts no serán efectivas. Ya que consultará antes al servidor DNS que al archivo hosts.

Para solventar este problema en Internet Explorer:
• Vamos a Herramientas->Opciones de Internet->Conexiones.
• Nos aseguramos que la casilla “evita el servidor proxy para direcciones locales” esta marcada.

Si el equipo esta conectado a una red consultaremos previamente la configuración de esta antes de realizar ningún cambio.

Este tipo de problemas con el proxy también pueden ocurrir si cambiamos de ISP y la anterior configuración no fue eliminada correctamente. O si tuvimos un problema previo con Spyware ó Adware, es posible que la infección haya alterado la configuración de sistema. Podemos comprobarlo ejecutando la aplicación HijackThis y viendo si existe alguna de las siguientes entradas (estas son un pequeño ejemplo):

R1 - HKCUSoftwareMicrosoftWindowsCurrentVersionInternet Settings,
ProxyServer=127.0.0.1:8080
R1 - HKCUSoftwareMicrosoftWindowsCurrentVersionInternet Settings,
ProxyOverride =local

Recomendamos consultar siempre el ISP antes de realizar ningún cambio, ó podremos perder la conexión a Internet.

Restaurar el archivo Hosts:
Si tenemos problemas o vemos irregularidades con determinados dominios habría que comprobar nuestro archivo HOSTS. Ya hemos visto que hay parásitos que son capaces de modificarlo con el fin de redirigirnos a otro lugar.
Pero nuestros problemas también pueden ser debidos a una mala configuración del archivo hosts, en cualquier caso puede resultar útil el restaurarlo. Para ello podemos hacerlo utilizando una copia de seguridad que hayamos hecho anteriormente o restaurarlo a su estado por defecto abriendo con el notepad el archivo hosts y borrando todas las líneas que comiencen con un número excepto:

127.0.0.1     localhost

Si el archivo hosts no es el culpable, probablemente sea nuestro servidor DNS el que esté proporcionando una información incorrecta, en ese caso una posible solución sería cambiar de servidor DNS. Si en la configuración TCP/IP (Conexiones de red – Propiedades –TCP/IP – Propiedades…) no establecemos un servidor DNS específico, se usará el servidor DNS que nuestro proveedor de servicios de Internet tenga por defecto.


28/11/2005

No hay comentarios: