Listas negras… El poder de los arbitrarios

Parece que no dejo de quejarme, pero en cierta medida es mi trabajo… Tengo que hacer que las cosas funcionen en mi empresa, no podemos pararnos por tonterías (así llaman a los aspectos técnicos nuestros usuarios).

El caso es que todas las alertas saltaron la semana pasada cuando recibiamos continuamente mensajes devueltos de nuestros clientes con dirección de correo en hotmail, hay que decir que son muchos los que usan este servicio y, por ello, es crucial que les lleguen nuestras comunicaciones. El mensaje decía así:

550 Your e-mail was rejected for policy reasons on this gateway. Reasons for rejection may be related to content such as obscene language, graphics, or spam-like characteristics (or) other reputation problems. For sender troubleshooting information, please go to http://postmaster.msn.com. Please note: if you are an end-user please contact your E-mail/Internet Service Provider for assistance.

Hasta el momento habíamos sufrido algún que otro encontronazo con servidores de correo paranoicos, pero esta vez parecía que la cosa era grave. Antes podíamos informar a los usuarios de correo que nos añadiesen a sus listas blancas o que dejasen de utilizar las listas negras que nos tildaban de spammers, pero ¿quien se lo dice a microsoft?

Aquí empezo mi calvario, tenía que detectar las razones por las que se nos denegaba el acceso y hacer que nuestros servidores de correo fuesen aceptados por todos…. Y empecé a bucear por entre las listas negras.

Lo primero que encontré es que hay muchismos servidores de listas negras y, la mayoría, son simples copias de otras bases de datos.

La lista negra más conocida es Spamhaus, radicada en inglaterra y con una página en la que podeis comprobar si vuestra IP está en su base de datos.

El principio de los sistemas de listas negras anti-spam es sencillo, todos los servidores de correo de internet se conectan con otros servidores para hacerles llegar el correo. Si una dirección IP es sospechosa de ser fuente de spam, se hace que el servidor de correo con el que conecta rechace esa conexión y así se evita que el spam salga del servidor inicial. Parece una buena idea, pero como siempre, hay problemas:

  1. Quién confecciona la lista
  2. Cómo determinar si es spam o no lo que emite el servidor “acusado”
  3. Cómo salir de esa lista o cómo hacer que una lista defectuosa no se utilice.

El punto número 1 es uno de los más delicados, ya que los administradores de servicios de correo no suelen pararse a mirar quien provee las listas, simplemente identifican las más populares y hacen que sus servidores utilicen esa información sin más. Hay listas negras confeccionadas por comunidades muy amplias y respetuosas y hay otras que son generadas por empresas sin escrúpulos que sólo intentan conseguir dinero mediante la extorsión (luego explicaré eso). Un consejo muy importante que doy a cualquiera que quiera configurar un servidor de correo es que antes de utilizar una lista descubra los comentarios que hay sobre ella en internet, suelen ser una buena fuente de información. En este enlace podeis encontrar una lista de las RBL (Real-time Black lists) más utilizadas.

El punto número 2, es decir, qué se entiende por spam, o cuales son las características que hacen que tu servidor de correo aparezca en una de las listas negras es muy importante para entender los problemas que tendremos posteriormente. Básicamente se clasifican las razones en:

  • Se ha reportado spam real proviniente del servidor por parte de usuarios
  • El servidor de correo es un “open relay”, o sea, permite que cualquiera lo use como plataforma de envío de correo sin tener ninguna relación con el administrador. Como es un riesgo “potencial” siempre aparecen en lista negra hasta que se subsana la configuración para que no actúe de esa manera
  • El servidor de correo no cumple con alguna de las RFC de envío de correo electrónico (ver http://www.rfc-ignorant.org). No es que esto signifique de ninguna manera que el servidor tenga spam o lo produzca, pero les sienta mal a los “puristas” de internet y los bloquean como spammers. Razones para aparecer en esta lista pueden ser tan tontas como no tener una cuenta postmaster@, abuse@ o los datos del whois contienen números de teléfono “raros”.
  • La IP está marcada como dinámica, o no tiene un rDNS particular. Esta razón es la más peregrina de todas, ya que, partiendo del hecho de que las operadoras dueñas de las IPs no dan esta información, solo tienen “heurísticas” para marcar IPs como dinámicas y otras como estáticas. Es más, la gestión que de las IPs hagan los ISP’s no debería ser fuente de inclusión en ninguna lista negra, pero lo es.

En el caso de mi empresa, resultaba, entre otras cosas, que estabamos en la lista de IPs dinámicas, cosa muy extraña, ya que teníamos la misma IP contratada a madritel (ahora ono) hace 10 años. Pero el caso es que según este RFC, que no es de obligado cumplimiento y que no sigue casi nadie hay unas ciertas reglas para saber según el registro inverso del DNS (rDNS) si una dirección es estática o dinámica. La lista “paranoica” en este aspecto era sorbs. Esta “compañía” se empeña en tener unas condiciones para determinar estáticas unas IPs que no incluian ni a las que teníamos con ONO ni a las que teníamos con jazztel, ya que el rDNS no coincidía con el dominio:

Checking TTLs for PTR x.x.x.x[mail.xxx.xxx.]…
–> PTR [TTL 86400] x.x.x.x.static.jazztel.es.
Rejected: Host & PTR do not match!

Checking TTLs for PTR x.x.x.x[mail3.xxx.xxx.]…
–> PTR [TTL 86400] x.red-x-x-x.user.auna.net.
Rejected: Host & PTR do not match!

Obviamente, con este panorama el 99% de las PYMES del mundo se quedarían sin poder mandar correo, ya que los rDNS son puestos por los ISPs y no van a estar cambiandolo cada vez que venden una IP estática y, es más, los servidores de correo pueden servir más de un dominio desde la misma IP por lo que es IMPOSIBLE que el rDNS coincida con el MX siempre.

Y esto nos lleva al tercer problema. Una vez determinado que la IP de nuestro servidor de correo está en alguna lista negra (os recomiendo este enlace para verlo), ¿cómo es posible sacarlo de esa lista? Una vez constatado que nuestros clientes estaban rechazando correo por culpa de esos RBLs y de revisar que nuestros sistemas no tenían configuración de open-relay ni virus ni spammers encubiertos y que nuestros contratos de IPs fijas seguían vigentes (no vaya a ser que…) me pongo a explorar la manera de darnos de baja de la lista…. Y los resultados son desalentadores. Hay algunas que simplemente comprueban el estado de relay y cuatro cosas más bajo petición y te sacan rápidamente de la lista, pero las más “gordas” como sorbs se niega, salvo si (y lo pongo aqui tal cual porque me caigo de la risa cada vez que lo traduzco:)

“The general rules of delisting are as follows:

The Regional Internet Registry (RIR) Point of Contact (PoC) can request a listing or delisting of any address in their space. The only time this will be refused is when the netblock information in the RIR or in the reverse DNS naming clearly indicates the addresses are dynamically assigned (e.g. 0.1.pool.example.com).

Anyone else may request delisting of addresses or netblocks provided that reverse DNS naming is set to indicate static assignment. SORBS will consider unique names that are not part of a generic naming scheme, or a generic naming scheme with an indication of staticness (we prefer the word “static” being included in the names, but will accept any existing ISP convention if the ISP just informs us of it) as proof of static assignment. Also, the Times to Live of the PTR records need to be 43200 seconds or more. This is an arbitrary limit chosen by SORBS. And of course, the reverse DNS names need to be valid; i.e. the names given in reverse DNS need to map forward to the IP addresses for which they were given.

End users (non ISP staff): SORBS support staff may ask you to ask your ISP to request the change as you are not authoritative information about the network ranges in question. The SORBS support staff may need to request you change the rDNS naming scheme, so to save time and trouble, ask your ISP to log a ticket and do not log a ticket yourselves.”
Vamos , que si no eres ISP o el contacto del RIR nacional no tienes nada que hacer (y si tu ISP no pone static en el rDNS ni siquiera lo intentes)… Y, aunque lo ponga, igual no te hacen caso. Incluso he encontrado alguna lista negra que pide dinero para sacarte de la lista sin problemas ¡pues vaya protección anti-spam!…

Lo único que nos queda es intentar que los ISPs nos dejen salir por sus servidores de correo autorizados (no se puede hacer, porque no permiten relay en general) o intentar convencer a nuestros clientes de que no usen esas listas…. Aunque yo, particularmente, prefiero poner un filtro anti-spam en mis servidores y no usar las listas… Es una forma de dejar incomunicada a una gran parte de internet de otra, que va contra los estándares (mira tu esos que piden el cumplimiento de la RFC) y que, a la larga, solo conseguirán un correo de pago asegurado.

Así que mi consejo es: olvidate de las listas arbitrarias y fíate de tu criterio. Internet ha de seguir libre a pesar del spam y de los cacicuelos administradores de listas negras.