Evitar que o spam seja encaminhado pelo Postfix (enquanto entregue localmente a uma pasta Junk)

3

Temos uma configuração Postfix / Amavis bastante padrão, na qual usamos o Dovecot LDA para entregar e-mails localmente. O Amavis passou o email de spam e usamos o Sieve para soltá-lo na pasta Junk do usuário.

O problema é que as mensagens marcadas como spam pelo nosso Amavis não devem ser encaminhadas para um endereço externo. Eu não vejo como conseguir isso.

Eu encontrei algumas referências ao Postfix header_checks, mas elas são tratadas pelo processo de limpeza que é antes do Amavis começar a checar. Encaminhamento como é assim:

Dec 13 23:13:32 mail postfix/smtpd[14405]: connect from ...
Dec 13 23:13:32 mail postfix/smtpd[14405]: Anonymous TLS connection established from ... SSLv3 with cipher AES128-SHA (128/128 bits)
Dec 13 23:13:32 mail postfix/smtpd[14405]: 5659141F35: client=..., sasl_method=PLAIN, sasl_username=test.piet@...
Dec 13 23:13:32 mail postfix/cleanup[14251]: 5659141F35: message-id=<[email protected]>
Dec 13 23:13:32 mail postfix/qmgr[13623]: 5659141F35: from=<test.piet@...>, size=1701, nrcpt=1 (queue active)
Dec 13 23:13:32 mail postfix/smtpd[14405]: disconnect from ...
Dec 13 23:13:37 mail postfix/smtpd[14358]: connect from localhost[127.0.0.1]
Dec 13 23:13:37 mail postfix/smtpd[14358]: ACF4F42260: client=localhost[127.0.0.1]
Dec 13 23:13:37 mail postfix/cleanup[14251]: ACF4F42260: message-id=<[email protected]>
Dec 13 23:13:37 mail postfix/smtpd[14358]: disconnect from localhost[127.0.0.1]
Dec 13 23:13:37 mail postfix/qmgr[13623]: ACF4F42260: from=<test.piet@...>, size=2408, nrcpt=1 (queue active)
Dec 13 23:13:37 mail amavis[11530]: (11530-14) Passed SPAM, [188.142.56.16] [188.142.56.16] <test.piet@...> -> <mark.ruys@...>, Message-ID: <[email protected]>, mail_id: iTVFrnGF7RaS, Hits: 999.001, size: 1701, queued_as: ACF4F42260, 5305 ms
Dec 13 23:13:37 mail postfix/smtp[14253]: 5659141F35: to=<mark.ruys@...>, orig_to=<mark@...>, relay=127.0.0.1[127.0.0.1]:10024, delay=5.4, delays=0.11/0/0/5.3, dsn=2.0.0, status=sent (250 2.0.0 from MTA([127.0.0.1]:10025): 250 2.0.0 Ok: queued as ACF4F42260)
Dec 13 23:13:37 mail postfix/qmgr[13623]: 5659141F35: removed
Dec 13 23:13:37 mail postfix/smtp[14414]: Trusted TLS connection established to gmail-smtp-in.l.google.com[173.194.65.26]:25: TLSv1.1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)
Dec 13 23:13:38 mail postfix/smtp[14414]: ACF4F42260: to=<mark.ruys@...>, relay=gmail-smtp-in.l.google.com[173.194.65.26]:25, delay=0.84, delays=0/0.02/0.08/0.73, dsn=2.0.0, status=sent (250 2.0.0 OK 1386972818 f8si3542819eep.162 - gsmtp)
Dec 13 23:13:38 mail postfix/qmgr[13623]: ACF4F42260: removed
    
por MarkR 13.12.2013 / 23:28

1 resposta

0

Solução geral

Se você tiver outro servidor, a solução será trivial. Supostamente, a outra caixa é chamada second.example.com. Na sua caixa original, defina em main.cf um relayhost como second.example.com

relayhost = [second.example.com]:25

Em second.example.com, defina header_checks para verificar se o e-mail era provavelmente um spam, verificando a palavra SPAM no assunto ou marcando a pontuação de spam no cabeçalho. Para este exemplo, usarei o método de verificação de assunto. A sintaxe header_checks é

/^Subject: \[SPAM\]/ DISCARD

Concluído. Agora, o e-mail dos aliases fluirá pelo second.example.com e será descartado quando for spam.

Se você não tiver outro servidor, a opção mais provável é configurar o smtpd daemon adicional em master.cf ou Múltiplos Postfix Instâncias .

Daemon smtpd adicional

status: não funciona

A ideia é adicionar o novo smtpd ouvir outra porta e substituir a configuração para header_checks e relayhost. Em main.cf add relayhost configuration para outro daemon smtpd.

relayhost = [127.0.0.1]:12225

Defina em master.cf e substitua o header_checks para verificar e-mails marcados com spam e esvaziar relayhost para que ele não entre em si.

[127.0.0.1]:12225    inet  n       -       n       -       -       smtpd
   -o header_checks=pcre:/etc/postfix/killspam
   -o relayhost=

Infelizmente, isso não está funcionando. De acordo com o man 8 smtpd , o smtpd silenciosamente recusa o parâmetro diferente do listado nesta página man. Então, ainda usa configuração antiga em main.cf.

Instâncias Múltiplas do Postfix

status: funciona

A ideia é configurar uma instância padrão para lidar com e-mails recebidos e outra para lidar com e-mails enviados, como a configuração acima. Não forneço detalhes, mas você deve ajustar alguns parâmetros para obter uma segunda instância em execução. Em seguida, adicione configurações adicionais como relayhost e header_checks vazias.

    
por 28.12.2014 / 14:27