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.
Nenhum comentário foi encontrado.