Spamassassin sinalizou algo como spam que não é spam. Como posso dizer isso?

Spamassassin sinalizou algo como spam que não é spam. Como posso dizer isso?

Esta é uma questão geral sobre o treinamento do spamassassin. Eu tenho um servidor de e-mail recém-configurado que filtra as mensagens recebidas através do spamassassin. Recentemente, recebi uma reserva de voo sinalizada como spam (pontuação 5) e gostaria de informar ao spamassassin que não é spam. (Talvez isso também reenvie o e-mail sem os cabeçalhos spamassassin modificados?)

Tentei pesquisar e só encontrei coisas sobre como fazer com que o spamassassin sinalize mensagens como spam (e não sobre como corrigir falsos positivos) ou para pessoas que escrevem e-mails - como não ser sinalizado como spam.

Então, no que diz respeito a dar feedback ao spamassassin sobre chamadas erradas:

  1. Existe uma maneira de fazer isso em um cliente de e-mail (por exemplo: Thunderbird)?

  2. Existe uma maneira de fazer isso através da linha de comando no servidor de email?

Eu gostaria de tornar o processo o mais fluido possível, mas faça o que fizer.

Detalhes do SpamAssassin sobre o e-mail:

 0.0 FSL_HELO_NON_FQDN_1    No description available.
 0.6 HK_RANDOM_ENVFROM      Envelope sender username looks random
-0.0 RCVD_IN_DNSWL_NONE     RBL: Sender listed at http://www.dnswl.org/, no trust [82.150.225.129 listed in list.dnswl.org]
-0.0 RCVD_IN_MSPIKE_H3      RBL: Good reputation (+3) [82.150.225.129 listed in wl.mailspike.net]
 0.0 HEADER_FROM_DIFFERENT_DOMAINS From and EnvelopeFrom 2nd level mail domains are different
 1.0 SPF_SOFTFAIL           SPF: sender does not match SPF record (softfail)
 1.6 SUBJ_ALL_CAPS          Subject is all capitals
 1.1 MIME_HTML_ONLY         BODY: Message only has text/html MIME parts
 0.7 HTML_IMAGE_ONLY_20     BODY: HTML: images with 1600-2000 bytes of words
 0.0 HTML_MESSAGE           BODY: HTML included in message
-0.0 RCVD_IN_MSPIKE_WL      Mailspike good senders
 0.0 UNPARSEABLE_RELAY      Informational: message has unparseable relay lines
 0.0 T_REMOTE_IMAGE         Message contains an external image

Claramente, os principais culpados são a linha de assunto em letras maiúsculas SUBJ_ALL_CAPS e MIME_HTML_ONLY (acho que não há alternativa de texto).

O e-mail era para confirmação de reserva de voo e o assunto era assim:

 Subject: JENNINGS/NICHOLAS KOSSOW MR 24 JAN MOF DPS

Cabeçalhos:

X-Envelope-From: <[email protected]>
X-Envelope-To: <[email protected]>
Received: from mail1.amadeus.net (unknown)
    by 147-49-15-51.rev.cloud.scaleway.com(Postfix 3.1.0/8.13.0) with SMTP id unknown
    Fri, 20 Jan 2017 07:55:10 +0000
    (envelope-from <[email protected]>
Received: from obeap115 (nat-dns-mnp.amadeus.net [82.150.225.129])
    by mail1.amadeus.net (Postfix) with ESMTP id 3F7A9200042
    for <[email protected]>; Fri, 20 Jan 2017 07:55:10 +0000 (GMT)
From: [email protected]
TO: [email protected]
Message-ID: <CTS/GA/C50D54421A07/[email protected]>
FND-Request-ID: <CTS/GA/C50D54421A07/[email protected]>
Job-ID: 1
Subject: JENNINGS/NICHOLAS KOSSOW MR 24 JAN MOF DPS
Date: Fri, 20 Jan 2017 07:55:09 +0000
Content-Type: multipart/mixed; 
    boundary="----=_Part_191904_1900935199.1484898909762"
MIME-Version: 1.0

Responder1

Existem conselhos específicos e gerais que podem ser úteis neste caso.

Específico

O problema subjacente aqui é que a Garuda Airlines, abençoadas sejam suas pequenas meias de algodão, está enviando e-mails de confirmação que apresentam muitas das características do spam. A linha de assunto é MUITO GRITADA, eles enviam e-mails somente em HTML que contêm muitas imagens e muito pouco texto, o remetente do envelope ( [email protected]) é claramente um nonce construído por máquina e o provedor de e-mail para seu sistema de confirmação (terceirizado) (amadeus.com) possui um registro SPF inútil (apesartodos os nossos conselhos em contrário, algumas pessoas pensam erroneamente que há valor em um registro que listaalgunsde seus sistemas de envio e termina ~all).

Não há muito que você possa fazer sobre a maior parte disso. Se você quiser ter certeza de que essas mensagens serão transmitidas, uma linha em seu computador ~/.spamassassin/user_prefsque diz whitelist_from *@amadeus.comenviará essas mensagens até você. Ir além e mexer nos pesos das regras que foram acionadas provavelmente é uma má ideia. O conjunto de regras do SpamAssassin (SA) é criado filtrando uma grande quantidade de spam e descobrindo quais características se aplicam à maior parte dele; é provável que você abra sua CAIXA DE ENTRADA para muito mais do que apenas e-mails de confirmação do Garuda, desativando essas regras.

Em geral

Esse é exatamente o tipo de situação que o mecanismo Bayesiano lida bem. Ele foi projetado para filtrar e-mails que não acionam outras regras, mas que contêm coisas que você não deseja ler, ao mesmo tempo que ajuda por meio de e-mails que acionam essas regras, mas que contêm coisas que você não deseja ler.fazerquero ler.

IIRC, o motor não fará nada se você não o treinar. A maneira mais fácil de treiná-lo é manter duas pastas, chamadas (digamos) spame ham. Dentro de spamvocê coloque cópias de e-mails que chegaram à sua CAIXA DE ENTRADA, mas você não queria; em hamvocê colocou cópias de e-mails que caíram em conflito com SA, mas você queria, como este e-mail de confirmação.

Então, todas as noites (ou algo assim), você tem um cron job que diz

sa-learn --spam --mbox mail/spam
sa-learn --ham  --mbox mail/ham

modificando os caminhos de acordo. Com o tempo, isso ensinará ao mecanismo o que você gosta e o que não gosta de ler. Como uma pontuação bayesiana alta pode adicionar +4,0 pontos à pontuação SA de um e-mail, enquanto uma pontuação baixa pode subtrair 1,9, um mecanismo bem treinado pode realmente ajudar o SA a distinguir o quevocêquero ler o quevocênão - masvocê tem que se esforçar para ensiná-lo.

Responder2

Você parece estar usando pombal. Passei algumas semanas tentando descobrir uma integração tranquila, que permita aos usuários treinar facilmente os filtros de spam do lado do servidor sem precisarcópia dee-mails.

A parte fundamental é oAntispamPlug-in Dovecot. O plugin antispam é acionado emmoveroperações entre três grupos de pastas: trash, unsuree spam. Especificamente, quando uma transição de qualquer coisa (mas spam) para spamé detectada, uma ação de aprendizagem de spam é acionada e quando uma transição de spampara unsureé detectada, uma ação de aprendizagem de spam é acionada.

Ele oferece suporte a diferentes back-ends de treinamento. Um simples é o mailtrain, que simplesmente executa um comando e coloca o e-mail na entrada padrão. Uma configuração para isso pode ser assim:

plugin {
   antispam_backend = mailtrain
   antispam_mail_sendmail = /usr/local/bin/sa-learn-stdin.sh
   antispam_mail_spam = spam
   antispam_mail_notspam = ham
   antispam_mail_sendmail_args = -L
   antispam_spam = Junk;INBOX.Junk
   antispam_trash = Trash;INBOX.Trash
   antispam_allow_append_to_spam = no
}

Junto com /usr/local/bin/sa-learn-stdin.sh:

#!/bin/bash
/usr/bin/spamc "$@" >> /tmp/sa-learn-log
exit 0

A configuração diz "Para aprender como spam, execute /usr/local/bin/sa-learn-stdin.sh -L spame para aprender como presunto, execute /usr/local/bin/sa-learn-stdin.sh -L ham." Os argumentos são configurados por antispam_mail_spame .antispam_mail_notspamantispam_mail_sendmail_args

Isso já é muito legal. Se você puder configurar seu cliente para mover e-mails marcados como spam para a pasta de spam, isso já é uma integração bastante automática entre o cliente e o servidor. Da mesma forma, se você configurar o servidor para armazenar e-mails classificados como spam na pasta spam na entrega (por exemplo, usando o Sieve), a mensagem será reconhecida como ham quando o usuário a mover para fora da pasta Spam.


Para melhorar a integração com Thunderbird e KMail, escrevi umpatch para antispam, que infelizmente não recebeu nenhum feedback do upstream;Use por sua conta e risco.

Ele adiciona uma opção de configuração ao antispam, que pode simplesmente ser adicionada à pluginseção na configuração do dovecot:

   antispam_spam_flags = "Junk;$JUNK"

(As aspas são importantes para evitar que você $faça algo engraçado.)

Com o patch, o antispam irátambémacionar uma ação de aprendizagem se uma mensagem receber um sinalizador de spam ou perder todos os seus sinalizadores de spam. Flags são um recurso IMAP usados ​​pelos clientes para armazenar bits de informações no servidor. Acontece que o Thunderbird e o KMail usam esses sinalizadores para armazenar o status de Lixo/Spam das mensagens.

O Junksinalizador é definido pelo Thunderbird quando você marca uma mensagem como lixo eletrônico. Da mesma forma para a $JUNKsinalização um KMail. Assim, com esta configuração, você pode acionar o aprendizado do lado do servidor sinalizando o e-mail como Lixo/Não Lixo no Thunderbird no KMail.

Outros clientes, como o K9-Mail, ainda funcionam bem, porque o padrão é mover lixo eletrônico para a pasta Spam, na qual o antispam também será acionado.


Você pode implementar a mesma funcionalidade, eu acho, emPeneira IMAP. Isso está no meu TODO, mas infelizmente atualmente não tenho um ambiente pronto para testes com um pombal suficientemente recente.

informação relacionada