¿Hay alguna manera de lograr que spamassassin califique más las líneas superiores de un cuerpo de mensaje?


9

Una gran cantidad de correo no deseado pasa por el filtro en el servidor de correo que ejecuto con el truco relativamente simple de comenzar con pocas líneas de pérdida de peso (increíblemente obvio) u otro texto de estafa en la parte superior, seguido de un cuerpo de texto más grande de la documentación de programación - o, lo más malvado de todo, texto borrado de Stack Exchange . En el mejor de los casos, Spamassassin considera esto como BAYES_50, y sucede que el resto de los mensajes se construyen con el cuidado suficiente para que no golpeen otros disparadores. (Por ejemplo, los encabezados son mínimos y correctos). A menudo, los extractos incluidos se alinean lo suficiente con mis intereses legítimos como para que el mensaje en general se califique como BAYES_00, porque los tokens muy spam están abrumados por jugosas pepitas de resolución de problemas de administrador de sistemas.

La parte superior es tan obviamente spam (y, de hecho, tiende a ser muy similar a los mensajes de spam recibidos y entrenados anteriormente) que me sorprende que esté llegando, pero claramente lo es. Parece un pase separado que obtuvo las 25 líneas más altas (más o menos) del mensaje y pesó mucho para resolver el problema. ¿Hay alguna forma de hacer esto?


Varias personas han sugerido escribir expresiones regulares personalizadas. No quiero entrar en esto, ya que esta es una batalla perdida constante. Es lo que la gente hacía antes de que la clasificación bayesiana del spam entrara en uso, y en general fue terrible. Ningún humano puede mantener el ritmo . No es mucho más efectivo que simplemente presionar la tecla Eliminar para cada mensaje de spam, y mucho más trabajo de mi parte.

El filtrado bayesiano de spam funciona. Incluso funciona en este correo no deseado, si divido la parte "por encima del pliegue " y simplemente analizo esa parte, con el señuelo / paja eliminada. La pregunta es: ¿cómo puedo hacer que Spamassassin haga eso?


¿Está habilitado el filtro bayesiano?
Kondybas

@kondybas Sí. Y esto es parte del problema, ya que el texto de relleno supera la parte de spam en gran cantidad.
mattdm

¿Qué MTA has usado?
Kondybas

¿Cuánto entrenamiento bayesiano has hecho en estos spam? Esperaría que el algoritmo bayesiano lo resolviera en poco tiempo.
mc0e

@ mc0e No puede. Simplemente no es tan mágicamente inteligente. Un sistema de aprendizaje automático más sofisticado probablemente podría hacerlo, pero creo que el, um, "un simple truco" que estoy pidiendo aquí también lo haría.
mattdm

Respuestas:


1

Soy un (poco) vívido luchador antispam yo mismo. Y debido a muchos problemas a medida que te encuentras, terminé haciendo las cosas sucias hace años.

Ahora, esta no es una respuesta a su pregunta particular, sino a su problema particular. Así que, por favor, no voten en contra.

La forma en que resolví este problema fue modificar el script sa_filter-post.pl, utilizado por el servidor XMail, que llama a spamc en el archivo de correo electrónico y hace algunas cosas menores allí, para procesar no todo el archivo, sino partes específicas del mismo, según Algunas reglas específicas (codificadas por mí). sí, expresiones regulares, pero hasta ahora funcionan para mí (tengo un montón de otros guiones antes y después de este para que puedan jugar un papel)

Por ejemplo, tengo una expresión regular que genera números telefónicos. El spammer lo dejó en su totalidad, por lo que solo se procesan los 400 caracteres intermedios del archivo (llegué a 400 por prueba y error, comencé desde 200). Tenga en cuenta que es bastante difícil elegir el medio de lo que ve, en comparación con lo que está en el archivo.

Hay otro que tiene la misma estructura de la tabla html con los "productos", un encabezado ficticio y un pie de página no utilizable, por lo que los elimino, elimino la columna de comentarios de los "productos" y luego los paso a spamc.

Y así sucesivamente, te haces una idea.

Pero no todas las reglas son perfectas, así que hago un poco de magia aquí asignando un puntaje privado a cada regla, que codifico y ajusto cuando sea necesario, según el comportamiento de la regla (y en algún momento termino eliminando reglas juntas) ) Luego modifico el puntaje SA por el puntaje privado. La razón por la que hice esto fue porque, por alguna razón, SA solo dio puntajes como 4. Algo para rellenar claramente el spam en las reglas que también tuve fuertes sentimientos para atraparlos correctamente. Así que les di un pequeño impulso para pasar a 5.0, junto con algunos scripts de procesamiento posterior que tienen en cuenta algunas otras variables (fuente de correo electrónico, destino del correo electrónico, estructura del encabezado, etc.), más o menos mata el spam fuera.

Ahora me doy cuenta de que esto no es lo que esperabas, pero en mi caso me da mucho poder sobre lo que se escanea, es solo que necesito configurar las cosas manualmente y luego de vez en cuando hacer un pequeño toque. ups en los valores / regex'es.

Pero en su caso, las cosas son mucho más fáciles, ya que todo lo que tiene que hacer es usar un script bash simple que será llamado por su MX en lugar de spamc y hacer que ese script use el comando head para obtener solo el primer número de bytes que desee y pasar ese archivo temporal a spamc.

El contenido del script dependerá un poco de su servidor de correo, pero eso no debería ser difícil de entender.

(Tenga en cuenta que solo hablé mucho de mi configuración para que pueda ver las posibilidades de esta opción)

PD: Personalmente nunca recibí este tipo de correos electrónicos no deseados (con contenidos relacionados con la programación en ellos), así que me pregunto si no has enojado a alguien y ahora estás en la mira. Eso explicaría los correos electrónicos especialmente diseñados. La razón por la que pienso en esta posibilidad es que hace años, cuando estaba muy activo en varios foros y grupos de TI, molestaba a algunas personas y de vez en cuando solía recibir varios tipos de ataques en mi servidor, incluido el correo electrónico no deseado . Pero en aquel entonces los idiotas no eran tan inteligentes :)

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.