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.


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

Adicionar comentário

* Campos obrigatórios
5000
Powered by Commentics

Comentários

Nenhum comentário ainda. Seja o primeiro!


Veja a relação completa dos artigos de William da Rocha Lima