Combatiendo el Spam con Postfix

Este post continua con tema que a todos nos molesta mucho en especial a mi y es el estar recibiendo en spam en nuestro correo, mas que bloquear el spam recibido lo que mostrare es como ampliar la configuración de nuestro servidor postfix para que pueda lidiar con el spam.

Aquí doy por sentado que el lector ya tiene conocimientos un tanto avanzados sobre Linux y su configuración ya que no explicare como montar un servidor de correo sino el como implementar técnica para eliminar el molesto Spam. Yo utilizare Debian porque es la distribución que uso para servidores, pero esto no quiere decir que no lo puedas implementar en otra distribución porque casi siempre lo que cambia es la forma de instalación de los paquetes.

Te recomiendo que primero te des una vuelta por este post para poder bloquear cierta cantidad de Spam antes de entrar a Postfix si lo que te preocupa también es el performance del servidor de esta manera Postfix no hará chequeos innecesarios sobre un correo que sabemos de antemano que es spam.

Bueno entremos en materia, lo importante es que con lo que vamos a instalar en nuestro servidor también tendremos un chequeo virus que es otro problema cuando nuestros usuarios tienen maquinas con MS.

Lo primero que voy a hacer es un pequeña introducción de los paquetes que vamos a usar, el primero es “Amavis”:

Amavis (A Mail Virus Scaner) por sus siglas en ingles es un programa que hace la función de puente entre el Spamassassin y el Postfix, aunque amavis tiene un filtro contra el spam, no cuenta con un antivirus para lo cual recomiendo instalar el ClamAV.

apt-get install amavisd-new

luego procederemos a revisar el archivo de configuración del amavis el cual lo encontramos en /etc/amavis/amavisd.conf, los parámetros que debemos tomar en cuenta son los siguientes con una breve descripción de lo que son:

  • $mydomain —> “Debes colocar el nombre de tu dominio.
  • @bypass_virus_checks_acl = qw( ) —> esta linea la vas a encontrar comentariada lo cual hay que quitar si quieres agregar el chequeo de virus.
  • @bypass_spam_checks_acl = qw ( ) —> Al igual que la anterior pero agregar el chequeo de Spam
  • @lookup_sql_dsn = ( [ ‘DBI:mysql:provider’, ‘provider_admin’, ‘…’ ] ); —> Esta linea provee al Amavis de la información de acceso a la base de datos ( Si utilizas una )
  • $sql_select_policy = ‘SELECT “Y” as local FROM domains WHERE CONCAT(“@”,domain) IN (%k)’; —> Este es un query para que el Amavis se entere que dominios están hospedados en tu servidor
  • $final_virus_destiny = D_DISCARD; —> Esto es una política que se establecerá con los correos que encuentre con virus
  • $final_banned_destiny = D_REJECT; —> Define que hará con los adjuntos que son incluidos en el correo y que no deseamos como PIF, EXE.
  • $final_spam_destiny = D_PASS; —> Que hará con los correos que identifica como Spam en este caso modificara el header con una etiqueta SPAM.
  • $sa_tag_level_deflt = -1000; —> Este es el “Spam score” usualmente el score esta entre 1 y 5
  • $sa_tag2_level_deflt = 5.0; —> El score mas alto que este valor le va agregar al header SPAM.
  • $sa_kill_level_deflt = 10; —> El score mas que este valor Amavis va a tomar una acción que estará definida en $final_spam_destiny.
  • $sa_spam_subject_tag = ‘***SPAM*** ‘; —> Esta es la etiqueta que sera agragada si el Amavis identifica el correo como Spam.
  • @av_scanners = ( … —> En este parametro podemos agregar los anti-virus que utilizaremos la mayoria ya estan incluidos así que solo debemos quitar el comentario (#)
  • Debemos agregar el usuario clamav y hacerlo parte del grupo amavis si tenemos intensiones de usar el calmad ( El demonio de ClamAV).
    Reiniciamos el Amavis /etc/init.d/amavis restart.

    Ahora configuraremos el Postfix para que funcione con Amavis.

    Para esto debemos modificar 2 archivos de configuración del postfix que los encontramos en /etc/postfix:

    main.cf
    Solo basta con agregar estas 2 lineas al archivo.

    content_filter = amavis:[127.0.0.1]:10024
    receive_override_options = no_address_mappings

    master.cf

    Aquí agregaremos dos servicios para la instancia de Amavis.

    amavis unix – – – – 2 smtp
    -o smtp_data_done_timeout=1200
    -o smtp_send_xforward_command=yes

    127.0.0.1:10025 inet n – – – – smtpd
    -o content_filter=
    -o local_recipient_maps=
    -o relay_recipient_maps=
    -o smtpd_restriction_classes=
    -o smtpd_client_restrictions=
    -o smtpd_helo_restrictions=
    -o smtpd_sender_restrictions=
    -o smtpd_recipient_restrictions=permit_mynetworks,reject
    -o mynetworks=127.0.0.0/8
    -o strict_rfc821_envelopes=yes
    -o receive_override_options=no_unknown_recipient_checks,no_header_body_checks

    Lo siguiente es recargar la instancia de postfix y checkear la configuración esto lo podemos hacer con los siguientes comandos postfix reload y postfix check con esto ya tenemos nuestro postfix corriendo con ayuda del amavis.

    Queda pendiente el agregar el spamassasin y el script para que este aprenda del poco spam que se le pase, esta configuración se las ofresco para la proxima entrega 😉

    2 comentarios sobre “Combatiendo el Spam con Postfix

    Deja un comentario

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