Uso de listas negras DNS (DNSBL) con Exim4 en Debian
Esta página describe cómo configurar Exim4 para que use listas negras de DNS (DNSBL).
Esta configuración sirve solo a quienes tienen un servidor con FQDN que recibe correo electrónico, o que usa un "smarthost".
Introducción
Este es un método muy poderoso para bloquear correo electrónico publicitario no solicitado (spam). El MTA consulta un servidor que retorna una variable que indica si un número IP se encuentra en una lista de IPs que se dedican sistemática o involuntariamente a enviar spam. Si el resultado es si, el MTA rechaza el mensaje.
Instalación
Exim4 es el MTA por omisión de Debian. Exim4 debe estar instalado tal que la configuración esté separada en pequeños archivos. Corre,
# dpkg-reconfigure -plow exim4-config
para implementar esto,
Split configuration into small files? <Yes>
Edita /etc/exim4/conf.d/main/02_exim4-config_options y al final del archivo agrega,
CHECK_RCPT_IP_DNSBLS = zen.spamhaus.org
Edita /etc/exim4/conf.d/acl/30_exim4-config_check_rcpt y modifica,
# Check against classic DNS "black" lists (DNSBLs) which list # sender IP addresses .ifdef CHECK_RCPT_IP_DNSBLS warning message = X-Warning: $sender_host_address is listed at $dnslist_domain ($dnslist_value: $dnslist_text) log_message = $sender_host_address is listed at $dnslist_domain ($dnslist_value: $dnslist_text) dnslists = CHECK_RCPT_IP_DNSBLS .endif
por
# Check against classic DNS "black" lists (DNSBLs) which list # sender IP addresses .ifdef CHECK_RCPT_IP_DNSBLS drop message = X-Warning: $sender_host_address is listed at $dnslist_domain ($dnslist_value: $dnslist_text) log_message = $sender_host_address is listed at $dnslist_domain ($dnslist_value: $dnslist_text) dnslists = CHECK_RCPT_IP_DNSBLS .endif
dnslists define la listas DNSBL a usar, separadas por dos puntos (:), cuyo valor se traspasa con la variable CHECK_RCPT_IP_DNSBLS.
Existen decenas de DNSBL, que generalmente son complementarias. La siguiente tabla muestra los servicios DNSBL más comunes,
Lista Negra DNS |
Zona| |
zen.spamhaus.org |
|
bl.spamcop.net |
|
dnsbl.njabl.org |
|
dnsbl.sorbs.net |
|
dnsbl.ahbl.org |
|
b.barracudacentral.org |
|
cbl.abuseat.org |
|
dnsblchile.org |
El ejemplo usa la lista de SpamHaus. Otras listas se pueden agregar a CHECK_RCPT_IP_DNSBLS separadas por dos puntos,
CHECK_RCPT_IP_DNSBLS = zen.spamhaus.org : bl.spamcop.net : dnsbl.njabl.org : dnsbl.ahbl.org : b.barracudacentral.org
La lista DNSBL de Barracuda Central requiere crear una cuenta e inscribir el IP del servidor antes de usarla. También permite reportar spam, así como la de SpamCop.
La lista DNSBL dnsblchile.org es específica para spam originado en Chile, o spam dirigido a un público chileno. Si se requiere bloquear spam chileno sugerimos,
CHECK_RCPT_IP_DNSBLS = dnsblchile.org : zen.spamhaus.org : bl.spamcop.net : dnsbl.njabl.org : dnsbl.ahbl.org : b.barracudacentral.org
y usar formulario de reporte de spam chileno para hacer eficiente el bloqueo.
Actualiza la configuración de Exim,
# update-exim4.conf
y reinicia exim4,
# /etc/init.d/exim4 restart
El correo electrónico rechazado por una lista DNSBL queda registrado en /var/log/exim/mainlog, por ejemplo,
2011-02-17 01:54:57 H=(bizsoft.ro) [86.35.178.195] F=<office@bizsoft.ro> rejected RCPT <usuario@servidor.debian>: 86.35.178.195 is listed at zen.spamhaus.org (127.0.0.11: http://www.spamhaus.org/query/bl?ip=86.35.178.195)