¿Problema con los filtros de tamiz en postfix?

¿Problema con los filtros de tamiz en postfix?

Me preguntaba si alguien podría arrojar algo de luz sobre el problema que tengo. Actualmente tengo un servidor Postfix simple y al frente tiene una puerta de enlace PMG. Debido a que la puerta de enlace PMG tiene filtros de spam, necesito redirigir el spam para que vaya a la carpeta de correo no deseado de los usuarios. Ya logré esta zimbra pero en postfix creo que me falta algo. Estos fueron los pasos que tomé

  1. instale el paquete y modifique agregando esto en la parte inferior de main.cf
sudo apt-get install dovecot-sieve dovecot-managesieved



mailbox_command=/usr/lib/dovecot/deliver
  1. luego editar

    /etc/dovecot/conf.d/90-sieve.conf
    

y agregué esta línea para configurar la ubicación predeterminada

sieve_default = /etc/dovecot/default.sieve

luego haga que el usuario de dovecot lea el archivo

chgrp dovecot /etc/dovecot/conf.d/90-sieve.conf
  1. vaya al complemento de lda y descomente

    /etc/dovecot/conf.d/15-lda.conf
    mail_plugins = sieve
    
  2. crear un tamiz de archivos y compilarlo

         root@mail:/etc/dovecot# cat /etc/dovecot/default.sieve
      require "fileinto";
      #Filter email based on a subject
      if header :contains "X-Spam-Flag" "YES" {
      fileinto "Junk";
     }

entonces

cd /etc/dovecot

sievec default.sieve

y dale a dovecot los permisos

chgrp dovecot /etc/dovecot/default.svbin
  1. reiniciar postfix y dovecot

Envío un correo electrónico no deseado de prueba desde[correo electrónico protegido]

y está marcando el indicador xspam en sí, pero sigue yendo a la bandeja de entrada en lugar de a la carpeta de correo no deseado.

revisé los protocolos

root@mail:/etc/dovecot# doveconf | grep protocols
protocols = " imap sieve pop3"
ssl_protocols = !SSLv2 !SSLv3
Return-Path: <[email protected]>
X-Original-To: [email protected]
Delivered-To: [email protected]
Received: from mail.mydomain.com (unknown [192.168.1.248])
    (using TLSv1.2 with cipher ADH-AES256-GCM-SHA384 (256/256 bits))
    (No client certificate requested)
    by mail.mydomain.com (Postfix) with ESMTPS id CB3162033C
    for <[email protected]>; Sun, 25 Jul 2021 10:54:03 -0500 (COT)
Received: from mail.mydomain.com (localhost.localdomain [127.0.0.1])
    by mail.mydomain.com (Proxmox) with ESMTP id 3DC215C2F3E
    for <[email protected]>; Sun, 25 Jul 2021 10:48:19 -0500 (-05)
Received-SPF: softfail (gmail.com ... _spf.google.com: Sender is not authorized by default to use '[email protected]' in 'mfrom' identity, however domain is not currently prepared for false failures (mechanism '~all' matched)) receiver=mail.mydomain.com; identity=mailfrom; envelope-from="[email protected]"; helo=emkei.cz; client-ip=101.99.94.155
Authentication-Results: mail.mydomain.com; dmarc=fail (p=none dis=none) header.from=gmail.com
Authentication-Results: mail.mydomain.com; dkim=none; dkim-atps=neutral
Received: from emkei.cz (emkei.cz [101.99.94.155])
    (using TLSv1.2 with cipher ADH-AES256-GCM-SHA384 (256/256 bits))
    (No client certificate requested)
    by mail.mydomain.com (Proxmox) with ESMTPS id 6003D5C0F66
    for <[email protected]>; Sun, 25 Jul 2021 10:48:16 -0500 (-05)
Received: by emkei.cz (Postfix, from userid 33)
    id B52D62413E; Sun, 25 Jul 2021 17:48:13 +0200 (CEST)
To: [email protected]
subject: SPAM: test
From: "test" <[email protected]>
X-Priority: 3 (Normal)
Importance: Normal
Errors-To: [email protected]
Reply-To: [email protected]
Content-Type: text/plain; charset=utf-8
Message-Id: <[email protected]>
Date: Sun, 25 Jul 2021 17:48:13 +0200 (CEST)
X-SPAM-LEVEL: Spam detection results:  6
    BAYES_50                  0.8 Bayes spam probability is 40 to 60%
    DKIM_ADSP_CUSTOM_MED    0.001 No valid author signature, adsp_override is CUSTOM_MED
    FORGED_GMAIL_RCVD           1 'From' gmail.com does not match 'Received' headers
    FREEMAIL_FROM           0.001 Sender email is commonly abused enduser mail provider (vhfgyut[at]hotmail.com) (test[at]gmail.com) (test[at]gmail.com) (test[at]gmail.com) (test[at]gmail.com) (test[at]gmail.com)
    NML_ADSP_CUSTOM_MED       0.9 ADSP custom_med hit, and not from a mailing list
    SPF_HELO_PASS          -0.001 SPF: HELO matches SPF record
    SPF_SOFTFAIL            0.665 SPF: sender does not match SPF record (softfail)
    SPOOFED_FREEMAIL        1.224 -
    SPOOF_GMAIL_MID         1.498 From Gmail but it doesn't seem to be...
X-Spam-Flag: Yes

test

Respuesta1

Verifique la configuración de Dovecot sieve_default=para confirmar que ha configurado la ruta prevista de su secuencia de comandos de tamiz predeterminada.

# doveconf | grep sieve_default
 sieve_default = /var/lib/dovecot/sieve/default.sieve

Además, la evaluación del filtro tamiz no se limita a todas las acciones. Es perfectamente válido archivar un elemento en varias carpetas. Si desea tener un correo en una carpeta, y solo esa carpeta, agregue un stopcomando antes del final del {}bloque

# cat /etc/dovecot/default.sieve
require "fileinto";
# filter email based on a header added by proxmox mail gateway
if header :contains "X-Spam-Flag" "YES" {
   fileinto "Junk";
   stop;
}

Porpor defecto, llegar al final de un script de tamiz ejecuta unkeepacción implícita, de modo que cada invocación que no termine (en una acción como stop) se mantendrá incluso cuando esto no esté escrito.

Respuesta2

Muchas gracias por la respuesta, tuve que cambiar la ubicación predeterminada a esta y funcionó, gracias.

##
## Settings for the Sieve interpreter
##

# Do not forget to enable the Sieve plugin in 15-lda.conf and 20-lmtp.conf
# by adding it to the respective mail_plugins= settings.

plugin {
  # The path to the user's main active script. If ManageSieve is used, this the
  # location of the symbolic link controlled by ManageSieve.
 # sieve = ~/.dovecot.sieve

  # The default Sieve script when the user has none. This is a path to a global
  # sieve script file, which gets executed ONLY if user's private Sieve script
  # doesn't exist. Be sure to pre-compile this script manually using the sievec
  # command line tool.
  # --> See sieve_before fore executing scripts before the user's personal
  #     script.
  #sieve_default = /var/lib/dovecot/sieve/default.sieve
 sieve_default = /etc/dovecot/default.sieve

información relacionada