Assine a Lista Dicas-L
Receba diariamente por email as dicas
de informática publicadas neste site
Para se descadastrar, clique aqui.
Qtrap barrando SPAM por palavras
Colaboração: William da Rocha Lima
Data de Publicação: 19 de Julho de 2006
Qtrap 2.0.0 é um script que filtra spam por "palavras", e trabalha integrado com o Qmail, o mesmo pode ser configurado por servidor, domínio ou usuário, ele trava todo spam que Spamassassin pode ter faltado.
O Qtrap é sensitivo, então a palavra "PORNO" ou "porno" tem diferenças, quem esta acostumado com ambiente linux já conhece.
1. Requisitos
- Qmail
- VpopMail
- Curl
2. Instalando Qtrap
Não irei abordar a instalação do Qmail, e sim de como integrar o Qtrap com Qmail e VpopMail. Levando em conta que no meu caso o Vpopmail, esta instalado no /home/vpopmail/. Alguns casos podem estar no /var/vpopmail.
Agora vamos criar o diretório do Qtrap, criar o script (qtrap.sh), criar log, e herda as permissões para o usuário e grupo dono do Vpopmail.
# mkdir -p /home/vpopmail/qtrap/logs # curl http://www.qmailrocks.org/downloads/scripts/qtrap/qtrap-2.0.0 >> /home/vpopmail/qtrap/qtrap.sh # touch /home/vpopmail/qtrap/logs/qtrap.log # chown -R vpopmail:vchkpw /home/vpopmail/qtrap # chmod -R 755 /home/vpopmail/qtrap
Agora vamos adicionar o script do Qtrap, no domínio linuxit.com.br
# cd /home/vpopmail/domains/linuxit.com.br/ # vi .qmail-default
Ao entrar no arquivo .qmail-default, por padrão estará da seguinte forma:
| /home/vpopmail/bin/vdelivermail '' bounce-no-mailbox
Agora para ativar o script do Qtrap, tem que ficar assim:
| /home/vpopmail/qtrap/qtrap.sh | /home/vpopmail/bin/vdelivermail '' bounce-no-mailbox
Para adicionar o filtro em apenas um usuário do dominio linuxit.com.br, usaremos o usuário <william (a) linuxit com br>, basta fazer da seguinte forma
# cd /home/vpopmail/domains/linuxit.com.br/ # vi .qmail-william
Ao criar o arquivo .qmail-william, defini da seguinte forma:
| /home/vpopmail/qtrap/qtrap.sh | /home/vpopmail/bin/vdelivermail '' bounce-no-mailbox
Pronto, o Qtrap esta instalado agora vamos entender como funcionar o script qtrap.sh, e como configurar conforme sua necessidade.
3. Configurando o Qtrap
O Qtrap tem um recurso interessante chamado white list (Lista Branca), neste caso será definido os e-mails que estarão exclusos das regras aplicadas no Qtrap.
Veja este exemplo:
whitelist_check () {
case $WHITELIST in
william@linuxit.com.br|wrochal@linuxit.com.br|*nukecenter.net)
echo $SENDER found in whitelist on `date "+%D %H:%M:%S"` >> /home/vpopmail/qtrap/logs/qtrap.log
exit 0;;
*)
;;
esac
}
Entenda que <william (a) linuxit com br> e <wrochal (a) linuxit com br> são e-mails individuais, os quais estão sendo excluso das regras. E o domínio nukecenter.net também estará excluso das regras.
Nota: Lembra-se que para adicionar um novo e-mail tem que usar | (type).
Agora vamos definir as palavras que desejamos bloquear, em exceto os emails definido no white list.
Veja este exemplo:
checkall () {
case $BANNED_WORDS in
porn|PORN|Sex|SEX|Viagra|viagra|Dinheiro|dinheiro|Via*|via*|vía*)
echo MESSAGE DROPPED from $SENDER because of $BANNED_WORDS on `date "+%D %H:%M:%S"` >> /home/vpopmail/qtrap/logs/qtrap.log
exit 99;;
*)
;;
esac
}
Você pode notar que as palavras estão minúsculas, e maiúsculas. Uma palavra que é muito usado para spam, é a viagra, mas como os spammers querem enganar alguns sistemas que bloqueiam, colocaram a palavra viagra de várias formas: Viagra, Víagra, VIAAGRA, e assim vai.
Veja abaixo como será mostrado no log, os bloqueios e a lista branca:
# tail -f logs/qtrap.log MESSAGE DROPPED from XXXXX@gmail.com because of porn on 07/27/05 21:58:36 MESSAGE DROPPED from teste@XXXXX.com.br because of porn on 07/27/05 21:58:50 MESSAGE DROPPED from XXXXX@gmail.com because of Sex on 07/27/05 22:02:52 XXXXX@nukecenter.net found in whitelist on 07/27/05 22:12:58 MESSAGE DROPPED from teste@XXXXX.com.br because of Sex on 07/27/05 23:07:51
Agora basta você pesquisar quais palavras mais usadas em Spams, e atribuir no script. Você poderá usar até assunto definido em prováveis vírus, no site da Symantec tem vários exemplos.
4. Referências
Referências Adicionais
Referências adicionais sobre os assuntos abordados neste site podem ser encontradas em nossa Bibliografia.





