Problema de bloqueos DNS en spamassassin (URIBL_BLOCKED)

Este problema se produce generalmente cuando no estamos usando un servidor DNS local. Mantener un DNS local consume muchos recursos, sobre todo con bind que es el viene de forma predeterminada, además de los problemas de seguridad.

Cuando tienes este problema, Spamassassin no consigue consultar las listas de bloqueo y reputación basadas en los nombres de dominio y la proporción de spam que entra en el sistema aumenta considerablemente. Este problema de detecta en las cabeceras de los correos recibidos:

0.0 URIBL_BLOCKED      ADMINISTRATOR NOTICE: The query to URIBL was blocked.
                       See http://wiki.apache.org/spamassassin/DnsBlocklists#dnsbl-block
                       for more information.

Buscando alternativas y tras varias pruebas parece que Unbound es una buena alternativa a Bind9 ya consume menos recursos y es rápido al estar desarrollado en C. La solución presentada está inspirada en [Unbound DNS Tutorial] pero con algunos cambios ya que copiar y pegar esa solución, además de no funcionar a la primera,  es preferible retocarla un poco. El primer paso, la instalación, es fácil ya que está en los repositorios de Debian9:

apt install unbound

Los parámetros que se deben controlar principalmente para que no utilice muchos recursos es el número de hilos y asegurarse que solo escucha en local por seguridad. En Debian9 la configuración por defecto viene prácticamente vacía, y basta con crear el archivo /etc/unbound/unbound.conf.d/mypanel.conf  con el siguiente contenido:

server:
    access-control: 127.0.0.0/8 allow
    num-threads: 1
    cache-max-ttl: 14400
    cache-min-ttl: 300
    hide-identity: yes
    hide-version: yes
    interface: 127.0.0.1
    minimal-responses: yes
    prefetch: yes
    qname-minimisation: yes
    rrset-roundrobin: yes
    use-caps-for-id: yes
    verbosity: 1

forward-zone:
    name: "."
    forward-addr: 1.1.1.1        # Cloudflare
    forward-addr: 1.0.0.1        # Cloudflare
    forward-addr: 8.8.4.4        # Google
    forward-addr: 8.8.8.8        # Google
    forward-addr: 37.235.1.174   # FreeDNS
    forward-addr: 37.235.1.177   # FreeDNS
    forward-addr: 50.116.23.211  # OpenNIC
    forward-addr: 64.6.64.6      # Verisign
    forward-addr: 64.6.65.6      # Verisign
    forward-addr: 74.82.42.42    # Hurricane Electric
    forward-addr: 84.200.69.80   # DNS Watch
    forward-addr: 84.200.70.40   # DNS Watch
    forward-addr: 91.239.100.100 # censurfridns.dk
    forward-addr: 109.69.8.51    # puntCAT
    forward-addr: 208.67.222.220 # OpenDNS
    forward-addr: 208.67.222.222 # OpenDNS
    forward-addr: 216.146.35.35  # Dyn Public
    forward-addr: 216.146.36.36  # Dyn Public

En la configuración mostrada he establecido 2 hilos y por ahora para un VPS mediano con muchos usuarios de correo me funciona correctamente usando menos de 100MB de RAM.

Por cierto, hay que asegurarse que se cambia el DNS por defecto del sistema a 127.0.0.1 y que el servidor se inicia por defecto con el sistema.

paulino

paulino escribió 18 entradas

Navegación de la entrada


Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos necesarios están marcados *

Puede usar las siguientes etiquetas y atributos HTML:

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>