Configuración de herramientas antispam en el servidor de correos

Índice

Cuando se configura un servidor de correos de Internet es importante configurarlo de manera correcta para que pueda usar los mecanismos disponibles para filtrar el spam que recibe.

Comprobar el SPF de los correos entrantes

Para que postfix pueda verificar el registro SPF del dominio del remitente cuando recibe un correo necesita usar un complemento adicional. En Debian, esta herramienta se instala con el paquete postfix-policyd-spf-python.

sudo apt install postfix-policyd-spf-python

La configuración para la verificación del SPF del remitente se hace en el fichero /etc/postfix/master.cf.

policyd-spf  unix  -       n       n       -       0       spawn     user=policyd-spf argv=/usr/bin/policyd-spf

Y en /etc/postfix/main.cf.

policyd-spf_time_limit = 3600
smtpd_recipient_restrictions = check_policy_service unix:private/policyd-spf

Para aplicar los cambios se reinicia el servicio.

sudo systemctl restart postfix

Al recibir correos, el servidor de correos verifica que el registro SPF del DNS del remitente coincide con la IP desde la que se ha enviado el correo.

debian@pignite:~$ sudo journalctl -fu postfix@-
...
feb 06 08:37:45 pignite postfix/smtpd[1498646]: connect from mail-ua1-f51.google.com[209.85.222.51]
feb 06 08:37:46 pignite policyd-spf[1498654]: : prepend Received-SPF: Pass (mailfrom) identity=mailfrom; client-ip=209.85.222.51; helo=mail-ua1-f51.google.com; envelope-from=nombre@gmail.com; receiver=javihuete.site
feb 06 08:37:46 pignite postfix/smtpd[1498646]: 40D784A843: client=mail-ua1-f51.google.com[209.85.222.51]
feb 06 08:37:46 pignite postfix/cleanup[1498655]: 40D784A843: message-id=<CAPH96Mm_FXnKojhZW2nMpeW=qoyA+XQN+9Uyb+SRW-ZPLyHH=A@mail.gmail.com>
feb 06 08:37:46 pignite postfix/qmgr[1498411]: 40D784A843: from=<nombre@gmail.com>, size=3444, nrcpt=1 (queue active)
feb 06 08:37:46 pignite postfix/local[1498656]: 40D784A843: to=<debian@javihuete.site>, relay=local, delay=0.22, delays=0.21/0.01/0/0, dsn=2.0.0, status=sent (delivered to mailbox)
feb 06 08:37:46 pignite postfix/qmgr[1498411]: 40D784A843: removed
feb 06 08:37:46 pignite postfix/smtpd[1498646]: disconnect from mail-ua1-f51.google.com[209.85.222.51] ehlo=2 starttls=1 mail=1 rcpt=1 bdat=1 quit=1 commands=7

Instalación y configuración se SpamAssassin

Para filtrar el spam entrante en el servidor de correos se puede usar una herramienta como spamassassin.

sudo apt update
sudo apt install spamassassin spamc

Tras instalar la herramienta, para habilitar su funcionamiento se añade la siguiente línea al fichero /etc/default/spamd:

ENABLED=1

A continuación, se habilita y arranca el servicio.

sudo systemctl start spamd
sudo systemctl enable spamd

Para indicar al servidor de correos postfix que se debe comunicar con el servicio de spamassassin se edita el fichero /etc/postfix/master.cf. En la primera línea se añade la opción de filtro de contenido a través de esta herramienta para el correo entrante y, al final del fichero, se añade la configuración de spamassassin.

smtp      inet  n       -       y       -       -       smtpd -o content_filter=spamassassin
...
spamassassin unix -     n       n       -       -       pipe user=spamd argv=/usr/bin/spamc -f -e /usr/sbin/sendmail -oi -f ${sender} ${recipient}

Por último, se reinician los servicios tanto de postfix como de spamassassin.

sudo systemctl restart postfix spamd

Así, cuando un correo considerado spam llegue al servidor, spamassasin lo identificará y le añadirá unas cabeceras que lo indiquen. Además, también añade un mensaje antes del correo con la información de la puntuación que ha obtenido el mensaje al pasar por cada uno de sus filtros.

Si queremos habilitar esta configuración, también hay que indicar a spamassassin que cambie el asunto de los mensajes marcados como spam. En el fichero /etc/spamassassin/local.cf se descomenta la siguiente línea:

rewrite_header Subject *****SPAM*****
comments powered by Disqus

Relacionados

Comandos de supervisión de redes

El uso de algunos comandos es fundamental en la administración de redes. Diferentes sistemas operativos usan distintos comandos pero todos ellos cumplen funciones relevantes

Leer

Cómo importar dispositivos a GNS3

En muchas ocasiones es habitual necesitar importar dispositivos que no están incluidos en la instalación básica de GNS3 para simular redes similares a las que podemos encontrar en la vida real. En este tutorial hay un par de ejemplos en los que se importan las imágenes de diferentes dispositivos en el simulador.

Leer

Cómo simular un servidor PostgreSQL en GNS3

PostgreSQL es uno de los servidores de bases de datos más usados. Se trata de un software libre y portente que permite almacenar y gestionar grandes volúmenes de información. En este post se explica cómo simularlo en un escenario de GNS3.

Leer