Como melhorar o filtro de SPAM SpamAssassin


(SPAM = mensagem de correio eletrónico não solicitada, em geral, comercial)



O filtro SpamAssassin (versão 3.x) funciona dando uma pontuação a cada mensagem que entra, baseado em diferentes "testes" que faz analisando todo o conteúdo da mensagem. De acordo com esta análise, ele acrescenta cabeçalhos na mensagem que informam o seu "nível de spam", e os testes nos quais ela caiu. Em particular, a mensagem recebe uma pontuação ("score").

Se o score fica acima de certo limite (5 por default), a mensagem é colocada num arquivo chamado "bulk" dentro da pasta "mail" do usuário. Portanto, será colocada em mail/bulk. Mas, se a mensagem tem um score muito alto (14 por default), ela é colocada no arquivo mail/bulks. Agora, se o score for inferior a 5, a mensagem é deixada na pasta usual (Inbox).

Portanto, a idéia é que não seremos mais incomodados pelo SPAM chegando constantemente no Inbox. Porém, periodicamente, precisamos revisar a pasta bulk para ver se não tem nela alguma mensagem que não seja SPAM e apagar as restantes. Do mesmo modo, precisamos revisar a pasta bulks, só que desta vez uma olhadinha rápida será suficiente: é muito difícil uma mensagem que não seja SPAM ir para a pasta bulks.

O arquivo .spamassassin/user_prefs

Neste arquivo é onde o usuário pode mudar as configurações default do SpamAssassin. Isto é importante para melhorar, e muito, a performance do filtro. Darei aqui só algumas dicas; para entender a fundo a configuração, o usuário pode executar o comando "man Mail::SpamAssassin::Conf" em qualquer máquina UNIX do IMPA e obtera a informação completa.

Este arquivo possui várias partes (as linhas que começam com "#" são ignoradas pelo SpamAssassin, sendo simples comentários para o usuário). Entre elas:

ooo required_score: o score default para uma mensagem ser considerada SPAM. Em particular, colocando 1000 como required_score deshabilita o SpamAssassin. Obs: NÃO cair na tentação de baixar muito este número, pois então mensagens não SPAM poderão cair nas pastas bulk(s)!!

ooo ok_languages: Trocar "all" pelos idiomas nos quais o usuario recebe mensagens. Por exemplo, eu tenho configurado para considerar como SPAM as mensagens que não sejam em portugês, inglês, francês ou espanhol: ok_languages pt en fr es Dentro do comando "man Mail::SpamAssassin::Conf" encontrarão a lista das iniciais de todos os idiomas.

ooo ok_locales: Para os usuários occidentais, trocar "all" por "en". Eu tenho assim: ok_locales en

ooo blacklist_from e whitelist_from: Aqui o usuário pode colocar endereços de mensagens que são consideradas SPAM periodicamente quando não deveria (whitelist_from) ou, ao contrário, que são consideradas não SPAM periodicamente quando deveriam ser consideradas SPAM (blacklist_from). Tem exemplos no próprio arquivo (tirar o "#" no começo da linha que acrescentarem).

ooo Vários "score", que modificam a pontuação padrão dos testes. Aqui o usuário deve ajustar quando veja que mensagens estão sendo filtradas em forma incorreta: o SpamAssassin acrescenta cabeçalhos na mensagem que informam em quais testes ela caiu e qual a pontuação de cada teste.

Sobre vírus...

Aproveitando a instalação do filtro de SPAM, implementamos um alerta de vírus. Agora, quando o usuário receber uma mensagem com um arquivo anexado perigoso, será acrescentada no começo do assunto da mensagem (isto é, no subject) a seguinte legenda C_ATTx -, onde x indica a periculosidade do arquivo anexado:

1) C_ATT1 - indica que a mensagem contém um programa de Windows anexado: ou seja, deve ser tratado como vírus. Atualmente, estas mensagens tem o arquivo anexado apagado, e vão direto para o bulks;

2) C_ATT2 - a mensagem contem um arquivo .zip. MUITO cuidado, quase com certeza é um vírus!!!

3) C_ATT3 - a mensagem contem um arquivo .doc, .pps, .ppt, ou .xls anexado.

O MAIS IMPORTANTE

1) Periodicamente, tipo 2 vezes por semana, verificar os arquivos mail/bulk e mail/bulks (usando, por exemplo, o Webmail do IMPA) com dois objetivos:

- Verificar se não tem alguma mensagem legítima, que não seja SPAM;

- Apagar as restantes.

2) Ajustar os scores no arquivo .spamassassin/user_prefs para melhorar o desempenho do filtro, com base na informação contida no cabeçalho "X-Spam-Status" das mensagens.


Tomara que o filtro sirva para vocês como está servindo para mim!

     Grande abraço,

            Luis.





Obs.: Para usuários de Linux e UNIX que usem Bayes, fiz um conjunto de 20 pequenos 'scripts' para automatizar as tarefas de manutenção. Ver SpamSuite Manual.