SpamAssassin 3.2.5 - Avaliação de palavras

Publicado por Giovani de Souza em 11/02/2010

[ Hits: 10.537 ]

 


SpamAssassin 3.2.5 - Avaliação de palavras



Boa tarde a todos.

Gostaria de tentar auxiliar alguém que tenha necessidade de fazer bloqueio por palavras no SpamAssassin.

Trabalharemos com alguns arquivos e com a versão 3.2.5 (atual) do spamassassin - (funciona também na versão 3.2.3).

Caso 1 - Bloqueio por 1 palavra (identificando 1 palavra na lista já é suficiente para queimar o email inteiro)

Acesse o diretório do SpamAssassin (/etc/mail/spmassassin):

# cd /etc/spamassassin/

Criar o arquivo que terá as palavras. As palavras existentes nesse arquivo receberão 250 pontos no caso (ver score __BAD_WORDS 250), NÃO são pontos cumulativos, como 2 palavras = 500 pontos.

Essa técnica deverá ser usada em algumas situações, situações bem objetivas.

Exemplo: você não envia e nem recebe emails em inglês (fato). Então esse caso pode ser indicado.

No arquivo abaixo teremos 2 tipos de configuração:
  • score __BAD_WORDS 250 - score é da configuração, irá "pontuar" ou "repontuar" alguma rules do SpamAssassin, __BAD_WORDS você pode substituir por um nome de sua preferência. É apenas um nome para cadastro, 250 é o ponto que você irá dar quando "casar" com essa palavra;
  • body __BAD_WORDS /ejjaculation/i - body é da configuração, irá avaliar o "corpo" do email, __BAD_WORDS conterá as palavras que você irá cadastrar, /ejjaculation/ é a palavra propriamente dita que será bloqueada, "i" é de insensitive (maiúsculas e/ou minúsculas).

# vi palavras_bloqueadas.list

Abaixo deixarei alguns exemplos:

score __BAD_WORDS 250
body __BAD_WORDS /enlarge/i
body __BAD_WORDS /trade/i
body __BAD_WORDS /shopping/i
body __BAD_WORDS /girls/i
body __BAD_WORDS /medications/i
body __BAD_WORDS /shipped/i
body __BAD_WORDS /viagra/i
body __BAD_WORDS /pills/i
body __BAD_WORDS /price/i
body __BAD_WORDS /submariner/i
body __BAD_WORDS /trial/i
body __BAD_WORDS /everlasting/i
body __BAD_WORDS /immitations/i
body __BAD_WORDS /imitations/i
body __BAD_WORDS /herbal/i
body __BAD_WORDS /chemical/i
body __BAD_WORDS /acai/i
body __BAD_WORDS /digestive/i
body __BAD_WORDS /adventures/i
body __BAD_WORDS /elixir/i
body __BAD_WORDS /unsatisfied/i
body __BAD_WORDS /metabolism/i
body __BAD_WORDS /women/i
body __BAD_WORDS /energy/i
body __BAD_WORDS /dinero/i
body __BAD_WORDS /garantizamos/i
body __BAD_WORDS /better/i
body __BAD_WORDS /quick/i
body __BAD_WORDS /hollywood/i
body __BAD_WORDS /suppliment/i
body __BAD_WORDS /majesty/i
body __BAD_WORDS /bathroom/i
body __BAD_WORDS /luxuries/i
body __BAD_WORDS /cure/i
body __BAD_WORDS /enjoying/i
body __BAD_WORDS /buy/i
body __BAD_WORDS /oprah/i
body __BAD_WORDS /longer/i
body __BAD_WORDS /vitamin/i
body __BAD_WORDS /ejjaculation/i
body __BAD_WORDS /betraying/i
body __BAD_WORDS /trunk/i
body __BAD_WORDS /capable/i
body __BAD_WORDS /antioxidants/i
body __BAD_WORDS /minerals/i
body __BAD_WORDS /vitamins/i
body __BAD_WORDS /sophisticated/i
body __BAD_WORDS /shitty/i
body __BAD_WORDS /ability/i

O arquivo com as palavras está pronto! É só acrescentar ou retirar algumas palavras - "a gosto".

Editar o arquivo de configuração do SpamAssassin para fazer o include do arquivo com as palavras:

vi local.cf

Fazer um include do arquivo que terá as palavras a serem bloqueadas:

...
include palavras_bloqueadas.list
...

Reiniciar o SpamAssassin e pronto:

# /etc/init.d/spamassassin restart

NOTA: Estava esquecendo, você pode validar "coisas" no corpo do email através de expressão regular. Só para saber que é possível.

Exemplo: você tem um email semelhante a esse abaixo:

Subject: Vê se não esquece mais..

Olááá!!
Aí está a foto de sexta-feira que tiramos, depois mando o restante, E próxima vez não esqueci quem
sou eu pois passa por mim e não me reconhece, Se der depois vamos conversa pois te adoro muito.
Beijos!
Anexo: DSC3412.jpg (45kb)

Note que podemos ter um "padrão" no nome do arquivo em anexo (ninguém que EU conheço escreve anexo, nome do arquivo que esta em anexo e tamanho do arquivo).

Se você criar uma ER como esta abaixo estará bloqueando qualquer email que estiver no email algo parecido com "Anexo: DSC3412.jpg (45kb)":

body BAD_WORDS /DSC[0-9A-Za-z].*\.(jpg|jpeg|gif) \([0-9A-Za-z].*\)/i

Caso 2 - Bloqueio por duas ou mais palavras - deverá "casar" todas as palavras para receber o ponto e será suficiente para queimar o email inteiro

Acessar o diretório do SpamAssassin:

# cd /etc/spamassassin

Criar o arquivo que terá as palavras:

body __BAD_CHAR1 /circo/i # Mesmo caso a cima - mesma "ideia" de cadastro.
body __BAD_CHAR2 /palhaco/i # Mesmo caso a cima - mesma "ideia" de cadastro.
body __BAD_CHAR3 /elefante/i # Mesmo caso a cima - mesma "ideia" de cadastro.
body __BAD_CHAR4 /bola/i # Mesmo caso a cima - mesma "ideia" de cadastro.
body __BAD_CHAR5 /corda/i # Mesmo caso a cima - mesma "ideia" de cadastro.
meta MULTIPLAS_PALAVRAS (( __BAD_CHAR1 + __BAD_CHAR2 + __BAD_CHAR3 + __BAD_CHAR4 + __BAD_CHAR5) > 1)
score MULTIPLAS_PALAVRAS 150 # Nesse caso iremos usar uma configuração do "tipo meta", onde irá somar as palavras. Para bloquear o email deverá "atender" a todas as palavras cadastradas e/ou que você quer "casar" as palavras.

Vamos criar o arquivo que terá as palavras a serem avaliadas (vamos utilizar o mesmo exemplo logo acima):

# vi palavras_bloqueadas2.list

body __BAD_CHAR1 /circo/i
body __BAD_CHAR2 /palhaco/i
body __BAD_CHAR3 /elefante/i
body __BAD_CHAR4 /bola/i
body __BAD_CHAR5 /corda/i
meta MULTIPLAS_PALAVRAS (( __BAD_CHAR1 + __BAD_CHAR2 + __BAD_CHAR3 + __BAD_CHAR4 + __BAD_CHAR5) > 1)

Nota: lembrando que você pode utilizar expressão regular para ser analisada também.

Vamos fazer o include desse arquivo no SpamAssassin:

# vi local.cf

...
include palavras_bloqueadas2.list
...

Vamos reiniciar o SpamAssassin e está pronto:

# /etc/init.d/spamassassin restart

Bom pessoal, espero ter ajudado alguém com essa simples configuração.

Em uma próxima dica quero abordar o sa-learn.

Outras dicas deste autor

SpamAssassin - Avaliação de URI no corpo do e-mail

Sony VAIO com placa wireless Atheros AR9285 - nVidia 410M Cuda - Ubuntu 11.04

Instalando o driver nVidia versão 190 no Ubuntu 9.10 - sem complicação

Leitura recomendada

Cairo Dock no Fedora 16

Boot no openSUSE Tumbleweed demorando demais: erro "A start job is running for Wait for chrony to synchronize system clock" [Resolvido]

Bloqueio do Orkut com iptables

Corrigindo "Signature is unknown trust" no Arch Linux

Como recuperar o GRUB em 3 comandos - Esse funciona!

  

Comentários

Nenhum comentário foi encontrado.



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts