De acordo com as Leis 12.965/2014 e 13.709/2018, que regulam o uso da Internet e o tratamento de dados pessoais no Brasil, ao me inscrever na newsletter do portal DICAS-L, autorizo o envio de notificações por e-mail ou outros meios e declaro estar ciente e concordar com seus Termos de Uso e Política de Privacidade.
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.
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.
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.