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,

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|

SpamHaus

zen.spamhaus.org

SpamCop

bl.spamcop.net

Not Just Another Bogus List (NJABL)

dnsbl.njabl.org

Spam and Open Relay Blocking System (SORBS)

dnsbl.sorbs.net

The Abusive Hosts Blocking List (AHBL)

dnsbl.ahbl.org

Barracuda Central

b.barracudacentral.org

Composite Blocking List (CLB)

cbl.abuseat.org

DNSBL Chile

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)

EximDNSBL (última edición 2011-05-13 14:58:00 efectuada por RicardoYanez)