En el siguiente tutorial vamos a cubrir el procedimiento de instalación e integración de SpamAssassin con Exim en un VPS CentOS 7 Linux . Una vez completada la configuración, SpamAssassin podrá escanear y marcar los correos electrónicos detectados como SPAM.
¿Qué es SpamAssassin?
Es un programa de software publicado bajo la Licencia Apache 2.0 que se utiliza para filtrado de spam de correo electrónico basado en reglas de concordancia de contenido. Es un filtro de correo electrónico muy inteligente que utiliza una amplia gama de pruebas para identificar el correo electrónico masivo no solicitado y aplicar las pruebas a los encabezados y el contenido del correo electrónico para clasificar el correo electrónico utilizando métodos estadísticos avanzados.
Antes de continuar, asegúrese de tener un servidor de correo con Exim configuración en su servidor virtual SSD. Puede seguir nuestro excelente artículo sobre cómo configurar un servidor de correo con Exim y Dovecot en un VPS CentOS 7 si aún no tiene la configuración de Exim en su VPS Linux.
ACTUALIZAR EL SISTEMA
ssh
a su servidor e inicie una screen
sesión usando el siguiente comando:
## screen -U -S exim-spamd
una vez que estés en una screen
sesión, actualice su CentOS 7 VPS usando yum
como en:
## yum update
INSTALAR SPAMASSASSIN
Asesino de spam está disponible en CentOS 7 base
repositorio, para que pueda instalarlo fácilmente usando yum
:
## yum install spamassassin
Una vez que esté instalado, edite /etc/mail/spamassassin/local.cf
usando su editor favorito y configure lo siguiente:
## vim /etc/mail/spamassassin/local.cf required_hits 5 report_safe 0 rewrite_header Subject [SPAM] required_score 5.0
con todo eso en su lugar, continúe con el inicio de spamassassin y agréguelo al inicio de su sistema usando systemctl
## systemctl start spamassassin ## systemctl status spamassassin ## systemctl enable spamassassin
actualizar las reglas de spamassassin usando:
## sa-update --nogpg
a continuación, verifique si spamassassin está escuchando en localhost (127.0.0.1) en el puerto 783 usando ss
de iproute2
:
## ss -tnlp | grep spamd LISTEN 0 0 127.0.0.1:783 *:* users:(("spamd child",1207,5),("spamd child",1206,5),("/usr/bin/spamd ",1205,5))
CONFIGURAR EXIM CON SPAMASSASSIN
Bien, lo siguiente que debe hacer es configurar Exim para utilizar Spamassassin para escanear y etiquetar correos electrónicos no solicitados como SPAM. Entonces, haga una copia de seguridad de su archivo de configuración actual de Exim usando:
## cp /etc/exim/exim.conf{,.backup-no-spamd}
A continuación, edite exim.conf
y agregue la siguiente línea al principio del archivo:
## vim /etc/exim/exim.conf system_filter = /etc/exim/filters
A continuación, agregue o descomente la spamd_address
línea como en:
## vim /etc/exim/exim.conf spamd_address = 127.0.0.1 783
y agregue lo siguiente dentro de las ACLs
sección en su archivo de configuración de Exim:
## vim /etc/exim/exim.conf # Bypass SpamAssassin checks if the message is too large. # accept condition = ${if >={$message_size}{100000} {1}} add_header = X-Spam-Note: SpamAssassin run bypassed due to message size # Run SpamAssassin, but allow for it to fail or time out. Add a warning message # and accept the mail if that happens. Add an X-Spam-Flag: header if the SA # score exceeds the SA system threshold. # warn spam = nobody/defer_ok add_header = X-Spam-Flag: YES add_header = X-Spam-Subject: [SPAM] $h_Subject accept condition = ${if !def:spam_score_int {1}} add_header = X-Spam-Note: SpamAssassin invocation failed # Unconditionally add score and report headers # warn add_header = X-Spam-Score: $spam_score ($spam_bar)\n\ X-Spam-Report: $spam_report
A continuación, cree los siguientes filtros del sistema Exim en /etc/exim/filters
:
## vim /etc/exim/filters if $h_X-Spam-Flag: contains "YES" then headers add "Old-Subject: $h_subject" headers remove "Subject" headers add "Subject: [SPAM] $h_old-subject" headers remove "Old-Subject" endif
y reinicie Exim para que los cambios surtan efecto usando:
## systemctl restart exim ## systemctl status exim
PRUEBA SPAMASSASSIN
Para probar la configuración, simplemente envíe un correo electrónico de prueba con el asunto XJS*C4JDBQADN1.NSBN3*2IDNEN*GTUBE-STANDARD-ANTI-UBE-TEST-EMAIL*C.34X
a cualquier cuenta de correo electrónico disponible en el servidor de correo y debería ver las siguientes líneas en el encabezado del correo electrónico:
X-Spam-Flag: YES X-Spam-Subject: [SPAM] XJS*C4JDBQADN1.NSBN3*2IDNEN*GTUBE-STANDARD-ANTI-UBE-TEST-EMAIL*C.34X X-Spam-Score: 1000.0 (+++++++++++++++++++++++++++++++++++++++++++++++++++) X-Spam-Report: Spam detection software, running on the system "mail.mydomain.com", has identified this incoming email as possible spam. The original message has been attached to this so you can view it (if it isn't spam) or label similar future email. If you have any questions, see @@CONTACT_ADDRESS@@ for details. Content preview: nov spam email [...] Content analysis details: (1000.0 points, 5.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -0.0 T_RP_MATCHES_RCVD Envelope sender domain matches handover relay domain 1000 GTUBE BODY: Generic Test for Unsolicited Bulk Email
¿NOSOTROS HACEMOS ESTO POR USTED?
Por supuesto, no tiene que hacer nada de esto si utiliza uno de nuestros servicios de alojamiento VPS de Linux, en cuyo caso simplemente puede solicitar a nuestros administradores expertos de Linux que instalen e integren SpamAssassin con Exim. . Están disponibles las 24 horas del día, los 7 días de la semana y atenderán su solicitud de inmediato.
PD. Si te gustó esta publicación, compártela con tus amigos en las redes sociales usando los botones de la izquierda o simplemente deja una respuesta a continuación. Gracias.