Androide

Instalar e integrar rspamd

Rspamd integration into FreeBSD.org mail infrastructure

Rspamd integration into FreeBSD.org mail infrastructure

Tabla de contenido:

Anonim

Esta es la tercera parte de nuestra Configuración y configuración de un servidor de correo. En este tutorial, veremos la instalación y configuración del sistema de filtrado de spam Rspamd y su integración en nuestro servidor de correo, creando registros DNS DKIM y DMARC.

Puede preguntar por qué elegimos ir con Rspamd y no con Spamassassin. Rspamd se mantiene y escribe más activamente en C y es mucho más rápido que Spamassassin, que está escrito en Perl. Otra razón es que Rspamd viene con un módulo de firma DKIM, por lo que no tendremos que usar otro software para firmar nuestros correos electrónicos salientes.

Prerrequisitos

Antes de continuar con este tutorial, asegúrese de haber iniciado sesión como usuario con privilegios de sudo.

Instalar Redis

Rspamd utilizará Redis como un sistema de almacenamiento y almacenamiento en caché, para instalarlo solo ejecute:

sudo apt install redis-server

Instalar sin consolidar

Unbound es un solucionador de DNS de validación, recursivo y almacenamiento en caché muy seguro.

El objetivo principal de instalar este servicio es reducir la cantidad de solicitudes de DNS externas. Este paso es opcional y se puede omitir.

sudo apt update sudo apt install unbound

La configuración predeterminada de Unbound debería ser suficiente para la mayoría de los servidores.

Para establecer unbound como su servidor DNS principal, ejecute los siguientes comandos:

sudo echo "nameserver 127.0.0.1" >> /etc/resolvconf/resolv.conf.d/head sudo resolvconf -u Si no está utilizando resolvconf , debe editar el archivo /etc/resolv.conf manualmente.

Instalar Rspamd

Instalaremos la última versión estable de Rspamd desde su repositorio oficial.

Comience instalando los paquetes necesarios:

sudo apt install software-properties-common lsb-release sudo apt install lsb-release wget

Agregue la clave GPG del repositorio a su llavero de fuentes apt utilizando el siguiente comando wget:

wget -O- https://rspamd.com/apt-stable/gpg.key | sudo apt-key add -

Habilite el repositorio Rspamd ejecutando:

echo "deb http://rspamd.com/apt-stable/ $(lsb_release -cs) main" | sudo tee -a /etc/apt/sources.list.d/rspamd.list

Una vez que el repositorio esté habilitado, actualice el índice del paquete e instale Rspamd usando los siguientes comandos:

sudo apt update sudo apt install rspamd

Configurar Rspamd

En lugar de modificar los archivos de configuración de valores, crearemos nuevos archivos en el directorio /etc/rspamd/local.d/local.d/ que sobrescribirá la configuración predeterminada.

Por defecto, normal worker de Rspamd, el trabajador que escanea los mensajes de correo electrónico escucha en todas las interfaces en el puerto 11333. Cree el siguiente archivo para configurar el trabajador normal de Rspamd para que escuche solo la interfaz localhost:

/etc/rspamd/local.d/worker-normal.inc

bind_socket = "127.0.0.1:11333";

El proxy worker escucha en el puerto 11332 y admite el protocolo milter. Para que Postfix se comunique con Rspamd necesitamos habilitar el modo milter:

/etc/rspamd/local.d/worker-proxy.inc

bind_socket = "127.0.0.1:11332"; milter = yes; timeout = 120s; upstream "local" { default = yes; self_scan = yes; }

A continuación, debemos configurar una contraseña para el servidor de controller worker del controller worker que proporciona acceso a la interfaz web Rspamd. Para generar una contraseña cifrada, ejecute:

rspamadm pw --encrypt -p P4ssvv0rD

La salida debería verse así:

$2$khz7u8nxgggsfay3qta7ousbnmi1skew$zdat4nsm7nd3ctmiigx9kjyo837hcjodn1bob5jaxt7xpkieoctb No olvide cambiar la contraseña ( P4ssvv0rD ) a algo más seguro.

Copie la contraseña de su terminal y péguela en el archivo de configuración:

/etc/rspamd/local.d/worker-controller.inc

password = "$2$khz7u8nxgggsfay3qta7ousbnmi1skew$zdat4nsm7nd3ctmiigx9kjyo837hcjodn1bob5jaxt7xpkieoctb";

Más adelante configuraremos Nginx como un proxy inverso para el servidor web del controlador del trabajador para que podamos acceder a la interfaz web Rspamd.

Establezca Redis como back-end para las estadísticas de Rspamd agregando las siguientes líneas al archivo classifier-bayes.conf :

/etc/rspamd/local.d/classifier-bayes.conf

servers = "127.0.0.1"; backend = "redis";

Abra el archivo milter_headers.conf y configure los encabezados milter:

/etc/rspamd/local.d/milter_headers.conf

use =;

Puede encontrar más información sobre los encabezados milter aquí.

Finalmente reinicie el servicio Rspamd para que los cambios surtan efecto:

sudo systemctl restart rspamd

Configurar Nginx

En la primera parte de esta serie, creamos un bloque de servidor Nginx para la instancia de PostfixAdmin.

Abra el archivo de configuración de Nginx y agregue la siguiente directiva de ubicación, la resaltada en amarillo:

/etc/nginx/sites-enabled/mail.linuxize.com.conf

… location /rspamd { proxy_pass http://127.0.0.1:11334/; proxy_set_header Host $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; }…

Vuelva a cargar el servicio Nginx para que los cambios surtan efecto:

sudo systemctl reload nginx

Dirígete a https://mail.linuxize.com/rspamd/ , ingresa la contraseña que rspamadm pw previamente con el comando rspamadm pw y se te presentará la interfaz web Rspamd.

Configurar Postfix

Necesitamos configurar Postfix para usar Rspamd milter.

Ejecute el siguiente comando para actualizar el archivo de configuración principal de Postfix:

sudo postconf -e "milter_protocol = 6" sudo postconf -e "milter_mail_macros = i {mail_addr} {client_addr} {client_name} {auth_authen}" sudo postconf -e "milter_default_action = accept" sudo postconf -e "smtpd_milters = inet:127.0.0.1:11332" sudo postconf -e "non_smtpd_milters = inet:127.0.0.1:11332"

Reinicie el servicio Postfix para que los cambios surtan efecto:

sudo systemctl restart postfix

Configurar Dovecot

Ya hemos instalado y configurado Dovecot en la segunda parte de esta serie y ahora instalaremos el módulo de filtrado de sieve e integraremos Dovecot con Rspamd.

Comience instalando el módulo de filtrado Dovecot:

sudo apt install dovecot-sieve dovecot-managesieved

Una vez que los paquetes estén instalados, abra los siguientes archivos y edite las líneas resaltadas en amarillo.

/etc/dovecot/conf.d/20-lmtp.conf

… protocol lmtp { postmaster_address = [email protected] mail_plugins = $mail_plugins sieve }… /etc/dovecot/conf.d/20-imap.conf

… protocol imap {… mail_plugins = $mail_plugins imap_quota imap_sieve… }… /etc/dovecot/conf.d/20-managesieve.conf

… service managesieve-login { inet_listener sieve { port = 4190 }… }… service managesieve { process_limit = 1024 }… /etc/dovecot/conf.d/90-sieve.conf

plugin {… # sieve = file:~/sieve;active=~/.dovecot.sieve sieve_plugins = sieve_imapsieve sieve_extprograms sieve_before = /var/mail/vmail/sieve/global/spam-global.sieve sieve = file:/var/mail/vmail/sieve/%d/%n/scripts;active=/var/mail/vmail/sieve/%d/%n/active-script.sieve imapsieve_mailbox1_name = Spam imapsieve_mailbox1_causes = COPY imapsieve_mailbox1_before = file:/var/mail/vmail/sieve/global/report-spam.sieve imapsieve_mailbox2_name = * imapsieve_mailbox2_from = Spam imapsieve_mailbox2_causes = COPY imapsieve_mailbox2_before = file:/var/mail/vmail/sieve/global/report-ham.sieve sieve_pipe_bin_dir = /usr/bin sieve_global_extensions = +vnd.dovecot.pipe…. }

Guarda y cierra los archivos.

Cree un directorio para los scripts de tamiz:

mkdir -p /var/mail/vmail/sieve/global

Cree un filtro de tamizado global para mover los correos electrónicos marcados como spam al directorio Spam :

/var/mail/vmail/sieve/global/spam-global.sieve

require; if anyof(header:contains "YES", header:contains "Yes", header:contains "*** SPAM ***") { fileinto:create "Spam"; stop; }

Los siguientes dos scripts de tamiz se activarán cada vez que mueva un correo electrónico dentro o fuera del directorio de Spam :

/var/mail/vmail/sieve/global/report-spam.sieve

require; pipe:copy "rspamc"; /var/mail/vmail/sieve/global/report-ham.sieve

require; pipe:copy "rspamc";

Reinicie el servicio Dovecot para que los cambios surtan efecto:

sudo systemctl restart dovecot

Compile scripts de tamiz y establezca los permisos correctos:

sievec /var/mail/vmail/sieve/global/spam-global.sieve sievec /var/mail/vmail/sieve/global/report-spam.sieve sievec /var/mail/vmail/sieve/global/report-ham.sieve sudo chown -R vmail: /var/mail/vmail/sieve/

Crear claves DKIM

DomainKeys Identified Mail (DKIM) es un método de autenticación de correo electrónico que agrega una firma criptográfica a los encabezados de los mensajes salientes. Permite al receptor verificar que un correo electrónico que dice originarse en un dominio específico fue autorizado por el propietario de ese dominio. El objetivo principal de esto es evitar mensajes de correo electrónico falsificados.

Podemos tener diferentes claves DKIM para todos nuestros dominios e incluso varias claves para un solo dominio, pero por simplicidad de este artículo usaremos una única clave DKIM que luego puede usarse para todos los dominios nuevos.

Cree un nuevo directorio para almacenar la clave DKIM y genere un nuevo par de claves DKIM utilizando la utilidad rspamadm :

sudo mkdir /var/lib/rspamd/dkim/ rspamadm dkim_keygen -b 2048 -s mail -k /var/lib/rspamd/dkim/mail.key | sudo tee -a /var/lib/rspamd/dkim/mail.pub rspamadm dkim_keygen -b 2048 -s mail -k /var/lib/rspamd/dkim/mail.key | sudo tee -a /var/lib/rspamd/dkim/mail.pub

En el ejemplo anterior, estamos usando el mail como un selector DKIM.

Ahora debería tener dos archivos nuevos en el directorio /var/lib/rspamd/dkim/ , mail.key , que es nuestro archivo de clave privada y mail.pub un archivo que contiene la clave pública DKIM. Actualizaremos nuestros registros de zona DNS más tarde.

Establezca la propiedad y los permisos correctos:

sudo chown -R _rspamd: /var/lib/rspamd/dkim sudo chmod 440 /var/lib/rspamd/dkim/*

Ahora debemos decirle a Rspamd dónde buscar la clave DKIM, el nombre del selector y la última línea habilitará la firma DKIM para las direcciones de remitente de alias. Para ello, cree un nuevo archivo con los siguientes contenidos:

/etc/rspamd/local.d/dkim_signing.conf

selector = "mail"; path = "/var/lib/rspamd/dkim/$selector.key"; allow_username_mismatch = true;

Rspamd también admite la firma de firmas de cadena recibida autenticada (ARC). Puede encontrar más información sobre la especificación ARC aquí.

Rspamd está utilizando el módulo DKIM para tratar con las firmas ARC para que podamos simplemente copiar la configuración anterior:

sudo cp /etc/rspamd/local.d/dkim_signing.conf /etc/rspamd/local.d/arc.conf

Reinicie el servicio Rspamd para que los cambios surtan efecto:

sudo systemctl restart rspamd

Configuración de DNS

Ya hemos creado un par de claves DKIM y ahora necesitamos actualizar nuestra zona DNS. La clave pública DKIM se almacena en el archivo mail.pub . El contenido del archivo debería verse así:

cat /var/lib/rspamd/dkim/mail.pub

mail._domainkey IN TXT ("v=DKIM1; k=rsa; " "p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAqdBRCqYzshc4LmmkxUkCH/rcIpSe/QdNIVmBrgqZmZ5zzWQi7ShdFOH7V32/VM1VRk2pkjDV7tmfbwslsymsfxgGhVHbU0R3803uRfxAiT2mYu1hCc9351YpZF4WnrdoA3BT5juS3YUo5LsDxvZCxISnep8VqVSAZOmt8wFsZKBXiIjWuoI6XnWrzsAfoaeGaVuUZBmi4ZTg0O4yl" "nVlIz11McdZTRe1FlONOzO7ZkQFb7O6ogFepWLsM9tYJ38TFPteqyO3XBjxHzp1AT0UvsPcauDoeHUXgqbxU7udG1t05f6ab5h/Kih+jisgHHF4ZFK3qRtawhWlA9DtS35DlwIDAQAB");

v=DKIM1; k=rsa; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAqdBRCqYzshc4LmmkxUkCH/rcIpSe/QdNIVmBrgqZmZ5zzWQi7ShdFOH7V32/VM1VRk2pkjDV7tmfbwslsymsfxgGhVHbU0R3803uRfxAiT2mYu1hCc9351YpZF4WnrdoA3BT5juS3YUo5LsDxvZCxISnep8VqVSAZOmt8wFsZKBXiIjWuoI6XnWrzsAfoaeGaVuUZBmi4ZTg0O4ylnVlIz11McdZTRe1FlONOzO7ZkQFb7O6ogFepWLsM9tYJ38TFPteqyO3XBjxHzp1AT0UvsPcauDoeHUXgqbxU7udG1t05f6ab5h/Kih+jisgHHF4ZFK3qRtawhWlA9DtS35DlwIDAQAB

También crearemos una Autenticación de mensajes basada en el dominio ( DMARC ) que está diseñada para decirle al servidor receptor si acepta o no un correo electrónico de un remitente en particular. Básicamente protegerá su dominio contra la suplantación de dominio directo y mejorará su reputación de dominio.

implementaremos la siguiente política de DMARC:

_dmarc IN TXT "v=DMARC1; p=none; adkim=r; aspf=r;"

Analicemos el registro DMARC anterior:

  • v=DMARC1 - Este es el identificador DMARC p=none - Esto le dice al receptor qué hacer con los mensajes que fallan en DMARC. En nuestro caso, se establece en none, lo que significa que no debe realizar ninguna acción si un mensaje falla DMARC. También puede usar 'rechazar' o quarantine adkim=r y aspf=r : alineación DKIM y SPF , r para Relajado aspf=r para Estricto, en nuestro caso estamos usando Alineación relajada tanto para DKIM como para SPF.

Igual que antes, si está ejecutando su propio servidor Bind DNS, solo necesita copiar y pegar el registro en su archivo de zona de dominio, y si está utilizando otro proveedor de DNS, debe crear un registro TXT con _dmarc como nombre y v=DMARC1; p=none; adkim=r; aspf=r; v=DMARC1; p=none; adkim=r; aspf=r; como valor / contenido.

Los cambios de DNS pueden tardar un tiempo en propagarse. Puede verificar si los registros se han propagado utilizando el comando cavar:

dig mail._domainkey.linuxize.com TXT +short

"v=DKIM1; k=rsa; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAqdBRCqYzshc4LmmkxUkCH/rcIpSe/QdNIVmBrgqZmZ5zzWQi7ShdFOH7V32/VM1VRk2pkjDV7tmfbwslsymsfxgGhVHbU0R3803uRfxAiT2mYu1hCc9351YpZF4WnrdoA3BT5juS3YUo5LsDxvZCxISnep8VqVSAZOmt8wFsZKBXiIjWuoI6XnWrzsAfoaeGa" "VuUZBmi4ZTg0O4ylnVlIz11McdZTRe1FlONOzO7ZkQFb7O6ogFdepWLsM9tYJ38TFPteqyO3XBjxHzp1AT0UvsPcauDoeHUXgqbxU7udG1t05f6ab5h/Kih+jisgHHF4ZFK3qRtawhWlA9DtS35DlwIDAQAB"

dig _dmarc.linuxize.com TXT +short

"v=DMARC1; p=none; adkim=r; aspf=r;"

También puede inspeccionar la política DMARC actual de su dominio o crear su propia política DMARC aquí.

Conclusión

Eso es todo por esta parte del tutorial. En la siguiente parte de esta serie, continuaremos con la instalación y configuración de RoundCube.

servidor de correo postfix dovecot dns rspamd

Esta publicación es parte de la serie Configuración y configuración de un servidor de correo.

Otras publicaciones en esta serie:

• Configure un servidor de correo con PostfixAdmin • Instale y configure Postfix y Dovecot • Instale e integre Rspamd • Instale y configure Roundcube Webmail