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

Configuración de vistas en el servidor DNS con Bind9

En un escenario formado por dos máquinas, en el que una de ellas contiene dos contenedores LXC, se configura un servidor DNS con diferentes vistas.

Leer

Comandos para la programación de tareas

La programación de tareas es una característica muy útil en el ámbito de la administración de sistemas informáticos, especialmente al programar scripts. En este post se repasa brevemente la información más relevante sobre los principales comandos que se pueden usar con esta finalidad.

Leer

Gestión de recursos compartidos en Windows Active Directory con cmd y Powershell

Active Directory o Directorio Activo es un servicio de directorio de Windows en el que un equipo servidor comparte recursos como usuarios, grupos o directorios con los equipos clientes que se conectan a él.

Leer