Reveja automaticamente o e-mail com o SpamAssassin depois que ele for recebido

4

Nos últimos meses, a quantidade de spam que tenho recebido me deixou louca. Apesar de executar o SpamAssassin (com verificações de RBL) no meu servidor de correio Exim4 , muitos deles estão encontrando seu caminho para nossas caixas de correio.

Eu notei que a grande maioria dos infratores acaba nas RBLs, mas apenas depois já foi escaneada e considerada inofensiva. Normalmente, a pontuação de spam desses e-mails é de 0,0 a 1,1 quando eu os recebo, enquanto, algum tempo depois, a pontuação seria muito maior.

Eu fiz algumas pesquisas, mas não consegui encontrar nada que parecesse útil, então eu montei um pequeno programa que passa pelos e-mails mais recentes na minha caixa de correio e permite que o SpamAssassin os reanalize. Os resultados foram impressionantes: quase todos os e-mails que chegaram à minha caixa de correio passaram do limite de 5 a 10 minutos após o envio . Às vezes, demora um pouco mais do que isso, mas até agora ele sempre passará do limite.

Agora, isso não é muito útil quando você está realmente lendo a caixa de correio, mas reduziria significativamente o tempo gasto manualmente excluindo esses e-mails de manhã quando verificamos nosso e-mail pela primeira vez.

Agora, o problema é que o programa que fiz é executado separadamente e usa o IMAP para se conectar a uma caixa de correio específica e fazer as alterações. Isso torna difícil para mim usar essa solução para outros usuários, porque eu teria que ter suas senhas.

Existe alguma ferramenta existente que me permita reprocessar e-mails que já foram recebidos? Estou usando o formato Maildir no disco, se isso é importante. Se essa ferramenta não existir, uma biblioteca para acessar diretamente e modificar as caixas de correio do Maildir também pode ser útil.

Eu não quero atrasar a entrega de e-mails (por greylisting ou de outra forma) porque esse atraso teria que ser de pelo menos 10 minutos para ser efetivo, o que seria proibitivo durante o horário comercial.

    
por Thorarin 07.04.2015 / 11:15

2 respostas

2

Esta é realmente uma técnica muito boa, especialmente para a luta com raquetes de neve, um tipo de spam em que toda a explosão de e-mails está fora de portas em questão de minutos. Isso ocorre porque os servidores anti-spam levam esse tempo todo para processar qualquer coisa que chega e depois extraem suas definições de spam.

Eu não sei de nenhum software pronto para uso que possa fazer isso localmente , mas IMAP Spam Begone pode atender às suas necessidades. Ele se conecta ao seu servidor de caixa de correio via IMAP (como um cliente de email padrão faria) e executa o SpamAssassin para limpá-lo para você.

Se você quisesse algo que fosse executado localmente, provavelmente poderia escrever um simples wrapper em torno do SpamAssassin que faz isso. O Maildir armazena cada mensagem em seu próprio arquivo, então algo assim deve ser decente:

Conteúdo do sa-bootstrap.sh:

#!/bin/sh
for email in "$@"; do
  if ! spamassassin -e < "$email" > /dev/null 2>&1; then
    mv "$email" /full/path/to/spam/folder
  fi
done

Agora você pode executar:

find /path/to/maildir -type f -print0 |xargs -0 sa-bootstrap.sh

Não se esqueça de verificar seu spam e usar sa-learn em seu spam e spam antes de excluí-los.

( spamassassin -e sairá com um código de erro diferente de zero quando a mensagem determinada for considerada spam.)

    
por 07.07.2015 / 02:48
0

Você considerou ativar / desativar greylisting (também por caixa de correio)?

por exemplo. Desativar a lista cinza durante o horário de trabalho e ativá-la fora do horário de trabalho (para usuários sem sessões IMAP ativas).

    
por 31.07.2015 / 13:45