¿Qué es una lista gris?
El llamado e-mail greylisting (o, en español, el uso de una lista gris) es una técnica muy efectiva para luchar contra el envío de correos electrónicos basura, es decir, de correos de spam. La lista gris trabaja en el servidor de correo electrónico del destinatario en cuestión y no requiere configuración alguna por parte del emisor ni del receptor.
En teoría, una lista gris no permite que se pierda ningún correo enviado de forma legítima. Se trata, por ello, de una de las técnicas más utilizadas a nivel mundial para controlar el envío de spam.
Si dispones de un servidor de correo electrónico propio, es muy recomendable que utilices una lista gris como protección básica contra los correos basura.
Ámbito de aplicación del greylisting
Los filtros de spam son un tipo de software complejo que utiliza métodos heurísticos para reconocer correos de spam. Las listas grises, en cambio, utilizan un método menos costoso que intenta impedir la recepción cuando es obvio que se trata de spam. Puesto que se basa en un proceso sencillo, esta técnica requiere muchos menos recursos para ejecutarse.
Las listas grises se usan sobre todo para combatir el envío ilegítimo y masivo de correos de spam. Más concretamente, tratan de evitar el envío de lo que en inglés se denomina UBE, Unsolicited Bulk E-Mail: correos electrónicos enviados en masa, sin ningún tipo de personalización. Para enviar este tipo de spam suelen usarse listas compradas o robadas de direcciones de correo electrónico.
Por lo general, el envío se produce desde ordenadores secuestrados cuyos usuarios no se percatan de lo que está sucediendo: sus ordenadores están conectados a una llamada botnet, es decir, una red de ordenadores controlados de forma remota y que se utilizan para enviar correos de spam en masa. Estas olas de correos basura suelen enviarse desde direcciones creadas mediante spoofing, es decir, direcciones emisoras que no existen realmente.
Sin embargo, el greylisting no es un método adecuado para combatir el llamado UCE (Unsolicited Commercial E-Mail). Este tipo de correos electrónicos sí son enviados uno a uno por parte de empresas o comerciales reales y suelen estar personalizados. Para combatir este tipo de spam suelen usarse filtros de contenido y la técnica del blacklisting (aplicación de listas negras).
Cómo funciona el greylisting
La idea de las listas grises se basa en descartar posibles correos de spam cuando aún no han llegado a su destino. A continuación, te mostramos cómo funciona exactamente este proceso.
Para enviar un correo electrónico de un emisor a un receptor, se utiliza el Simple Mail Transfer Protocol (SMTP). En principio, todo correo electrónico enviado a través de Internet recorre el siguiente camino:
- El emisor redacta un correo electrónico usando su MUA (Mail User Agent). Este agente puede ser un programa de correo instalado de forma local o una interfaz de webmail.
- Para enviar el correo, el Mail User Agent establece una conexión SMTP con el Mail Transfer Agent (MTA) del emisor. El MTA es un software ubicado en el servidor SMTP que recoge y envía los correos electrónicos.
- El Mail Transfer Agent del emisor transmite el correo en cuestión al Mail Transfer Agent del destinatario. Si este último acepta el correo, este llegará a la bandeja de entrada del usuario receptor.
- Si dicho usuario ha sincronizado su bandeja de entrada local mediante el protocolo IMAP o POP3, el correo se mostrará como un nuevo mensaje.
La lista gris actúa en el tercer paso: cuando el Mail Transfer Agent del receptor acepta el correo. Este agente receptor puede reconocer tres datos antes de aceptar el correo entero:
- La dirección IP del servidor de correo emisor
- La dirección de correo electrónico del emisor, gracias al comando de SMTP MAIL FROM
- La dirección o direcciones de correo a las que se ha enviado, gracias al comando de SMTP RCPT TO
Puesto que estos datos ya son visibles para el Mail Transfer Agent antes de que el correo en sí haya sido recibido o abierto, a veces son llamados datos de sobre. El Mail Transfer Agent anota los datos de sobre de cada correo entrante en la llamada lista gris. A continuación, mostramos un ejemplo de entrada en esta lista:
Dirección IP | Emisor | Receptor |
---|---|---|
192.0.2.3 | anne@ejemplo.com | marco@ejemplo.net |
Cada vez que se recibe un correo con una combinación nueva de estos datos de sobre, el Mail Transfer Agent lo rechaza en un principio y envía un código de error que dice que se ha producido un problema técnico. De esta forma, se solicita al Mail Transfer Agent del emisor que vuelva a intentar realizar el envío pasado cierto tiempo.
Si el Mail Transfer Agent emisor es legítimo y se ajusta a los estándares de correo electrónico, obedecerá y volverá a enviar el correo más tarde. Cuando lo haga por segunda vez, los datos de sobre ya estarán en la lista gris y el correo podrá ser entregado al usuario.
En cambio, si el correo ha sido enviado de forma ilegítima, el Mail Transfer Agent correspondiente por lo general no lo volverá a intentar. Esta es la característica que aprovecha la lista gris para cumplir su función: puesto que no se produce ningún segundo intento, el correo spam no llega a entregarse. El usuario que acaba de ser protegido, por su parte, no se percata de nada. Se trata, por lo tanto, de una manera muy elegante de evitar los molestos correos basura.
No obstante, la lista gris tiene un claro inconveniente: el tiempo que requiere para que se produzca el segundo intento hace que algunos correos lleguen con un retraso perceptible a su receptor. En algunos casos, puede tratarse incluso de horas.
Quizá te haya pasado alguna vez al solicitar un correo de recuperación de contraseña en una página web: el correo de recuperación no llega. Lo intentas una y otra vez, en vano. Luego, horas más tarde, recibes por fin todos los correos a la vez, pero los enlaces de recuperación que contienen ya han caducado. La causa de este problema tan frustrante es la lista gris de tu dirección de correo.
Gráfico: así funciona una lista gris
(a) El Mail User Agent (MUA) transmite un correo electrónico al servidor de correo del emisor (P).
(b) Dicho servidor (P) retransmite el correo al servidor del receptor (Q), que se encarga de comprobar los datos de sobre del mensaje: la dirección IP del emisor y las direcciones de correo electrónico tanto del emisor como del receptor. Si la combinación de estos tres datos aún no ha sido registrada en la lista del servidor receptor (Q), el intento de entrega del correo será rechazado, indicando como motivo un fallo técnico. El servidor del receptor (Q), sin embargo, registrará los datos de sobre, es decir, el correo será incluido en la lista gris.
(c) Si se trata de un correo legítimo, el servidor del emisor (P) volverá a intentar enviarlo pasado cierto tiempo de espera. Puesto que, en este segundo intento, los datos de sobre ya serán reconocidos por el servidor del receptor (Q), el correo será entregado. De forma opcional, los datos de sobre pueden ser entonces incorporados a la lista blanca o whitelist del servidor de correo del receptor. Si esto ocurre, los futuros correos que tengan los mismos datos de sobre serán entregados sin retraso.
(d) Por el contrario, si se trata de un correo enviado de forma ilegítima, por lo general no se producirá un segundo intento de envío. En este caso, por lo tanto, la lista gris habrá cumplido su función de protección frente a spam y el correo no llegará a la bandeja de entrada.
El greylisting suele usarse en combinación con otras tecnologías de protección frente a spam. El Convenio de Remitentes o, en inglés, Sender Policy Framework (SPF), DomainKeys Identified Mail (DKIM) así como el protocolo DMARC (Domain-based Message Authentication, Reporting and Conformance) son otros sistemas efectivos para proteger el tráfico de correos electrónicos frente a las formas más habituales de abuso.
En particular, las listas grises funcionan especialmente bien si se combinan con otras técnicas emparentadas: las listas blancas y negras, es decir, con los métodos de whitelisting y blacklisting. A continuación, presentamos también un ejemplo del recorrido de los intentos de envío a los servidores receptores cuando están presentes estos mecanismos.
En la imagen aparece una lista de intentos de entrega de correos, numerados de e1 a e5 en orden temporal.
e1) Entra un correo de un emisor que aún no está registrado en la lista gris (“Listed? No.”). El Mail Transfer Agent receptor rechaza la entrega del correo indicando como causa un error técnico. Los datos de sobre se registran en la lista gris.
e2) Más tarde, llega otro correo del mismo emisor al mismo receptor. Puesto que los datos de sobre esta vez sí están registrados en la lista gris, el correo se entrega. Además, los datos de sobre se incorporan a la lista blanca.
e3) La dirección IP del servidor SMTP de Anna ha cambiado desde el último intercambio de correos entre ella y Marco: la última vez era 192.0.2.3, mientras que ahora es 192.0.2.34. Por lo tanto, Anna es identificada como remitente desconocido y registrada, en un primer momento, en la lista gris.
e4) Más tarde, Anna vuelve a escribir a Marco. Esta vez, sin embargo, lo hace desde el servidor SMTP con la primera dirección IP, 192.0.2.3. Puesto que estos datos ya estaban previamente en la lista blanca, el correo de Anna se entrega inmediatamente.
e5) El servidor 192.0.2.66 está intentando entregar un correo. Puesto que se trata de un servidor ya identificado como malicioso en la lista negra, la entrega del correo es rechazada. Todo indica que la dirección emisora anna@ejemplo.com ha sido falsificada mediante spoofing.
Ventajas e inconvenientes del greylisting
Ventajas | Inconvenientes |
---|---|
No requiere configuración por parte del usuario. | El usuario no suele ser consciente del funcionamiento de la lista gris. |
No suele causar la pérdida de correos legítimos. | En casos excepcionales sí pueden perderse correos legítimos. |
El retraso en la entrega puede ayudar a registrar servidores maliciosos en la lista negra. | El retraso en la entrega puede llevar a los usuarios a dudar del buen funcionamiento del servidor si ven que los correos no llegan cuando deberían. |
El retraso en la entrega puede proteger frente a intentos aún no identificados de intrusión de malware. | Puede resultar demasiado lento cuando el tiempo de recepción es relevante (como en el caso de los enlaces de recuperación de contraseña). |
En comparación con la mayoría de filtros de spam, consume pocos recursos. | |
Es una técnica muy efectiva, por lo que libera muchos servidores a nivel mundial. |
¿Qué complicaciones puede ocasionar una lista gris?
Si bien las ventajas de una lista gris son muy atractivas, esta técnica también trae consigo ciertos problemas:
- La dirección IP del servidor SMTP emisor ha de mantenerse constante. Si esta dirección cambia, el correo entrante será identificado aún como desconocido por el servidor SMTP del receptor y el correo pasará primero por un proceso de greylisting.
- En ciertos casos falla la entrega debido a errores en la implementación o en la configuración del servidor emisor. Si el Mail Transfer Agent del emisor, por algún motivo, no trata de enviar el correo por segunda vez, no se producirá la entrega.
- Los spammers podrían superar el mecanismo de protección si disponen de recursos suficientes. En teoría, también quienes envían correos basura pueden realizar los envíos varias veces para superar la lista gris. Sin embargo, hacerlo supone un esfuerzo logístico tan grande que no suele valer la pena.
- El retraso en la entrega puede hacer que caduquen ciertos elementos de los correos. Este problema es habitual cuando se trata de recuperar una contraseña: el correo de recuperación es enviado por un emisor aún desconocido y, por lo tanto, ha de superar en primer lugar el mecanismo de la lista gris. Una vez el emisor ha logrado enviar el correo por segunda vez, puede haber transcurrido tanto tiempo que el enlace de recuperación o el código para iniciar sesión ya ha caducado.