Cómo: Reducir el correo no deseado mediante filtros bayesianos de SpamAssassin en cPanel

Introducción

Si bien este artículo está destinado a demostrar cómo entrenar y usar filtros bayesianos en sitios alojados en cPanel, puede usar la información de esta técnica dondequiera que estén instalados SpamAssassin y fetchmail.

Requisitos

  1. Host basado en cPanel
  2. SpamAssassin
  3. Acceso al programador cron dentro de cPanel
  4. Acceso al administrador de archivos dentro de cPanel
  5. Fetchmail debe estar instalado y ser utilizable en su servidor alojado

Audiencia

Este artículo asume un conocimiento práctico de cPanel, edición de archivos y protocolos de correo electrónico. Es útil para cualquiera que desee aumentar la precisión de la detección de spam de SpamAssassin.

SpamAssassin

SpamAssassin inspecciona los correos electrónicos que se envían a su cuenta de correo electrónico en busca de señales de que el correo electrónico es spam. Tiene una serie de firmas que busca, y cada una de ellas puede recibir una ponderación, lo que da como resultado que el correo electrónico tenga una "puntuación" de spam. Si la puntuación supera un umbral, el correo electrónico se considera spam. Hay una serie de acciones que se pueden tomar si el correo electrónico se designa como spam, una de las cuales es alterar la línea de Asunto del correo electrónico para reflejar que es spam, de modo que se pueda definir una regla en su cliente de correo electrónico para eliminar automáticamente el correo electrónico o moverlo a una carpeta de correo no deseado.

Filtros bayesianos

Los filtros bayesianos son un método que SpamAssassin puede utilizar para obtener más información sobre los tipos de correo electrónico que recibe y, por lo tanto, puede mejorar su capacidad para identificar qué correos electrónicos son spam y cuáles no. Esto también ayuda a reducir el recuento de falsos positivos, donde un correo electrónico se marca como spam cuando no debería haber sido.

Estos filtros funcionan identificando elementos clave de los correos electrónicos que son comunes al correo no deseado y aquellos que son comunes al correo electrónico que no es correo no deseado. Para lograr esto, los filtros deben recibir una muestra de ambos para aprender y requiere un mínimo de 200 correos electrónicos no deseados y 200 correos electrónicos no spam. Desafortunadamente, para muchos, obtener 200 correos electrónicos no deseados es una tarea trivial.

La puesta en marcha

Este artículo asume que usará una dirección de correo electrónico separada para la capacitación sobre spam. Esto puede facilitar la administración, especialmente si usa POP3 como su medio principal para descargar correo electrónico.

Los pasos básicos son los siguientes:

  1. Habilitar y configurar SpamAssassin
  2. Cree una cuenta de correo electrónico no deseado con una carpeta de correo electrónico que no sea spam
  3. Configure .fetchmailrc para permitir que SpamAssassin descargue correos electrónicos
  4. Configurar cron para entrenar automáticamente a SpamAssassin
  5. Copie 200 correos electrónicos no deseados en la bandeja de entrada de correo no deseado y 200 correos electrónicos que no sean spam en una carpeta que no sea spam

Habilitar SpamAssassin

  1. Navegue al menú Mail / SpamAssassin en cPanel
  2. Haga clic en Habilitar SpamAssassin. Esto habilitará SpamAssassin en cualquier correo electrónico entrante. Tenga en cuenta que esto ya identificará con precisión el spam; sin embargo, el resto del artículo muestra cómo aumentar la precisión de SpamAssassin.
  3. Haga clic en Configurar SpamAssassin
  4. Asegúrese de que la configuración sea la siguiente:

add_header: todos

Esto agrega encabezados a los correos electrónicos que le permitirán ver por qué un correo electrónico ha sido clasificado como spam o no spam.

report_safe: 0

Esto hace cambios en el correo electrónico "in situ". Si prefiere que el correo electrónico no se modifique, establezca esta opción en "1". Se creará un nuevo correo electrónico con los detalles del correo no deseado en el contenido, con el correo electrónico original inalterado como archivo adjunto.

required_score: 5

SpamAssassin utiliza una serie de criterios para determinar si un correo electrónico es spam, y cada uno recibe una puntuación. El correo electrónico se clasificará como spam si la puntuación determinada es superior a 5

rewrite_header subject: ** SPAM ** _HITS_ (_BAYES_)

Esto cambiará la línea de asunto del correo electrónico. La línea de asunto del correo electrónico tendrá como prefijo la línea anterior, y _HITS_ se reemplazará con la puntuación de spam del correo electrónico y se sustituirá _BAYES_ con la puntuación Bayesiana.

puntuación BAYES_99: 5

Esto indica que cualquier correo electrónico que tenga un 99% o más de calificación como spam debido al análisis bayesiano, luego agregue cinco puntos de "spam" a su puntuación. Tenga en cuenta que esto colocará la puntuación del correo electrónico por encima del umbral de 5 puntos definido anteriormente y, por tanto, marcará automáticamente el correo electrónico como spam

Crear cuenta de spam

Esta dirección de correo electrónico se utilizará para capacitar a SpamAssassin; no se pretende que esta cuenta se utilice para enviar o recibir correos electrónicos normales.

  1. Vaya a Correo / Administrar / Agregar / Eliminar cuentas
  2. Haga clic en Agregar cuenta
  3. Cree una nueva cuenta con un nombre apropiado, como spam@midominio.com , y defina una contraseña. SpamAssassin vaciará esta cuenta de forma regular, por lo que no es necesario definir una cuota.
  4. Haga clic en Atrás y debería ver una lista de cuentas de correo electrónico; haga clic en Leer Webmail para la cuenta de spam que acaba de crear. Ingrese la contraseña de la cuenta y será dirigido a la página de selección de correo web. Elija su cliente de correo web preferido.
  5. Cree una nueva carpeta llamada "no spam".

Configurar Fetchmail

SpamAssassin usa fetchmail para leer los correos electrónicos de la cuenta de spam para entrenar sus filtros bayesianos.

  1. Navegue al Administrador de archivos en cPanel
  2. Se le presentará una lista de carpetas, seguida de una lista de archivos. En la parte inferior de la lista de carpetas, haga clic en Crear nuevo archivo
  3. En el lado derecho, escriba .fetchmailrc en el cuadro de diálogo y deje el tipo de documento como Documento de texto
  4. El archivo .fetchmailrc debería aparecer en la lista de archivos del panel de la izquierda. Haga clic en el nombre del archivo y luego seleccione Editar archivo en el menú del lado derecho.
  5. Complete el archivo de la siguiente manera, utilizando el nombre de usuario y la contraseña que seleccionó para su cuenta de correo no deseado anteriormente:

encuesta 127.0.0.1

con protocolo IMAP

nombre de usuario spam + mydomain.com contraseña spampassword es spam

  1. Guarda el archivo

Configurar cron para entrenar automáticamente a Spamassassin

Cron es un programador de tareas, por lo que puede realizar tareas en momentos específicos del día. Configuraremos cron para ejecutar el proceso de entrenamiento de SpamAssassin para spam y no spam una vez al día.

  1. Navegue a trabajos Cron en cPanel
  2. Haga clic en Avanzado
  3. Cada vez que se ejecuta cron, puede enviar un correo electrónico a un administrador para informar los resultados de cada tarea. Ingrese una dirección de correo electrónico apropiada en el cuadro provisto
  4. En primer lugar, queremos que SpamAssassin se entrene para no ser spam, así que ponga la hora a la que desea que se ejecute esta tarea ingresando los minutos de la hora en el primer cuadro y la hora en el segundo cuadro. Entonces, para que la tarea de entrenamiento sin spam se ejecute a la 1:30 am, ingrese 30 en la columna de minutos y 1 en la columna de horas. El comando para ejecutar la tarea de entrenamiento sin spam es:

fetchmail -v -u spam + midominio.com -a -n --carpeta no spam 127.0.0.1 -m 'sa-learn --ham --siteconfigpath / usr / share / spamassassin'

  1. La siguiente entrada le dirá a SpamAssassin que entrene para el spam. Ingrese una hora posterior en el campo de minuto y hora, como 35 para un minuto y 1 para una hora, para que el comando se ejecute a la 1:35 am. El comando para entrenar para el spam es:

fetchmail -v -u spam + midominio.com -a -n 127.0.0.1 -m 'sa-learn --spam --siteconfigpath / usr / share / spamassassin'

La pantalla cron debería verse como la siguiente:

Proporcionar correos electrónicos de capacitación

Como se mencionó anteriormente, SpamAssassin requiere 200 correos electrónicos no deseados y no spam antes de comenzar a usar los filtros bayesianos en los correos electrónicos.

Para proporcionar los correos electrónicos, primero debe acceder a la cuenta de correo electrónico no deseado en su cliente de correo electrónico preferido. Siga las instrucciones de su cliente de correo electrónico para acceder a una cuenta de correo electrónico IMAP, utilizando el nombre de cuenta y la contraseña que seleccionó anteriormente. Cuando haya creado la cuenta y haya accedido a ella, debería ver la Bandeja de entrada y las carpetas de correo no deseado. Copie 200 correos electrónicos no deseados en la bandeja de entrada y 200 correos electrónicos que no sean spam en la carpeta no spam. La próxima vez que se programe la ejecución de los trabajos cron, SpamAssassin creará una base de datos a partir de esos correos electrónicos que utilizará para determinar si los correos electrónicos futuros son spam.

Gestión continua

Cualquier correo electrónico que se identifique como spam se marcará como tal con SPAM en la línea de asunto. Puede utilizar una regla o un filtro en su cliente de correo electrónico para tratar automáticamente estos correos electrónicos, quizás colocándolos en una carpeta cuyo contenido se elimina automáticamente después de un período de tiempo definido.

SpamAssassin mejora con la mayor cantidad de datos con los que tiene que trabajar, por lo que, de vez en cuando, obtendrá falsos positivos, donde un correo electrónico se clasifica como spam que no debería haber sido. Si esto sucede, copie el correo electrónico a la carpeta de correo no deseado de la cuenta de correo no deseado y SpamAssassin actualizará su base de datos "no spam". Del mismo modo, no se identificará parte del spam, que deberá copiarse en la bandeja de entrada de la cuenta de spam.

Solución de problemas

La mayoría de los problemas que pueden surgir al utilizar este método para entrenar a SpamAssassin se pueden diagnosticar revisando el correo electrónico recibido del trabajo cron. Por lo general, están relacionados con el proceso de fetchmail ejecutado a través de cron:

  1. El archivo de configuración global de SpamAssassin no está en / usr / share / spamassassin. Consulte con su proveedor de alojamiento sobre su ubicación.
  2. Fetchmail no está instalado. Pregunte a su proveedor de alojamiento si se puede instalar.
  3. Los correos electrónicos no tienen una puntuación de spam bayesiano. Esto generalmente se debe a que SpamAssassin no ha recibido suficientes correos electrónicos para crear un perfil de lo que es y no es spam. Verifique que la bandeja de entrada y las carpetas de correo no deseado se vacíen todos los días y que haya proporcionado 200 muestras de cada tipo de correo electrónico
  • 0 Los Usuarios han Encontrado Esto Útil
¿Fue útil la respuesta?

Artículos Relacionados

Tiempo de espera de conexión o sin lista de archivos o directorios al conectarse a través de FTP

Un problema común al intentar conectarse a través de FTP a un servidor es recibir un tiempo de...

Server error: 550 No such user here

  Me sale el siguiente error al enviar mensajes de correo electrónico. Server error: 550 No...

Cómo agregar un dominio de sitio web que ya está registrado en otro lugar

Utilice la función Dominios / Dominio adicional en el panel de control. Esto le pedirá el nombre...

¿Tiene usted un manual para su panel de control de hosting?

La documentación de los paneles de control Hosting Hosting Windows Plataforma...

Cómo enviar correo electrónico usando ASP y CDOSYS

  El siguiente script ASP se puede usar para enviar correo...