Mecanismos sugeridos para treinamento de spam controlado pelo usuário?

1

Estou procurando uma maneira de meus usuários de e-mail gerenciarem completamente seu próprio treinamento de spam. Antes de entrar, os detalhes do meu servidor de e-mail são:

Debian 7.5, postfix 2.9.6, dovecot 2.1.7, amavisd-new 2.7.1, spamassassin 3.3.2

Assim, cada um dos meus usuários em cada domínio tem uma pasta Junk ( /var/vmail/domain/user/.Junk ) onde eles podem colocar spam que não é sinalizado como tal. Então eu tenho este script no lugar:

/etc/cron.daily/learnspam

#!/bin/sh

find /var/vmail -name .Junk -exec echo Examining {}... \; -exec sa-learn --dbpath=/var/lib/amavis/.spamassassin --spam {}/cur \;

Eu também tenho uma pasta para a qual cada usuário chamou False Positives, onde eles podem arrastar mensagens para serem marcados erroneamente como spam, e eu tenho um script diário para isso também, que aprende como ham e o move de volta para sua caixa de entrada. .

/etc/cron.daily/falsepos

#!/bin/sh

doveadm search -A mailbox 'False Positives' 2>/dev/null | while read user guid uid; do
    doveadm fetch -u $user text mailbox-guid $guid uid $uid > /tmp/$guid-$uid.eml
    doveadm move -u $user INBOX mailbox-guid $guid uid $uid
done

sa-learn --dbpath=/var/lib/amavis/.spamassassin --ham /tmp/*-*.eml
if ls /tmp/*-*.eml >/dev/null 2>&1; then
    rm /tmp/*-*.eml
fi

Minha pergunta é: estou fazendo isso corretamente? Existe uma maneira melhor? O sa-learn funciona corretamente com o amavis? Eu acho que desde que eu esteja usando a opção --dbpath=/var/lib/amavis/.spamassassin , ela deve funcionar bem.

    
por CaptSaltyJack 20.07.2014 / 22:09

3 respostas

2

Você pode querer dar uma olhada em dspam . Ele se integra ao Dovecot e basicamente faz exatamente o que você quer, mas em tempo real, conforme as operações de movimento acontecem (movendo-se para Junk = > spam, saindo de Junk = > falso positivo).

    
por 23.07.2014 / 09:13
2

Sua abordagem parece bem; Eu faço algo similar.

Duas observações:

  • O uso de --dbpath é bom, o que impede um erro de configuração comum em que o SA usa um banco de dados em ~amavis e sa-learn grava em um banco de dados diferente em ~root .
  • Uma limitação de design relacionada à operação de vários usuários: o SpamAssassin usa um único banco de dados Bayes global - não um banco de dados por usuário.
por 23.07.2014 / 10:40
0

O Dspam faz filtragem Bayesiana melhor que spam. Muitos outros mecanismos de filtragem, como RBL, greylisting e verificações de validade de DNS, podem ser configurados a partir do MTA (por exemplo, postfix). Nessa abordagem, você só olha para o conteúdo de e-mail depois que os outros testes foram passados, o que torna o sistema muito menos sedento de recursos. Você não obtém a mesma combinação ponderada, mas se for bem configurado, você pode obter um sistema de spam muito bom, que usa muito menos CPU e RAM. Além disso, o plugin dovecot é acionado pela movimentação de mensagens entre pastas, o que é muito melhor do que ter pastas separadas para treinamento.

    
por 26.07.2014 / 10:54