Enviar correo no deseado a una carpeta especial usando postfix

9

Tengo un servidor de postfix que ejecuta amavis y SpamAssassin para ayudar a filtrar el spam. Los mensajes que se detectan como spam se ven así cuando se envían al Maildir del usuario:

De tom @ tom-mint Vie 15 Mar 01:46:20 2013
Ruta de retorno: <tom @ tom-mint>
X-Original-To: [email protected]
Entregado a: [email protected]
X-Virus-Scanned: Debian amavisd-new en my-server.com
X-Spam-Flag: SÍ
Puntuación X-Spam: 6.463
Nivel X-Spam: ******
X-Spam-Status: Sí, puntaje = 6.463 tagged_above = 2 requerido = 6.31
    pruebas = [DRUGS_ERECTILE = 2.221, FH_FROMEML_NOTLD = 0.18,
    FSL_HELO_NON_FQDN_1 = 0.001, HELO_NO_DOMAIN = 0.001, RCVD_IN_PBL = 3.558,
    RDNS_DYNAMIC = 0.363, TO_NO_BRKTS_DYNIP = 0.139] autolearn = no
Fecha: viernes, 15 de marzo de 2013 01:46:19 -0400
Para: [email protected]
Asunto: *** SPAM *** hola
Usuario-Agente: Heirloom mailx 12.5 20/06/10
Tipo de contenido: texto / sin formato; charset = us-ascii
De: tom @ tom-mint (Tom)
Estado: RO

comprar algunos viagra!

Tenga en cuenta específicamente el tema, que se antepone con ***SPAM***, y el X-Spam-Flag: YESencabezado.

¿Cuál es la mejor manera de configurar postfixpara almacenar estos mensajes en una carpeta especial de correo no deseado?

Según mi investigación, parece que necesitaré usar una herramienta de entrega de correo diferente a postfix para lograr esto, pero no estoy seguro de qué enfoque es el mejor. Parece que hay mucha información fechada, y me pregunto si postfix es capaz de colocar mensajes en una carpeta o no.

Los directorios de correo son todos Maildir.

Tom Marthenal
fuente
Parece que podría ser necesario usar algo como maildrop . Todavía estoy buscando una manera de hacer esto con el MDA predeterminado de Postfix para poder mantener los alias y otras características de postfix con un mínimo de problemas. Publicaré mi respuesta cuando se me ocurra.
Tom Marthenal

Respuestas:

8

La lectura cursiva de la página de manual del agente de entrega local (8) local de postfix no muestra indicios de este tipo de capacidad, como se esperaba. Este tipo de tareas generalmente se descarga a procmail (probablemente a través de la directiva buzón_comando) que puede manejar la tarea que describe mientras administra el fregadero de la cocina. La desventaja de procmail es el formato de archivo de configuración, la ventaja de la flexibilidad y la gran cantidad de ejemplos que se encuentran fácilmente. Si ha surgido algo mejor que procmail recientemente, no lo sé.

Sin embargo, por mi dinero, incluso si encontrara la manera de calzar a la MTA haciendo lo que quieres, no seguiría ese camino, porque este tipo de cosas de clasificación de correo tienen una forma de volar y no MTA (que yo sepa: quizás el intercambio sí, quién sabe) puede hacer un buen trabajo al ser también un manejador de mensajes / agente de entrega flexible.

Esta es una receta de procmail que haría lo que quisiera según el único contenido del encabezado (donde DEFAULT es el directorio de entrega, a menudo algo así como $ HOME / Mail /):

:0
* ^X-Spam-Flag: YES
$DEFAULT/.Spam/

Editar: (Esto asume el formato de buzón de correo maildir, como se señala en un comentario a continuación. Omita la barra final si usa mbox)

Forma de vida alienígena
fuente
$DEFAULT/no es necesario. Útil para la legibilidad humana. También tenga en cuenta que agregar una barra al final creará un Maildir, si usa Mbox, omita la barra (vea: unix.stackexchange.com/a/132658/241396 ).
Jari Turkia
5

Como dijo Alien Life Form, este es un trabajo para procmail. Eso no es un reemplazo para el agente de entrega local del servidor de correo; es un proceso separado que se llamará después de que la MDA haya hecho su trabajo.

Cada usuario que quiera que Procmail ordene su correo deberá crear un archivo llamado .forwarden su directorio de inicio. Ese archivo debe contener lo siguiente:

"|exec /usr/local/bin/procmail || exit 75"

completo con el "cartel y todo.

ALF ya ha publicado un .procmailarchivo básico que clasificará el correo etiquetado con spam en una carpeta separada.

Jenny D
fuente
1
Tenga en cuenta que, en algunos casos, procmail vive en / usr / bin / procmail, para averiguar dónde se encuentra en su sistemawhich procmail
Malfist
4

¿Cuál es su agente de entrega de correo (consulte main.cf buzón_comando)? Si el MDA es palomar, es compatible con el estándar Sieve IETF (rfc5228), que puede hacer mucho más que procmail sin exponer posibles agujeros de seguridad. NO se atornille en procmail para postfix / dovecot, el tamiz está completamente integrado. Si está utilizando Courier, entonces procmail es una solución aceptable. Sin embargo, encontrará que los programas tamiz / sievec de Pigeonhole son más rápidos y limpios.

El siguiente es un script de cribado simple para reconocer su encabezado de spam y poner el mensaje en el archivo Papelera.

require "fileinto";

if header :comparator "i;ascii-casemap" :contains "Subject" "**SPAM**"  
{
  fileinto "Trash";
  stop;
}
dturvene
fuente