19.7. Protegerse contra el "spam"

El spam o correo con fines comerciales no solicitado es un molesto problema para muchos usuarios. Se ha formado un proyecto para acabar con este problema conocido como Sistema de Protección contra los Abusos en el Correo (MAPS), y se ha construido un mecanismo que reduce el problema, conocido como Lista de Agujeros Negros en Tiempo Real (RBL). Puede obtener información sobre el funcionamiento de MAPS RBL a partir de su documentación en línea en http://maps.vix.com/rbl/. La idea es sencillamente simple. Los sitios que se encuentran generando spam se añaden a una base de datos y agentes de transferencia de correo como Exim son capaces de consultar la base de datos para confirmar si un remitente es o no un "spammer" antes de aceptar correo de él.

Desde el advenimiento de la RBL, se han creado muchas otras listas. Una de las más útiles es la Lista de Marcado (DUL), que lista las direcciones IP de anfitriones conectados a la red mediante acceso por llamada telefónica. Éstas deberían enviar normalmente el correo a los servidores de correo de sus PSIs. Muchos sitios bloquean el correo desde llamadas externas porque cuando un anfitrión de este tipo evita al servidor de su propio PSI normalmente no se trata de algo bueno.

Exim ofrece soporte para listas en tiempo real y otras listas negras. Esto se configura de manera muy sencilla. Para activarlo, añada las siguientes líneas a su fichero /etc/exim.conf:

    # Vixie / MAPS RBL (http://maps.vix.com/rbl)
    rbl_domains = rbl.maps.vix.com : dul.maps.vix.com

Este ejemplo comprueba tanto la RBL como la DUL, rechazando cualquier mensaje desde anfitriones que se encuentren en cualquiera de esas listas. La opción rbl_hosts le permite especificar grupos de anfitriones a los que se aplica (o no) la comprobación RBL. La configuración predeterminada es:
    rbl_hosts = *
lo que significa que todos los anfitriones se encuentran sujetos a la comprobación de la RBL. Si quisiera saltarse la lista negra y aceptar correo de un anfitrión específico sin que se realizara la comprobación RBL podría usar, por ejemplo:
    rbl_hosts = ! nocheck.example.com : *
El signo de exclamación antes del primer elemento de la lista indica un elemento negado: si el anfitrión que llama es nocheck.example.com, coincidirá con este elemento. Pero a causa de la negación, la comprobación RBL no se lleva a cabo. Cualquier otro anfitrión coincidirá con el segundo elemento de la lista.