Google Consultas de DNSBL con OpenDNS y SpamHaus | EL TIPO DE INFORMATICA

martes, 9 de febrero de 2010

Consultas de DNSBL con OpenDNS y SpamHaus

Este fin de semana tuve un pequeño problema con SpamHaus, de repente el servidor de email de la compañía donde trabajo dejo de bloquear la mayoría de los Spam que constantemente intentan entrar a los buzones de los usuarios. Esto hizo que entraran un montón de emails basura que provocaron una congestión en la cola de mensajes del servidor, esta congestión a su vez provoco un "delay" o retardo en el envio/recepción de mensajes, y también provoco una congestión en las líneas del departamento... porque todo el mundo llamaba preguntando por sus preciados mensajes.

Como muchos de ustedes sabran, SpamHaus es un "DNSBL" o también llamado "Blacklist" (lista negra) las cuales son consultadas generalmente por servidores de emails para consultar la reputación de las direcciones IP de los servidores SMTP que intenten conectarse a ellos para entregar algún email. Si la IP del equipo aparece en esa base de datos, el servidor rechazara la conexión. Con esto se evita una gran parte de los mensajes SPAM que a diario intentan, y muchas veces logran, entrar a nuestros buzones. En esta pagina pueden encontrar mas información de como trabajan los DNSBL. La mayoría de estos DNSBL ofrecen servicios gratuitos pero solo hasta un numero limitado de consultas, por ejemplo, SpamHaus te permite utilizar su base de datos gratis siempre y cuando no recibas mas de 100,000 conexiones SMTP al día y no excedas 300,000 consultas diarias a su listado, lo que para la mayoría nosotros los mortales es mas que suficiente. Las consultas a estas blacklist no las hace el servidor de correo directamente, quien las realiza es el servidor DNS que utilice nuestro servidor, porque realmente es una consulta DNS que se hace a los servidores de SpamHaus o cualquier otro DNSBL. Esto trabaja de esta forma: supongamos que a nuestro servidor de correo se conecta un servidor intentando enviar un correo a nuestro dominio, digamos que la IP de este servidor externo es 115.184.193.167. Nuestro servidor de correo capturara esta IP y le enviara la siguiente consulta a su servidor DNS:
 
167.193.184.115.xbl.spamhaus.org

Como pueden ver, el orden de la dirección IP se invierte. Esta solicitud le indica al DNS que consulte esta IP en la base de datos "xbl" de SpamHaus, y si esta IP se encuentra en la lista le devolvera al DNS una respuesta, generalmente esta respuesta es "127.0.0.4". Este resultado es entonces devuelto al servidor de correo y este tumba la conexión con el servidor externo. Bueno, volviendo a mi problema, al revisar los logs del servidor de correo encontré el siguiente error: "DNS Failure while trying to find address 167.193.184.115.xbl.spamhaus.org", como ven, el error que retorna es un error de DNS. empecé entonces a probar manualmente las consultas al DNSBL, ejecutando en el mismo servidor de correos (el cual corre en Linux) el siguiente comando:

dig 167.193.184.115.xbl.spamhaus.org
 
Este comando no me retornaba ningún resultado y en la sección "status" me presentaba "REJECTED", o sea que estaban rechazando mis consultas. Luego de varios intentos con diferentes bases de datos de SpamHaus (xbl, sbl-xbl, zen) decidí probar hacer la consulta apuntando a otro servidor DNS que no fuera el que tenia configurado el servidor, así que utilice el mismo comando "dig" pero de esta forma:

dig @ip-dns-interno 167.193.184.114.xbl.spamhaus.org
 
El "@" después del comando dig le indica que haga la consulta al servidor especificado después del arroba y esta vez si devolvió el resultado esperado:



El problema estaba prácticamente resuelto, solo tenia que cambiar el DNS que estaba utilizando el servidor y utilizar el interno, pero porque? nisiquiera habia llegado cerca de la mitad del limite de consultas que permite SpamHaus, porque con el otro DNS las consultas no funcionaban? Bueno, el problema era que estaba utilizando los DNS's de OpenDNS, no habia llegado al limite de consultas en SpamHaus y tampoco en OpenDNS, pero como OpenDNS es un servicio DNS publico y muchas otras personas y servidores lo utilizan, aparentemente estos servidores ya habían sobrepasado el limite de consultas permitidas por SpamHause. Bueno, todo este palabrerio es para decirles que si utilizan o piensan utilizar DNSBL en sus servidores de correo, no utilicen DNS's públicos y utilicen en ellos DNS's internos. así se evitaran una situación como las que les narre y también de seguro ganaran unos cuantos milisegundos en la resolución de nombres. Espero les sea de utilidad esta información.
 

2 comentarios:

  1. Hola Muy buen comentario, los has explicado perfectamente.

    Muchas Gracias

    PIERRE ;)

    ResponderEliminar
  2. Muy bueno, aclara y explica muy bien la logica de funcionamiento.

    ResponderEliminar